From 6131c43d45e2765345d51d355c4e9136f2603747 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 14 Jun 2013 20:57:43 +0200 Subject: gnu: Add cairo. * gnu/packages/gtk.scm (cairo): New variable. --- Makefile.am | 1 + 1 file changed, 1 insertion(+) (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index 4a7e787c73..b67dd0bd09 100644 --- a/Makefile.am +++ b/Makefile.am @@ -107,6 +107,7 @@ MODULES = \ gnu/packages/gdbm.scm \ gnu/packages/gettext.scm \ gnu/packages/ghostscript.scm \ + gnu/packages/git.scm \ gnu/packages/glib.scm \ gnu/packages/global.scm \ gnu/packages/gnupg.scm \ -- cgit v1.2.3 From d517142b8e4c85d161fcd98110adcfea21e56d95 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 16 Jun 2013 23:57:34 +0200 Subject: gnu: Add GD. * gnu/packages/gd.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/gd.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/gd.scm (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index b67dd0bd09..b7a3ac2a36 100644 --- a/Makefile.am +++ b/Makefile.am @@ -103,6 +103,7 @@ MODULES = \ gnu/packages/gawk.scm \ gnu/packages/gcal.scm \ gnu/packages/gcc.scm \ + gnu/packages/gd.scm \ gnu/packages/gdb.scm \ gnu/packages/gdbm.scm \ gnu/packages/gettext.scm \ diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm new file mode 100644 index 0000000000..13bcd45f77 --- /dev/null +++ b/gnu/packages/gd.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix 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 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix 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 GNU Guix. If not, see . + +(define-module (gnu packages gd) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (gnu packages libpng) + #:use-module (gnu packages libjpeg) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages compression) + #:use-module ((guix licenses) #:select (bsd-style))) + +(define-public gd + (package + (name "gd") + + ;; Note: With libgd.org now pointing to bitbucket.org, genuine old + ;; tarballs are no longer available. Notably, versions 2.0.34 and .35 are + ;; missing. + (version "2.0.33") + + (source (origin + (method url-fetch) + (uri "https://bitbucket.org/libgd/gd-libgd/get/GD_2_0_33.tar.gz") + (sha256 + (base32 + "0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-after + 'unpack 'chdir + (lambda _ + (chdir "src")) + %standard-phases))) + (inputs + `(("freetype" ,freetype) + ("libpng" ,libpng) + ("zlib" ,zlib))) + (propagated-inputs + `(("fontconfig" ,fontconfig) + ("libjpeg" ,libjpeg))) + (home-page "http://www.libgd.org/") + (synopsis "Library for the dynamic creation of images by programmers") + (description + "GD is a library for the dynamic creation of images by programmers. GD +is written in C, and \"wrappers\" are available for Perl, PHP and other +languages. GD creates PNG, JPEG, GIF, WebP, XPM, BMP images, among other +formats. GD is commonly used to generate charts, graphics, thumbnails, and +most anything else, on the fly. While not restricted to use on the web, the +most common applications of GD involve website development.") + (license (bsd-style "file://COPYING" + "See COPYING file in the distribution.")))) -- cgit v1.2.3 From b1b07d72c755ea314fb0c8333cd88293ee504ce4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 17 Jun 2013 01:15:55 +0200 Subject: gnu: Add Graphviz. * gnu/packages/graphviz.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/graphviz.scm | 124 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 gnu/packages/graphviz.scm (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index b7a3ac2a36..d7f6341b00 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,6 +115,7 @@ MODULES = \ gnu/packages/gnutls.scm \ gnu/packages/gperf.scm \ gnu/packages/gprolog.scm \ + gnu/packages/graphviz.scm \ gnu/packages/groff.scm \ gnu/packages/grub.scm \ gnu/packages/grue-hunter.scm \ diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm new file mode 100644 index 0000000000..a1ee104da9 --- /dev/null +++ b/gnu/packages/graphviz.scm @@ -0,0 +1,124 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix 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 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix 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 GNU Guix. If not, see . + +(define-module (gnu packages graphviz) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (gnu packages xorg) + #:use-module (gnu packages gtk) + #:use-module (gnu packages xml) + #:use-module (gnu packages glib) + #:use-module (gnu packages bison) + #:use-module (gnu packages libpng) + #:use-module (gnu packages libjpeg) + #:use-module (gnu packages autotools) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages compression) + #:use-module (gnu packages gd) + #:use-module ((guix licenses) #:select (lgpl2.0+ epl1.0))) + +(define-public graphviz + (package + (name "graphviz") + (version "2.28.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-" + version + ".tar.gz")) + (sha256 + (base32 + "0xpwg99cd8sp0c6r8klsmc66h1pday64kmnr4v6f9jkqqmrpkank")))) + (build-system gnu-build-system) + (arguments + ;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input. + '(#:tests? #f + + #:phases (alist-cons-before + 'build 'pre-build + (lambda _ + ;; Work around bogus makefile when using an external + ;; libltdl. Failing to do so, one hits this error: + ;; "No rule to make target `-lltdl', needed by `libgvc.la'." + (substitute* "lib/gvc/Makefile" + (("am__append_5 *=.*") + "am_append_5 =\n"))) + %standard-phases))) + (inputs + `(("libXrender" ,libxrender) + ("libX11" ,libx11) + ("gts" ,gts) + ("gd" ,gd) ; FIXME: Our GD is too old + ("pango" ,pango) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("libltdl" ,libtool) + ("bison" ,bison) + ("libXaw" ,libxaw) + ("expat" ,expat) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) + (home-page "http://www.graphviz.org/") + (synopsis "Graph visualization software") + (description + "Graphviz is graph visualization tool suite. Graph visualization is a +way of representing structural information as diagrams of abstract graphs and +networks. It has important applications in networking, bioinformatics, +software engineering, database and web design, machine learning, and in visual +interfaces for other technical domains.") + (license epl1.0))) + +(define-public gts + (package + (name "gts") + (version "0.7.6") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/gts/gts-" + version ".tar.gz")) + (sha256 + (base32 + "07mqx09jxh8cv9753y2d2jsv7wp8vjmrd7zcfpbrddz3wc9kx705")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-before + 'check 'pre-check + (lambda _ + (chmod "test/boolean/test.sh" #o777)) + %standard-phases) + + ;; Some data files used by the test suite are missing. + ;; See . + #:tests? #f)) + (inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + ;; The gts.pc file has glib-2.0 as required. + `(("glib" ,glib))) + (home-page "http://gts.sourceforge.net/") + + ;; Note: Despite the name, this is not official GNU software. + (synopsis "Triangulated Surface Library") + (description + "Library intended to provide a set of useful functions to deal with +3D surfaces meshed with interconnected triangles.") + (license lgpl2.0+))) -- cgit v1.2.3 From 5686807ee9b0352931c2d0394885f5b43d53bcf1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 17 Jun 2013 01:18:09 +0200 Subject: build: Remove non-existent git.scm from Makefile.am. * Makefile.am (MODULES): Remove git.scm. --- Makefile.am | 1 - 1 file changed, 1 deletion(-) (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index d7f6341b00..8db02e7a2f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -108,7 +108,6 @@ MODULES = \ gnu/packages/gdbm.scm \ gnu/packages/gettext.scm \ gnu/packages/ghostscript.scm \ - gnu/packages/git.scm \ gnu/packages/glib.scm \ gnu/packages/global.scm \ gnu/packages/gnupg.scm \ -- cgit v1.2.3 From cf3fe3b0710bf538c747068d6337db70522ce75d Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 15 Jun 2013 03:33:42 +0200 Subject: gnu: Move subversion with the other version control systems. * gnu/packages/subversion.scm: Remove file. * gnu/packages/version-control.scm (subversion): New variable. * Makefile.am (MODULES): remove subversion.scm. --- Makefile.am | 1 - gnu/packages/subversion.scm | 58 ---------------------------------------- gnu/packages/version-control.scm | 36 ++++++++++++++++++++++++- 3 files changed, 35 insertions(+), 60 deletions(-) delete mode 100644 gnu/packages/subversion.scm (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index 8db02e7a2f..59b5bae68c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -188,7 +188,6 @@ MODULES = \ gnu/packages/smalltalk.scm \ gnu/packages/sqlite.scm \ gnu/packages/ssh.scm \ - gnu/packages/subversion.scm \ gnu/packages/system.scm \ gnu/packages/tcl.scm \ gnu/packages/tcsh.scm \ diff --git a/gnu/packages/subversion.scm b/gnu/packages/subversion.scm deleted file mode 100644 index 28ddc42e00..0000000000 --- a/gnu/packages/subversion.scm +++ /dev/null @@ -1,58 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Cyril Roelandt -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix 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 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix 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 GNU Guix. If not, see . - -(define-module (gnu packages subversion) - #:use-module ((guix licenses) #:select (asl2.0)) - #: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 libapr) - #:use-module (gnu packages perl) - #:use-module (gnu packages python) - #:use-module (gnu packages sqlite)) - -(define-public subversion - (package - (name "subversion") - (version "1.7.8") - (source (origin - (method url-fetch) - (uri (string-append "https://archive.apache.org/dist/subversion/subversion-" - version ".tar.bz2")) - (sha256 - (base32 - "11inl9n1riahfnbk1fax0dysm2swakzhzhpmm2zvga6fikcx90zw")))) - (build-system gnu-build-system) - (inputs - `(("libapr" ,libapr) - ("libaprutil" ,libaprutil) - ("perl" ,perl) - ("python" ,python) - ("sqlite" ,sqlite) - ("zlib" ,zlib))) - (home-page "http://subversion.apache.org/") - (synopsis "Subversion, a revision control system") - (description - "Subversion exists to be universally recognized and adopted as an -open-source, centralized version control system characterized by its -reliability as a safe haven for valuable data; the simplicity of its model and -usage; and its ability to support the needs of a wide variety of users and -projects, from individuals to large-scale enterprise operations.") - (license asl2.0))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 6654be93b2..018cf1b9f8 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov +;;; Copyright © 2013 Cyril Roelandt ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,7 +18,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages version-control) - #:use-module ((guix licenses) #:select (gpl1+ gpl2+ gpl3+)) + #:use-module ((guix licenses) #:select (asl2.0 gpl1+ gpl2+ gpl3+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -25,7 +26,11 @@ #:use-module (guix build utils) #:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages libapr) #:use-module (gnu packages nano) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages sqlite) #:use-module (gnu packages compression)) (define-public bazaar @@ -56,6 +61,35 @@ organize their workspace in whichever way they want. It is possible to work from a command line or use a GUI application.") (license gpl2+))) +(define-public subversion + (package + (name "subversion") + (version "1.7.8") + (source (origin + (method url-fetch) + (uri (string-append "https://archive.apache.org/dist/subversion/subversion-" + version ".tar.bz2")) + (sha256 + (base32 + "11inl9n1riahfnbk1fax0dysm2swakzhzhpmm2zvga6fikcx90zw")))) + (build-system gnu-build-system) + (inputs + `(("libapr" ,libapr) + ("libaprutil" ,libaprutil) + ("perl" ,perl) + ("python" ,python) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) + (home-page "http://subversion.apache.org/") + (synopsis "Subversion, a revision control system") + (description + "Subversion exists to be universally recognized and adopted as an +open-source, centralized version control system characterized by its +reliability as a safe haven for valuable data; the simplicity of its model and +usage; and its ability to support the needs of a wide variety of users and +projects, from individuals to large-scale enterprise operations.") + (license asl2.0))) + (define-public rcs (package (name "rcs") -- cgit v1.2.3 From 7fa37abca0ef5261039f3daedf371a9639ff423b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 19 Jun 2013 19:27:23 +0200 Subject: gnu: Add ImageMagick. * gnu/packages/imagemagick.scm: New file. * Makefile.am (MODULES): Add it. * guix/download.scm (%mirrors): Add `imagemagick' entry. --- Makefile.am | 1 + gnu/packages/imagemagick.scm | 92 ++++++++++++++++++++++++++++++++++++++++++++ guix/download.scm | 9 ++++- 3 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/imagemagick.scm (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index 59b5bae68c..9d7ebf85e9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -126,6 +126,7 @@ MODULES = \ gnu/packages/hugs.scm \ gnu/packages/icu4c.scm \ gnu/packages/idutils.scm \ + gnu/packages/imagemagick.scm \ gnu/packages/indent.scm \ gnu/packages/irssi.scm \ gnu/packages/ld-wrapper.scm \ diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm new file mode 100644 index 0000000000..e408b13fa3 --- /dev/null +++ b/gnu/packages/imagemagick.scm @@ -0,0 +1,92 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix 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 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix 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 GNU Guix. If not, see . + +(define-module (gnu packages imagemagick) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:select (fsf-free)) + #:use-module (gnu packages libjpeg) + #:use-module (gnu packages compression) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xml) + #:use-module (gnu packages gtk) + #:use-module (gnu packages libpng) + #:use-module (gnu packages libtiff) + #:use-module (gnu packages libjpeg) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages pkg-config)) + +(define-public imagemagick + (package + (name "imagemagick") + (version "6.8.6-0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://imagemagick/ImageMagick-" + version ".tar.xz")) + (sha256 + (base32 + "1qmwpnq2mcxjnp0rjyb2g7v87lhmll19imx3iys6kplh8amrmqnv")))) + (build-system gnu-build-system) + (arguments + `(#:phases (alist-cons-before + 'build 'pre-build + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + ;; Clear the `LIBRARY_PATH' setting, which otherwise + ;; interferes with our own use. + (("^LIBRARY_PATH[[:blank:]]*=.*$") + "") + + ;; Since the Makefile overrides $docdir, modify it to + ;; refer to what we want. + (("^DOCUMENTATION_PATH[[:blank:]]*=.*$") + (let ((doc (assoc-ref outputs "doc"))) + (string-append "DOCUMENTATION_PATH = " + doc "/share/doc/" + ,name "-" ,version "\n"))))) + %standard-phases))) + ;; TODO: Add Jasper, LCMS, etc. + (inputs `(("graphviz" ,graphviz) + ("ghostscript" ,ghostscript) + ("libx11" ,libx11) + ("zlib" ,zlib) + ("libxml2" ,libxml2) + ("libtiff" ,libtiff) + ("libpng" ,libpng) + ("libjpeg" ,libjpeg-8) + ("pango" ,pango) + ("freetype" ,freetype) + ("bzip2" ,bzip2) + ("xz" ,xz) + ("pkg-config" ,pkg-config))) + (outputs '("out" + "doc")) ; 26 MiB of HTML documentation + (home-page "http://www.imagemagick.org/") + (synopsis "Create, edit, compose, or convert bitmap images") + (description + "ImageMagick® is a software suite to create, edit, compose, or convert +bitmap images. It can read and write images in a variety of formats (over 100) +including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, +and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and +transform images, adjust image colors, apply various special effects, or draw +text, lines, polygons, ellipses and Bézier curves.") + (license (fsf-free "http://www.imagemagick.org/script/license.php")))) diff --git a/guix/download.scm b/guix/download.scm index 99353be8b0..fc6c815792 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -148,7 +148,14 @@ "ftp://ftp.osuosl.org/pub/CPAN/" "ftp://ftp.nara.wide.ad.jp/pub/CPAN/" "http://mirrors.163.com/cpan/" - "ftp://cpan.mirror.ac.za/")))) + "ftp://cpan.mirror.ac.za/") + (imagemagick ; from http://www.imagemagick.org/script/download.php + "http://mirror.checkdomain.de/imagemagick/" + "ftp://gd.tuwien.ac.at/pub/graphics/ImageMagick/" + "http://www.imagemagick.org/download" + "ftp://mirror.searchdaimon.com/ImageMagick" + "http://mirror.is.co.za/pub/imagemagick/" + "ftp://mirror.aarnet.edu.au/pub/imagemagick/")))) (define (gnutls-derivation store system) "Return the GnuTLS derivation for SYSTEM." -- cgit v1.2.3 From d516736c588cc793d8fe393c8b64f96712d2c977 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 19 Jun 2013 23:19:03 +0200 Subject: build: Split Makefile.am into two parts. * Makefile.am (MODULES): Move gnu/* to gnu-system.am. (patchdir, dist_patch_DATA, bootstrapdir, bootstrap_x86_64_linuxdir, bootstrap_i686_linuxdir, dist_bootstrap_x86_64_linux_DATA, dist_bootstrap_i686_linux_DATA, nodist_bootstrap_x86_64_linux_DATA, nodist_bootstrap_i686_linux_DATA, install-data-hook, DISTCLEANFILES, DOWNLOAD_FILE, gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz, gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): Move to... * gnu-system.am: ... here. New file. --- Makefile.am | 242 +---------------------------------------------------- gnu-system.am | 263 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 266 insertions(+), 239 deletions(-) create mode 100644 gnu-system.am (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index 9d7ebf85e9..f39e571581 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,6 +24,8 @@ nodist_noinst_SCRIPTS = \ pre-inst-env \ test-env +include gnu-system.am + MODULES = \ guix/scripts/build.scm \ guix/scripts/download.scm \ @@ -66,152 +68,7 @@ MODULES = \ guix/packages.scm \ guix/snix.scm \ guix.scm \ - gnu/packages.scm \ - gnu/packages/acl.scm \ - gnu/packages/algebra.scm \ - gnu/packages/aspell.scm \ - gnu/packages/attr.scm \ - gnu/packages/autotools.scm \ - gnu/packages/avahi.scm \ - gnu/packages/base.scm \ - gnu/packages/bash.scm \ - gnu/packages/bdb.scm \ - gnu/packages/bdw-gc.scm \ - gnu/packages/bison.scm \ - gnu/packages/bootstrap.scm \ - gnu/packages/cdrom.scm \ - gnu/packages/cflow.scm \ - gnu/packages/check.scm \ - gnu/packages/cmake.scm \ - gnu/packages/compression.scm \ - gnu/packages/cpio.scm \ - gnu/packages/cppi.scm \ - gnu/packages/cross-base.scm \ - gnu/packages/cryptsetup.scm \ - gnu/packages/curl.scm \ - gnu/packages/cyrus-sasl.scm \ - gnu/packages/dejagnu.scm \ - gnu/packages/ddrescue.scm \ - gnu/packages/dwm.scm \ - gnu/packages/ed.scm \ - gnu/packages/emacs.scm \ - gnu/packages/fdisk.scm \ - gnu/packages/file.scm \ - gnu/packages/flex.scm \ - gnu/packages/fontutils.scm \ - gnu/packages/freeipmi.scm \ - gnu/packages/gawk.scm \ - gnu/packages/gcal.scm \ - gnu/packages/gcc.scm \ - gnu/packages/gd.scm \ - gnu/packages/gdb.scm \ - gnu/packages/gdbm.scm \ - gnu/packages/gettext.scm \ - gnu/packages/ghostscript.scm \ - gnu/packages/glib.scm \ - gnu/packages/global.scm \ - gnu/packages/gnupg.scm \ - gnu/packages/gnutls.scm \ - gnu/packages/gperf.scm \ - gnu/packages/gprolog.scm \ - gnu/packages/graphviz.scm \ - gnu/packages/groff.scm \ - gnu/packages/grub.scm \ - gnu/packages/grue-hunter.scm \ - gnu/packages/gsasl.scm \ - gnu/packages/gtk.scm \ - gnu/packages/guile.scm \ - gnu/packages/gv.scm \ - gnu/packages/help2man.scm \ - gnu/packages/hugs.scm \ - gnu/packages/icu4c.scm \ - gnu/packages/idutils.scm \ - gnu/packages/imagemagick.scm \ - gnu/packages/indent.scm \ - gnu/packages/irssi.scm \ - gnu/packages/ld-wrapper.scm \ - gnu/packages/less.scm \ - gnu/packages/lesstif.scm \ - gnu/packages/libapr.scm \ - gnu/packages/libdaemon.scm \ - gnu/packages/libevent.scm \ - gnu/packages/libffi.scm \ - gnu/packages/libidn.scm \ - gnu/packages/libjpeg.scm \ - gnu/packages/libphidget.scm \ - gnu/packages/libpng.scm \ - gnu/packages/libsigsegv.scm \ - gnu/packages/libtiff.scm \ - gnu/packages/libunistring.scm \ - gnu/packages/libusb.scm \ - gnu/packages/libunwind.scm \ - gnu/packages/linux.scm \ - gnu/packages/linux-initrd.scm \ - gnu/packages/lout.scm \ - gnu/packages/lsh.scm \ - gnu/packages/lsof.scm \ - gnu/packages/lua.scm \ - gnu/packages/lvm.scm \ - gnu/packages/m4.scm \ - gnu/packages/mailutils.scm \ - gnu/packages/make-bootstrap.scm \ - gnu/packages/mit-krb5.scm \ - gnu/packages/mp3.scm \ - gnu/packages/multiprecision.scm \ - gnu/packages/mysql.scm \ - gnu/packages/nano.scm \ - gnu/packages/ncurses.scm \ - gnu/packages/netpbm.scm \ - gnu/packages/nettle.scm \ - gnu/packages/ocaml.scm \ - gnu/packages/oggvorbis.scm \ - gnu/packages/openldap.scm \ - gnu/packages/openssl.scm \ - gnu/packages/parted.scm \ - gnu/packages/patchelf.scm \ - gnu/packages/pcre.scm \ - gnu/packages/pdf.scm \ - gnu/packages/perl.scm \ - gnu/packages/pkg-config.scm \ - gnu/packages/plotutils.scm \ - gnu/packages/popt.scm \ - gnu/packages/pth.scm \ - gnu/packages/python.scm \ - gnu/packages/qemu.scm \ - gnu/packages/ratpoison.scm \ - gnu/packages/readline.scm \ - gnu/packages/recutils.scm \ - gnu/packages/rsync.scm \ - gnu/packages/samba.scm \ - gnu/packages/scheme.scm \ - gnu/packages/screen.scm \ - gnu/packages/shishi.scm \ - gnu/packages/smalltalk.scm \ - gnu/packages/sqlite.scm \ - gnu/packages/ssh.scm \ - gnu/packages/system.scm \ - gnu/packages/tcl.scm \ - gnu/packages/tcsh.scm \ - gnu/packages/texinfo.scm \ - gnu/packages/texlive.scm \ - gnu/packages/time.scm \ - gnu/packages/tmux.scm \ - gnu/packages/tor.scm \ - gnu/packages/unrtf.scm \ - gnu/packages/version-control.scm \ - gnu/packages/vim.scm \ - gnu/packages/vpn.scm \ - gnu/packages/w3m.scm \ - gnu/packages/wdiff.scm \ - gnu/packages/wget.scm \ - gnu/packages/which.scm \ - gnu/packages/wordnet.scm \ - gnu/packages/xlockmore.scm \ - gnu/packages/xml.scm \ - gnu/packages/xorg.scm \ - gnu/packages/zile.scm \ - gnu/packages/zip.scm \ - gnu/system/vm.scm + $(GNU_SYSTEM_MODULES) # Because of the autoload hack in (guix build download), we must build it # first to avoid errors on systems where (gnutls) is unavailable. @@ -221,99 +78,6 @@ GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go nobase_dist_guilemodule_DATA = $(MODULES) -patchdir = $(guilemoduledir)/gnu/packages/patches -dist_patch_DATA = \ - gnu/packages/patches/automake-skip-amhello-tests.patch \ - gnu/packages/patches/bigloo-gc-shebangs.patch \ - gnu/packages/patches/binutils-ld-new-dtags.patch \ - gnu/packages/patches/cmake-fix-tests.patch \ - gnu/packages/patches/cpio-gets-undeclared.patch \ - gnu/packages/patches/diffutils-gets-undeclared.patch \ - gnu/packages/patches/emacs-configure-sh.patch \ - gnu/packages/patches/findutils-absolute-paths.patch \ - gnu/packages/patches/flac-fix-memcmp-not-declared.patch \ - gnu/packages/patches/flex-bison-tests.patch \ - gnu/packages/patches/gawk-shell.patch \ - gnu/packages/patches/gcc-cross-environment-variables.patch \ - gnu/packages/patches/gettext-gets-undeclared.patch \ - gnu/packages/patches/glib-tests-desktop.patch \ - gnu/packages/patches/glib-tests-homedir.patch \ - gnu/packages/patches/glib-tests-prlimit.patch \ - gnu/packages/patches/glibc-bootstrap-system.patch \ - gnu/packages/patches/glibc-no-ld-so-cache.patch \ - gnu/packages/patches/grub-gets-undeclared.patch \ - gnu/packages/patches/guile-1.8-cpp-4.5.patch \ - gnu/packages/patches/guile-default-utf8.patch \ - gnu/packages/patches/guile-linux-syscalls.patch \ - gnu/packages/patches/guile-relocatable.patch \ - gnu/packages/patches/libapr-skip-getservbyname-test.patch \ - gnu/packages/patches/libevent-dns-tests.patch \ - gnu/packages/patches/libtool-skip-tests.patch \ - gnu/packages/patches/lsh-guile-compat.patch \ - gnu/packages/patches/lsh-no-root-login.patch \ - gnu/packages/patches/lsh-pam-service-name.patch \ - gnu/packages/patches/m4-gets-undeclared.patch \ - gnu/packages/patches/m4-readlink-EINVAL.patch \ - gnu/packages/patches/m4-s_isdir.patch \ - gnu/packages/patches/make-impure-dirs.patch \ - gnu/packages/patches/mcron-install.patch \ - gnu/packages/patches/perl-no-sys-dirs.patch \ - gnu/packages/patches/python-fix-dbm.patch \ - gnu/packages/patches/procps-make-3.82.patch \ - gnu/packages/patches/qemu-multiple-smb-shares.patch \ - gnu/packages/patches/readline-link-ncurses.patch \ - gnu/packages/patches/scheme48-tests.patch \ - gnu/packages/patches/tar-gets-undeclared.patch \ - gnu/packages/patches/tcsh-fix-autotest.patch \ - gnu/packages/patches/teckit-cstdio.patch \ - gnu/packages/patches/vpnc-script.patch \ - gnu/packages/patches/w3m-fix-compile.patch \ - gnu/packages/patches/xpdf-constchar.patch - -bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap -bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux -bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux - -dist_bootstrap_x86_64_linux_DATA = \ - gnu/packages/bootstrap/x86_64-linux/bash \ - gnu/packages/bootstrap/x86_64-linux/mkdir \ - gnu/packages/bootstrap/x86_64-linux/tar \ - gnu/packages/bootstrap/x86_64-linux/xz - -dist_bootstrap_i686_linux_DATA = \ - gnu/packages/bootstrap/i686-linux/bash \ - gnu/packages/bootstrap/i686-linux/mkdir \ - gnu/packages/bootstrap/i686-linux/tar \ - gnu/packages/bootstrap/i686-linux/xz - -# Big bootstrap binaries are not included in the tarball. Instead, they -# are downloaded. -nodist_bootstrap_x86_64_linux_DATA = \ - gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz -nodist_bootstrap_i686_linux_DATA = \ - gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz - -# Those files must remain executable, so they remain executable once -# imported into the store. -install-data-hook: - chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz} - -DISTCLEANFILES = \ - $(nodist_bootstrap_x86_64_linux_DATA) \ - $(nodist_bootstrap_i686_linux_DATA) - -# Method to download a file from an external source. -DOWNLOAD_FILE = \ - GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \ - $(GUILE) --no-auto-compile -L "$(top_builddir)" -L "$(top_srcdir)" \ - "$(top_srcdir)/build-aux/download.scm" - -gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz: - $(MKDIR_P) `dirname "$@"` - $(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c" -gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz: - $(MKDIR_P) `dirname "$@"` - $(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c" nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm diff --git a/gnu-system.am b/gnu-system.am new file mode 100644 index 0000000000..96b87e6a72 --- /dev/null +++ b/gnu-system.am @@ -0,0 +1,263 @@ +# GNU Guix --- Functional package management for GNU +# Copyright © 2012, 2013 Ludovic Courtès +# Copyright © 2013 Andreas Enge +# +# This file is part of GNU Guix. +# +# GNU Guix 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 of the License, or (at +# your option) any later version. +# +# GNU Guix 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 GNU Guix. If not, see . + +# Definitions for the GNU System: package modules, patches, bootstrap +# binaries. + +GNU_SYSTEM_MODULES = \ + gnu/packages.scm \ + gnu/packages/acl.scm \ + gnu/packages/algebra.scm \ + gnu/packages/aspell.scm \ + gnu/packages/attr.scm \ + gnu/packages/autotools.scm \ + gnu/packages/avahi.scm \ + gnu/packages/base.scm \ + gnu/packages/bash.scm \ + gnu/packages/bdb.scm \ + gnu/packages/bdw-gc.scm \ + gnu/packages/bison.scm \ + gnu/packages/bootstrap.scm \ + gnu/packages/cdrom.scm \ + gnu/packages/cflow.scm \ + gnu/packages/check.scm \ + gnu/packages/cmake.scm \ + gnu/packages/compression.scm \ + gnu/packages/cpio.scm \ + gnu/packages/cppi.scm \ + gnu/packages/cross-base.scm \ + gnu/packages/cryptsetup.scm \ + gnu/packages/curl.scm \ + gnu/packages/cyrus-sasl.scm \ + gnu/packages/dejagnu.scm \ + gnu/packages/ddrescue.scm \ + gnu/packages/dwm.scm \ + gnu/packages/ed.scm \ + gnu/packages/emacs.scm \ + gnu/packages/fdisk.scm \ + gnu/packages/file.scm \ + gnu/packages/flex.scm \ + gnu/packages/fontutils.scm \ + gnu/packages/freeipmi.scm \ + gnu/packages/gawk.scm \ + gnu/packages/gcal.scm \ + gnu/packages/gcc.scm \ + gnu/packages/gd.scm \ + gnu/packages/gdb.scm \ + gnu/packages/gdbm.scm \ + gnu/packages/gettext.scm \ + gnu/packages/ghostscript.scm \ + gnu/packages/glib.scm \ + gnu/packages/global.scm \ + gnu/packages/gnupg.scm \ + gnu/packages/gnutls.scm \ + gnu/packages/gperf.scm \ + gnu/packages/gprolog.scm \ + gnu/packages/graphviz.scm \ + gnu/packages/groff.scm \ + gnu/packages/grub.scm \ + gnu/packages/grue-hunter.scm \ + gnu/packages/gsasl.scm \ + gnu/packages/gtk.scm \ + gnu/packages/guile.scm \ + gnu/packages/gv.scm \ + gnu/packages/help2man.scm \ + gnu/packages/hugs.scm \ + gnu/packages/icu4c.scm \ + gnu/packages/idutils.scm \ + gnu/packages/imagemagick.scm \ + gnu/packages/indent.scm \ + gnu/packages/irssi.scm \ + gnu/packages/ld-wrapper.scm \ + gnu/packages/less.scm \ + gnu/packages/lesstif.scm \ + gnu/packages/libapr.scm \ + gnu/packages/libdaemon.scm \ + gnu/packages/libevent.scm \ + gnu/packages/libffi.scm \ + gnu/packages/libidn.scm \ + gnu/packages/libjpeg.scm \ + gnu/packages/libphidget.scm \ + gnu/packages/libpng.scm \ + gnu/packages/libsigsegv.scm \ + gnu/packages/libtiff.scm \ + gnu/packages/libunistring.scm \ + gnu/packages/libusb.scm \ + gnu/packages/libunwind.scm \ + gnu/packages/linux.scm \ + gnu/packages/linux-initrd.scm \ + gnu/packages/lout.scm \ + gnu/packages/lsh.scm \ + gnu/packages/lsof.scm \ + gnu/packages/lua.scm \ + gnu/packages/lvm.scm \ + gnu/packages/m4.scm \ + gnu/packages/mailutils.scm \ + gnu/packages/make-bootstrap.scm \ + gnu/packages/mit-krb5.scm \ + gnu/packages/mp3.scm \ + gnu/packages/multiprecision.scm \ + gnu/packages/mysql.scm \ + gnu/packages/nano.scm \ + gnu/packages/ncurses.scm \ + gnu/packages/netpbm.scm \ + gnu/packages/nettle.scm \ + gnu/packages/ocaml.scm \ + gnu/packages/oggvorbis.scm \ + gnu/packages/openldap.scm \ + gnu/packages/openssl.scm \ + gnu/packages/parted.scm \ + gnu/packages/patchelf.scm \ + gnu/packages/pcre.scm \ + gnu/packages/pdf.scm \ + gnu/packages/perl.scm \ + gnu/packages/pkg-config.scm \ + gnu/packages/plotutils.scm \ + gnu/packages/popt.scm \ + gnu/packages/pth.scm \ + gnu/packages/python.scm \ + gnu/packages/qemu.scm \ + gnu/packages/ratpoison.scm \ + gnu/packages/readline.scm \ + gnu/packages/recutils.scm \ + gnu/packages/rsync.scm \ + gnu/packages/samba.scm \ + gnu/packages/scheme.scm \ + gnu/packages/screen.scm \ + gnu/packages/shishi.scm \ + gnu/packages/smalltalk.scm \ + gnu/packages/sqlite.scm \ + gnu/packages/ssh.scm \ + gnu/packages/system.scm \ + gnu/packages/tcl.scm \ + gnu/packages/tcsh.scm \ + gnu/packages/texinfo.scm \ + gnu/packages/texlive.scm \ + gnu/packages/time.scm \ + gnu/packages/tmux.scm \ + gnu/packages/tor.scm \ + gnu/packages/unrtf.scm \ + gnu/packages/version-control.scm \ + gnu/packages/vim.scm \ + gnu/packages/vpn.scm \ + gnu/packages/w3m.scm \ + gnu/packages/wdiff.scm \ + gnu/packages/wget.scm \ + gnu/packages/which.scm \ + gnu/packages/wordnet.scm \ + gnu/packages/xlockmore.scm \ + gnu/packages/xml.scm \ + gnu/packages/xorg.scm \ + gnu/packages/zile.scm \ + gnu/packages/zip.scm \ + gnu/system/vm.scm + +patchdir = $(guilemoduledir)/gnu/packages/patches +dist_patch_DATA = \ + gnu/packages/patches/automake-skip-amhello-tests.patch \ + gnu/packages/patches/bigloo-gc-shebangs.patch \ + gnu/packages/patches/binutils-ld-new-dtags.patch \ + gnu/packages/patches/cmake-fix-tests.patch \ + gnu/packages/patches/cpio-gets-undeclared.patch \ + gnu/packages/patches/diffutils-gets-undeclared.patch \ + gnu/packages/patches/emacs-configure-sh.patch \ + gnu/packages/patches/findutils-absolute-paths.patch \ + gnu/packages/patches/flac-fix-memcmp-not-declared.patch \ + gnu/packages/patches/flex-bison-tests.patch \ + gnu/packages/patches/gawk-shell.patch \ + gnu/packages/patches/gcc-cross-environment-variables.patch \ + gnu/packages/patches/gettext-gets-undeclared.patch \ + gnu/packages/patches/glib-tests-desktop.patch \ + gnu/packages/patches/glib-tests-homedir.patch \ + gnu/packages/patches/glib-tests-prlimit.patch \ + gnu/packages/patches/glibc-bootstrap-system.patch \ + gnu/packages/patches/glibc-no-ld-so-cache.patch \ + gnu/packages/patches/grub-gets-undeclared.patch \ + gnu/packages/patches/guile-1.8-cpp-4.5.patch \ + gnu/packages/patches/guile-default-utf8.patch \ + gnu/packages/patches/guile-linux-syscalls.patch \ + gnu/packages/patches/guile-relocatable.patch \ + gnu/packages/patches/libapr-skip-getservbyname-test.patch \ + gnu/packages/patches/libevent-dns-tests.patch \ + gnu/packages/patches/libtool-skip-tests.patch \ + gnu/packages/patches/lsh-guile-compat.patch \ + gnu/packages/patches/lsh-no-root-login.patch \ + gnu/packages/patches/lsh-pam-service-name.patch \ + gnu/packages/patches/m4-gets-undeclared.patch \ + gnu/packages/patches/m4-readlink-EINVAL.patch \ + gnu/packages/patches/m4-s_isdir.patch \ + gnu/packages/patches/make-impure-dirs.patch \ + gnu/packages/patches/mcron-install.patch \ + gnu/packages/patches/perl-no-sys-dirs.patch \ + gnu/packages/patches/python-fix-dbm.patch \ + gnu/packages/patches/procps-make-3.82.patch \ + gnu/packages/patches/qemu-multiple-smb-shares.patch \ + gnu/packages/patches/readline-link-ncurses.patch \ + gnu/packages/patches/scheme48-tests.patch \ + gnu/packages/patches/tar-gets-undeclared.patch \ + gnu/packages/patches/tcsh-fix-autotest.patch \ + gnu/packages/patches/teckit-cstdio.patch \ + gnu/packages/patches/vpnc-script.patch \ + gnu/packages/patches/w3m-fix-compile.patch \ + gnu/packages/patches/xpdf-constchar.patch + +bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap +bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux +bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux + +dist_bootstrap_x86_64_linux_DATA = \ + gnu/packages/bootstrap/x86_64-linux/bash \ + gnu/packages/bootstrap/x86_64-linux/mkdir \ + gnu/packages/bootstrap/x86_64-linux/tar \ + gnu/packages/bootstrap/x86_64-linux/xz + +dist_bootstrap_i686_linux_DATA = \ + gnu/packages/bootstrap/i686-linux/bash \ + gnu/packages/bootstrap/i686-linux/mkdir \ + gnu/packages/bootstrap/i686-linux/tar \ + gnu/packages/bootstrap/i686-linux/xz + +# Big bootstrap binaries are not included in the tarball. Instead, they +# are downloaded. +nodist_bootstrap_x86_64_linux_DATA = \ + gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz +nodist_bootstrap_i686_linux_DATA = \ + gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz + +# Those files must remain executable, so they remain executable once +# imported into the store. +install-data-hook: + chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz} + +DISTCLEANFILES = \ + $(nodist_bootstrap_x86_64_linux_DATA) \ + $(nodist_bootstrap_i686_linux_DATA) + +# Method to download a file from an external source. +DOWNLOAD_FILE = \ + GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \ + $(GUILE) --no-auto-compile -L "$(top_builddir)" -L "$(top_srcdir)" \ + "$(top_srcdir)/build-aux/download.scm" + +gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz: + $(MKDIR_P) `dirname "$@"` + $(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c" +gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz: + $(MKDIR_P) `dirname "$@"` + $(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c" -- cgit v1.2.3 From f3211ef3868326e3cec5318bc799a2ff6572741b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 20 Jun 2013 22:49:34 +0200 Subject: build: Move Hydra recipe to build-aux/hydra. * hydra.scm: Rename to... * build-aux/hydra/gnu-system.scm: ... this. * Makefile.am (EXTRA_DIST): Adjust accordingly. --- Makefile.am | 2 +- build-aux/hydra/gnu-system.scm | 124 +++++++++++++++++++++++++++++++++++++++++ hydra.scm | 124 ----------------------------------------- 3 files changed, 125 insertions(+), 125 deletions(-) create mode 100644 build-aux/hydra/gnu-system.scm delete mode 100644 hydra.scm (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index f39e571581..418b63a377 100644 --- a/Makefile.am +++ b/Makefile.am @@ -127,7 +127,7 @@ EXTRA_DIST = \ ROADMAP \ TODO \ .dir-locals.el \ - hydra.scm \ + build-aux/hydra/gnu-system.scm \ build-aux/download.scm \ build-aux/sync-synopses.scm \ srfi/srfi-64.scm \ diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm new file mode 100644 index 0000000000..f03c201223 --- /dev/null +++ b/build-aux/hydra/gnu-system.scm @@ -0,0 +1,124 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix 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 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix 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 GNU Guix. If not, see . + +;;; +;;; This file defines build jobs for the Hydra continuation integration +;;; tool. +;;; + +;; Attempt to use our very own Guix modules. +(eval-when (compile load eval) + + ;; Ignore any available .go, and force recompilation. This is because our + ;; checkout in the store has mtime set to the epoch, and thus .go files look + ;; newer, even though they may not correspond. + (set! %fresh-auto-compile #t) + + (and=> (assoc-ref (current-source-location) 'filename) + (lambda (file) + (let ((dir (string-append (dirname file) "/../.."))) + (format (current-error-port) "prepending ~s to the load path~%" + dir) + (set! %load-path (cons dir %load-path)))))) + +(use-modules (guix store) + (guix packages) + ((guix utils) #:select (%current-system)) + (gnu packages) + (gnu packages base) + (gnu packages gawk) + (gnu packages guile) + (gnu packages gettext) + (gnu packages multiprecision) + (gnu packages make-bootstrap) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 match)) + +;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output +;; port to the bit bucket, let us write to the error port instead. +(setvbuf (current-error-port) _IOLBF) +(set-current-output-port (current-error-port)) + +(define* (package->alist store package system + #:optional (package-derivation package-derivation)) + "Convert PACKAGE to an alist suitable for Hydra." + `((derivation . ,(package-derivation store package system)) + (description . ,(package-synopsis package)) + (long-description . ,(package-description package)) + (license . ,(package-license package)) + (home-page . ,(package-home-page package)) + (maintainers . ("bug-guix@gnu.org")))) + +(define (package-job store job-name package system) + "Return a job called JOB-NAME that builds PACKAGE on SYSTEM." + `(,job-name . ,(cut package->alist store package system))) + +(define (package-cross-job store job-name package target system) + "Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on +SYSTEM." + `(,(symbol-append (string->symbol target) (string->symbol ".") job-name) . + ,(cute package->alist store package system + (cut package-cross-derivation <> <> target <>)))) + +(define %packages-to-cross-build + (list gmp mpfr mpc coreutils findutils diffutils patch sed grep + gawk gettext hello guile-2.0 + ;; %bootstrap-binaries-tarball + ;; %binutils-bootstrap-tarball + ;; %glibc-bootstrap-tarball + ;; %gcc-bootstrap-tarball + ;; %guile-bootstrap-tarball + )) + +(define %cross-targets + '("mips64el-linux-gnu")) + +(define (hydra-jobs store arguments) + "Return Hydra jobs." + (define system + (or (assoc-ref arguments system) + (%current-system))) + + (define job-name + (compose string->symbol package-full-name)) + + (define cross-jobs + (append-map (lambda (target) + (map (lambda (package) + (package-cross-job store (job-name package) + package target system)) + %packages-to-cross-build)) + %cross-targets)) + + ;; Return one job for each package, except bootstrap packages. + (let ((base-packages (delete-duplicates + (append-map (match-lambda + ((_ package _ ...) + (match (package-transitive-inputs + package) + (((_ inputs _ ...) ...) + inputs)))) + %final-inputs)))) + (fold-packages (lambda (package result) + (if (member package base-packages) + result + (cons (package-job store (job-name package) + package system) + result))) + cross-jobs))) diff --git a/hydra.scm b/hydra.scm deleted file mode 100644 index c4b6dba924..0000000000 --- a/hydra.scm +++ /dev/null @@ -1,124 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix 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 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix 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 GNU Guix. If not, see . - -;;; -;;; This file defines build jobs for the Hydra continuation integration -;;; tool. -;;; - -;; Attempt to use our very own Guix modules. -(eval-when (compile load eval) - - ;; Ignore any available .go, and force recompilation. This is because our - ;; checkout in the store has mtime set to the epoch, and thus .go files look - ;; newer, even though they may not correspond. - (set! %fresh-auto-compile #t) - - (and=> (assoc-ref (current-source-location) 'filename) - (lambda (file) - (let ((dir (dirname file))) - (format (current-error-port) "prepending ~s to the load path~%" - dir) - (set! %load-path (cons dir %load-path)))))) - -(use-modules (guix store) - (guix packages) - ((guix utils) #:select (%current-system)) - (gnu packages) - (gnu packages base) - (gnu packages gawk) - (gnu packages guile) - (gnu packages gettext) - (gnu packages multiprecision) - (gnu packages make-bootstrap) - (srfi srfi-1) - (srfi srfi-26) - (ice-9 match)) - -;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output -;; port to the bit bucket, let us write to the error port instead. -(setvbuf (current-error-port) _IOLBF) -(set-current-output-port (current-error-port)) - -(define* (package->alist store package system - #:optional (package-derivation package-derivation)) - "Convert PACKAGE to an alist suitable for Hydra." - `((derivation . ,(package-derivation store package system)) - (description . ,(package-synopsis package)) - (long-description . ,(package-description package)) - (license . ,(package-license package)) - (home-page . ,(package-home-page package)) - (maintainers . ("bug-guix@gnu.org")))) - -(define (package-job store job-name package system) - "Return a job called JOB-NAME that builds PACKAGE on SYSTEM." - `(,job-name . ,(cut package->alist store package system))) - -(define (package-cross-job store job-name package target system) - "Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on -SYSTEM." - `(,(symbol-append (string->symbol target) (string->symbol ".") job-name) . - ,(cute package->alist store package system - (cut package-cross-derivation <> <> target <>)))) - -(define %packages-to-cross-build - (list gmp mpfr mpc coreutils findutils diffutils patch sed grep - gawk gettext hello guile-2.0 - ;; %bootstrap-binaries-tarball - ;; %binutils-bootstrap-tarball - ;; %glibc-bootstrap-tarball - ;; %gcc-bootstrap-tarball - ;; %guile-bootstrap-tarball - )) - -(define %cross-targets - '("mips64el-linux-gnu")) - -(define (hydra-jobs store arguments) - "Return Hydra jobs." - (define system - (or (assoc-ref arguments system) - (%current-system))) - - (define job-name - (compose string->symbol package-full-name)) - - (define cross-jobs - (append-map (lambda (target) - (map (lambda (package) - (package-cross-job store (job-name package) - package target system)) - %packages-to-cross-build)) - %cross-targets)) - - ;; Return one job for each package, except bootstrap packages. - (let ((base-packages (delete-duplicates - (append-map (match-lambda - ((_ package _ ...) - (match (package-transitive-inputs - package) - (((_ inputs _ ...) ...) - inputs)))) - %final-inputs)))) - (fold-packages (lambda (package result) - (if (member package base-packages) - result - (cons (package-job store (job-name package) - package system) - result))) - cross-jobs))) -- cgit v1.2.3