diff options
author | Leo Prikler <leo.prikler@student.tugraz.at> | 2021-01-04 15:49:31 +0100 |
---|---|---|
committer | Leo Prikler <leo.prikler@student.tugraz.at> | 2021-01-06 22:23:55 +0100 |
commit | 8d766132cf7b14efff40c490170eb5df1e632c3c (patch) | |
tree | 73e19346c58c9af16da24647e44fef0e2c7a6245 /gnu | |
parent | db42ee65bd657bae9b1a598cbdbe86079dc85f81 (diff) | |
download | guix-8d766132cf7b14efff40c490170eb5df1e632c3c.tar.gz |
gnu: guile-curl: Update to 0.7.
* gnu/packages/curl.scm (guile-curl): Update to 0.7. [#:modules, #:imported-modules]: Load guile-build-system for target-guile-effective-version. [#:configure-flags]: Use target-guile-effective-version. [#:phases]: Add 'patch-undefined-references. Use target-guile-effective-version. [inputs]: Use guile-3.0.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/curl.scm | 59 |
1 files changed, 42 insertions, 17 deletions
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 06f0c8ba5b..34fc627a65 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -243,43 +243,68 @@ not offer a replacement for libcurl.") (define-public guile-curl (package (name "guile-curl") - (version "0.6") + (version "0.7") (source (origin (method url-fetch) (uri (string-append "http://www.lonelycactus.com/tarball/" "guile_curl-" version ".tar.gz")) (sha256 (base32 - "1pxdhnk288ky6gkpad8i60m0p6404rdvls43lr1b5d3csrklyc70")))) + "1zk0ijx6bj212k0j0ma84cpvpvn0x6raaxnby3wdx3w4wnhnscn7")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list (string-append + `(#: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-guilesitedir=" (assoc-ref %outputs "out") - "/share/guile/site/2.2") + "/share/guile/site/" + (target-guile-effective-version + (assoc-ref %build-inputs "guile"))) (string-append "-with-guileextensiondir=" (assoc-ref %outputs "out") - "/lib/guile/2.2/extensions")) + "/lib/guile/" + (target-guile-effective-version + (assoc-ref %build-inputs "guile")) + "/extensions")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-undefined-references + (lambda* _ + (substitute* "src/curl.scm" + ;; The following #defines are missing from our curl package + ;; and therefore result in the evaluation of undefined symbols. + ((",CURLOPT_HAPROXYPROTOCOL") "#f") + ((",CURLOPT_DISALLOW_USERNAME_IN_URL") "#f") + ((",CURLOPT_TIMEVALUE_LARGE") "#f") + ((",CURLOPT_DNS_SHUFFLE_ADDRESSES") "#f") + ((",CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS") "#f")))) (add-after 'install 'patch-extension-path (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (curl.scm (string-append - out "/share/guile/site/2.2/curl.scm")) - (curl.go (string-append - out "/lib/guile/2.2/site-ccache/curl.go")) - (ext (string-append out "/lib/guile/2.2/" - "extensions/libguile-curl"))) - (substitute* curl.scm (("libguile-curl") ext)) - ;; The build system does not actually compile the Scheme module. - ;; So we can compile it and put it in the right place in one go. - (invoke "guild" "compile" curl.scm "-o" curl.go))))))) + (let* ((out (assoc-ref outputs "out")) + (curl.scm (string-append + out "/share/guile/site/" + (target-guile-effective-version) + "/curl.scm")) + (curl.go (string-append + out "/lib/guile/" + (target-guile-effective-version) + "/site-ccache/curl.go")) + (ext (string-append out "/lib/guile/" + (target-guile-effective-version) + "/extensions/libguile-curl"))) + (substitute* curl.scm (("libguile-curl") ext)) + ;; The build system does not actually compile the Scheme module. + ;; So we can compile it and put it in the right place in one go. + (invoke "guild" "compile" curl.scm "-o" curl.go))))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("curl" ,curl) - ("guile" ,guile-2.2))) + ("guile" ,guile-3.0))) (home-page "http://www.lonelycactus.com/guile-curl.html") (synopsis "Curl bindings for Guile") (description "@code{guile-curl} is a project that has procedures that allow |