diff options
Diffstat (limited to 'guix-gnurl.scm')
-rw-r--r-- | guix-gnurl.scm | 98 |
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 |