From 3e2c2d6c40845d53b2809ec4a224e6d51eea5d73 Mon Sep 17 00:00:00 2001 From: ng0 Date: Mon, 8 Jan 2018 15:21:23 +0000 Subject: clean up contrib: move 2 guix files to the root level. folder structure will be moved to https://c.n0.is/ng0_guix/packages --- contrib/packages/guix/README | 64 --- contrib/packages/guix/gnunet-doc.scm | 183 -------- contrib/packages/guix/gnunet.scm | 167 ------- contrib/packages/guix/guix-env.scm | 210 --------- .../guix/packages/gnunet/packages/gnunet.scm | 519 --------------------- .../guix/packages/gnunet/packages/texlive.scm | 182 -------- 6 files changed, 1325 deletions(-) delete mode 100644 contrib/packages/guix/README delete mode 100644 contrib/packages/guix/gnunet-doc.scm delete mode 100644 contrib/packages/guix/gnunet.scm delete mode 100644 contrib/packages/guix/guix-env.scm delete mode 100644 contrib/packages/guix/packages/gnunet/packages/gnunet.scm delete mode 100644 contrib/packages/guix/packages/gnunet/packages/texlive.scm (limited to 'contrib/packages') 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 @@ -package definitions for GNU Guix ---------------------------------- - -About ------ - -This directory contains various files to work with GNUnet using Guix: - -* A folder intended to be used with GUIX_PACKAGE_PATH ("packages") -* gnunet-doc.scm: A file to ease the building of the docgen script output -* gnunet.scm: A file to build gnunet with all tests -* guix-env.scm - -The workflow has to be documented and will make its way into the GNUnet -Documentation eventually. For now, all uses of guix environment, guix package, -etc apply. -Example invocation: - guix environment --ad-hoc --container --network --fallback -K -l contrib/packages/guix/gnunet.scm -which is worth improving, but essentially takes you into an container environment -with gnunet from HEAD, under the condition that it builds. This won't include an editor, -so you want to run - guix environment --ad-hoc emacs --container --network --fallback -K -l contrib/packages/guix/gnunet.scm -(untested). You get the idea that this folder is a historical mess and should be cleaned up -and properly documented. - -Usage ------ - -Just point Guix towards the root of this source tree. -Assuming that your gnunet checkout is in $HOME/src/gnunet: - - export GUIX_PACKAGE_PATH=$HOME/src/gnunet/contrib/packages/guix/packages - -or (if you are in the root of the gnunet git repository): - - guix package -L contrib/packages/guix/packages -i package-name - -The packages in this repository will take precedence over those in the -official distribution. - - -To make use of the packages in your GuixSD config file: - -Be sure to have GUIX_PACKAGE_PATH for your shell exported, -for Bash this could be achieved like this: - - export GUIX_PACKAGE_PATH="/full/path/to/gnunet/contrib/packages/guix/directory" - -In the section of your systems "config.scm", you should find something like this: - - (use-modules (gnu) (gnu system nss)) - -Now to make use of "gnunetg" as an systemwide installed package we change this -to: - - (use-modules (gnu) (gnu system nss) - (gnunet packages gnunet)) - -and do the usual thing: - - save - - guix system build /etc/config.scm - - sudo -E guix system reconfigure /etc/config.scm - -The "-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 @@ -;;; This file is part of GNUnet. -;;; Copyright (C) 2016, 2017 GNUnet e.V. -;;; -;;; GNUnet is free software; you can redistribute it and/or modify -;;; it under the terms of the GNU General Public License as published -;;; by the Free Software Foundation; either version 3, or (at your -;;; option) any later version. -;;; -;;; GNUnet is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNUnet; see the file COPYING. If not, write to the -;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;;; Boston, MA 02110-1301, USA. -;;; - -(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)) - (guix git-download) - (guix utils) ; current-source-directory - (gnu packages) - (gnu packages aidc) - (gnu packages autotools) - (gnu packages backup) - (gnu packages base) - (gnu packages compression) - (gnu packages curl) - (gnu packages databases) - (gnu packages file) - (gnu packages gettext) - (gnu packages glib) - (gnu packages gnome) - (gnu packages gnunet) - (gnu packages gnupg) - (gnu packages gnuzilla) - (gnu packages groff) - (gnu packages gstreamer) - (gnu packages gtk) - (gnu packages guile) - (gnu packages graphviz) - (gnu packages image) - (gnu packages image-viewers) - (gnu packages libidn) - (gnu packages libunistring) - (gnu packages linux) - (gnu packages maths) - (gnu packages multiprecision) - (gnu packages perl) - (gnu packages pkg-config) - (gnu packages pulseaudio) - (gnu packages python) - (gnu packages tex) - (gnu packages texinfo) - (gnu packages tex) - (gnu packages tls) - (gnu packages video) - (gnu packages web) - (gnu packages xiph) - ;;(gnunet packages texlive) ;GNUnet module including texlive-2012 WIP - ((guix licenses) #:prefix license:)) - -(define %source-dir (string-append (current-source-directory) - "/../../../")) - -(define gnunet-doc - (let* ((revision "2") - (select? (delay (or (git-predicate - (string-append (current-source-directory) - "/../../../")) - source-file?)))) - (package - (name "gnunet-doc") - (version (string-append "0.10.1-" revision "." "dev")) - (source - (local-file ;;"../../.." - ;;%source-dir - ;;(string-append (getcwd) "/../../../") - (string-append (getcwd)) ;drrty hack and this assumes one static position FIXME! - #:recursive? #t)) - ;;#:select? (git-predicate %source-dir))) - ;;#:select? (force select?))) - (build-system gnu-build-system) - (inputs - `(("glpk" ,glpk) - ("gnurl" ,gnurl) - ("gstreamer" ,gstreamer) - ("gst-plugins-base" ,gst-plugins-base) - ("gnutls/dane" ,gnutls/dane) - ("libextractor" ,libextractor) - ("libgcrypt" ,libgcrypt) - ("libidn" ,libidn) - ("libmicrohttpd" ,libmicrohttpd) - ("libltdl" ,libltdl) - ("libunistring" ,libunistring) - ("openssl" ,openssl) - ("opus" ,opus) - ("pulseaudio" ,pulseaudio) - ("sqlite" ,sqlite) - ("postgresql" ,postgresql) - ("mysql" ,mysql) - ("zlib" ,zlib) - ("perl" ,perl) - ("python-2" ,python-2) ; tests and gnunet-qr - ("jansson" ,jansson) - ("nss" ,nss) - ("glib" ,glib "bin") - ("gmp" ,gmp) - ("bluez" ,bluez) ; for optional bluetooth feature - ("glib" ,glib) - ;;("texlive-minimal" ,texlive-minimal) ; optional. - ("texlive" ,texlive) ;TODO: Stabilize Texlive-2012 package - ("libogg" ,libogg))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("gnu-gettext" ,gnu-gettext) - ("graphviz" ,graphviz) ; dot - ("texinfo-5" ,texinfo-5) ; Debian stable - ("which" ,which) - ("libtool" ,libtool))) - (arguments - `(#:configure-flags - (list "--enable-documentation") - #:tests? #f ;Don't run tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'autoconf - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - (zero? (system* "sh" "bootstrap")))) - (add-after 'build 'run-gendocs - (lambda _ - (chdir "doc/documentation") - ;;(zero? (system* "make" "dev-build")))) - (zero? (system* "sh" "run-gendocs.sh")))) - ;; (zero? (system* "make" "pdf")) - ;; (zero? (system* "make" "html")) - ;; (zero? (system* "make" "info")))) - ;;(zero? (system* "make" "doc-all-give-me-the-noise")))) - (replace 'install - (lambda _ - (zero? (system* "make" "doc-gendoc-install"))))))) - ;;(lambda* (#:key outputs #:allow-other-keys) - ;; (let* ((out (assoc-ref outputs "out")) - ;; (doc (string-append out "/share/doc/gnunet"))) - ;; (mkdir-p doc) - ;; (copy-recursively "images" - ;; (string-append doc - ;; "/images")) - ;; (mkdir-p (string-append doc "/gnunet")) - ;; (install-file "gnunet.pdf" doc) - ;; (install-file "gnunet.info" doc) - ;; (install-file "gnunet.log" doc) ;TODO: Move to 'dev' output? - ;; (copy-recursively "gnunet" - ;; (string-append doc - ;; "/gnunet")) - ;; (install-file "gnunet-c-tutorial.pdf" doc) - ;; (install-file "gnunet-c-tutorial.info" doc) - ;; (install-file "gnunet-c-tutorial.log" doc) ;TODO: Move to 'dev' output? - ;; (copy-recursively "gnunet-c-tutorial" - ;; (string-append doc - ;; "/gnunet-c-tutorial"))) - ;; #t))))) - (synopsis "Documentation of GNUnet") - (description - "GNUnet documentation build") - (license (list license:fdl1.3+ license:gpl3+)) - (home-page "https://gnunet.org/")))) - -gnunet-doc diff --git a/contrib/packages/guix/gnunet.scm b/contrib/packages/guix/gnunet.scm deleted file mode 100644 index d83111292..000000000 --- a/contrib/packages/guix/gnunet.scm +++ /dev/null @@ -1,167 +0,0 @@ -;;; This file is part of GNUnet. -;;; Copyright (C) 2016, 2017 GNUnet e.V. -;;; -;;; GNUnet is free software; you can redistribute it and/or modify -;;; it under the terms of the GNU General Public License as published -;;; by the Free Software Foundation; either version 3, or (at your -;;; option) any later version. -;;; -;;; GNUnet is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNUnet; see the file COPYING. If not, write to the -;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;;; Boston, MA 02110-1301, USA. - -(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)) - (guix git-download) - (guix utils) ; current-source-directory - (gnu packages) - (gnu packages aidc) - (gnu packages autotools) - (gnu packages backup) - (gnu packages base) - (gnu packages compression) - (gnu packages curl) - (gnu packages databases) - (gnu packages file) - (gnu packages gettext) - (gnu packages glib) - (gnu packages gnome) - (gnu packages gnunet) - (gnu packages gnupg) - (gnu packages gnuzilla) - (gnu packages groff) - (gnu packages gstreamer) - (gnu packages gtk) - (gnu packages guile) - (gnu packages image) - (gnu packages image-viewers) - (gnu packages libidn) - (gnu packages libunistring) - (gnu packages linux) - (gnu packages maths) - (gnu packages multiprecision) - (gnu packages perl) - (gnu packages pkg-config) - (gnu packages pulseaudio) - (gnu packages python) - (gnu packages tex) - (gnu packages texinfo) - (gnu packages tex) - (gnu packages tls) - (gnu packages upnp) - (gnu packages video) - (gnu packages web) - (gnu packages xiph) - ((guix licenses) #:prefix license:)) - -(define %source-dir (string-append (current-source-directory) - "/../../../")) - -(define gnunet-test-git - (let* ((revision "1") - (select? (delay (or (git-predicate - (string-append (current-source-directory) - "/../../../")) - source-file?)))) - (package - (name "gnunet-test-git") - (version (string-append "0.10.1-" revision "." "dev")) - (source - (local-file ;;"../../.." - ;;%source-dir - ;;(string-append (getcwd) "/../../../") - (string-append (getcwd)) ;drrty hack and this assumes one static position FIXME! - #:recursive? #t)) - ;;#:select? (git-predicate %source-dir))) - ;;#:select? (force select?))) - (build-system gnu-build-system) - (inputs - `(("glpk" ,glpk) - ("gnurl" ,gnurl) - ("gstreamer" ,gstreamer) - ("gst-plugins-base" ,gst-plugins-base) - ("gnutls/dane" ,gnutls/dane) ;Change to gnutls/dane once it is merged. - ("libextractor" ,libextractor) - ("libgcrypt" ,libgcrypt) - ("libidn" ,libidn) - ("libmicrohttpd" ,libmicrohttpd) - ("libltdl" ,libltdl) - ("libunistring" ,libunistring) - ("openssl" ,openssl) - ("opus" ,opus) - ("pulseaudio" ,pulseaudio) - ("sqlite" ,sqlite) - ("postgresql" ,postgresql) - ("mysql" ,mysql) - ("zlib" ,zlib) - ("perl" ,perl) - ("python-2" ,python-2) ; tests and gnunet-qr - ("jansson" ,jansson) - ("nss" ,nss) - ("glib" ,glib "bin") - ("gmp" ,gmp) - ("bluez" ,bluez) ; for optional bluetooth feature - ("glib" ,glib) - ;; TODO: figure out the right texlive parts. - ;;("texlive-minimal" ,texlive-minimal) - ("texlive" ,texlive) - ("miniupnpc" ,miniupnpc) - ("libogg" ,libogg))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("gnu-gettext" ,gnu-gettext) - ("which" ,which) - ("texinfo" ,texinfo-5) ; Debian stable: 5.2 - ("libtool" ,libtool))) - (outputs '("out" "debug")) - (arguments - `(#:configure-flags - (list (string-append "--with-nssdir=" %output "/lib") - ;;"--enable-gcc-hardening" - ;;"--enable-linker-hardening" - "--enable-logging=verbose" - "CFLAGS=-ggdb -O0") - #:phases - ;; swap check and install phases and set paths to installed bin - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-sh - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - #t)) - (add-after 'patch-bin-sh 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap")))) - (delete 'check) - ;; XXX: https://gnunet.org/bugs/view.php?id=4619 - (add-after 'install 'set-path-for-check - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (lib (string-append out "/lib"))) - (setenv "GNUNET_PREFIX" lib) - (setenv "PATH" (string-append (getenv "PATH") ":" bin)) - (zero? (system* "make" "check")))))))) - (synopsis "tests enabled without experimental") - (description - "GNUnet from git HEAD") - (license license:gpl3+) - (home-page "https://gnunet.org")))) - -gnunet-test-git 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 @@ -;;; This file is part of GNUnet. -;;; Copyright (C) 2016, 2017 GNUnet e.V. -;;; -;;; GNUnet is free software; you can redistribute it and/or modify -;;; it under the terms of the GNU General Public License as published -;;; by the Free Software Foundation; either version 3, or (at your -;;; option) any later version. -;;; -;;; GNUnet is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNUnet; see the file COPYING. If not, write to the -;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;;; Boston, MA 02110-1301, USA. -;;; -;; Guix package for GNUnet development -;; -;; INSTALL -;; ------- -;; -;; To build and install the package in the user environment, use: -;; -;; guix package --install-from-file=guix-env.scm -;; -;; BUILD ONLY -;; ---------- -;; -;; Precondition for using this file is that you run Guix and have a -;; development setup for this setup, which involves a version of Guile in -;; your PATH. -;; -;; cd contrib/packages/guix -;; guix build -f guix-env.scm -;; -;; We'd like to provide advanced functions such as guix environment specific -;; gnunet-git package and usage of gnunet-gtk-git, but this is subject -;; to tests right now. - -(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)) - (guix git-download) - (guix utils) ; current-source-directory - (gnu packages) - (gnu packages aidc) - (gnu packages autotools) - (gnu packages backup) - (gnu packages base) - (gnu packages compression) - (gnu packages curl) - (gnu packages databases) - (gnu packages file) - (gnu packages gettext) - (gnu packages glib) - (gnu packages gnome) - (gnu packages gnunet) - (gnu packages gnupg) - (gnu packages gnuzilla) - (gnu packages groff) - (gnu packages gstreamer) - (gnu packages gtk) - (gnu packages guile) - (gnu packages image) - (gnu packages image-viewers) - (gnu packages libidn) - (gnu packages libunistring) - (gnu packages linux) - (gnu packages maths) - (gnu packages multiprecision) - (gnu packages perl) - (gnu packages pkg-config) - (gnu packages pulseaudio) - (gnu packages python) - (gnu packages tex) - (gnu packages texinfo) - (gnu packages tex) - (gnu packages tls) - (gnu packages video) - (gnu packages web) - (gnu packages xiph) - ((guix licenses) #:prefix license:)) - -(define %source-dir (string-append (current-source-directory) - "/../../../")) - -(define gnunet-git - (let* ((revision "3") - (select? (delay (or (git-predicate - (string-append (current-source-directory) - "/../../../")) - source-file?)))) - (package - (name "gnunet-git") - (version (string-append "0.10.1-" revision "." "dev")) - (source - (local-file ;;"../../.." - ;;%source-dir - ;;(string-append (getcwd) "/../../../") - (string-append (getcwd)) ;drrty hack and this assumes one static position FIXME! - #:recursive? #t)) - ;;#:select? (git-predicate %source-dir))) - ;;#:select? (force select?))) - (build-system gnu-build-system) - (inputs - `(("glpk" ,glpk) - ("gnurl" ,gnurl) - ("gstreamer" ,gstreamer) - ("gst-plugins-base" ,gst-plugins-base) - ("gnutls" ,gnutls) ;Change to gnutls/dane once it is merged. - ("libextractor" ,libextractor) - ("libgcrypt" ,libgcrypt) - ("libidn" ,libidn) - ("libmicrohttpd" ,libmicrohttpd) - ("libltdl" ,libltdl) - ("libunistring" ,libunistring) - ("openssl" ,openssl) - ("opus" ,opus) - ("pulseaudio" ,pulseaudio) - ("sqlite" ,sqlite) - ("postgresql" ,postgresql) - ("mysql" ,mysql) - ("zlib" ,zlib) - ("perl" ,perl) - ("python-2" ,python-2) ; tests and gnunet-qr - ("jansson" ,jansson) - ("nss" ,nss) - ("glib" ,glib "bin") - ("gmp" ,gmp) - ("bluez" ,bluez) ; for optional bluetooth feature - ("glib" ,glib) - ;; There are currently no binary substitutes for texlive on - ;; hydra.gnu.org or its mirrors due to its size. Uncomment if you need it. - ;;("texlive-minimal" ,texlive-minimal) ; optional. - ("texlive" ,texlive) - ("libogg" ,libogg))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("gnu-gettext" ,gnu-gettext) - ("which" ,which) - ("texinfo" ,texinfo-5) ; Debian stable: 5.2 - ("libtool" ,libtool))) - ;; TODO: To make use of out:debug, which carries the symbols, - ;; this file needs to fixed. - (outputs '("out" "debug")) - (arguments - `(#:configure-flags - (list (string-append "--with-nssdir=" %output "/lib");"/lib/gnunet/nss") - "--enable-gcc-hardening" - "--enable-linker-hardening" - - "--enable-poisoning" - "--enable-sanitizer" - "--enable-experimental" - "--enable-logging=verbose" - "CFLAGS=-ggdb -O0") - ;;#:parallel-tests? #f ; parallel building seems to fail - ;;#:tests? #f ; fail: test_gnunet_statistics.py - #:phases - ;; swap check and install phases and set paths to installed bin - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-sh - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - #t)) - (add-after 'patch-bin-sh 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap")))) - ;; (add-after 'install 'install-lib-nss - ;; (lambda* (#:key outputs #:allow-other-keys) - ;; (let* ((out (assoc-ref outputs "out")) - ;; (lib (string-append out "/lib/nss/"))) - ;; (mkdir-p lib) - ;; (copy-recursively "src/gns/nss/" lib) - ;; (install-file "ping" "combobreak")) - ;; #t)) - (delete 'check)))) - ;; XXX: https://gnunet.org/bugs/view.php?id=4619 - ;; (add-after 'install 'set-path-for-check - ;; (lambda* (#:key outputs #:allow-other-keys) - ;; (let* ((out (assoc-ref outputs "out")) - ;; (bin (string-append out "/bin")) - ;; (lib (string-append out "/lib"))) - ;; (setenv "GNUNET_PREFIX" lib) - ;; (setenv "PATH" (string-append (getenv "PATH") ":" bin)) - ;; (zero? (system* "make" "check")))))))) - (synopsis "Secure, decentralized, peer-to-peer networking framework") - (description - "GNUnet is a framework for secure peer-to-peer networking. The -high-level goal is to provide a strong foundation of free software for a -global, distributed network that provides security and privacy. GNUnet in -that sense aims to replace the current internet protocol stack. Along with -an application for secure publication of files, it has grown to include all -kinds of basic applications for the foundation of a GNU internet.") - (license license:gpl3+) - (home-page "https://gnunet.org/")))) - -gnunet-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 @@ -;;; This file is part of GNUnet. -;;; Copyright (C) 2016, 2017 GNUnet e.V. -;;; -;;; GNUnet is free software; you can redistribute it and/or modify -;;; it under the terms of the GNU General Public License as published -;;; by the Free Software Foundation; either version 3, or (at your -;;; option) any later version. -;;; -;;; GNUnet is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNUnet; see the file COPYING. If not, write to the -;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;;; Boston, MA 02110-1301, USA. - -(define-module (gnunet packages gnunet) - #:use-module (guix build-system gnu) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (gnu packages) - #:use-module (gnu packages admin) - #:use-module (gnu packages aidc) - #:use-module (gnu packages autotools) - #:use-module (gnu packages base) - #:use-module (gnu packages bison) - #:use-module (gnu packages compression) - #:use-module (gnu packages databases) - #:use-module (gnu packages gettext) - #:use-module (gnu packages glib) - #:use-module (gnu packages gnome) - #:use-module (gnu packages gnunet) - #:use-module (gnu packages gnupg) - #:use-module (gnu packages gnuzilla) - #:use-module (gnu packages gstreamer) - #:use-module (gnu packages gtk) - #:use-module (gnu packages libidn) - #:use-module (gnu packages libunistring) - #:use-module (gnu packages linux) - #:use-module (gnu packages man) - #:use-module (gnu packages image-viewers) - #:use-module (gnu packages maths) - #:use-module (gnu packages multiprecision) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages pcre) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages python) - #:use-module (gnu packages tls) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages tex) - #:use-module (gnu packages upnp) - #:use-module (gnu packages web) - #:use-module (gnu packages xiph)) - -;; TODO: Use HEAD without checking sum of it. -;; Explanation for name scheme: UNIXPATH is capped at 108 characters, -;; this causes lots of tests to fail. -;; FIXME: make this file MUCH shorter. -(define-public gnunetg - (let* ((commit "3c3090717610ea787fdd3562901329254a6af0d6") - (revision "32")) - (package - (inherit gnunet) - (name "gnunetg") - (version (string-append "0.10.1" "-" revision - "." (string-take commit 7))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gnunet.org/git/gnunet.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "0g0x1r833jkssfd2sndy37509dqf9f8myjvg7mnadwc1irp393bl")))) - (build-system gnu-build-system) - (inputs - `(("glpk" ,glpk) - ("gnurl" ,gnurl) - ("gstreamer" ,gstreamer) - ("gst-plugins-base" ,gst-plugins-base) - ("gnutls" ,gnutls) - ("libextractor" ,libextractor) - ("libgcrypt" ,libgcrypt) - ("libidn" ,libidn) - ("libmicrohttpd" ,libmicrohttpd) - ("libltdl" ,libltdl) - ("libunistring" ,libunistring) - ("openssl" ,openssl) - ("opus" ,opus) - ("pulseaudio" ,pulseaudio) - ("sqlite" ,sqlite) - ("zlib" ,zlib) - ("perl" ,perl) - ("python" ,python-2) ; tests and gnunet-qr - ("jansson" ,jansson) - ("ncurses" ,ncurses) - ("nss" ,nss) - ("gmp" ,gmp) - ("miniupnpc" ,miniupnpc) - ("bluez" ,bluez) ; for optional bluetooth feature - ("glib" ,glib) - ;; ("texlive-minimal" ,texlive-minimal) ; optional. - ("libogg" ,libogg))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("gnu-gettext" ,gnu-gettext) - ("which" ,which) - ("texinfo" ,texinfo) - ("libtool" ,libtool))) - (outputs '("out" "debug")) - (arguments - `(#:configure-flags - (list (string-append "--with-nssdir=" %output "/lib") - "--enable-experimental") - #:parallel-tests? #f ; parallel building is not functional - #:tests? #f ; FAIL: test_gnunet_statistics.py - #:phases - ;; swap check and install phases and set paths to installed bin - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-sh - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - #t)) - (add-after 'patch-bin-sh 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap")))) - ;; DISABLED until failing testcases are fixed. - ;; this test fails in our environment, disable it: - ;; XXX: specify which ones fail. - ;; (add-after 'patch-bin-sh 'disable-test_quota_compliance_tcp_asymmetric - ;; (lambda _ - ;; (substitute* '("src/transport/Makefile.am") - ;; (("test_quota_compliance_tcp_asymmetric") "")))) - ;; (("test_quota_compliance_http_asymmetric") "") - ;; (("test_quota_compliance_https_asymmetric") "") - ;; (("test_quota_compliance_unix") "") - ;; (("test_quota_compliance_unix_asymmetric") "")))) - ;; check is between build and install, fix this to: - ;; build - install - check, else the test suite fails. - (delete 'check))))))) - ;; (add-after 'install 'set-path-for-check - ;; (lambda* (#:key outputs #:allow-other-keys) - ;; (let* ((out (assoc-ref outputs "out")) - ;; (bin (string-append out "/bin")) - ;; (lib (string-append out "/lib"))) - ;; (setenv "GNUNET_PREFIX" lib) - ;; (setenv "PATH" (string-append (getenv "PATH") ":" bin)) - ;; ;; XXX: https://gnunet.org/bugs/view.php?id=4619#c11061 - ;; ;; Enable core dump before the tests. - ;; ;; XXX: HOW??? ulimit -c unlimited - ;; (zero? (system* "make" "check")))))))) - -(define-public gnunet-doc - (package - (name "gnunet-doc") - (version (package-version gnunetg)) - (source (package-source gnunetg)) - (build-system gnu-build-system) - ;; FIXME: Introduce DOCS_ONLY option for configure script. - ;; This should prevent the checks for all required software. - (inputs - `(("glpk" ,glpk) - ("gnurl" ,gnurl) - ("gstreamer" ,gstreamer) - ("gst-plugins-base" ,gst-plugins-base) - ("gnutls" ,gnutls) - ("libextractor" ,libextractor) - ("libgcrypt" ,libgcrypt) - ("libidn" ,libidn) - ("libmicrohttpd" ,libmicrohttpd) - ("libltdl" ,libltdl) - ("libunistring" ,libunistring) - ("openssl" ,openssl) - ("opus" ,opus) - ("pulseaudio" ,pulseaudio) - ("sqlite" ,sqlite) - ("zlib" ,zlib) - ("perl" ,perl) - ("python" ,python-2) ; tests and gnunet-qr - ("jansson" ,jansson) - ("ncurses" ,ncurses) - ("nss" ,nss) - ("gmp" ,gmp) - ("miniupnpc" ,miniupnpc) - ("bluez" ,bluez) ; for optional bluetooth feature - ("glib" ,glib) - ("texlive" ,texlive) ;TODO: Use a minimal subset. - ("libogg" ,libogg))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("which" ,which) - ("automake" ,automake) - ("gnu-gettext" ,gnu-gettext) - ("texinfo" ,texinfo) - ("libtool" ,libtool))) - (arguments - `(#:tests? #f ;Don't run tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-sh - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - #t)) - (add-after 'patch-bin-sh 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap")))) - (replace 'build - (lambda _ - (chdir "doc") - (zero? (system* "make" "doc-all-give-me-the-noise")))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/gnunet"))) - (mkdir-p doc) - (mkdir-p (string-append doc "/gnunet")) - (install-file "gnunet.pdf" doc) - (install-file "gnunet.info" doc) - (copy-recursively "gnunet" - (string-append doc - "/gnunet")) - (install-file "gnunet-c-tutorial.pdf" doc) - (install-file "gnunet-c-tutorial.info" doc) - (copy-recursively "gnunet-c-tutorial" - (string-append doc - "/gnunet-c-tutorial"))) - #t))))) - (synopsis "GNUnet documentation") - (description - "Gnunet-doc builds the documentation of GNUnet.") - (home-page "https://gnunet.org") - (license (package-license gnunet)))) - -(define-public gnunetgpg - (package - (inherit gnunetg) - (name "gnunetgpg") - (inputs - `(("postgresql" ,postgresql) - ,@(package-inputs gnunetg))) - (synopsis "gnunet, variant with postgres"))) - -(define-public gnunetgf - (package - (inherit gnunetg) - (name "gnunetgf") - (inputs - `(("postgresql" ,postgresql) - ("mysql" ,mysql) - ,@(package-inputs gnunetg))) - (arguments - `(#:configure-flags - (list (string-append "--with-nssdir=" %output "/lib") - "--enable-gcc-hardening" - "--enable-linker-hardening" - - "--enable-poisoning" - "--enable-sanitizer" - "--enable-experimental" - "--enable-logging=verbose" - "CFLAGS=-ggdb -O0") - #:parallel-tests? #f ; parallel building is not supported. - ;;#:tests? #f ; fail: test_gnunet_statistics.py - #:phases - ;; swap check and install phases and set paths to installed bin - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-sh - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - #t)) - (add-after 'patch-bin-sh 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap")))) - (delete 'check)))) - (synopsis "gnunet, full git build without tests"))) - -;; A package to run the test suite. -(define-public gnunetgft - (package - (inherit gnunetg) - (name "gnunetgft") - (arguments - `(#:configure-flags - (list (string-append "--with-nssdir=" %output "/lib") - "--enable-gcc-hardening" - "--enable-linker-hardening" - - ;;"--enable-poisoning" - ;;"--enable-sanitizer" - "--enable-experimental" - "--enable-logging=verbose" - "CFLAGS=-ggdb -O0") - ;; #:parallel-tests? #f ; parallel building seems to fail - ;;#:tests? #f ; fail: test_gnunet_statistics.py - #:phases - ;; swap check and install phases and set paths to installed bin - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-sh - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - #t)) - (add-after 'patch-bin-sh 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap")))) - (delete 'check) - ;; XXX: https://gnunet.org/bugs/view.php?id=4619 - (add-after 'install 'set-path-for-check - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (lib (string-append out "/lib"))) - (setenv "GNUNET_PREFIX" lib) - (setenv "PATH" (string-append (getenv "PATH") ":" bin)) - (zero? (system* "make" "check")))))))) - (synopsis "gnunet, full git with tests enabled with parallel tests"))) - -(define-public gnunetg-test - (package - (inherit gnunetg) - (name "gnunetg-test") - (arguments - `(#:configure-flags - (list (string-append "--with-nssdir=" %output "/lib") - "--enable-gcc-hardening" - "--enable-linker-hardening" - - ;;"--enable-poisoning" - ;;"--enable-sanitizer" - "--enable-logging=verbose" - "CFLAGS=-ggdb -O0") - ;; #:parallel-tests? #f ; parallel building seems to fail - ;;#:tests? #f ; fail: test_gnunet_statistics.py - #:phases - ;; swap check and install phases and set paths to installed bin - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-sh - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - #t)) - (add-after 'patch-bin-sh 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap")))) - (delete 'check) - ;; XXX: https://gnunet.org/bugs/view.php?id=4619 - (add-after 'install 'set-path-for-check - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (lib (string-append out "/lib"))) - (setenv "GNUNET_PREFIX" lib) - (setenv "PATH" (string-append (getenv "PATH") ":" bin)) - (zero? (system* "make" "check")))))))) - (synopsis "gnunet, full git with tests enabled without experimental"))) - -;; ... and one package to test the package with "parallel-tests? #f" -(define-public gnunetgftn - (package - (inherit gnunetg) - (name "gnunetgftn") - (arguments - `(#:configure-flags - (list (string-append "--with-nssdir=" %output "/lib") - "--enable-gcc-hardening" - "--enable-linker-hardening" - - "--enable-poisoning" - "--enable-sanitizer" - "--enable-experimental" - "--enable-logging=verbose" - "CFLAGS=-ggdb"); -O0") - #:parallel-tests? #f ; parallel building seems to fail - ;;#:tests? #f ; fail: test_gnunet_statistics.py - #:phases - ;; swap check and install phases and set paths to installed bin - (modify-phases %standard-phases - (add-after 'unpack 'patch-bin-sh - (lambda _ - (substitute* "bootstrap" - (("contrib/pogen.sh") "sh contrib/pogen.sh")) - (for-each (lambda (f) (chmod f #o755)) - (find-files "po" "")) - #t)) - (add-after 'patch-bin-sh 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap")))) - (delete 'check) - ;; XXX: https://gnunet.org/bugs/view.php?id=4619 - (add-after 'install 'set-path-for-check - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (lib (string-append out "/lib"))) - (setenv "GNUNET_PREFIX" lib) - (setenv "PATH" (string-append (getenv "PATH") ":" bin)) - (zero? (system* "make" "check")))))))))) - -(define-public gnunet-gtkg - (let* ((commit "087f8e166ee6d1fc59a6bd5d05f656528761ede7") - (revision "5")) - (package - (inherit gnunetgf) - (name "gnunet-gtkg") - (version (package-version gnunetgf)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gnunet.org/git/gnunet-gtk.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1k03d8l0yz4fpliy5bg5s7qkpidzd6ryr4cd63wgmd227p32i87q")))) - (arguments - `(#:configure-flags - (list "--with-libunique" - "--with-qrencode" - (string-append "--with-gnunet=" - (assoc-ref %build-inputs "gnunetgf"))) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) - (inputs - `(("gnunetgf" ,gnunetgf) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("gnutls" ,gnutls) - ("libgcrypt" ,libgcrypt) - ("gtk+" ,gtk+) - ("libextractor" ,libextractor) - ("glade3" ,glade3) - ("qrencode" ,qrencode) - ("libunique" ,libunique))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("libglade" ,libglade) - ("autoconf" ,autoconf) - ("gnu-gettext" ,gnu-gettext) - ("texinfo" ,texinfo) - ("automake" ,automake) - ("libtool" ,libtool))) - (synopsis "Graphical front-end tools for GNUnet") - (home-page "https://gnunet.org")))) - -;; fuse, pointing to the tests disabled version of gnunet-git -(define-public gnunet-fuse-git - (let* ((commit "3503aeff6db6b39b85e13f9483d46d49ce9cec55") - (revision "3")) - (package - (inherit gnunetg) - ;;(inherit gnunet) - (name "gnunet-fuse-git") - (version (package-version gnunetgf)) - ;;(version (package-version gnunet)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gnunet.org/git/gnunet-fuse.git") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "0sxzppanw2nrjqv1vnyj2jx3ja6gqrg0ibkl5n1fr265cqk5hgc5")))) - (arguments - `(#:configure-flags - (list "--with-qrencode" - (string-append "--with-gnunet=" - (assoc-ref %build-inputs "gnunetgf"))) ;"gnunet"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-gnunet-include-path - (lambda _ - (substitute* "configure.ac" - (("gnunet/gnunet_util_lib.h") - "${lookin}/include/gnunet/gnunet_util_lib.h")) - #t)) - (add-before 'configure 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) - (inputs - `(("gnunetgf" ,gnunetgf))) - ;;`(("gnunet" ,gnunet))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("fuse" ,fuse) - ("autoconf" ,autoconf) - ("gnu-gettext" ,gnu-gettext) - ("automake" ,automake) - ("libtool" ,libtool))) - (synopsis "FUSE for GNUnet") - (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 @@ -;;; This file is part of GNUnet. -;;; Copyright (C) 2017 GNUnet e.V. -;;; -;;; GNUnet is free software; you can redistribute it and/or modify -;;; it under the terms of the GNU General Public License as published -;;; by the Free Software Foundation; either version 3, or (at your -;;; option) any later version. -;;; -;;; GNUnet is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNUnet; see the file COPYING. If not, write to the -;;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;;; Boston, MA 02110-1301, USA. - -;; Initially based on Guix commit eb0119efde826590a13973ab928c173780a7f257 - -(define-module (gnunet packages texlive) - #:use-module ((guix licenses) - #:renamer (symbol-prefix-proc 'license:)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (gnu packages) - #:use-module (gnu packages compression) - #:use-module (gnu packages fontutils) - #:use-module (gnu packages ghostscript) - #:use-module (gnu packages icu4c) - #:use-module (gnu packages image) - #:use-module (gnu packages pdf) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages compression)) - -(define texlive-extra-src - (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-extra.tar.xz") - ;;(uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-extra.tar.xz") - (sha256 (base32 - "0cb8fnv4x281gy5ka779f00ssdmdpjj4x3pkh9j9vq45hrwg3522")))) - -(define texlive-texmf-src - (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-texmf.tar.xz") - ;;(uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-texmf.tar.xz") - (sha256 (base32 - "1fn1dg9k7pnh8a80j23zfkbrfnqyc4c2w4ss30dpkqj490nxsywq")))) - -;; Note that right now this does not include security fixes! -;; FIXME: Needs more fixes, currently this fails building! - -(define-public texlive - (package - (name "texlive") - (version "2012") - (source (origin - (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-source.tar.xz") - ;;(uri "ftp://tug.org/historic/systems/texlive/2012/texlive-20120701-source.tar.xz") - (sha256 (base32 - "10bcrdfsqnc6y3gqcb8ndnjy07i5kz63as39irbq4gmcbmyn2rln")))) - (build-system gnu-build-system) - (inputs `(("texlive-extra-src" ,texlive-extra-src) - ("texlive-texmf-src" ,texlive-texmf-src) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("icu4c" ,icu4c) - ("ghostscript" ,ghostscript) - ("libpng" ,libpng) - ("perl" ,perl) - ("poppler" ,poppler) - ("pkg-config" ,pkg-config) - ;; FIXME: Add interpreters csh, fontforge and ruby, - ;; once they are available. - ("python" ,python) - ("teckit" ,teckit) - ("t1lib" ,t1lib) - ("zlib" ,zlib) - ("zziplib" ,zziplib))) - (outputs '("out" "data")) - (arguments - `(#:out-of-source? #t - #:configure-flags - `("--disable-native-texlive-build" - ;; Although the texmf and texmf-dist data is taken from - ;; texlive-texmf, setting datarootdir is still useful: - ;; "make install" creates symbolic links to scripts in this place. - ,(string-append "--datarootdir=" (assoc-ref %outputs "data")) - ,(string-append "--infodir=" (assoc-ref %outputs "out") "/share/info") - ,(string-append "--mandir=" (assoc-ref %outputs "out") "/share/man") - "--without-x" ; FIXME: Drop as soon as X is available. - "--with-system-freetype2" - ;; "--with-system-gd" - ;; "--with-system-graphite" - "--with-system-icu" - "--with-system-libgs" - "--with-system-libpng" - "--with-system-poppler" - "--with-system-t1lib" - "--with-system-teckit" - "--with-system-xpdf" - "--with-system-zlib" - "--with-system-zziplib") - #:phases - (alist-replace - 'configure - (lambda* (#:key outputs #:allow-other-keys #:rest args) - (let ((configure (assoc-ref %standard-phases 'configure))) - (substitute* "utils/psutils/Makefile.in" - (("/usr/bin/env perl") (which "perl"))) - (apply configure args))) - (alist-cons-after - 'install 'postinst - (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) - (let ((texlive-extra (assoc-ref inputs "texlive-extra-src")) - (texlive-texmf (assoc-ref inputs "texlive-texmf-src")) - (out (assoc-ref outputs "out")) - (data (assoc-ref outputs "data")) - (unpack (assoc-ref %standard-phases 'unpack)) - (patch-source-shebangs - (assoc-ref %standard-phases 'patch-source-shebangs))) - ;; Create symbolic links for the latex variants and their - ;; man pages. - (with-directory-excursion (string-append out "/bin/") - (for-each symlink - '("pdftex" "pdftex" "xetex" "luatex") - '("latex" "pdflatex" "xelatex" "lualatex"))) - (with-directory-excursion (string-append out "/share/man/man1/") - (symlink "luatex.1" "lualatex.1")) - ;; Delete texmf and texmf-dist from "data", since they - ;; will be reinstalled from texlive-texmf. - (system* "rm" "-r" (string-append data "/texmf")) - (system* "rm" "-r" (string-append data "/texmf-dist")) - ;; Unpack texlive-extra and install tlpkg. - (mkdir "texlive-extra") - (with-directory-excursion "texlive-extra" - (apply unpack (list #:source texlive-extra)) - (apply patch-source-shebangs (list #:source texlive-extra)) - (system* "mv" "tlpkg" data) - (chdir "..")) - ;; Unpack and install texlive-texmf. - (mkdir "texlive-texmf") - (with-directory-excursion "texlive-texmf" - (apply unpack (list #:source texlive-texmf)) - (apply patch-source-shebangs (list #:source texlive-texmf)) - ;; Register "data" for kpathsea in texmf.cnf. - (substitute* "texmf/web2c/texmf.cnf" - (("TEXMFROOT = \\$SELFAUTOPARENT") - (string-append "TEXMFROOT = " data))) - (system* "mv" "texmf" data) - (system* "mv" "texmf-dist" data) - (chdir "..")) - ;; texmf.cnf must also be placed in "out", since kpsewhich does - ;; not know about "data" until it has found this file. - (mkdir (string-append out "/share/texmf")) - (mkdir (string-append out "/share/texmf/web2c")) - (copy-file (string-append data "/texmf/web2c/texmf.cnf") - (string-append out "/share/texmf/web2c/texmf.cnf")))) - (alist-cons-after 'patch-shebangs 'texconfig - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Configure the texlive system; inspired from - ;; http://slackbuilds.org/repository/13.37/office/texlive/ - (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")) - (system* "updmap-sys" "--nohash" "--syncwithtrees") - (system* "mktexlsr") - (system* "fmtutil-sys" "--all"))) - %standard-phases))))) - (synopsis "Tex Live, a package of the TeX typesetting system") - (description - "TeX Live provides a comprehensive TeX document production system. -It includes all the major TeX-related programs, macro packages, and fonts -that are free software, including support for many languages around the -world.") - (license (license:fsf-free "http://tug.org/texlive/copying.html")) - (home-page "http://www.tug.org/texlive/"))) -- cgit v1.2.3