[PATCH] gnu: Add dataparksearch.

  • Done
  • quality assurance status badge
Details
3 participants
  • Adam Faiz
  • Nicolas Goaziou
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Adam Faiz
Severity
normal
A
A
Adam Faiz wrote on 18 Nov 2022 12:17
(address . guix-patches@gnu.org)
9ff6c39e-933b-d16e-3e3f-ad62c4a09f54@disroot.org
From 39b9fb1e69fb61acdadb697690becb908d99c607 Mon Sep 17 00:00:00 2001
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Fri, 18 Nov 2022 08:55:02 +0800
Subject: [PATCH] gnu: Add dataparksearch.

* gnu/packages/search.scm (dataparksearch): New variable.
---
gnu/packages/search.scm | 61 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (100 lines)
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 27dc9cd02e..db3ca59137 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -40,6 +40,7 @@ (define-module (gnu packages search)
#:use-module (guix build-system python)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
+ #:use-module (gnu packages adns)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -51,6 +52,7 @@ (define-module (gnu packages search)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnunet)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
@@ -67,6 +69,7 @@ (define-module (gnu packages search)
#:use-module (gnu packages qt)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages time)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
@@ -729,4 +732,62 @@ (define-public ugrep
formats.")
(license license:bsd-3)))

+(define-public dataparksearch
+ (package
+ (name "dataparksearch")
+ (version "4.54-2016-12-03")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Maxime2/dataparksearch")
+ (commit version)))
+ (sha256
+ (base32
"1g5kxw2d8jbc1h9yyy0xpnd3gkscj5a32k6hk3brvdwcbsnjbgyg"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (for-each delete-file-recursively '("config.sub"
+ "config.guess"
+ "configure"
+ "Makefile.in"
+ "missing"
+ "depcomp"
+ "ltmain.sh"
+ "compile"
+ ))))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list pkg-config automake autoconf libtool openjade))
+ (inputs
+ (list mbedtls-apache zlib postgresql aspell c-ares libextractor))
+ (arguments
+ (list #:configure-flags
+ #~(list "--disable-syslog"
+ "--with-gnu-ld"
+ "--with-extra-charsets=all"
+ (string-append "--with-pgsql=" #$(this-package-input
"postgresql")))
+ #:make-flags
+ #~(list
"DPS_TEST_DBADDR=postgresql://localhost/tmp/postgresql/")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'bootstrap 'fix-configure
+ (lambda _
+ (substitute* "configure.ac"
+ (("MY_DIRS=\"/usr/local/include")
+ (string-append "MY_DIRS=\"" #$(this-package-input
"aspell") "/include"))
+ (("MY_DIRS=\"/usr/lib")
+ (string-append "MY_DIRS=\"" #$(this-package-input
"aspell") "/lib"))))))))
+ (synopsis "Libre, feature rich search engine")
+ (description
+ "Dataparksearch is a full featured web search engine.
+It has support for http, https, ftp (passive mode), nntp and news URL
schemes, and
+other URL schemes with external parsers.
+It can tweak URLs with session IDs and other weird formats,
+including some JavaScript link decoding.
+Options to query with all words, all words near to each others, any
words, or Boolean queries.
+A subset of VQL (Verity Query Language) is supported.")
+ (home-page "https://www.dataparksearch.org/ ")
+ (license license:gpl3+)))
+
;;; search.scm ends here
--
2.38.0
T
T
Tobias Geerinckx-Rice wrote on 18 Feb 2023 01:13
(name . Adam Faiz)(address . adam.faiz@disroot.org)
87y1ovbvfd.fsf@nckx
Hi Adam,

Adam Faiz via Guix-patches via ???
Toggle quote (2 lines)
> * gnu/packages/search.scm (dataparksearch): New variable.

Thanks! I've applied the patch locally but stopped short of
pushing. I have several questions and [notes]:

Toggle quote (5 lines)
> +(define-public dataparksearch
> + (package
> + (name "dataparksearch")
> + (version "4.54-2016-12-03")

I don't think this tag is anything special compared to other
commits. Is it?

There are many more recent commits, up to 2022. If the argument
is ‘4.53 is ancient’ (it is!), should we just package the latest
commit?

Would the latest release (4.53) instead still be useful today?

Toggle quote (19 lines)
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url
> "https://github.com/Maxime2/dataparksearch")
> + (commit version)))
> + (sha256
> + (base32
> "1g5kxw2d8jbc1h9yyy0xpnd3gkscj5a32k6hk3brvdwcbsnjbgyg"))
> + (modules '((guix build utils)))
> + (snippet
> + #~(begin
> + (for-each delete-file-recursively
> '("config.sub"
> +
> "config.guess"
> +
> "configure"

[All checked into Git. Nice. This snippet is ‘ugly’ because it
addresses an ugly problem. I think I'll keep it but add an
apologetic comment.]

Toggle quote (12 lines)
> +
> "Makefile.in"
> +
> "missing"
> +
> "depcomp"
> +
> "ltmain.sh"
> +
> "compile"
> + ))))

[We don't dangle brackets like this but keep them on the previous
line.]

Toggle quote (8 lines)
> + (file-name (git-file-name name version))))
> + (build-system gnu-build-system)
> + (native-inputs
> + (list pkg-config automake autoconf libtool openjade))
> + (inputs
> + (list mbedtls-apache zlib postgresql aspell c-ares
> libextractor))

[For consistency with other packages, I've moved the …inputs below
the arguments field.]

Toggle quote (3 lines)
> + (list #:configure-flags
> + #~(list "--disable-syslog"

Is this not useful? If not, could you provide a short comment
explaining why?

Toggle quote (2 lines)
> + "--with-gnu-ld"

And here?

Toggle quote (10 lines)
> + (add-before 'bootstrap 'fix-configure
> + (lambda _
> + (substitute* "configure.ac"
> + (("MY_DIRS=\"/usr/local/include")
> + (string-append "MY_DIRS=\""
> #$(this-package-input "aspell") "/include"))
> + (("MY_DIRS=\"/usr/lib")
> + (string-append "MY_DIRS=\""
> #$(this-package-input "aspell") "/lib"))))))))

Why not use --with-aspell=… as you did for Postgres?

Toggle quote (2 lines)
> + (synopsis "Libre, feature rich search engine")

[We don't need to include ‘libre’ (or ‘Free’, ‘open-source’, …) in
descriptions: there's no other software in Guix. \o/ ]

Toggle quote (14 lines)
> + (description
> + "Dataparksearch is a full featured web search engine.
> +It has support for http, https, ftp (passive mode), nntp and
> news URL
> schemes, and
> +other URL schemes with external parsers.
> +It can tweak URLs with session IDs and other weird formats,
> +including some JavaScript link decoding.
> +Options to query with all words, all words near to each others,
> any
> words, or Boolean queries.
> +A subset of VQL (Verity Query Language) is supported.")
> + (home-page "https://www.dataparksearch.org/ ")

[Extra trailing ‘ ’ removed.]

Toggle quote (2 lines)
> + (license license:gpl3+)))

Why GPL3+?

[I was unable to get this package to build reproducibly, although
I tried only disabling #:parallel-build?.]

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCY/AtJg0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15g+wA/RYqRuVZpVxRXQJlUIBjnggIUnxHRNfo5cADuy3H
GVlLAQDTmXjKxa0wanweimNFqLDBU6l8dKgQa9HfA3FFXG4rDQ==
=xAw1
-----END PGP SIGNATURE-----

A
A
Adam Faiz wrote on 18 Feb 2023 12:37
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)(address . 59355@debbugs.gnu.org)
036888fe-5347-755f-1ae3-121197d828c2@disroot.org
On 2/18/23 08:13, Tobias Geerinckx-Rice wrote:
Toggle quote (19 lines)
> Hi Adam,
>
> Adam Faiz via Guix-patches via ???
>> * gnu/packages/search.scm (dataparksearch): New variable.
>
> Thanks!  I've applied the patch locally but stopped short of pushing.  I
> have several questions and [notes]:
>
>> +(define-public dataparksearch
>> +  (package
>> +    (name "dataparksearch")
>> +    (version "4.54-2016-12-03")
>
> I don't think this tag is anything special compared to other commits.
> Is it?
>
> There are many more recent commits, up to 2022.  If the argument is
> ‘4.53 is ancient’ (it is!), should we just package the latest commit?
> Would the latest release (4.53) instead still be useful today?
Not really, I think it's best to package the latest commit.

Toggle quote (18 lines)
>> +    (source (origin
>> +              (method git-fetch)
>> +              (uri (git-reference
>> +                    (url "https://github.com/Maxime2/dataparksearch")
>> +                    (commit version)))
>> +              (sha256
>> +               (base32
>> "1g5kxw2d8jbc1h9yyy0xpnd3gkscj5a32k6hk3brvdwcbsnjbgyg"))
>> +              (modules '((guix build utils)))
>> +              (snippet
>> +               #~(begin
>> +                   (for-each delete-file-recursively '("config.sub"
>> + "config.guess"
>> + "configure"
>
> [All checked into Git.  Nice.  This snippet is ‘ugly’ because it
> addresses an ugly problem.  I think I'll keep it but add an apologetic
> comment.]
Sure.

Toggle quote (8 lines)
>> + "Makefile.in"
>> + "missing"
>> + "depcomp"
>> + "ltmain.sh"
>> + "compile"
>> +                                                       ))))
>
> [We don't dangle brackets like this but keep them on the previous line.]
I dangled the brackets because I can't keep track of the brackets when I
was working on the package. It's about time I try out paredit or some
solution that colours each bracket.

Toggle quote (9 lines)
>> +              (file-name (git-file-name name version))))
>> +    (build-system gnu-build-system)
>> +    (native-inputs
>> +     (list pkg-config automake autoconf libtool openjade))
>> +    (inputs
>> +     (list mbedtls-apache zlib postgresql aspell c-ares libextractor

> [For consistency with other packages, I've moved the …inputs below the
> arguments field.]
Alright, my logic was to specify the inputs used before running the
build commands since that's the normal flow for a packager.

Toggle quote (6 lines)
>
>> +     (list #:configure-flags
>> +           #~(list "--disable-syslog"
>
> Is this not useful?  If not, could you provide a short comment
> explaining why?
It's useful for people who use syslog, but syslog itself is suboptimal
for its purpose. More info can be found here:
Since the Shepherd (and other init systems) can keep the log output of
the services it supervises, I was hoping that could be used instead.

Toggle quote (3 lines)
>> +                   "--with-gnu-ld"
>
> And here?
That's unnecessary, I just wanted to try it out for fun.

Toggle quote (12 lines)
>
>> +               (add-before 'bootstrap 'fix-configure
>> +                 (lambda _
>> +                   (substitute* "configure.ac"
>> +                     (("MY_DIRS=\"/usr/local/include")
>> +                      (string-append "MY_DIRS=\""
>> #$(this-package-input "aspell") "/include"))
>> +                     (("MY_DIRS=\"/usr/lib")
>> +                      (string-append "MY_DIRS=\""
>> #$(this-package-input "aspell") "/lib"))))))))
>
> Why not use --with-aspell=… as you did for Postgres?
It's not available in 4.53, which is another reason why the latest
commit should be used.

Toggle quote (3 lines)
>> +    (license license:gpl3+)))
>
> Why GPL3+?
It was a mistake.

Toggle quote (2 lines)
> [I was unable to get this package to build reproducibly, although I
> tried only disabling #:parallel-build?.]
I'll send an updated patch which fixes the issues you mentioned.

Toggle quote (3 lines)
> Kind regards,
>
> T G-R
A
A
Adam Faiz wrote on 19 Feb 2023 01:29
[PATCH v1] gnu: Add dataparksearch.
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
62129599-010b-9ca4-e254-167b2980699e@disroot.org
From 10067c9599d06ea2518b0adb561eaf2f825ae1a5 Mon Sep 17 00:00:00 2001
Message-Id:
<10067c9599d06ea2518b0adb561eaf2f825ae1a5.1676766217.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Fri, 18 Nov 2022 08:55:02 +0800
Subject: [PATCH 1/6] gnu: Add dataparksearch.

* gnu/packages/search.scm (dataparksearch): New variable.
---
gnu/packages/search.scm | 55 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)

Toggle diff (98 lines)
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index fe69fd3775..262f63821d 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -40,6 +40,7 @@ (define-module (gnu packages search)
#:use-module (guix build-system python)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
+ #:use-module (gnu packages adns)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -51,6 +52,7 @@ (define-module (gnu packages search)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnunet)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
@@ -67,6 +69,7 @@ (define-module (gnu packages search)
#:use-module (gnu packages qt)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages time)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
@@ -328,6 +331,58 @@ (define-public bool
for parsing HTML files.")
(license license:gpl3+)))

+(define-public dataparksearch
+ (let ((commit "8efa28f31ce1273c0556fd5c7e06abe955197a69")
+ (revision "0"))
+ (package
+ (name "dataparksearch")
+ (version (string-append "4.54" revision "." (string-take commit 7) ))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Maxime2/dataparksearch")
+ (commit commit)))
+ (sha256
+ (base32
"01z7s3ws5px2p9brzrq9j41jbdh1cvj8n8y3ghx45gfv1n319ipg"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (for-each delete-file '("config.sub"
+ "config.guess"
+ "configure"
+ "Makefile.in"
+ "missing"
+ "depcomp"
+ "ltmain.sh"
+ "compile"))))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "--disable-syslog"
+ "--with-extra-charsets=all"
+ (string-append "--with-aspell="
+ #$(this-package-input "aspell"))
+ (string-append "--with-pgsql="
+ #$(this-package-input "postgresql")))
+ #:make-flags
+ #~(list
"DPS_TEST_DBADDR=postgresql://localhost/tmp/postgresql/")))
+ (native-inputs
+ (list pkg-config automake autoconf libtool openjade))
+ (inputs
+ (list mbedtls-apache zlib postgresql aspell c-ares libextractor))
+ (synopsis "Feature rich search engine")
+ (description
+ "Dataparksearch is a full featured web search engine.
+It has support for http, https, ftp (passive mode), nntp and news URL
schemes, and
+other URL schemes with external parsers.
+It can tweak URLs with session IDs and other weird formats,
+including some JavaScript link decoding.
+Options to query with all words, all words near to each others, any
words, or Boolean queries.
+A subset of VQL (Verity Query Language) is supported.")
+ (home-page "https://www.dataparksearch.org/")
+ (license license:gpl2+))))
+
(define-public fsearch
(package
(name "fsearch")

base-commit: 08edbd2535ae622d319a51e6f877d23d75dc24f3
prerequisite-patch-id: 66a677452cec5da7e4db37327b344d02556968f6
prerequisite-patch-id: e13c3b4b4ed06ce521ff679ec64e3cd816183388
prerequisite-patch-id: 1eb4d567a14802495169b3e400e02de0b4941729
--
2.39.1
N
N
Nicolas Goaziou wrote on 22 Apr 2023 12:03
(name . Adam Faiz via Guix-patches via)(address . guix-patches@gnu.org)
878rek2pz6.fsf@nicolasgoaziou.fr
Hello,

Adam Faiz via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (7 lines)
> From 10067c9599d06ea2518b0adb561eaf2f825ae1a5 Mon Sep 17 00:00:00 2001
> Message-Id:
> <10067c9599d06ea2518b0adb561eaf2f825ae1a5.1676766217.git.adam.faiz@disroot.org>
> From: AwesomeAdam54321 <adam.faiz@disroot.org>
> Date: Fri, 18 Nov 2022 08:55:02 +0800
> Subject: [PATCH 1/6] gnu: Add dataparksearch.

Thank you.

I removed ""--disable-syslog" since there was no clear consensus about
it (we can always add it again later, of course), reordered inputs
alphabetically, fixed indentation, added a copyright line for you in the
module and applied your patch.

Regards,
--
Nicolas Goaziou
?