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 @@ (define-public kurly (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