1 ;;; This file is part of GNUnet.
2 ;;; Copyright (C) 2016, 2017 GNUnet e.V.
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.
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.
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.
25 (guix build-system gnu)
27 ((guix build utils) #:select (with-directory-excursion))
29 (guix utils) ; current-source-directory
32 (gnu packages autotools)
35 (gnu packages compression)
37 (gnu packages databases)
39 (gnu packages gettext)
44 (gnu packages gnuzilla)
46 (gnu packages gstreamer)
49 (gnu packages graphviz)
51 (gnu packages image-viewers)
53 (gnu packages libunistring)
56 (gnu packages multiprecision)
58 (gnu packages pkg-config)
59 (gnu packages pulseaudio)
62 (gnu packages texinfo)
68 ;;(gnunet packages texlive) ;GNUnet module including texlive-2012 WIP
69 ((guix licenses) #:prefix license:))
71 (define %source-dir (string-append (current-source-directory)
76 (select? (delay (or (git-predicate
77 (string-append (current-source-directory)
82 (version (string-append "0.10.1-" revision "." "dev"))
84 (local-file ;;"../../.."
86 ;;(string-append (getcwd) "/../../../")
87 (string-append (getcwd)) ;drrty hack and this assumes one static position FIXME!
89 ;;#:select? (git-predicate %source-dir)))
90 ;;#:select? (force select?)))
91 (build-system gnu-build-system)
95 ("gstreamer" ,gstreamer)
96 ("gst-plugins-base" ,gst-plugins-base)
97 ("gnutls/dane" ,gnutls/dane)
98 ("libextractor" ,libextractor)
99 ("libgcrypt" ,libgcrypt)
101 ("libmicrohttpd" ,libmicrohttpd)
103 ("libunistring" ,libunistring)
106 ("pulseaudio" ,pulseaudio)
108 ("postgresql" ,postgresql)
112 ("python-2" ,python-2) ; tests and gnunet-qr
117 ("bluez" ,bluez) ; for optional bluetooth feature
119 ;;("texlive-minimal" ,texlive-minimal) ; optional.
120 ("texlive" ,texlive) ;TODO: Stabilize Texlive-2012 package
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
130 ("libtool" ,libtool)))
133 (list "--enable-documentation")
134 #:tests? #f ;Don't run tests
136 (modify-phases %standard-phases
137 (add-after 'unpack 'autoconf
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
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"))))
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")))
160 ;; (copy-recursively "images"
161 ;; (string-append doc
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
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")))
177 (synopsis "Documentation of GNUnet")
179 "GNUnet documentation build")
180 (license (list license:fdl1.3+ license:gpl3+))
181 (home-page "https://gnunet.org/"))))