summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoel Janssen <roel@gnu.org>2018-04-18 23:00:41 +0200
committerRoel Janssen <roel@gnu.org>2018-04-18 23:00:41 +0200
commit5e3010a2ac651397e0cb69239a7d7aa3c0a5703e (patch)
treeeecbc75004c59c8cfd4524657cdfbbec08df04eb
parentcf10095c172b989953459ddafd12f57caf07e56e (diff)
downloadpatches-5e3010a2ac651397e0cb69239a7d7aa3c0a5703e.tar
patches-5e3010a2ac651397e0cb69239a7d7aa3c0a5703e.tar.gz
gnu: Add guile-curl.
* gnu/packages/curl.scm (guile-curl): New variable.
-rw-r--r--gnu/packages/curl.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index fbf177d9da..216d47cb71 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages groff)
#:use-module (gnu packages gsasl)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages libidn)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
@@ -193,3 +195,52 @@ mechanisms particularly within the HTTP(S) realm are to be expected. kurly does
not offer a replacement for libcurl.")
(home-page "https://github.com/davidjpeacock/kurly")
(license license:asl2.0)))
+
+(define-public guile-curl
+ (package
+ (name "guile-curl")
+ (version "0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.lonelycactus.com/tarball/guile-curl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1846rxgc0ylh8768lr79irc7nwjichzb7qb7lzs2k42m0i53sc46"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags (list (string-append
+ "--with-guilesitedir="
+ (assoc-ref %outputs "out")
+ "/share/guile/site/2.2")
+ (string-append
+ "-with-guileextensiondir="
+ (assoc-ref %outputs "out")
+ "/lib/guile/2.2/extensions"))
+ #:phases
+ (modify-phases %standard-phases
+ (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.
+ (system* "guild" "compile" curl.scm "-o" curl.go))
+ #t)))))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("curl" ,curl)
+ ("guile" ,guile-2.2)))
+ (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
+Guile to do client-side URL transfers, like requesting documents from HTTP or
+FTP servers. It is based on the curl library.")
+ (license license:gpl3+)))