* [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* @ 2021-09-08 14:45 Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac 0 siblings, 1 reply; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:45 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac Hi, This patchset improves our guile-dbi and guile-dbd-* packages. The two most significant ones are: 1. It updates guile-dbi and guile-dbd-* upstream to https://github.com/opencog/guile-dbi . It simplifies and deduplicates the package definitions of guile-dbd-* by inheriting from guile-dbi. 2. Additionally, it removes the tight LDFLAGS coupling between guile-dbi and guile-dbd-*. With this patchset, guile-dbd-* are not inputs of guile-dbi. They are picked up from the profile using the LD_LIBRARY_PATH environment variable specified in native-search-paths. This way, the user can choose to only install the specific guile-dbd- package that they are interested in and not pull in all guile-dbd-* packages. Regards, Arun Arun Isaac (10): gnu: guile-dbi: Update upstream source. gnu: guile-dbi: Remove hard-coded guile effective version. gnu: guile-dbi: Search for dbd libraries using native-search-paths. gnu: guile-dbi: Do not return #t from custom phases. gnu: guile-dbi: Update to 2.1.8. gnu: guile-dbd-sqlite3: Inherit from guile-dbi. gnu: guile-dbd-postgresql: Inherit from guile-dbi. gnu: guile-dbi-bootstrap: Remove package. gnu: Add guile-dbd-mysql. gnu: guile-dbd-sqlite3: Use normal variable instead of @ reference. gnu/packages/guile-xyz.scm | 209 +++++++++++++++++++------------------ 1 file changed, 109 insertions(+), 100 deletions(-) -- 2.33.0 ^ permalink raw reply [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source. 2021-09-08 14:45 [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 02/10] gnu: guile-dbi: Remove hard-coded guile effective version Arun Isaac ` (8 more replies) 0 siblings, 9 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbi)[source]: Use git-fetch. Update URI. [home-page]: Update URI. [native-inputs]: Add autoconf, automake, libtool, perl and texinfo. --- gnu/packages/guile-xyz.scm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 457701a436..26623b7770 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1495,12 +1495,12 @@ library}.") (source (origin (method git-fetch) (uri (git-reference - (url "https://example.org") ;only hosted on Software Heritage - (commit "e19b019e9683faf66c3f385b20fcc112e65f8c6e"))) + (url "https://github.com/opencog/guile-dbi") + (commit (string-append "guile-dbi-" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "09ys5hj7gnj5w1iv1m194j06jk6b8sdhc8j6hcv3bprq1428kyxw")))) + "0nswd067gvpy9pnig409ympkw29akh9lb2i6g3w7r18g1s0ivah2")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -1524,10 +1524,16 @@ library}.") (inputs `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3) ("guile-dbd-postgresql" ,guile-dbd-postgresql))) ; only shared library, no scheme files + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("perl" ,perl) + ("texinfo" ,texinfo))) (propagated-inputs `(("guile" ,guile-2.2))) (synopsis "Guile database abstraction layer") - (home-page "https://web.archive.org/web/20160328232717/http://home.gna.org/guile-dbi/guile-dbi.html") + (home-page "https://github.com/opencog/guile-dbi") (description "guile-dbi is a library for Guile that provides a convenient interface to SQL databases. Database programming with guile-dbi is generic in that the same -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 02/10] gnu: guile-dbi: Remove hard-coded guile effective version. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths Arun Isaac ` (7 subsequent siblings) 8 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbi)[arguments]: Import target-guile-effective-version from (guix build guile-build-system). Use target-guile-effective-version to determine the guile effective version. --- gnu/packages/guile-xyz.scm | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 26623b7770..c40eea07a9 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1503,9 +1503,15 @@ library}.") "0nswd067gvpy9pnig409ympkw29akh9lb2i6g3w7r18g1s0ivah2")))) (build-system gnu-build-system) (arguments - '(#:configure-flags + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:configure-flags (list (string-append - "--with-guile-site-dir=" %output "/share/guile/site/2.2")) + "--with-guile-site-dir=" %output "/share/guile/site/" + (target-guile-effective-version (assoc-ref %build-inputs "guile")))) #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib:" @@ -1514,11 +1520,13 @@ library}.") #:phases (modify-phases %standard-phases (add-after 'install 'patch-extension-path - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (dbi.scm (string-append - out "/share/guile/site/2.2/dbi/dbi.scm")) - (ext (string-append out "/lib/libguile-dbi"))) + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dbi.scm (string-append out "/share/guile/site/" + (target-guile-effective-version + (assoc-ref inputs "guile")) + "/dbi/dbi.scm")) + (ext (string-append out "/lib/libguile-dbi"))) (substitute* dbi.scm (("libguile-dbi") ext)) #t)))))) (inputs -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 02/10] gnu: guile-dbi: Remove hard-coded guile effective version Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-21 12:53 ` [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* Ludovic Courtès 2021-09-08 14:54 ` [bug#50476] [PATCH 04/10] gnu: guile-dbi: Do not return #t from custom phases Arun Isaac ` (6 subsequent siblings) 8 siblings, 1 reply; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbi)[arguments]: Do not set LDFLAGS and RPATH in #:make-flags. [inputs]: Remove guile-dbd-sqlite3 and guile-dbd-postgresql. [native-search-paths]: Add LD_LIBRARY_PATH. --- gnu/packages/guile-xyz.scm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index c40eea07a9..e8a7fded14 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1512,11 +1512,6 @@ library}.") (list (string-append "--with-guile-site-dir=" %output "/share/guile/site/" (target-guile-effective-version (assoc-ref %build-inputs "guile")))) - #:make-flags - (list (string-append - "LDFLAGS=-Wl,-rpath=" %output "/lib:" - (assoc-ref %build-inputs "guile-dbd-sqlite3") "/lib" ":" - (assoc-ref %build-inputs "guile-dbd-postgresql") "/lib")) #:phases (modify-phases %standard-phases (add-after 'install 'patch-extension-path @@ -1529,9 +1524,6 @@ library}.") (ext (string-append out "/lib/libguile-dbi"))) (substitute* dbi.scm (("libguile-dbi") ext)) #t)))))) - (inputs - `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3) - ("guile-dbd-postgresql" ,guile-dbd-postgresql))) ; only shared library, no scheme files (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -1547,7 +1539,11 @@ library}.") SQL databases. Database programming with guile-dbi is generic in that the same programming interface is presented regardless of which database system is used. It currently supports MySQL, Postgres and SQLite3.") - (license license:gpl2+))) + (license license:gpl2+) + (native-search-paths + (list (search-path-specification + (variable "LD_LIBRARY_PATH") + (files '("lib"))))))) (define guile-dbi-bootstrap (package -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* 2021-09-08 14:54 ` [bug#50476] [PATCH 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths Arun Isaac @ 2021-09-21 12:53 ` Ludovic Courtès 2021-09-22 20:23 ` Arun Isaac 0 siblings, 1 reply; 26+ messages in thread From: Ludovic Courtès @ 2021-09-21 12:53 UTC (permalink / raw) To: Arun Isaac; +Cc: 50476 Hello! Arun Isaac <arunisaac@systemreboot.net> skribis: > * gnu/packages/guile-xyz.scm (guile-dbi)[arguments]: Do not set LDFLAGS and > RPATH in #:make-flags. > [inputs]: Remove guile-dbd-sqlite3 and guile-dbd-postgresql. > [native-search-paths]: Add LD_LIBRARY_PATH. [...] > + (native-search-paths > + (list (search-path-specification > + (variable "LD_LIBRARY_PATH") > + (files '("lib"))))))) I think we should not add LD_LIBRARY_PATH as a search path spec as it can have undesirable side effects; it’s just too broad and risky. The difficulty here is that we want guile-dbi to be able to find its guile-dbd-* plugins, right? The previous method, which was to set the RUNPATH of guile-dbi pointing to guile-dbd-*, sounds preferable to me: it’s localized and does the job. The downside of the RUNPATH method is that these are no longer really “plugins”: you end up pulling them whether or not you use them. Perhaps you were concerned about the closure size? If that really is a concern, I’d recommend taking a different approach, such as using/defining a dedicated search path variable. WDYT? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* 2021-09-21 12:53 ` [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* Ludovic Courtès @ 2021-09-22 20:23 ` Arun Isaac 2021-09-27 15:59 ` Ludovic Courtès 0 siblings, 1 reply; 26+ messages in thread From: Arun Isaac @ 2021-09-22 20:23 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 50476 [-- Attachment #1: Type: text/plain, Size: 1287 bytes --] Hi Ludo, >> + (native-search-paths >> + (list (search-path-specification >> + (variable "LD_LIBRARY_PATH") >> + (files '("lib"))))))) > > I think we should not add LD_LIBRARY_PATH as a search path spec as it > can have undesirable side effects; it’s just too broad and risky. This makes sense. > The difficulty here is that we want guile-dbi to be able to find its > guile-dbd-* plugins, right? The previous method, which was to set the > RUNPATH of guile-dbi pointing to guile-dbd-*, sounds preferable to me: > it’s localized and does the job. > > The downside of the RUNPATH method is that these are no longer really > “plugins”: you end up pulling them whether or not you use them. Perhaps > you were concerned about the closure size? Yes, I was concerned about the closure size, but not merely about the closure size in MB, but also the closure size in number of packages. It does look a bit awkward when we're pulling in dependencies that are not really required. > If that really is a concern, I’d recommend taking a different approach, > such as using/defining a dedicated search path variable. That sounds good. How about I create a GUILE_DBD_LD_LIBRARY_PATH environment variable? Regards, Arun [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 524 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* 2021-09-22 20:23 ` Arun Isaac @ 2021-09-27 15:59 ` Ludovic Courtès 2021-09-30 16:52 ` [bug#50476] [PATCH v2 " Arun Isaac ` (9 more replies) 0 siblings, 10 replies; 26+ messages in thread From: Ludovic Courtès @ 2021-09-27 15:59 UTC (permalink / raw) To: Arun Isaac; +Cc: 50476 Hi, Arun Isaac <arunisaac@systemreboot.net> skribis: >> If that really is a concern, I’d recommend taking a different approach, >> such as using/defining a dedicated search path variable. > > That sounds good. How about I create a GUILE_DBD_LD_LIBRARY_PATH > environment variable? Or just GUILE_DBD_PATH? But yes, that’d be great. Ludo’. ^ permalink raw reply [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 00/10] Update guile-dbi and guile-dbd-* 2021-09-27 15:59 ` Ludovic Courtès @ 2021-09-30 16:52 ` Arun Isaac 2021-10-02 14:04 ` Ludovic Courtès 2021-09-30 16:52 ` [bug#50476] [PATCH v2 01/10] gnu: guile-dbi: Update upstream source Arun Isaac ` (8 subsequent siblings) 9 siblings, 1 reply; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 Hi Ludo, The fix was surprisingly simple. It turns out that guile-dbi already supports a GUILE_DBD_PATH environment variable. See line 312 of guile-dbi/src/guile-dbi.c. So, I just had to fix patch 03/10 to set GUILE_DBD_PATH in the native-search-paths of the guile-dbi package. Otherwise, this patchset is the same. Regards, Arun Arun Isaac (10): gnu: guile-dbi: Update upstream source. gnu: guile-dbi: Remove hard-coded guile effective version. gnu: guile-dbi: Search for dbd libraries using native-search-paths. gnu: guile-dbi: Do not return #t from custom phases. gnu: guile-dbi: Update to 2.1.8. gnu: guile-dbd-sqlite3: Inherit from guile-dbi. gnu: guile-dbd-postgresql: Inherit from guile-dbi. gnu: guile-dbi-bootstrap: Remove package. gnu: Add guile-dbd-mysql. gnu: guile-dbd-sqlite3: Use normal variable instead of @ reference. gnu/packages/guile-xyz.scm | 209 +++++++++++++++++++------------------ 1 file changed, 109 insertions(+), 100 deletions(-) -- 2.33.0 ^ permalink raw reply [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 00/10] Update guile-dbi and guile-dbd-* 2021-09-30 16:52 ` [bug#50476] [PATCH v2 " Arun Isaac @ 2021-10-02 14:04 ` Ludovic Courtès 2021-10-03 15:03 ` bug#50476: " Arun Isaac 0 siblings, 1 reply; 26+ messages in thread From: Ludovic Courtès @ 2021-10-02 14:04 UTC (permalink / raw) To: Arun Isaac; +Cc: 50476 Hi Arun, Arun Isaac <arunisaac@systemreboot.net> skribis: > The fix was surprisingly simple. It turns out that guile-dbi already supports > a GUILE_DBD_PATH environment variable. See line 312 of > guile-dbi/src/guile-dbi.c. So, I just had to fix patch 03/10 to set > GUILE_DBD_PATH in the native-search-paths of the guile-dbi package. Otherwise, > this patchset is the same. Wonderful. > gnu: guile-dbi: Update upstream source. > gnu: guile-dbi: Remove hard-coded guile effective version. > gnu: guile-dbi: Search for dbd libraries using native-search-paths. > gnu: guile-dbi: Do not return #t from custom phases. > gnu: guile-dbi: Update to 2.1.8. > gnu: guile-dbd-sqlite3: Inherit from guile-dbi. > gnu: guile-dbd-postgresql: Inherit from guile-dbi. > gnu: guile-dbi-bootstrap: Remove package. > gnu: Add guile-dbd-mysql. > gnu: guile-dbd-sqlite3: Use normal variable instead of @ reference. LGTM! Thanks, Ludo’. ^ permalink raw reply [flat|nested] 26+ messages in thread
* bug#50476: [PATCH v2 00/10] Update guile-dbi and guile-dbd-* 2021-10-02 14:04 ` Ludovic Courtès @ 2021-10-03 15:03 ` Arun Isaac 0 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-10-03 15:03 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 50476-done [-- Attachment #1: Type: text/plain, Size: 27 bytes --] Pushed to master, thanks! [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 524 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 01/10] gnu: guile-dbi: Update upstream source. 2021-09-27 15:59 ` Ludovic Courtès 2021-09-30 16:52 ` [bug#50476] [PATCH v2 " Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 02/10] gnu: guile-dbi: Remove hard-coded guile effective version Arun Isaac ` (7 subsequent siblings) 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 * gnu/packages/guile-xyz.scm (guile-dbi)[source]: Use git-fetch. Update URI. [home-page]: Update URI. [native-inputs]: Add autoconf, automake, libtool, perl and texinfo. --- gnu/packages/guile-xyz.scm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 7188058b42..d50212fb66 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1495,12 +1495,12 @@ library}.") (source (origin (method git-fetch) (uri (git-reference - (url "https://example.org") ;only hosted on Software Heritage - (commit "e19b019e9683faf66c3f385b20fcc112e65f8c6e"))) + (url "https://github.com/opencog/guile-dbi") + (commit (string-append "guile-dbi-" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "09ys5hj7gnj5w1iv1m194j06jk6b8sdhc8j6hcv3bprq1428kyxw")))) + "0nswd067gvpy9pnig409ympkw29akh9lb2i6g3w7r18g1s0ivah2")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -1524,10 +1524,16 @@ library}.") (inputs `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3) ("guile-dbd-postgresql" ,guile-dbd-postgresql))) ; only shared library, no scheme files + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("perl" ,perl) + ("texinfo" ,texinfo))) (propagated-inputs `(("guile" ,guile-2.2))) (synopsis "Guile database abstraction layer") - (home-page "https://web.archive.org/web/20160328232717/http://home.gna.org/guile-dbi/guile-dbi.html") + (home-page "https://github.com/opencog/guile-dbi") (description "guile-dbi is a library for Guile that provides a convenient interface to SQL databases. Database programming with guile-dbi is generic in that the same -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 02/10] gnu: guile-dbi: Remove hard-coded guile effective version. 2021-09-27 15:59 ` Ludovic Courtès 2021-09-30 16:52 ` [bug#50476] [PATCH v2 " Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 01/10] gnu: guile-dbi: Update upstream source Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths Arun Isaac ` (6 subsequent siblings) 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 * gnu/packages/guile-xyz.scm (guile-dbi)[arguments]: Import target-guile-effective-version from (guix build guile-build-system). Use target-guile-effective-version to determine the guile effective version. --- gnu/packages/guile-xyz.scm | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index d50212fb66..bc7bf63dc5 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1503,9 +1503,15 @@ library}.") "0nswd067gvpy9pnig409ympkw29akh9lb2i6g3w7r18g1s0ivah2")))) (build-system gnu-build-system) (arguments - '(#:configure-flags + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:configure-flags (list (string-append - "--with-guile-site-dir=" %output "/share/guile/site/2.2")) + "--with-guile-site-dir=" %output "/share/guile/site/" + (target-guile-effective-version (assoc-ref %build-inputs "guile")))) #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib:" @@ -1514,11 +1520,13 @@ library}.") #:phases (modify-phases %standard-phases (add-after 'install 'patch-extension-path - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (dbi.scm (string-append - out "/share/guile/site/2.2/dbi/dbi.scm")) - (ext (string-append out "/lib/libguile-dbi"))) + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dbi.scm (string-append out "/share/guile/site/" + (target-guile-effective-version + (assoc-ref inputs "guile")) + "/dbi/dbi.scm")) + (ext (string-append out "/lib/libguile-dbi"))) (substitute* dbi.scm (("libguile-dbi") ext)) #t)))))) (inputs -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths. 2021-09-27 15:59 ` Ludovic Courtès ` (2 preceding siblings ...) 2021-09-30 16:52 ` [bug#50476] [PATCH v2 02/10] gnu: guile-dbi: Remove hard-coded guile effective version Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 04/10] gnu: guile-dbi: Do not return #t from custom phases Arun Isaac ` (5 subsequent siblings) 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 * gnu/packages/guile-xyz.scm (guile-dbi)[arguments]: Do not set LDFLAGS and RPATH in #:make-flags. [inputs]: Remove guile-dbd-sqlite3 and guile-dbd-postgresql. [native-search-paths]: Add GUILE_DBD_PATH. --- gnu/packages/guile-xyz.scm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index bc7bf63dc5..098988bc1a 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1512,11 +1512,6 @@ library}.") (list (string-append "--with-guile-site-dir=" %output "/share/guile/site/" (target-guile-effective-version (assoc-ref %build-inputs "guile")))) - #:make-flags - (list (string-append - "LDFLAGS=-Wl,-rpath=" %output "/lib:" - (assoc-ref %build-inputs "guile-dbd-sqlite3") "/lib" ":" - (assoc-ref %build-inputs "guile-dbd-postgresql") "/lib")) #:phases (modify-phases %standard-phases (add-after 'install 'patch-extension-path @@ -1529,9 +1524,6 @@ library}.") (ext (string-append out "/lib/libguile-dbi"))) (substitute* dbi.scm (("libguile-dbi") ext)) #t)))))) - (inputs - `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3) - ("guile-dbd-postgresql" ,guile-dbd-postgresql))) ; only shared library, no scheme files (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -1547,7 +1539,11 @@ library}.") SQL databases. Database programming with guile-dbi is generic in that the same programming interface is presented regardless of which database system is used. It currently supports MySQL, Postgres and SQLite3.") - (license license:gpl2+))) + (license license:gpl2+) + (native-search-paths + (list (search-path-specification + (variable "GUILE_DBD_PATH") + (files '("lib"))))))) (define guile-dbi-bootstrap (package -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 04/10] gnu: guile-dbi: Do not return #t from custom phases. 2021-09-27 15:59 ` Ludovic Courtès ` (3 preceding siblings ...) 2021-09-30 16:52 ` [bug#50476] [PATCH v2 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 05/10] gnu: guile-dbi: Update to 2.1.8 Arun Isaac ` (4 subsequent siblings) 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 * gnu/packages/guile-xyz.scm (guile-dbi)[arguments]: Do not return #t from custom phases. --- gnu/packages/guile-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 098988bc1a..1d56bbfede 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1522,8 +1522,7 @@ library}.") (assoc-ref inputs "guile")) "/dbi/dbi.scm")) (ext (string-append out "/lib/libguile-dbi"))) - (substitute* dbi.scm (("libguile-dbi") ext)) - #t)))))) + (substitute* dbi.scm (("libguile-dbi") ext)))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 05/10] gnu: guile-dbi: Update to 2.1.8. 2021-09-27 15:59 ` Ludovic Courtès ` (4 preceding siblings ...) 2021-09-30 16:52 ` [bug#50476] [PATCH v2 04/10] gnu: guile-dbi: Do not return #t from custom phases Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 06/10] gnu: guile-dbd-sqlite3: Inherit from guile-dbi Arun Isaac ` (3 subsequent siblings) 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 * gnu/packages/guile-xyz.scm (guile-dbi): Update to 2.1.8. [arguments]: Add chdir phase. --- gnu/packages/guile-xyz.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 1d56bbfede..e250d4d1f2 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1491,7 +1491,7 @@ library}.") (define-public guile-dbi (package (name "guile-dbi") - (version "2.1.6") + (version "2.1.8") (source (origin (method git-fetch) (uri (git-reference @@ -1500,7 +1500,7 @@ library}.") (file-name (git-file-name name version)) (sha256 (base32 - "0nswd067gvpy9pnig409ympkw29akh9lb2i6g3w7r18g1s0ivah2")))) + "123m4j82bi60s1v95pjh4djb7bh6zdwmljbpyg7zq8ni2gyal7lw")))) (build-system gnu-build-system) (arguments `(#:modules (((guix build guile-build-system) @@ -1514,6 +1514,11 @@ library}.") (target-guile-effective-version (assoc-ref %build-inputs "guile")))) #:phases (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbi. + (chdir "guile-dbi"))) (add-after 'install 'patch-extension-path (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 06/10] gnu: guile-dbd-sqlite3: Inherit from guile-dbi. 2021-09-27 15:59 ` Ludovic Courtès ` (5 preceding siblings ...) 2021-09-30 16:52 ` [bug#50476] [PATCH v2 05/10] gnu: guile-dbi: Update to 2.1.8 Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 07/10] gnu: guile-dbd-postgresql: " Arun Isaac ` (2 subsequent siblings) 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 * gnu/packages/guile-xyz.scm (guile-dbd-sqlite3): Inherit from guile-dbi. Remove version, source, build-system, home-page and license fields. [arguments]: Replace chdir phase. Delete patch-extension-path phase. [native-inputs]: Replace guile-dbi-bootstrap with guile-dbi. --- gnu/packages/guile-xyz.scm | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index e250d4d1f2..96182d7362 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1560,32 +1560,29 @@ It currently supports MySQL, Postgres and SQLite3.") (define-public guile-dbd-sqlite3 (package + (inherit guile-dbi) (name "guile-dbd-sqlite3") - (version "2.1.6") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://example.org") ;only hosted on Software Heritage - (commit "0758c615e9e85ad76d153d5dc6179881f1f50089"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1rwf3z6ib6nkhfnk2nw8p6fqirdx2pparcrlmsm0i2ii62plpqhb")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("guile-dbi-bootstrap" ,guile-dbi-bootstrap))) ; only required for headers + (arguments + (substitute-keyword-arguments (package-arguments guile-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbd-sqlite3. + (chdir "guile-dbd-sqlite3"))) + (delete 'patch-extension-path))))) (inputs `(("sqlite" ,sqlite) ("zlib" ,(@ (gnu packages compression) zlib)))) + (native-inputs + `(("guile-dbi" ,guile-dbi) ; only required for headers + ("pkg-config" ,pkg-config) + ,@(package-native-inputs guile-dbi))) (synopsis "Guile DBI driver for SQLite") - ;; Unofficial home-page. - ;; Added by b9cbfa52f71505de8447fefabd97f16d0a9cbde6 (2016-06) - (home-page "https://github.com/jkalbhenn/guile-dbd-sqlite3") (description "guile-dbi is a library for Guile that provides a convenient interface to -SQL databases. This package implements the interface for SQLite.") - (license license:gpl2+))) +SQL databases. This package implements the interface for SQLite."))) (define-public guile-dbd-postgresql (let ((commit "e97589b6b018b206c901e4cc24db463407a4036b") -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 07/10] gnu: guile-dbd-postgresql: Inherit from guile-dbi. 2021-09-27 15:59 ` Ludovic Courtès ` (6 preceding siblings ...) 2021-09-30 16:52 ` [bug#50476] [PATCH v2 06/10] gnu: guile-dbd-sqlite3: Inherit from guile-dbi Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 08/10] gnu: guile-dbi-bootstrap: Remove package Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 09/10] gnu: Add guile-dbd-mysql Arun Isaac 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 * gnu/packages/guile-xyz.scm (guile-dbd-postgresql): Inherit from guile-dbi. Remove version, source, build-system, home-page and license fields. [arguments]: Remove patch-src/Makefile.am phase. Do not return #t from phases. [native-inputs]: Replace guile-dbi-bootstrap with guile-dbi. --- gnu/packages/guile-xyz.scm | 72 ++++++++++++-------------------------- 1 file changed, 23 insertions(+), 49 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 96182d7362..bc86bf3f68 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1585,60 +1585,34 @@ It currently supports MySQL, Postgres and SQLite3.") SQL databases. This package implements the interface for SQLite."))) (define-public guile-dbd-postgresql - (let ((commit "e97589b6b018b206c901e4cc24db463407a4036b") - (revision 0)) - (package - (name "guile-dbd-postgresql") - (version (string-append - "2.1.6-" (number->string revision) "." (string-take commit 7))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/opencog/guile-dbi") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0n1gv9a0kdys10a4qmnrwvg5sydwb03880asri4gqdchcj3fimni")))) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir + (package + (inherit guile-dbi) + (name "guile-dbd-postgresql") + (arguments + (substitute-keyword-arguments (package-arguments guile-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir (lambda _ ;; The upstream Git repository contains all the code, so change - ;; to the relevant directory. - (chdir "guile-dbd-postgresql") - #t)) - (add-after 'chdir 'patch-src/Makefile.am - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/Makefile.am" - (("/usr/include") - (string-append (assoc-ref inputs "postgresql") "/include"))) - #t)) - (add-after 'patch-src/Makefile.am 'patch-src + ;; to the directory specific to guile-dbd-mysql. + (chdir "guile-dbd-postgresql"))) + (add-after 'chdir 'patch-src (lambda _ (substitute* "src/guile-dbd-postgresql.c" - (("postgresql/libpq-fe\\.h") "libpq-fe.h")) - #t))))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("automake" ,automake) - ("autoconf" ,autoconf) - ("perl" ,perl) - ("libtool" ,libtool) - ("guile-dbi-bootstrap" ,guile-dbi-bootstrap))) - (inputs - `(("postgresql" ,postgresql) - ("zlib" ,zlib))) - (synopsis "Guile DBI driver for PostgreSQL") - (home-page - "https://github.com/opencog/guile-dbi/tree/master/guile-dbd-postgresql") - (description - "@code{guile-dbi} is a library for Guile that provides a convenient + (("postgresql/libpq-fe\\.h") "libpq-fe.h")))) + (delete 'patch-extension-path))))) + (inputs + `(("postgresql" ,postgresql) + ("zlib" ,zlib))) + (native-inputs + `(("guile-dbi" ,guile-dbi) ; only required for headers + ,@(package-native-inputs guile-dbi))) + (synopsis "Guile DBI driver for PostgreSQL") + (description + "@code{guile-dbi} is a library for Guile that provides a convenient interface to SQL databases. This package implements the interface for -PostgreSQL.") - (license license:gpl2+)))) +PostgreSQL."))) (define-public guile-config (package -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 08/10] gnu: guile-dbi-bootstrap: Remove package. 2021-09-27 15:59 ` Ludovic Courtès ` (7 preceding siblings ...) 2021-09-30 16:52 ` [bug#50476] [PATCH v2 07/10] gnu: guile-dbd-postgresql: " Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 09/10] gnu: Add guile-dbd-mysql Arun Isaac 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 guile-dbi-bootstrap was formerly used by guile-dbd-sqlite3 and guile-dbd-postgresql. It is no longer required now that guile-dbi uses native-search-paths to find guile-dbd-* libraries. * gnu/packages/guile-xyz.scm (guile-dbi-bootstrap): Delete variable. --- gnu/packages/guile-xyz.scm | 9 --------- 1 file changed, 9 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index bc86bf3f68..b321df93a5 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1549,15 +1549,6 @@ It currently supports MySQL, Postgres and SQLite3.") (variable "GUILE_DBD_PATH") (files '("lib"))))))) -(define guile-dbi-bootstrap - (package - (inherit guile-dbi) - (name "guile-dbi-bootstrap") - (inputs '()) - (arguments - (substitute-keyword-arguments (package-arguments guile-dbi) - ((#:make-flags _) '(list)))))) - (define-public guile-dbd-sqlite3 (package (inherit guile-dbi) -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH v2 09/10] gnu: Add guile-dbd-mysql. 2021-09-27 15:59 ` Ludovic Courtès ` (8 preceding siblings ...) 2021-09-30 16:52 ` [bug#50476] [PATCH v2 08/10] gnu: guile-dbi-bootstrap: Remove package Arun Isaac @ 2021-09-30 16:52 ` Arun Isaac 9 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-30 16:52 UTC (permalink / raw) To: Ludovic Courtès, Arun Isaac; +Cc: 50476 * gnu/packages/guile-xyz.scm (guile-dbd-mysql): New variable. --- gnu/packages/guile-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index b321df93a5..07e3f6ba2b 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1605,6 +1605,39 @@ SQL databases. This package implements the interface for SQLite."))) interface to SQL databases. This package implements the interface for PostgreSQL."))) +(define-public guile-dbd-mysql + (package + (inherit guile-dbi) + (name "guile-dbd-mysql") + (arguments + (substitute-keyword-arguments (package-arguments guile-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbd-mysql. + (chdir "guile-dbd-mysql"))) + (add-after 'chdir 'patch-src + (lambda _ + (substitute* "configure.ac" + (("mariadbclient") "mariadb")) + (substitute* "src/guile-dbd-mysql.c" + (("<mariadb/") "<mysql/")))) + (delete 'patch-extension-path))))) + (inputs + `(("mariadb" ,mariadb "dev") + ("mariadb" ,mariadb "lib") + ("zlib" ,zlib))) + (native-inputs + `(("guile-dbi" ,guile-dbi) ; only required for headers + ,@(package-native-inputs guile-dbi))) + (synopsis "Guile DBI driver for MySQL") + (description "@code{guile-dbi} is a library for Guile that provides a +convenient interface to SQL databases. This package implements the interface +for MySQL.") + (license license:gpl2+))) + (define-public guile-config (package (name "guile-config") -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 04/10] gnu: guile-dbi: Do not return #t from custom phases. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 02/10] gnu: guile-dbi: Remove hard-coded guile effective version Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 05/10] gnu: guile-dbi: Update to 2.1.8 Arun Isaac ` (5 subsequent siblings) 8 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbi)[arguments]: Do not return #t from custom phases. --- gnu/packages/guile-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index e8a7fded14..80267287d1 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1522,8 +1522,7 @@ library}.") (assoc-ref inputs "guile")) "/dbi/dbi.scm")) (ext (string-append out "/lib/libguile-dbi"))) - (substitute* dbi.scm (("libguile-dbi") ext)) - #t)))))) + (substitute* dbi.scm (("libguile-dbi") ext)))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 05/10] gnu: guile-dbi: Update to 2.1.8. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac ` (2 preceding siblings ...) 2021-09-08 14:54 ` [bug#50476] [PATCH 04/10] gnu: guile-dbi: Do not return #t from custom phases Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 06/10] gnu: guile-dbd-sqlite3: Inherit from guile-dbi Arun Isaac ` (4 subsequent siblings) 8 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbi): Update to 2.1.8. [arguments]: Add chdir phase. --- gnu/packages/guile-xyz.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 80267287d1..baf245c865 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1491,7 +1491,7 @@ library}.") (define-public guile-dbi (package (name "guile-dbi") - (version "2.1.6") + (version "2.1.8") (source (origin (method git-fetch) (uri (git-reference @@ -1500,7 +1500,7 @@ library}.") (file-name (git-file-name name version)) (sha256 (base32 - "0nswd067gvpy9pnig409ympkw29akh9lb2i6g3w7r18g1s0ivah2")))) + "123m4j82bi60s1v95pjh4djb7bh6zdwmljbpyg7zq8ni2gyal7lw")))) (build-system gnu-build-system) (arguments `(#:modules (((guix build guile-build-system) @@ -1514,6 +1514,11 @@ library}.") (target-guile-effective-version (assoc-ref %build-inputs "guile")))) #:phases (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbi. + (chdir "guile-dbi"))) (add-after 'install 'patch-extension-path (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 06/10] gnu: guile-dbd-sqlite3: Inherit from guile-dbi. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac ` (3 preceding siblings ...) 2021-09-08 14:54 ` [bug#50476] [PATCH 05/10] gnu: guile-dbi: Update to 2.1.8 Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 07/10] gnu: guile-dbd-postgresql: " Arun Isaac ` (3 subsequent siblings) 8 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbd-sqlite3): Inherit from guile-dbi. Remove version, source, build-system, home-page and license fields. [arguments]: Replace chdir phase. Delete patch-extension-path phase. [native-inputs]: Replace guile-dbi-bootstrap with guile-dbi. --- gnu/packages/guile-xyz.scm | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index baf245c865..1a3ddcf25d 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1560,32 +1560,29 @@ It currently supports MySQL, Postgres and SQLite3.") (define-public guile-dbd-sqlite3 (package + (inherit guile-dbi) (name "guile-dbd-sqlite3") - (version "2.1.6") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://example.org") ;only hosted on Software Heritage - (commit "0758c615e9e85ad76d153d5dc6179881f1f50089"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1rwf3z6ib6nkhfnk2nw8p6fqirdx2pparcrlmsm0i2ii62plpqhb")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("guile-dbi-bootstrap" ,guile-dbi-bootstrap))) ; only required for headers + (arguments + (substitute-keyword-arguments (package-arguments guile-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbd-sqlite3. + (chdir "guile-dbd-sqlite3"))) + (delete 'patch-extension-path))))) (inputs `(("sqlite" ,sqlite) ("zlib" ,(@ (gnu packages compression) zlib)))) + (native-inputs + `(("guile-dbi" ,guile-dbi) ; only required for headers + ("pkg-config" ,pkg-config) + ,@(package-native-inputs guile-dbi))) (synopsis "Guile DBI driver for SQLite") - ;; Unofficial home-page. - ;; Added by b9cbfa52f71505de8447fefabd97f16d0a9cbde6 (2016-06) - (home-page "https://github.com/jkalbhenn/guile-dbd-sqlite3") (description "guile-dbi is a library for Guile that provides a convenient interface to -SQL databases. This package implements the interface for SQLite.") - (license license:gpl2+))) +SQL databases. This package implements the interface for SQLite."))) (define-public guile-dbd-postgresql (let ((commit "e97589b6b018b206c901e4cc24db463407a4036b") -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 07/10] gnu: guile-dbd-postgresql: Inherit from guile-dbi. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac ` (4 preceding siblings ...) 2021-09-08 14:54 ` [bug#50476] [PATCH 06/10] gnu: guile-dbd-sqlite3: Inherit from guile-dbi Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 08/10] gnu: guile-dbi-bootstrap: Remove package Arun Isaac ` (2 subsequent siblings) 8 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbd-postgresql): Inherit from guile-dbi. Remove version, source, build-system, home-page and license fields. [arguments]: Remove patch-src/Makefile.am phase. Do not return #t from phases. [native-inputs]: Replace guile-dbi-bootstrap with guile-dbi. --- gnu/packages/guile-xyz.scm | 72 ++++++++++++-------------------------- 1 file changed, 23 insertions(+), 49 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 1a3ddcf25d..c59e7e51c8 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1585,60 +1585,34 @@ It currently supports MySQL, Postgres and SQLite3.") SQL databases. This package implements the interface for SQLite."))) (define-public guile-dbd-postgresql - (let ((commit "e97589b6b018b206c901e4cc24db463407a4036b") - (revision 0)) - (package - (name "guile-dbd-postgresql") - (version (string-append - "2.1.6-" (number->string revision) "." (string-take commit 7))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/opencog/guile-dbi") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0n1gv9a0kdys10a4qmnrwvg5sydwb03880asri4gqdchcj3fimni")))) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir + (package + (inherit guile-dbi) + (name "guile-dbd-postgresql") + (arguments + (substitute-keyword-arguments (package-arguments guile-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir (lambda _ ;; The upstream Git repository contains all the code, so change - ;; to the relevant directory. - (chdir "guile-dbd-postgresql") - #t)) - (add-after 'chdir 'patch-src/Makefile.am - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/Makefile.am" - (("/usr/include") - (string-append (assoc-ref inputs "postgresql") "/include"))) - #t)) - (add-after 'patch-src/Makefile.am 'patch-src + ;; to the directory specific to guile-dbd-mysql. + (chdir "guile-dbd-postgresql"))) + (add-after 'chdir 'patch-src (lambda _ (substitute* "src/guile-dbd-postgresql.c" - (("postgresql/libpq-fe\\.h") "libpq-fe.h")) - #t))))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("automake" ,automake) - ("autoconf" ,autoconf) - ("perl" ,perl) - ("libtool" ,libtool) - ("guile-dbi-bootstrap" ,guile-dbi-bootstrap))) - (inputs - `(("postgresql" ,postgresql) - ("zlib" ,zlib))) - (synopsis "Guile DBI driver for PostgreSQL") - (home-page - "https://github.com/opencog/guile-dbi/tree/master/guile-dbd-postgresql") - (description - "@code{guile-dbi} is a library for Guile that provides a convenient + (("postgresql/libpq-fe\\.h") "libpq-fe.h")))) + (delete 'patch-extension-path))))) + (inputs + `(("postgresql" ,postgresql) + ("zlib" ,zlib))) + (native-inputs + `(("guile-dbi" ,guile-dbi) ; only required for headers + ,@(package-native-inputs guile-dbi))) + (synopsis "Guile DBI driver for PostgreSQL") + (description + "@code{guile-dbi} is a library for Guile that provides a convenient interface to SQL databases. This package implements the interface for -PostgreSQL.") - (license license:gpl2+)))) +PostgreSQL."))) (define-public guile-config (package -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 08/10] gnu: guile-dbi-bootstrap: Remove package. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac ` (5 preceding siblings ...) 2021-09-08 14:54 ` [bug#50476] [PATCH 07/10] gnu: guile-dbd-postgresql: " Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 09/10] gnu: Add guile-dbd-mysql Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 10/10] gnu: guile-dbd-sqlite3: Use normal variable instead of @ reference Arun Isaac 8 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac guile-dbi-bootstrap was formerly used by guile-dbd-sqlite3 and guile-dbd-postgresql. It is no longer required now that guile-dbi uses native-search-paths to find guile-dbd-* libraries. * gnu/packages/guile-xyz.scm (guile-dbi-bootstrap): Delete variable. --- gnu/packages/guile-xyz.scm | 9 --------- 1 file changed, 9 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index c59e7e51c8..15dc8b1219 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1549,15 +1549,6 @@ It currently supports MySQL, Postgres and SQLite3.") (variable "LD_LIBRARY_PATH") (files '("lib"))))))) -(define guile-dbi-bootstrap - (package - (inherit guile-dbi) - (name "guile-dbi-bootstrap") - (inputs '()) - (arguments - (substitute-keyword-arguments (package-arguments guile-dbi) - ((#:make-flags _) '(list)))))) - (define-public guile-dbd-sqlite3 (package (inherit guile-dbi) -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 09/10] gnu: Add guile-dbd-mysql. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac ` (6 preceding siblings ...) 2021-09-08 14:54 ` [bug#50476] [PATCH 08/10] gnu: guile-dbi-bootstrap: Remove package Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 10/10] gnu: guile-dbd-sqlite3: Use normal variable instead of @ reference Arun Isaac 8 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbd-mysql): New variable. --- gnu/packages/guile-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 15dc8b1219..a5166ec46c 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1605,6 +1605,39 @@ SQL databases. This package implements the interface for SQLite."))) interface to SQL databases. This package implements the interface for PostgreSQL."))) +(define-public guile-dbd-mysql + (package + (inherit guile-dbi) + (name "guile-dbd-mysql") + (arguments + (substitute-keyword-arguments (package-arguments guile-dbi) + ((#:phases phases) + `(modify-phases ,phases + (replace 'chdir + (lambda _ + ;; The upstream Git repository contains all the code, so change + ;; to the directory specific to guile-dbd-mysql. + (chdir "guile-dbd-mysql"))) + (add-after 'chdir 'patch-src + (lambda _ + (substitute* "configure.ac" + (("mariadbclient") "mariadb")) + (substitute* "src/guile-dbd-mysql.c" + (("<mariadb/") "<mysql/")))) + (delete 'patch-extension-path))))) + (inputs + `(("mariadb" ,mariadb "dev") + ("mariadb" ,mariadb "lib") + ("zlib" ,zlib))) + (native-inputs + `(("guile-dbi" ,guile-dbi) ; only required for headers + ,@(package-native-inputs guile-dbi))) + (synopsis "Guile DBI driver for MySQL") + (description "@code{guile-dbi} is a library for Guile that provides a +convenient interface to SQL databases. This package implements the interface +for MySQL.") + (license license:gpl2+))) + (define-public guile-config (package (name "guile-config") -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [bug#50476] [PATCH 10/10] gnu: guile-dbd-sqlite3: Use normal variable instead of @ reference. 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac ` (7 preceding siblings ...) 2021-09-08 14:54 ` [bug#50476] [PATCH 09/10] gnu: Add guile-dbd-mysql Arun Isaac @ 2021-09-08 14:54 ` Arun Isaac 8 siblings, 0 replies; 26+ messages in thread From: Arun Isaac @ 2021-09-08 14:54 UTC (permalink / raw) To: 50476; +Cc: Arun Isaac * gnu/packages/guile-xyz.scm (guile-dbd-sqlite3)[inputs]: Replace (@ (gnu packages compression) zlib) with zlib. --- gnu/packages/guile-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index a5166ec46c..0633446442 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1565,7 +1565,7 @@ It currently supports MySQL, Postgres and SQLite3.") (delete 'patch-extension-path))))) (inputs `(("sqlite" ,sqlite) - ("zlib" ,(@ (gnu packages compression) zlib)))) + ("zlib" ,zlib))) (native-inputs `(("guile-dbi" ,guile-dbi) ; only required for headers ("pkg-config" ,pkg-config) -- 2.33.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
end of thread, other threads:[~2021-10-03 15:06 UTC | newest] Thread overview: 26+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-09-08 14:45 [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 01/10] gnu: guile-dbi: Update upstream source Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 02/10] gnu: guile-dbi: Remove hard-coded guile effective version Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths Arun Isaac 2021-09-21 12:53 ` [bug#50476] [PATCH 00/10] Update guile-dbi and guile-dbd-* Ludovic Courtès 2021-09-22 20:23 ` Arun Isaac 2021-09-27 15:59 ` Ludovic Courtès 2021-09-30 16:52 ` [bug#50476] [PATCH v2 " Arun Isaac 2021-10-02 14:04 ` Ludovic Courtès 2021-10-03 15:03 ` bug#50476: " Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 01/10] gnu: guile-dbi: Update upstream source Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 02/10] gnu: guile-dbi: Remove hard-coded guile effective version Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 03/10] gnu: guile-dbi: Search for dbd libraries using native-search-paths Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 04/10] gnu: guile-dbi: Do not return #t from custom phases Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 05/10] gnu: guile-dbi: Update to 2.1.8 Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 06/10] gnu: guile-dbd-sqlite3: Inherit from guile-dbi Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 07/10] gnu: guile-dbd-postgresql: " Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 08/10] gnu: guile-dbi-bootstrap: Remove package Arun Isaac 2021-09-30 16:52 ` [bug#50476] [PATCH v2 09/10] gnu: Add guile-dbd-mysql Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 04/10] gnu: guile-dbi: Do not return #t from custom phases Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 05/10] gnu: guile-dbi: Update to 2.1.8 Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 06/10] gnu: guile-dbd-sqlite3: Inherit from guile-dbi Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 07/10] gnu: guile-dbd-postgresql: " Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 08/10] gnu: guile-dbi-bootstrap: Remove package Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 09/10] gnu: Add guile-dbd-mysql Arun Isaac 2021-09-08 14:54 ` [bug#50476] [PATCH 10/10] gnu: guile-dbd-sqlite3: Use normal variable instead of @ reference Arun Isaac
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).