diff mbox series

[bug#59355] gnu: Add dataparksearch.

Message ID 9ff6c39e-933b-d16e-3e3f-ad62c4a09f54@disroot.org
State New
Headers show
Series [bug#59355] gnu: Add dataparksearch. | expand

Checks

Context Check Description
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue
cbaines/applying patch fail
cbaines/issue success View issue

Commit Message

Adam Faiz Nov. 18, 2022, 11:17 a.m. UTC
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(+)

+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

Comments

Tobias Geerinckx-Rice Feb. 18, 2023, 12:13 a.m. UTC | #1
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?

> +    (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.]

> + 
> "Makefile.in"
> + 
> "missing"
> + 
> "depcomp"
> + 
> "ltmain.sh"
> + 
> "compile"
> +                                                       ))))

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

> +              (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.]

> +     (list #:configure-flags
> +           #~(list "--disable-syslog"

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

> +                   "--with-gnu-ld"

And here?

> +               (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?

> +    (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/ ]

> +    (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.]

> +    (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
Adam Faiz Feb. 18, 2023, 11:37 a.m. UTC | #2
On 2/18/23 08:13, Tobias Geerinckx-Rice wrote:
> 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.

>> +    (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.

>> + "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.

>> +              (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.

> 
>> +     (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:
http://skarnet.org/software/s6/s6-log.html#diesyslogdiedie
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.

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

> 
>> +               (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.

>> +    (license license:gpl3+)))
> 
> Why GPL3+?
It was a mistake.

> [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.

> Kind regards,
> 
> T G-R
diff mbox series

Patch

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.