1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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
|