summaryrefslogtreecommitdiff
path: root/guix-gnurl.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-gnurl.scm')
-rw-r--r--guix-gnurl.scm98
1 files changed, 98 insertions, 0 deletions
diff --git a/guix-gnurl.scm b/guix-gnurl.scm
new file mode 100644
index 000000000..029320d09
--- /dev/null
+++ b/guix-gnurl.scm
@@ -0,0 +1,98 @@
+;;; /***************************************************************************
+;;; *
+;;; *
+;;; * Copyright (C) 2016, ng0 <contact.ng0@cryptolab.net>.
+;;; *
+;;; * This file is an appendum to gnurl. The author isn't clear about
+;;; * licensing, so in case there are problems, contact them.
+;;; *
+;;; * This software is licensed as described in the file COPYING, which
+;;; * you should have received as part of this distribution. The terms
+;;; * are also available at https://curl.haxx.se/docs/copyright.html.
+;;; *
+;;; * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+;;; * copies of the Software, and permit persons to whom the Software is
+;;; * furnished to do so, under the terms of the COPYING file.
+;;; *
+;;; * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+;;; * KIND, either express or implied.
+;;; *
+;;; ***************************************************************************/
+
+
+(use-modules
+ (ice-9 popen)
+ (ice-9 match)
+ (ice-9 rdelim)
+ (guix packages)
+ (guix build-system gnu)
+ (guix gexp)
+ ((guix build utils) #:select (with-directory-excursion))
+ (gnu packages)
+ (gnu packages base)
+ (gnu packages autotools)
+ (gnu packages gnunet))
+
+(define %source-dir (dirname (current-filename)))
+
+;; Taken from https://gitlab.com/dustyweb/pubstrate/blob/master/guix.scm
+(define git-file?
+ (let* ((pipe (with-directory-excursion %source-dir
+ (open-pipe* OPEN_READ "git" "ls-files")))
+ (files (let loop ((lines '()))
+ (match (read-line pipe)
+ ((? eof-object?)
+ (reverse lines))
+ (line
+ (loop (cons line lines))))))
+ (status (close-pipe pipe)))
+ (lambda (file stat)
+ (match (stat:type stat)
+ ('directory #t)
+ ((or 'regular 'symlink)
+ (any (cut string-suffix? <> file) files))
+ (_ #f)))))
+
+(define-public gnurl-git
+ (package
+ (inherit gnurl)
+ (name "gnurl-git")
+ (version (string-append "7.52.0-" "dev"))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ,@(package-native-inputs gnurl)))
+ (source
+ (local-file %source-dir
+ #:recursive? #t))
+ ;;#:select? git-file?))
+ (arguments
+ `(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
+ "--without-libmetalink" "--without-winidn"
+ "--without-librtmp" "--without-nghttp2"
+ "--without-nss" "--without-cyassl"
+ "--without-polarssl" "--without-ssl"
+ "--without-winssl" "--without-darwinssl"
+ "--disable-sspi" "--disable-ntlm-wb"
+ "--disable-ldap" "--disable-rtsp" "--disable-dict"
+ "--disable-telnet" "--disable-tftp" "--disable-pop3"
+ "--disable-imap" "--disable-smtp" "--disable-gopher"
+ "--disable-file" "--disable-ftp" "--disable-smb")
+ #:test-target "test"
+ #:parallel-tests? #f
+ #:phases
+ ;; We have to patch runtests.pl in tests/ directory
+ (modify-phases %standard-phases
+ (add-before 'configure 'autoconf
+ (lambda _
+ (zero? (system* "./buildconf"))))
+ (replace 'check
+ (lambda _
+ (substitute* "tests/runtests.pl"
+ (("/bin/sh") (which "sh")))
+ (delete-file "tests/data/test1026")
+ (zero? (system* "make" "-C" "tests" "test"))
+ )))))))
+
+gnurl-git