aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/packages/guix/README64
-rw-r--r--contrib/packages/guix/gnunet-doc.scm183
-rw-r--r--contrib/packages/guix/guix-env.scm210
-rw-r--r--contrib/packages/guix/packages/gnunet/packages/gnunet.scm519
-rw-r--r--contrib/packages/guix/packages/gnunet/packages/texlive.scm182
-rw-r--r--guix-env.scm (renamed from contrib/packages/guix/gnunet.scm)31
-rw-r--r--guix.packages44
7 files changed, 54 insertions, 1179 deletions
diff --git a/contrib/packages/guix/README b/contrib/packages/guix/README
deleted file mode 100644
index 635c92394..000000000
--- a/contrib/packages/guix/README
+++ /dev/null
@@ -1,64 +0,0 @@
1package definitions for GNU Guix
2---------------------------------
3
4About
5-----
6
7This directory contains various files to work with GNUnet using Guix:
8
9* A folder intended to be used with GUIX_PACKAGE_PATH ("packages")
10* gnunet-doc.scm: A file to ease the building of the docgen script output
11* gnunet.scm: A file to build gnunet with all tests
12* guix-env.scm
13
14The workflow has to be documented and will make its way into the GNUnet
15Documentation eventually. For now, all uses of guix environment, guix package,
16etc apply.
17Example invocation:
18 guix environment --ad-hoc --container --network --fallback -K -l contrib/packages/guix/gnunet.scm
19which is worth improving, but essentially takes you into an container environment
20with gnunet from HEAD, under the condition that it builds. This won't include an editor,
21so you want to run
22 guix environment --ad-hoc emacs --container --network --fallback -K -l contrib/packages/guix/gnunet.scm
23(untested). You get the idea that this folder is a historical mess and should be cleaned up
24and properly documented.
25
26Usage
27-----
28
29Just point Guix towards the root of this source tree.
30Assuming that your gnunet checkout is in $HOME/src/gnunet:
31
32 export GUIX_PACKAGE_PATH=$HOME/src/gnunet/contrib/packages/guix/packages
33
34or (if you are in the root of the gnunet git repository):
35
36 guix package -L contrib/packages/guix/packages -i package-name
37
38The packages in this repository will take precedence over those in the
39official distribution.
40
41
42To make use of the packages in your GuixSD config file:
43
44Be sure to have GUIX_PACKAGE_PATH for your shell exported,
45for Bash this could be achieved like this:
46
47 export GUIX_PACKAGE_PATH="/full/path/to/gnunet/contrib/packages/guix/directory"
48
49In the section of your systems "config.scm", you should find something like this:
50
51 (use-modules (gnu) (gnu system nss))
52
53Now to make use of "gnunetg" as an systemwide installed package we change this
54to:
55
56 (use-modules (gnu) (gnu system nss)
57 (gnunet packages gnunet))
58
59and do the usual thing:
60 - save
61 - guix system build /etc/config.scm
62 - sudo -E guix system reconfigure /etc/config.scm
63
64The "-E" in "sudo -E" is important to keep the environment variables (GUIX_PACKAGE_PATH).
diff --git a/contrib/packages/guix/gnunet-doc.scm b/contrib/packages/guix/gnunet-doc.scm
deleted file mode 100644
index 69dd90e14..000000000
--- a/contrib/packages/guix/gnunet-doc.scm
+++ /dev/null
@@ -1,183 +0,0 @@
1;;; This file is part of GNUnet.
2;;; Copyright (C) 2016, 2017 GNUnet e.V.
3;;;
4;;; GNUnet is free software; you can redistribute it and/or modify
5;;; it under the terms of the GNU General Public License as published
6;;; by the Free Software Foundation; either version 3, or (at your
7;;; option) any later version.
8;;;
9;;; GNUnet is distributed in the hope that it will be useful, but
10;;; WITHOUT ANY WARRANTY; without even the implied warranty of
11;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12;;; General Public License for more details.
13;;;
14;;; You should have received a copy of the GNU General Public License
15;;; along with GNUnet; see the file COPYING. If not, write to the
16;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17;;; Boston, MA 02110-1301, USA.
18;;;
19
20(use-modules
21 (ice-9 popen)
22 (ice-9 match)
23 (ice-9 rdelim)
24 (guix packages)
25 (guix build-system gnu)
26 (guix gexp)
27 ((guix build utils) #:select (with-directory-excursion))
28 (guix git-download)
29 (guix utils) ; current-source-directory
30 (gnu packages)
31 (gnu packages aidc)
32 (gnu packages autotools)
33 (gnu packages backup)
34 (gnu packages base)
35 (gnu packages compression)
36 (gnu packages curl)
37 (gnu packages databases)
38 (gnu packages file)
39 (gnu packages gettext)
40 (gnu packages glib)
41 (gnu packages gnome)
42 (gnu packages gnunet)
43 (gnu packages gnupg)
44 (gnu packages gnuzilla)
45 (gnu packages groff)
46 (gnu packages gstreamer)
47 (gnu packages gtk)
48 (gnu packages guile)
49 (gnu packages graphviz)
50 (gnu packages image)
51 (gnu packages image-viewers)
52 (gnu packages libidn)
53 (gnu packages libunistring)
54 (gnu packages linux)
55 (gnu packages maths)
56 (gnu packages multiprecision)
57 (gnu packages perl)
58 (gnu packages pkg-config)
59 (gnu packages pulseaudio)
60 (gnu packages python)
61 (gnu packages tex)
62 (gnu packages texinfo)
63 (gnu packages tex)
64 (gnu packages tls)
65 (gnu packages video)
66 (gnu packages web)
67 (gnu packages xiph)
68 ;;(gnunet packages texlive) ;GNUnet module including texlive-2012 WIP
69 ((guix licenses) #:prefix license:))
70
71(define %source-dir (string-append (current-source-directory)
72 "/../../../"))
73
74(define gnunet-doc
75 (let* ((revision "2")
76 (select? (delay (or (git-predicate
77 (string-append (current-source-directory)
78 "/../../../"))
79 source-file?))))
80 (package
81 (name "gnunet-doc")
82 (version (string-append "0.10.1-" revision "." "dev"))
83 (source
84 (local-file ;;"../../.."
85 ;;%source-dir
86 ;;(string-append (getcwd) "/../../../")
87 (string-append (getcwd)) ;drrty hack and this assumes one static position FIXME!
88 #:recursive? #t))
89 ;;#:select? (git-predicate %source-dir)))
90 ;;#:select? (force select?)))
91 (build-system gnu-build-system)
92 (inputs
93 `(("glpk" ,glpk)
94 ("gnurl" ,gnurl)
95 ("gstreamer" ,gstreamer)
96 ("gst-plugins-base" ,gst-plugins-base)
97 ("gnutls/dane" ,gnutls/dane)
98 ("libextractor" ,libextractor)
99 ("libgcrypt" ,libgcrypt)
100 ("libidn" ,libidn)
101 ("libmicrohttpd" ,libmicrohttpd)
102 ("libltdl" ,libltdl)
103 ("libunistring" ,libunistring)
104 ("openssl" ,openssl)
105 ("opus" ,opus)
106 ("pulseaudio" ,pulseaudio)
107 ("sqlite" ,sqlite)
108 ("postgresql" ,postgresql)
109 ("mysql" ,mysql)
110 ("zlib" ,zlib)
111 ("perl" ,perl)
112 ("python-2" ,python-2) ; tests and gnunet-qr
113 ("jansson" ,jansson)
114 ("nss" ,nss)
115 ("glib" ,glib "bin")
116 ("gmp" ,gmp)
117 ("bluez" ,bluez) ; for optional bluetooth feature
118 ("glib" ,glib)
119 ;;("texlive-minimal" ,texlive-minimal) ; optional.
120 ("texlive" ,texlive) ;TODO: Stabilize Texlive-2012 package
121 ("libogg" ,libogg)))
122 (native-inputs
123 `(("pkg-config" ,pkg-config)
124 ("autoconf" ,autoconf)
125 ("automake" ,automake)
126 ("gnu-gettext" ,gnu-gettext)
127 ("graphviz" ,graphviz) ; dot
128 ("texinfo-5" ,texinfo-5) ; Debian stable
129 ("which" ,which)
130 ("libtool" ,libtool)))
131 (arguments
132 `(#:configure-flags
133 (list "--enable-documentation")
134 #:tests? #f ;Don't run tests
135 #:phases
136 (modify-phases %standard-phases
137 (add-after 'unpack 'autoconf
138 (lambda _
139 (substitute* "bootstrap"
140 (("contrib/pogen.sh") "sh contrib/pogen.sh"))
141 (for-each (lambda (f) (chmod f #o755))
142 (find-files "po" ""))
143 (zero? (system* "sh" "bootstrap"))))
144 (add-after 'build 'run-gendocs
145 (lambda _
146 (chdir "doc/documentation")
147 ;;(zero? (system* "make" "dev-build"))))
148 (zero? (system* "sh" "run-gendocs.sh"))))
149 ;; (zero? (system* "make" "pdf"))
150 ;; (zero? (system* "make" "html"))
151 ;; (zero? (system* "make" "info"))))
152 ;;(zero? (system* "make" "doc-all-give-me-the-noise"))))
153 (replace 'install
154 (lambda _
155 (zero? (system* "make" "doc-gendoc-install")))))))
156 ;;(lambda* (#:key outputs #:allow-other-keys)
157 ;; (let* ((out (assoc-ref outputs "out"))
158 ;; (doc (string-append out "/share/doc/gnunet")))
159 ;; (mkdir-p doc)
160 ;; (copy-recursively "images"
161 ;; (string-append doc
162 ;; "/images"))
163 ;; (mkdir-p (string-append doc "/gnunet"))
164 ;; (install-file "gnunet.pdf" doc)
165 ;; (install-file "gnunet.info" doc)
166 ;; (install-file "gnunet.log" doc) ;TODO: Move to 'dev' output?
167 ;; (copy-recursively "gnunet"
168 ;; (string-append doc
169 ;; "/gnunet"))
170 ;; (install-file "gnunet-c-tutorial.pdf" doc)
171 ;; (install-file "gnunet-c-tutorial.info" doc)
172 ;; (install-file "gnunet-c-tutorial.log" doc) ;TODO: Move to 'dev' output?
173 ;; (copy-recursively "gnunet-c-tutorial"
174 ;; (string-append doc
175 ;; "/gnunet-c-tutorial")))
176 ;; #t)))))
177 (synopsis "Documentation of GNUnet")
178 (description
179 "GNUnet documentation build")
180 (license (list license:fdl1.3+ license:gpl3+))
181 (home-page "https://gnunet.org/"))))
182
183gnunet-doc
diff --git a/contrib/packages/guix/guix-env.scm b/contrib/packages/guix/guix-env.scm
deleted file mode 100644
index 8f45512e1..000000000
--- a/contrib/packages/guix/guix-env.scm
+++ /dev/null
@@ -1,210 +0,0 @@
1;;; This file is part of GNUnet.
2;;; Copyright (C) 2016, 2017 GNUnet e.V.
3;;;
4;;; GNUnet is free software; you can redistribute it and/or modify
5;;; it under the terms of the GNU General Public License as published
6;;; by the Free Software Foundation; either version 3, or (at your
7;;; option) any later version.
8;;;
9;;; GNUnet is distributed in the hope that it will be useful, but
10;;; WITHOUT ANY WARRANTY; without even the implied warranty of
11;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12;;; General Public License for more details.
13;;;
14;;; You should have received a copy of the GNU General Public License
15;;; along with GNUnet; see the file COPYING. If not, write to the
16;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17;;; Boston, MA 02110-1301, USA.
18;;;
19;; Guix package for GNUnet development
20;;
21;; INSTALL
22;; -------
23;;
24;; To build and install the package in the user environment, use:
25;;
26;; guix package --install-from-file=guix-env.scm
27;;
28;; BUILD ONLY
29;; ----------
30;;
31;; Precondition for using this file is that you run Guix and have a
32;; development setup for this setup, which involves a version of Guile in
33;; your PATH.
34;;
35;; cd contrib/packages/guix
36;; guix build -f guix-env.scm
37;;
38;; We'd like to provide advanced functions such as guix environment specific
39;; gnunet-git package and usage of gnunet-gtk-git, but this is subject
40;; to tests right now.
41
42(use-modules
43 (ice-9 popen)
44 (ice-9 match)
45 (ice-9 rdelim)
46 (guix packages)
47 (guix build-system gnu)
48 (guix gexp)
49 ((guix build utils) #:select (with-directory-excursion))
50 (guix git-download)
51 (guix utils) ; current-source-directory
52 (gnu packages)
53 (gnu packages aidc)
54 (gnu packages autotools)
55 (gnu packages backup)
56 (gnu packages base)
57 (gnu packages compression)
58 (gnu packages curl)
59 (gnu packages databases)
60 (gnu packages file)
61 (gnu packages gettext)
62 (gnu packages glib)
63 (gnu packages gnome)
64 (gnu packages gnunet)
65 (gnu packages gnupg)
66 (gnu packages gnuzilla)
67 (gnu packages groff)
68 (gnu packages gstreamer)
69 (gnu packages gtk)
70 (gnu packages guile)
71 (gnu packages image)
72 (gnu packages image-viewers)
73 (gnu packages libidn)
74 (gnu packages libunistring)
75 (gnu packages linux)
76 (gnu packages maths)
77 (gnu packages multiprecision)
78 (gnu packages perl)
79 (gnu packages pkg-config)
80 (gnu packages pulseaudio)
81 (gnu packages python)
82 (gnu packages tex)
83 (gnu packages texinfo)
84 (gnu packages tex)
85 (gnu packages tls)
86 (gnu packages video)
87 (gnu packages web)
88 (gnu packages xiph)
89 ((guix licenses) #:prefix license:))
90
91(define %source-dir (string-append (current-source-directory)
92 "/../../../"))
93
94(define gnunet-git
95 (let* ((revision "3")
96 (select? (delay (or (git-predicate
97 (string-append (current-source-directory)
98 "/../../../"))
99 source-file?))))
100 (package
101 (name "gnunet-git")
102 (version (string-append "0.10.1-" revision "." "dev"))
103 (source
104 (local-file ;;"../../.."
105 ;;%source-dir
106 ;;(string-append (getcwd) "/../../../")
107 (string-append (getcwd)) ;drrty hack and this assumes one static position FIXME!
108 #:recursive? #t))
109 ;;#:select? (git-predicate %source-dir)))
110 ;;#:select? (force select?)))
111 (build-system gnu-build-system)
112 (inputs
113 `(("glpk" ,glpk)
114 ("gnurl" ,gnurl)
115 ("gstreamer" ,gstreamer)
116 ("gst-plugins-base" ,gst-plugins-base)
117 ("gnutls" ,gnutls) ;Change to gnutls/dane once it is merged.
118 ("libextractor" ,libextractor)
119 ("libgcrypt" ,libgcrypt)
120 ("libidn" ,libidn)
121 ("libmicrohttpd" ,libmicrohttpd)
122 ("libltdl" ,libltdl)
123 ("libunistring" ,libunistring)
124 ("openssl" ,openssl)
125 ("opus" ,opus)
126 ("pulseaudio" ,pulseaudio)
127 ("sqlite" ,sqlite)
128 ("postgresql" ,postgresql)
129 ("mysql" ,mysql)
130 ("zlib" ,zlib)
131 ("perl" ,perl)
132 ("python-2" ,python-2) ; tests and gnunet-qr
133 ("jansson" ,jansson)
134 ("nss" ,nss)
135 ("glib" ,glib "bin")
136 ("gmp" ,gmp)
137 ("bluez" ,bluez) ; for optional bluetooth feature
138 ("glib" ,glib)
139 ;; There are currently no binary substitutes for texlive on
140 ;; hydra.gnu.org or its mirrors due to its size. Uncomment if you need it.
141 ;;("texlive-minimal" ,texlive-minimal) ; optional.
142 ("texlive" ,texlive)
143 ("libogg" ,libogg)))
144 (native-inputs
145 `(("pkg-config" ,pkg-config)
146 ("autoconf" ,autoconf)
147 ("automake" ,automake)
148 ("gnu-gettext" ,gnu-gettext)
149 ("which" ,which)
150 ("texinfo" ,texinfo-5) ; Debian stable: 5.2
151 ("libtool" ,libtool)))
152 ;; TODO: To make use of out:debug, which carries the symbols,
153 ;; this file needs to fixed.
154 (outputs '("out" "debug"))
155 (arguments
156 `(#:configure-flags
157 (list (string-append "--with-nssdir=" %output "/lib");"/lib/gnunet/nss")
158 "--enable-gcc-hardening"
159 "--enable-linker-hardening"
160
161 "--enable-poisoning"
162 "--enable-sanitizer"
163 "--enable-experimental"
164 "--enable-logging=verbose"
165 "CFLAGS=-ggdb -O0")
166 ;;#:parallel-tests? #f ; parallel building seems to fail
167 ;;#:tests? #f ; fail: test_gnunet_statistics.py
168 #:phases
169 ;; swap check and install phases and set paths to installed bin
170 (modify-phases %standard-phases
171 (add-after 'unpack 'patch-bin-sh
172 (lambda _
173 (substitute* "bootstrap"
174 (("contrib/pogen.sh") "sh contrib/pogen.sh"))
175 (for-each (lambda (f) (chmod f #o755))
176 (find-files "po" ""))
177 #t))
178 (add-after 'patch-bin-sh 'bootstrap
179 (lambda _
180 (zero? (system* "sh" "bootstrap"))))
181 ;; (add-after 'install 'install-lib-nss
182 ;; (lambda* (#:key outputs #:allow-other-keys)
183 ;; (let* ((out (assoc-ref outputs "out"))
184 ;; (lib (string-append out "/lib/nss/")))
185 ;; (mkdir-p lib)
186 ;; (copy-recursively "src/gns/nss/" lib)
187 ;; (install-file "ping" "combobreak"))
188 ;; #t))
189 (delete 'check))))
190 ;; XXX: https://gnunet.org/bugs/view.php?id=4619
191 ;; (add-after 'install 'set-path-for-check
192 ;; (lambda* (#:key outputs #:allow-other-keys)
193 ;; (let* ((out (assoc-ref outputs "out"))
194 ;; (bin (string-append out "/bin"))
195 ;; (lib (string-append out "/lib")))
196 ;; (setenv "GNUNET_PREFIX" lib)
197 ;; (setenv "PATH" (string-append (getenv "PATH") ":" bin))
198 ;; (zero? (system* "make" "check"))))))))
199 (synopsis "Secure, decentralized, peer-to-peer networking framework")
200 (description
201 "GNUnet is a framework for secure peer-to-peer networking. The
202high-level goal is to provide a strong foundation of free software for a
203global, distributed network that provides security and privacy. GNUnet in
204that sense aims to replace the current internet protocol stack. Along with
205an application for secure publication of files, it has grown to include all
206kinds of basic applications for the foundation of a GNU internet.")
207 (license license:gpl3+)
208 (home-page "https://gnunet.org/"))))
209
210gnunet-git
diff --git a/contrib/packages/guix/packages/gnunet/packages/gnunet.scm b/contrib/packages/guix/packages/gnunet/packages/gnunet.scm
deleted file mode 100644
index be529ec1d..000000000
--- a/contrib/packages/guix/packages/gnunet/packages/gnunet.scm
+++ /dev/null
@@ -1,519 +0,0 @@
1;;; This file is part of GNUnet.
2;;; Copyright (C) 2016, 2017 GNUnet e.V.
3;;;
4;;; GNUnet is free software; you can redistribute it and/or modify
5;;; it under the terms of the GNU General Public License as published
6;;; by the Free Software Foundation; either version 3, or (at your
7;;; option) any later version.
8;;;
9;;; GNUnet is distributed in the hope that it will be useful, but
10;;; WITHOUT ANY WARRANTY; without even the implied warranty of
11;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12;;; General Public License for more details.
13;;;
14;;; You should have received a copy of the GNU General Public License
15;;; along with GNUnet; see the file COPYING. If not, write to the
16;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17;;; Boston, MA 02110-1301, USA.
18
19(define-module (gnunet packages gnunet)
20 #:use-module (guix build-system gnu)
21 #:use-module (guix download)
22 #:use-module (guix git-download)
23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix packages)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages admin)
27 #:use-module (gnu packages aidc)
28 #:use-module (gnu packages autotools)
29 #:use-module (gnu packages base)
30 #:use-module (gnu packages bison)
31 #:use-module (gnu packages compression)
32 #:use-module (gnu packages databases)
33 #:use-module (gnu packages gettext)
34 #:use-module (gnu packages glib)
35 #:use-module (gnu packages gnome)
36 #:use-module (gnu packages gnunet)
37 #:use-module (gnu packages gnupg)
38 #:use-module (gnu packages gnuzilla)
39 #:use-module (gnu packages gstreamer)
40 #:use-module (gnu packages gtk)
41 #:use-module (gnu packages libidn)
42 #:use-module (gnu packages libunistring)
43 #:use-module (gnu packages linux)
44 #:use-module (gnu packages man)
45 #:use-module (gnu packages image-viewers)
46 #:use-module (gnu packages maths)
47 #:use-module (gnu packages multiprecision)
48 #:use-module (gnu packages ncurses)
49 #:use-module (gnu packages pcre)
50 #:use-module (gnu packages perl)
51 #:use-module (gnu packages pkg-config)
52 #:use-module (gnu packages pulseaudio)
53 #:use-module (gnu packages python)
54 #:use-module (gnu packages tls)
55 #:use-module (gnu packages texinfo)
56 #:use-module (gnu packages tex)
57 #:use-module (gnu packages upnp)
58 #:use-module (gnu packages web)
59 #:use-module (gnu packages xiph))
60
61;; TODO: Use HEAD without checking sum of it.
62;; Explanation for name scheme: UNIXPATH is capped at 108 characters,
63;; this causes lots of tests to fail.
64;; FIXME: make this file MUCH shorter.
65(define-public gnunetg
66 (let* ((commit "3c3090717610ea787fdd3562901329254a6af0d6")
67 (revision "32"))
68 (package
69 (inherit gnunet)
70 (name "gnunetg")
71 (version (string-append "0.10.1" "-" revision
72 "." (string-take commit 7)))
73 (source
74 (origin
75 (method git-fetch)
76 (uri (git-reference
77 (url "https://gnunet.org/git/gnunet.git")
78 (commit commit)))
79 (file-name (string-append name "-" version "-checkout"))
80 (sha256
81 (base32
82 "0g0x1r833jkssfd2sndy37509dqf9f8myjvg7mnadwc1irp393bl"))))
83 (build-system gnu-build-system)
84 (inputs
85 `(("glpk" ,glpk)
86 ("gnurl" ,gnurl)
87 ("gstreamer" ,gstreamer)
88 ("gst-plugins-base" ,gst-plugins-base)
89 ("gnutls" ,gnutls)
90 ("libextractor" ,libextractor)
91 ("libgcrypt" ,libgcrypt)
92 ("libidn" ,libidn)
93 ("libmicrohttpd" ,libmicrohttpd)
94 ("libltdl" ,libltdl)
95 ("libunistring" ,libunistring)
96 ("openssl" ,openssl)
97 ("opus" ,opus)
98 ("pulseaudio" ,pulseaudio)
99 ("sqlite" ,sqlite)
100 ("zlib" ,zlib)
101 ("perl" ,perl)
102 ("python" ,python-2) ; tests and gnunet-qr
103 ("jansson" ,jansson)
104 ("ncurses" ,ncurses)
105 ("nss" ,nss)
106 ("gmp" ,gmp)
107 ("miniupnpc" ,miniupnpc)
108 ("bluez" ,bluez) ; for optional bluetooth feature
109 ("glib" ,glib)
110 ;; ("texlive-minimal" ,texlive-minimal) ; optional.
111 ("libogg" ,libogg)))
112 (native-inputs
113 `(("pkg-config" ,pkg-config)
114 ("autoconf" ,autoconf)
115 ("automake" ,automake)
116 ("gnu-gettext" ,gnu-gettext)
117 ("which" ,which)
118 ("texinfo" ,texinfo)
119 ("libtool" ,libtool)))
120 (outputs '("out" "debug"))
121 (arguments
122 `(#:configure-flags
123 (list (string-append "--with-nssdir=" %output "/lib")
124 "--enable-experimental")
125 #:parallel-tests? #f ; parallel building is not functional
126 #:tests? #f ; FAIL: test_gnunet_statistics.py
127 #:phases
128 ;; swap check and install phases and set paths to installed bin
129 (modify-phases %standard-phases
130 (add-after 'unpack 'patch-bin-sh
131 (lambda _
132 (substitute* "bootstrap"
133 (("contrib/pogen.sh") "sh contrib/pogen.sh"))
134 (for-each (lambda (f) (chmod f #o755))
135 (find-files "po" ""))
136 #t))
137 (add-after 'patch-bin-sh 'bootstrap
138 (lambda _
139 (zero? (system* "sh" "bootstrap"))))
140 ;; DISABLED until failing testcases are fixed.
141 ;; this test fails in our environment, disable it:
142 ;; XXX: specify which ones fail.
143 ;; (add-after 'patch-bin-sh 'disable-test_quota_compliance_tcp_asymmetric
144 ;; (lambda _
145 ;; (substitute* '("src/transport/Makefile.am")
146 ;; (("test_quota_compliance_tcp_asymmetric") ""))))
147 ;; (("test_quota_compliance_http_asymmetric") "")
148 ;; (("test_quota_compliance_https_asymmetric") "")
149 ;; (("test_quota_compliance_unix") "")
150 ;; (("test_quota_compliance_unix_asymmetric") ""))))
151 ;; check is between build and install, fix this to:
152 ;; build - install - check, else the test suite fails.
153 (delete 'check)))))))
154 ;; (add-after 'install 'set-path-for-check
155 ;; (lambda* (#:key outputs #:allow-other-keys)
156 ;; (let* ((out (assoc-ref outputs "out"))
157 ;; (bin (string-append out "/bin"))
158 ;; (lib (string-append out "/lib")))
159 ;; (setenv "GNUNET_PREFIX" lib)
160 ;; (setenv "PATH" (string-append (getenv "PATH") ":" bin))
161 ;; ;; XXX: https://gnunet.org/bugs/view.php?id=4619#c11061
162 ;; ;; Enable core dump before the tests.
163 ;; ;; XXX: HOW??? ulimit -c unlimited
164 ;; (zero? (system* "make" "check"))))))))
165
166(define-public gnunet-doc
167 (package
168 (name "gnunet-doc")
169 (version (package-version gnunetg))
170 (source (package-source gnunetg))
171 (build-system gnu-build-system)
172 ;; FIXME: Introduce DOCS_ONLY option for configure script.
173 ;; This should prevent the checks for all required software.
174 (inputs
175 `(("glpk" ,glpk)
176 ("gnurl" ,gnurl)
177 ("gstreamer" ,gstreamer)
178 ("gst-plugins-base" ,gst-plugins-base)
179 ("gnutls" ,gnutls)
180 ("libextractor" ,libextractor)
181 ("libgcrypt" ,libgcrypt)
182 ("libidn" ,libidn)
183 ("libmicrohttpd" ,libmicrohttpd)
184 ("libltdl" ,libltdl)
185 ("libunistring" ,libunistring)
186 ("openssl" ,openssl)
187 ("opus" ,opus)
188 ("pulseaudio" ,pulseaudio)
189 ("sqlite" ,sqlite)
190 ("zlib" ,zlib)
191 ("perl" ,perl)
192 ("python" ,python-2) ; tests and gnunet-qr
193 ("jansson" ,jansson)
194 ("ncurses" ,ncurses)
195 ("nss" ,nss)
196 ("gmp" ,gmp)
197 ("miniupnpc" ,miniupnpc)
198 ("bluez" ,bluez) ; for optional bluetooth feature
199 ("glib" ,glib)
200 ("texlive" ,texlive) ;TODO: Use a minimal subset.
201 ("libogg" ,libogg)))
202 (native-inputs
203 `(("pkg-config" ,pkg-config)
204 ("autoconf" ,autoconf)
205 ("which" ,which)
206 ("automake" ,automake)
207 ("gnu-gettext" ,gnu-gettext)
208 ("texinfo" ,texinfo)
209 ("libtool" ,libtool)))
210 (arguments
211 `(#:tests? #f ;Don't run tests
212 #:phases
213 (modify-phases %standard-phases
214 (add-after 'unpack 'patch-bin-sh
215 (lambda _
216 (substitute* "bootstrap"
217 (("contrib/pogen.sh") "sh contrib/pogen.sh"))
218 (for-each (lambda (f) (chmod f #o755))
219 (find-files "po" ""))
220 #t))
221 (add-after 'patch-bin-sh 'bootstrap
222 (lambda _
223 (zero? (system* "sh" "bootstrap"))))
224 (replace 'build
225 (lambda _
226 (chdir "doc")
227 (zero? (system* "make" "doc-all-give-me-the-noise"))))
228 (replace 'install
229 (lambda* (#:key outputs #:allow-other-keys)
230 (let* ((out (assoc-ref outputs "out"))
231 (doc (string-append out "/share/doc/gnunet")))
232 (mkdir-p doc)
233 (mkdir-p (string-append doc "/gnunet"))
234 (install-file "gnunet.pdf" doc)
235 (install-file "gnunet.info" doc)
236 (copy-recursively "gnunet"
237 (string-append doc
238 "/gnunet"))
239 (install-file "gnunet-c-tutorial.pdf" doc)
240 (install-file "gnunet-c-tutorial.info" doc)
241 (copy-recursively "gnunet-c-tutorial"
242 (string-append doc
243 "/gnunet-c-tutorial")))
244 #t)))))
245 (synopsis "GNUnet documentation")
246 (description
247 "Gnunet-doc builds the documentation of GNUnet.")
248 (home-page "https://gnunet.org")
249 (license (package-license gnunet))))
250
251(define-public gnunetgpg
252 (package
253 (inherit gnunetg)
254 (name "gnunetgpg")
255 (inputs
256 `(("postgresql" ,postgresql)
257 ,@(package-inputs gnunetg)))
258 (synopsis "gnunet, variant with postgres")))
259
260(define-public gnunetgf
261 (package
262 (inherit gnunetg)
263 (name "gnunetgf")
264 (inputs
265 `(("postgresql" ,postgresql)
266 ("mysql" ,mysql)
267 ,@(package-inputs gnunetg)))
268 (arguments
269 `(#:configure-flags
270 (list (string-append "--with-nssdir=" %output "/lib")
271 "--enable-gcc-hardening"
272 "--enable-linker-hardening"
273
274 "--enable-poisoning"
275 "--enable-sanitizer"
276 "--enable-experimental"
277 "--enable-logging=verbose"
278 "CFLAGS=-ggdb -O0")
279 #:parallel-tests? #f ; parallel building is not supported.
280 ;;#:tests? #f ; fail: test_gnunet_statistics.py
281 #:phases
282 ;; swap check and install phases and set paths to installed bin
283 (modify-phases %standard-phases
284 (add-after 'unpack 'patch-bin-sh
285 (lambda _
286 (substitute* "bootstrap"
287 (("contrib/pogen.sh") "sh contrib/pogen.sh"))
288 (for-each (lambda (f) (chmod f #o755))
289 (find-files "po" ""))
290 #t))
291 (add-after 'patch-bin-sh 'bootstrap
292 (lambda _
293 (zero? (system* "sh" "bootstrap"))))
294 (delete 'check))))
295 (synopsis "gnunet, full git build without tests")))
296
297;; A package to run the test suite.
298(define-public gnunetgft
299 (package
300 (inherit gnunetg)
301 (name "gnunetgft")
302 (arguments
303 `(#:configure-flags
304 (list (string-append "--with-nssdir=" %output "/lib")
305 "--enable-gcc-hardening"
306 "--enable-linker-hardening"
307
308 ;;"--enable-poisoning"
309 ;;"--enable-sanitizer"
310 "--enable-experimental"
311 "--enable-logging=verbose"
312 "CFLAGS=-ggdb -O0")
313 ;; #:parallel-tests? #f ; parallel building seems to fail
314 ;;#:tests? #f ; fail: test_gnunet_statistics.py
315 #:phases
316 ;; swap check and install phases and set paths to installed bin
317 (modify-phases %standard-phases
318 (add-after 'unpack 'patch-bin-sh
319 (lambda _
320 (substitute* "bootstrap"
321 (("contrib/pogen.sh") "sh contrib/pogen.sh"))
322 (for-each (lambda (f) (chmod f #o755))
323 (find-files "po" ""))
324 #t))
325 (add-after 'patch-bin-sh 'bootstrap
326 (lambda _
327 (zero? (system* "sh" "bootstrap"))))
328 (delete 'check)
329 ;; XXX: https://gnunet.org/bugs/view.php?id=4619
330 (add-after 'install 'set-path-for-check
331 (lambda* (#:key outputs #:allow-other-keys)
332 (let* ((out (assoc-ref outputs "out"))
333 (bin (string-append out "/bin"))
334 (lib (string-append out "/lib")))
335 (setenv "GNUNET_PREFIX" lib)
336 (setenv "PATH" (string-append (getenv "PATH") ":" bin))
337 (zero? (system* "make" "check"))))))))
338 (synopsis "gnunet, full git with tests enabled with parallel tests")))
339
340(define-public gnunetg-test
341 (package
342 (inherit gnunetg)
343 (name "gnunetg-test")
344 (arguments
345 `(#:configure-flags
346 (list (string-append "--with-nssdir=" %output "/lib")
347 "--enable-gcc-hardening"
348 "--enable-linker-hardening"
349
350 ;;"--enable-poisoning"
351 ;;"--enable-sanitizer"
352 "--enable-logging=verbose"
353 "CFLAGS=-ggdb -O0")
354 ;; #:parallel-tests? #f ; parallel building seems to fail
355 ;;#:tests? #f ; fail: test_gnunet_statistics.py
356 #:phases
357 ;; swap check and install phases and set paths to installed bin
358 (modify-phases %standard-phases
359 (add-after 'unpack 'patch-bin-sh
360 (lambda _
361 (substitute* "bootstrap"
362 (("contrib/pogen.sh") "sh contrib/pogen.sh"))
363 (for-each (lambda (f) (chmod f #o755))
364 (find-files "po" ""))
365 #t))
366 (add-after 'patch-bin-sh 'bootstrap
367 (lambda _
368 (zero? (system* "sh" "bootstrap"))))
369 (delete 'check)
370 ;; XXX: https://gnunet.org/bugs/view.php?id=4619
371 (add-after 'install 'set-path-for-check
372 (lambda* (#:key outputs #:allow-other-keys)
373 (let* ((out (assoc-ref outputs "out"))
374 (bin (string-append out "/bin"))
375 (lib (string-append out "/lib")))
376 (setenv "GNUNET_PREFIX" lib)
377 (setenv "PATH" (string-append (getenv "PATH") ":" bin))
378 (zero? (system* "make" "check"))))))))
379 (synopsis "gnunet, full git with tests enabled without experimental")))
380
381;; ... and one package to test the package with "parallel-tests? #f"
382(define-public gnunetgftn
383 (package
384 (inherit gnunetg)
385 (name "gnunetgftn")
386 (arguments
387 `(#:configure-flags
388 (list (string-append "--with-nssdir=" %output "/lib")
389 "--enable-gcc-hardening"
390 "--enable-linker-hardening"
391
392 "--enable-poisoning"
393 "--enable-sanitizer"
394 "--enable-experimental"
395 "--enable-logging=verbose"
396 "CFLAGS=-ggdb"); -O0")
397 #:parallel-tests? #f ; parallel building seems to fail
398 ;;#:tests? #f ; fail: test_gnunet_statistics.py
399 #:phases
400 ;; swap check and install phases and set paths to installed bin
401 (modify-phases %standard-phases
402 (add-after 'unpack 'patch-bin-sh
403 (lambda _
404 (substitute* "bootstrap"
405 (("contrib/pogen.sh") "sh contrib/pogen.sh"))
406 (for-each (lambda (f) (chmod f #o755))
407 (find-files "po" ""))
408 #t))
409 (add-after 'patch-bin-sh 'bootstrap
410 (lambda _
411 (zero? (system* "sh" "bootstrap"))))
412 (delete 'check)
413 ;; XXX: https://gnunet.org/bugs/view.php?id=4619
414 (add-after 'install 'set-path-for-check
415 (lambda* (#:key outputs #:allow-other-keys)
416 (let* ((out (assoc-ref outputs "out"))
417 (bin (string-append out "/bin"))
418 (lib (string-append out "/lib")))
419 (setenv "GNUNET_PREFIX" lib)
420 (setenv "PATH" (string-append (getenv "PATH") ":" bin))
421 (zero? (system* "make" "check"))))))))))
422
423(define-public gnunet-gtkg
424 (let* ((commit "087f8e166ee6d1fc59a6bd5d05f656528761ede7")
425 (revision "5"))
426 (package
427 (inherit gnunetgf)
428 (name "gnunet-gtkg")
429 (version (package-version gnunetgf))
430 (source
431 (origin
432 (method git-fetch)
433 (uri (git-reference
434 (url "https://gnunet.org/git/gnunet-gtk.git")
435 (commit commit)))
436 (file-name (string-append name "-" version "-checkout"))
437 (sha256
438 (base32
439 "1k03d8l0yz4fpliy5bg5s7qkpidzd6ryr4cd63wgmd227p32i87q"))))
440 (arguments
441 `(#:configure-flags
442 (list "--with-libunique"
443 "--with-qrencode"
444 (string-append "--with-gnunet="
445 (assoc-ref %build-inputs "gnunetgf")))
446 #:phases
447 (modify-phases %standard-phases
448 (add-before 'configure 'bootstrap
449 (lambda _
450 (zero? (system* "autoreconf" "-vfi")))))))
451 (inputs
452 `(("gnunetgf" ,gnunetgf)
453 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
454 ("gnutls" ,gnutls)
455 ("libgcrypt" ,libgcrypt)
456 ("gtk+" ,gtk+)
457 ("libextractor" ,libextractor)
458 ("glade3" ,glade3)
459 ("qrencode" ,qrencode)
460 ("libunique" ,libunique)))
461 (native-inputs
462 `(("pkg-config" ,pkg-config)
463 ("libglade" ,libglade)
464 ("autoconf" ,autoconf)
465 ("gnu-gettext" ,gnu-gettext)
466 ("texinfo" ,texinfo)
467 ("automake" ,automake)
468 ("libtool" ,libtool)))
469 (synopsis "Graphical front-end tools for GNUnet")
470 (home-page "https://gnunet.org"))))
471
472;; fuse, pointing to the tests disabled version of gnunet-git
473(define-public gnunet-fuse-git
474 (let* ((commit "3503aeff6db6b39b85e13f9483d46d49ce9cec55")
475 (revision "3"))
476 (package
477 (inherit gnunetg)
478 ;;(inherit gnunet)
479 (name "gnunet-fuse-git")
480 (version (package-version gnunetgf))
481 ;;(version (package-version gnunet))
482 (source
483 (origin
484 (method git-fetch)
485 (uri (git-reference
486 (url "https://gnunet.org/git/gnunet-fuse.git")
487 (commit commit)))
488 (file-name (string-append name "-" version "-checkout"))
489 (sha256
490 (base32
491 "0sxzppanw2nrjqv1vnyj2jx3ja6gqrg0ibkl5n1fr265cqk5hgc5"))))
492 (arguments
493 `(#:configure-flags
494 (list "--with-qrencode"
495 (string-append "--with-gnunet="
496 (assoc-ref %build-inputs "gnunetgf"))) ;"gnunet")))
497 #:phases
498 (modify-phases %standard-phases
499 (add-after 'unpack 'fix-gnunet-include-path
500 (lambda _
501 (substitute* "configure.ac"
502 (("gnunet/gnunet_util_lib.h")
503 "${lookin}/include/gnunet/gnunet_util_lib.h"))
504 #t))
505 (add-before 'configure 'bootstrap
506 (lambda _
507 (zero? (system* "autoreconf" "-vfi")))))))
508 (inputs
509 `(("gnunetgf" ,gnunetgf)))
510 ;;`(("gnunet" ,gnunet)))
511 (native-inputs
512 `(("pkg-config" ,pkg-config)
513 ("fuse" ,fuse)
514 ("autoconf" ,autoconf)
515 ("gnu-gettext" ,gnu-gettext)
516 ("automake" ,automake)
517 ("libtool" ,libtool)))
518 (synopsis "FUSE for GNUnet")
519 (home-page "https://gnunet.org"))))
diff --git a/contrib/packages/guix/packages/gnunet/packages/texlive.scm b/contrib/packages/guix/packages/gnunet/packages/texlive.scm
deleted file mode 100644
index 77256a947..000000000
--- a/contrib/packages/guix/packages/gnunet/packages/texlive.scm
+++ /dev/null
@@ -1,182 +0,0 @@
1;;; This file is part of GNUnet.
2;;; Copyright (C) 2017 GNUnet e.V.
3;;;
4;;; GNUnet is free software; you can redistribute it and/or modify
5;;; it under the terms of the GNU General Public License as published
6;;; by the Free Software Foundation; either version 3, or (at your
7;;; option) any later version.
8;;;
9;;; GNUnet is distributed in the hope that it will be useful, but
10;;; WITHOUT ANY WARRANTY; without even the implied warranty of
11;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12;;; General Public License for more details.
13;;;
14;;; You should have received a copy of the GNU General Public License
15;;; along with GNUnet; see the file COPYING. If not, write to the
16;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17;;; Boston, MA 02110-1301, USA.
18
19;; Initially based on Guix commit eb0119efde826590a13973ab928c173780a7f257
20
21(define-module (gnunet packages texlive)
22 #:use-module ((guix licenses)
23 #:renamer (symbol-prefix-proc 'license:))
24 #:use-module (guix packages)
25 #:use-module (guix download)
26 #:use-module (guix build-system gnu)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages compression)
29 #:use-module (gnu packages fontutils)
30 #:use-module (gnu packages ghostscript)
31 #:use-module (gnu packages icu4c)
32 #:use-module (gnu packages image)
33 #:use-module (gnu packages pdf)
34 #:use-module (gnu packages perl)
35 #:use-module (gnu packages pkg-config)
36 #:use-module (gnu packages python)
37 #:use-module (gnu packages compression))
38
39(define texlive-extra-src
40 (origin
41 (method url-fetch)
42 (uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-extra.tar.xz")
43 ;;(uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-extra.tar.xz")
44 (sha256 (base32
45 "0cb8fnv4x281gy5ka779f00ssdmdpjj4x3pkh9j9vq45hrwg3522"))))
46
47(define texlive-texmf-src
48 (origin
49 (method url-fetch)
50 (uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-texmf.tar.xz")
51 ;;(uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-texmf.tar.xz")
52 (sha256 (base32
53 "1fn1dg9k7pnh8a80j23zfkbrfnqyc4c2w4ss30dpkqj490nxsywq"))))
54
55;; Note that right now this does not include security fixes!
56;; FIXME: Needs more fixes, currently this fails building!
57
58(define-public texlive
59 (package
60 (name "texlive")
61 (version "2012")
62 (source (origin
63 (method url-fetch)
64 (uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-source.tar.xz")
65 ;;(uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-source.tar.xz")
66 (sha256 (base32
67 "10bcrdfsqnc6y3gqcb8ndnjy07i5kz63as39irbq4gmcbmyn2rln"))))
68 (build-system gnu-build-system)
69 (inputs `(("texlive-extra-src" ,texlive-extra-src)
70 ("texlive-texmf-src" ,texlive-texmf-src)
71 ("fontconfig" ,fontconfig)
72 ("freetype" ,freetype)
73 ("icu4c" ,icu4c)
74 ("ghostscript" ,ghostscript)
75 ("libpng" ,libpng)
76 ("perl" ,perl)
77 ("poppler" ,poppler)
78 ("pkg-config" ,pkg-config)
79 ;; FIXME: Add interpreters csh, fontforge and ruby,
80 ;; once they are available.
81 ("python" ,python)
82 ("teckit" ,teckit)
83 ("t1lib" ,t1lib)
84 ("zlib" ,zlib)
85 ("zziplib" ,zziplib)))
86 (outputs '("out" "data"))
87 (arguments
88 `(#:out-of-source? #t
89 #:configure-flags
90 `("--disable-native-texlive-build"
91 ;; Although the texmf and texmf-dist data is taken from
92 ;; texlive-texmf, setting datarootdir is still useful:
93 ;; "make install" creates symbolic links to scripts in this place.
94 ,(string-append "--datarootdir=" (assoc-ref %outputs "data"))
95 ,(string-append "--infodir=" (assoc-ref %outputs "out") "/share/info")
96 ,(string-append "--mandir=" (assoc-ref %outputs "out") "/share/man")
97 "--without-x" ; FIXME: Drop as soon as X is available.
98 "--with-system-freetype2"
99 ;; "--with-system-gd"
100 ;; "--with-system-graphite"
101 "--with-system-icu"
102 "--with-system-libgs"
103 "--with-system-libpng"
104 "--with-system-poppler"
105 "--with-system-t1lib"
106 "--with-system-teckit"
107 "--with-system-xpdf"
108 "--with-system-zlib"
109 "--with-system-zziplib")
110 #:phases
111 (alist-replace
112 'configure
113 (lambda* (#:key outputs #:allow-other-keys #:rest args)
114 (let ((configure (assoc-ref %standard-phases 'configure)))
115 (substitute* "utils/psutils/Makefile.in"
116 (("/usr/bin/env perl") (which "perl")))
117 (apply configure args)))
118 (alist-cons-after
119 'install 'postinst
120 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
121 (let ((texlive-extra (assoc-ref inputs "texlive-extra-src"))
122 (texlive-texmf (assoc-ref inputs "texlive-texmf-src"))
123 (out (assoc-ref outputs "out"))
124 (data (assoc-ref outputs "data"))
125 (unpack (assoc-ref %standard-phases 'unpack))
126 (patch-source-shebangs
127 (assoc-ref %standard-phases 'patch-source-shebangs)))
128 ;; Create symbolic links for the latex variants and their
129 ;; man pages.
130 (with-directory-excursion (string-append out "/bin/")
131 (for-each symlink
132 '("pdftex" "pdftex" "xetex" "luatex")
133 '("latex" "pdflatex" "xelatex" "lualatex")))
134 (with-directory-excursion (string-append out "/share/man/man1/")
135 (symlink "luatex.1" "lualatex.1"))
136 ;; Delete texmf and texmf-dist from "data", since they
137 ;; will be reinstalled from texlive-texmf.
138 (system* "rm" "-r" (string-append data "/texmf"))
139 (system* "rm" "-r" (string-append data "/texmf-dist"))
140 ;; Unpack texlive-extra and install tlpkg.
141 (mkdir "texlive-extra")
142 (with-directory-excursion "texlive-extra"
143 (apply unpack (list #:source texlive-extra))
144 (apply patch-source-shebangs (list #:source texlive-extra))
145 (system* "mv" "tlpkg" data)
146 (chdir ".."))
147 ;; Unpack and install texlive-texmf.
148 (mkdir "texlive-texmf")
149 (with-directory-excursion "texlive-texmf"
150 (apply unpack (list #:source texlive-texmf))
151 (apply patch-source-shebangs (list #:source texlive-texmf))
152 ;; Register "data" for kpathsea in texmf.cnf.
153 (substitute* "texmf/web2c/texmf.cnf"
154 (("TEXMFROOT = \\$SELFAUTOPARENT")
155 (string-append "TEXMFROOT = " data)))
156 (system* "mv" "texmf" data)
157 (system* "mv" "texmf-dist" data)
158 (chdir ".."))
159 ;; texmf.cnf must also be placed in "out", since kpsewhich does
160 ;; not know about "data" until it has found this file.
161 (mkdir (string-append out "/share/texmf"))
162 (mkdir (string-append out "/share/texmf/web2c"))
163 (copy-file (string-append data "/texmf/web2c/texmf.cnf")
164 (string-append out "/share/texmf/web2c/texmf.cnf"))))
165 (alist-cons-after 'patch-shebangs 'texconfig
166 (lambda* (#:key outputs #:allow-other-keys)
167 (let ((out (assoc-ref outputs "out")))
168 ;; Configure the texlive system; inspired from
169 ;; http://slackbuilds.org/repository/13.37/office/texlive/
170 (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))
171 (system* "updmap-sys" "--nohash" "--syncwithtrees")
172 (system* "mktexlsr")
173 (system* "fmtutil-sys" "--all")))
174 %standard-phases)))))
175 (synopsis "Tex Live, a package of the TeX typesetting system")
176 (description
177 "TeX Live provides a comprehensive TeX document production system.
178It includes all the major TeX-related programs, macro packages, and fonts
179that are free software, including support for many languages around the
180world.")
181 (license (license:fsf-free "http://tug.org/texlive/copying.html"))
182 (home-page "http://www.tug.org/texlive/")))
diff --git a/contrib/packages/guix/gnunet.scm b/guix-env.scm
index d83111292..7708b2706 100644
--- a/contrib/packages/guix/gnunet.scm
+++ b/guix-env.scm
@@ -1,5 +1,5 @@
1;;; This file is part of GNUnet. 1;;; This file is part of GNUnet.
2;;; Copyright (C) 2016, 2017 GNUnet e.V. 2;;; Copyright (C) 2016, 2017, 2018 GNUnet e.V.
3;;; 3;;;
4;;; GNUnet is free software; you can redistribute it and/or modify 4;;; GNUnet is free software; you can redistribute it and/or modify
5;;; it under the terms of the GNU General Public License as published 5;;; it under the terms of the GNU General Public License as published
@@ -69,24 +69,20 @@
69(define %source-dir (string-append (current-source-directory) 69(define %source-dir (string-append (current-source-directory)
70 "/../../../")) 70 "/../../../"))
71 71
72(define gnunet-test-git 72(define gnunet-dev-env
73 (let* ((revision "1") 73 (let* ((revision "1")
74 (select? (delay (or (git-predicate 74 (select? (delay (or (git-predicate
75 (string-append (current-source-directory) 75 (string-append (current-source-directory)
76 "/../../../")) 76 "/../../../"))
77 source-file?)))) 77 source-file?))))
78 (package 78 (package
79 (name "gnunet-test-git") 79 (inherit gnunet)
80 (version (string-append "0.10.1-" revision "." "dev")) 80 (name "gnunet-dev-env")
81 (version (string-append "0.11-" revision "." "dev-env"))
81 (source 82 (source
82 (local-file ;;"../../.." 83 (local-file
83 ;;%source-dir 84 (string-append (getcwd))
84 ;;(string-append (getcwd) "/../../../")
85 (string-append (getcwd)) ;drrty hack and this assumes one static position FIXME!
86 #:recursive? #t)) 85 #:recursive? #t))
87 ;;#:select? (git-predicate %source-dir)))
88 ;;#:select? (force select?)))
89 (build-system gnu-build-system)
90 (inputs 86 (inputs
91 `(("glpk" ,glpk) 87 `(("glpk" ,glpk)
92 ("gnurl" ,gnurl) 88 ("gnurl" ,gnurl)
@@ -114,9 +110,7 @@
114 ("gmp" ,gmp) 110 ("gmp" ,gmp)
115 ("bluez" ,bluez) ; for optional bluetooth feature 111 ("bluez" ,bluez) ; for optional bluetooth feature
116 ("glib" ,glib) 112 ("glib" ,glib)
117 ;; TODO: figure out the right texlive parts. 113 ("texlive" ,texlive) ;FIXME: minimize.
118 ;;("texlive-minimal" ,texlive-minimal)
119 ("texlive" ,texlive)
120 ("miniupnpc" ,miniupnpc) 114 ("miniupnpc" ,miniupnpc)
121 ("libogg" ,libogg))) 115 ("libogg" ,libogg)))
122 (native-inputs 116 (native-inputs
@@ -157,11 +151,6 @@
157 (lib (string-append out "/lib"))) 151 (lib (string-append out "/lib")))
158 (setenv "GNUNET_PREFIX" lib) 152 (setenv "GNUNET_PREFIX" lib)
159 (setenv "PATH" (string-append (getenv "PATH") ":" bin)) 153 (setenv "PATH" (string-append (getenv "PATH") ":" bin))
160 (zero? (system* "make" "check")))))))) 154 (zero? (system* "make" "check")))))))))))
161 (synopsis "tests enabled without experimental")
162 (description
163 "GNUnet from git HEAD")
164 (license license:gpl3+)
165 (home-page "https://gnunet.org"))))
166 155
167gnunet-test-git 156gnunet-dev-env
diff --git a/guix.packages b/guix.packages
new file mode 100644
index 000000000..3b2f6cfcd
--- /dev/null
+++ b/guix.packages
@@ -0,0 +1,44 @@
1;;; -*- mode: scheme -*-
2;;; Packages required to develop GNUnet with Guix.
3;;; (See guix package --manifest option for more details on this file).
4
5(use-modules (guix profiles)
6 (gnu packages))
7
8
9(define gnunet-dev-packages
10 (list "glpk"
11 "gnurl"
12 "gstreamer"
13 "gst-plugins-base"
14 "gnutls/dane"
15 "libextractor"
16 "libgcrypt"
17 "libidn"
18 "libunistring"
19 "openssl"
20 "opus"
21 "pulseaudio"
22 "sqlite"
23 "mysql"
24 "postgresql"
25 "zlib"
26 "perl"
27 "jansson"
28 "nss"
29 "glib"
30 "gmp"
31 "glib"
32 "glibc-locales"
33 "bluez"
34 "texlive" ; FIXME: minimize
35 "pkg-config"
36 "autoconf"
37 "automake"
38 "gnu-gettext"
39 "which"
40 "texinfo-5"
41 "libtool"))
42
43
44(map specification->package gnunet-dev-packages)