Commit | Line | Data |
---|---|---|
233e7676 LC |
1 | # GNU Guix --- Functional package management for GNU |
2 | # Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> | |
f2499672 | 3 | # Copyright © 2013 Andreas Enge <andreas@enge.fr> |
af51c820 | 4 | # |
233e7676 | 5 | # This file is part of GNU Guix. |
af51c820 | 6 | # |
233e7676 | 7 | # GNU Guix is free software; you can redistribute it and/or modify it |
af51c820 LC |
8 | # under the terms of the GNU General Public License as published by |
9 | # the Free Software Foundation; either version 3 of the License, or (at | |
10 | # your option) any later version. | |
11 | # | |
233e7676 | 12 | # GNU Guix is distributed in the hope that it will be useful, but |
af51c820 LC |
13 | # WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | # GNU General Public License for more details. | |
16 | # | |
17 | # You should have received a copy of the GNU General Public License | |
233e7676 | 18 | # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
af51c820 | 19 | |
c52a5bf0 | 20 | bin_SCRIPTS = \ |
e49951eb | 21 | scripts/guix |
14a1c319 | 22 | |
58867ae7 MW |
23 | nodist_noinst_SCRIPTS = \ |
24 | pre-inst-env \ | |
25 | test-env | |
26 | ||
af51c820 | 27 | MODULES = \ |
e49951eb MW |
28 | guix/scripts/build.scm \ |
29 | guix/scripts/download.scm \ | |
30 | guix/scripts/import.scm \ | |
31 | guix/scripts/package.scm \ | |
32 | guix/scripts/gc.scm \ | |
f651b477 | 33 | guix/scripts/pull.scm \ |
ddc29a78 | 34 | guix/base32.scm \ |
73fbb904 | 35 | guix/utils.scm \ |
af51c820 | 36 | guix/derivations.scm \ |
62cab99c | 37 | guix/download.scm \ |
22189ed1 | 38 | guix/gnu-maintenance.scm \ |
838d78e3 | 39 | guix/licenses.scm \ |
208f7cd1 LC |
40 | guix/build-system.scm \ |
41 | guix/build-system/gnu.scm \ | |
08fd1ebe | 42 | guix/build-system/perl.scm \ |
be13fbfa | 43 | guix/build-system/trivial.scm \ |
457dd86d | 44 | guix/ftp-client.scm \ |
af51c820 | 45 | guix/store.scm \ |
073c34d7 | 46 | guix/ui.scm \ |
62cab99c | 47 | guix/build/download.scm \ |
af51c820 | 48 | guix/build/gnu-build-system.scm \ |
08fd1ebe | 49 | guix/build/perl-build-system.scm \ |
1273d44a | 50 | guix/build/utils.scm \ |
c8c88afa | 51 | guix/build/union.scm \ |
e3ce5d70 | 52 | guix/packages.scm \ |
10226c05 | 53 | guix/snix.scm \ |
e3ce5d70 | 54 | guix.scm \ |
59a43334 | 55 | gnu/packages.scm \ |
1ffa7090 LC |
56 | gnu/packages/acl.scm \ |
57 | gnu/packages/algebra.scm \ | |
58 | gnu/packages/aspell.scm \ | |
59 | gnu/packages/attr.scm \ | |
60 | gnu/packages/autotools.scm \ | |
c50cbfd6 | 61 | gnu/packages/avahi.scm \ |
1ffa7090 LC |
62 | gnu/packages/base.scm \ |
63 | gnu/packages/bash.scm \ | |
64 | gnu/packages/bdb.scm \ | |
65 | gnu/packages/bdw-gc.scm \ | |
66 | gnu/packages/bison.scm \ | |
67 | gnu/packages/bootstrap.scm \ | |
6064c4cd | 68 | gnu/packages/cdrom.scm \ |
7bf56918 | 69 | gnu/packages/cflow.scm \ |
1ffa7090 | 70 | gnu/packages/check.scm \ |
b6a64843 | 71 | gnu/packages/cmake.scm \ |
1ffa7090 LC |
72 | gnu/packages/compression.scm \ |
73 | gnu/packages/cpio.scm \ | |
47a9cb95 | 74 | gnu/packages/cppi.scm \ |
6b9105e5 | 75 | gnu/packages/curl.scm \ |
1ffa7090 LC |
76 | gnu/packages/cyrus-sasl.scm \ |
77 | gnu/packages/dejagnu.scm \ | |
78 | gnu/packages/ddrescue.scm \ | |
79 | gnu/packages/ed.scm \ | |
80 | gnu/packages/emacs.scm \ | |
563e8b39 | 81 | gnu/packages/fdisk.scm \ |
1ffa7090 LC |
82 | gnu/packages/file.scm \ |
83 | gnu/packages/flex.scm \ | |
a86177d6 | 84 | gnu/packages/fontutils.scm \ |
1ffa7090 | 85 | gnu/packages/gawk.scm \ |
e9c0b944 | 86 | gnu/packages/gcc.scm \ |
1ffa7090 LC |
87 | gnu/packages/gdb.scm \ |
88 | gnu/packages/gdbm.scm \ | |
89 | gnu/packages/gettext.scm \ | |
bf4018fb | 90 | gnu/packages/ghostscript.scm \ |
3889a82e | 91 | gnu/packages/glib.scm \ |
1ffa7090 LC |
92 | gnu/packages/global.scm \ |
93 | gnu/packages/gnupg.scm \ | |
94 | gnu/packages/gnutls.scm \ | |
95 | gnu/packages/gperf.scm \ | |
9c63fe6c | 96 | gnu/packages/gprolog.scm \ |
23180beb | 97 | gnu/packages/groff.scm \ |
65d8b777 | 98 | gnu/packages/grub.scm \ |
1ffa7090 LC |
99 | gnu/packages/gsasl.scm \ |
100 | gnu/packages/guile.scm \ | |
101 | gnu/packages/help2man.scm \ | |
102 | gnu/packages/icu4c.scm \ | |
103 | gnu/packages/idutils.scm \ | |
104 | gnu/packages/indent.scm \ | |
f1d2872c | 105 | gnu/packages/irssi.scm \ |
1ffa7090 LC |
106 | gnu/packages/ld-wrapper.scm \ |
107 | gnu/packages/less.scm \ | |
df84950e | 108 | gnu/packages/libapr.scm \ |
4cdbdd44 | 109 | gnu/packages/libdaemon.scm \ |
6b32a64a | 110 | gnu/packages/libevent.scm \ |
1ffa7090 LC |
111 | gnu/packages/libffi.scm \ |
112 | gnu/packages/libidn.scm \ | |
113 | gnu/packages/libjpeg.scm \ | |
23f339dd | 114 | gnu/packages/libpng.scm \ |
1ffa7090 LC |
115 | gnu/packages/libsigsegv.scm \ |
116 | gnu/packages/libtiff.scm \ | |
117 | gnu/packages/libunistring.scm \ | |
118 | gnu/packages/libusb.scm \ | |
57f662ad | 119 | gnu/packages/libunwind.scm \ |
1ffa7090 | 120 | gnu/packages/linux.scm \ |
f09d925b | 121 | gnu/packages/linux-initrd.scm \ |
1ffa7090 LC |
122 | gnu/packages/lout.scm \ |
123 | gnu/packages/lsh.scm \ | |
938081b9 | 124 | gnu/packages/lsof.scm \ |
712e6e68 | 125 | gnu/packages/lua.scm \ |
1ffa7090 LC |
126 | gnu/packages/m4.scm \ |
127 | gnu/packages/mailutils.scm \ | |
128 | gnu/packages/make-bootstrap.scm \ | |
129 | gnu/packages/mit-krb5.scm \ | |
d464e725 | 130 | gnu/packages/mp3.scm \ |
1ffa7090 LC |
131 | gnu/packages/multiprecision.scm \ |
132 | gnu/packages/mysql.scm \ | |
133 | gnu/packages/nano.scm \ | |
134 | gnu/packages/ncurses.scm \ | |
05bf6f82 | 135 | gnu/packages/netpbm.scm \ |
1ffa7090 | 136 | gnu/packages/nettle.scm \ |
d192efae | 137 | gnu/packages/ocaml.scm \ |
6a06172b | 138 | gnu/packages/oggvorbis.scm \ |
2a75d4e6 AE |
139 | gnu/packages/openldap.scm \ |
140 | gnu/packages/openssl.scm \ | |
e04f30e0 | 141 | gnu/packages/parted.scm \ |
2d73db7a | 142 | gnu/packages/patchelf.scm \ |
10d1822b | 143 | gnu/packages/pcre.scm \ |
135eb524 | 144 | gnu/packages/pdf.scm \ |
1ffa7090 LC |
145 | gnu/packages/perl.scm \ |
146 | gnu/packages/pkg-config.scm \ | |
df77a462 | 147 | gnu/packages/popt.scm \ |
1ffa7090 LC |
148 | gnu/packages/pth.scm \ |
149 | gnu/packages/python.scm \ | |
b15fcf9e | 150 | gnu/packages/qemu.scm \ |
1ffa7090 LC |
151 | gnu/packages/readline.scm \ |
152 | gnu/packages/recutils.scm \ | |
153 | gnu/packages/rsync.scm \ | |
a40f1543 | 154 | gnu/packages/samba.scm \ |
1ffa7090 | 155 | gnu/packages/scheme.scm \ |
6c3a7204 | 156 | gnu/packages/screen.scm \ |
1ffa7090 | 157 | gnu/packages/shishi.scm \ |
54845460 | 158 | gnu/packages/smalltalk.scm \ |
97715602 | 159 | gnu/packages/sqlite.scm \ |
2fbf053b | 160 | gnu/packages/ssh.scm \ |
59db0194 | 161 | gnu/packages/subversion.scm \ |
1ffa7090 LC |
162 | gnu/packages/system.scm \ |
163 | gnu/packages/tcl.scm \ | |
16fd1db5 | 164 | gnu/packages/tcsh.scm \ |
1ffa7090 | 165 | gnu/packages/texinfo.scm \ |
eb0119ef | 166 | gnu/packages/texlive.scm \ |
1ffa7090 | 167 | gnu/packages/time.scm \ |
b1426f17 | 168 | gnu/packages/tmux.scm \ |
7f08437b | 169 | gnu/packages/tor.scm \ |
eb490858 | 170 | gnu/packages/vim.scm \ |
49f24f41 | 171 | gnu/packages/vpn.scm \ |
bd5ecea6 | 172 | gnu/packages/w3m.scm \ |
8c3c896d | 173 | gnu/packages/wdiff.scm \ |
1ffa7090 LC |
174 | gnu/packages/wget.scm \ |
175 | gnu/packages/which.scm \ | |
176 | gnu/packages/xml.scm \ | |
b8d3511a | 177 | gnu/packages/zile.scm \ |
04086015 LC |
178 | gnu/packages/zip.scm \ |
179 | gnu/system/vm.scm | |
af51c820 | 180 | |
855a8ad7 LC |
181 | # Because of the autoload hack in (guix build download), we must build it |
182 | # first to avoid errors on systems where (gnutls) is unavailable. | |
183 | guix/scripts/download.go: guix/build/download.go | |
c44899a2 | 184 | |
00e219d1 | 185 | GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go |
af51c820 | 186 | |
800cdeef LC |
187 | nobase_dist_guilemodule_DATA = $(MODULES) |
188 | ||
1ffa7090 | 189 | patchdir = $(guilemoduledir)/gnu/packages/patches |
7cd1d7bd LC |
190 | dist_patch_DATA = \ |
191 | gnu/packages/patches/automake-skip-amhello-tests.patch \ | |
192 | gnu/packages/patches/bigloo-gc-shebangs.patch \ | |
193 | gnu/packages/patches/binutils-ld-new-dtags.patch \ | |
b6a64843 | 194 | gnu/packages/patches/cmake-fix-tests.patch \ |
7cd1d7bd LC |
195 | gnu/packages/patches/cpio-gets-undeclared.patch \ |
196 | gnu/packages/patches/diffutils-gets-undeclared.patch \ | |
197 | gnu/packages/patches/emacs-configure-sh.patch \ | |
9ae7865e AE |
198 | gnu/packages/patches/findutils-absolute-paths.patch \ |
199 | gnu/packages/patches/flac-fix-memcmp-not-declared.patch \ | |
7cd1d7bd LC |
200 | gnu/packages/patches/flex-bison-tests.patch \ |
201 | gnu/packages/patches/gawk-shell.patch \ | |
202 | gnu/packages/patches/gettext-gets-undeclared.patch \ | |
203 | gnu/packages/patches/glib-tests-desktop.patch \ | |
204 | gnu/packages/patches/glib-tests-homedir.patch \ | |
785db4d8 | 205 | gnu/packages/patches/glib-tests-prlimit.patch \ |
7cd1d7bd LC |
206 | gnu/packages/patches/glib-tests-timezone.patch \ |
207 | gnu/packages/patches/glibc-bootstrap-system.patch \ | |
208 | gnu/packages/patches/glibc-no-ld-so-cache.patch \ | |
65d8b777 | 209 | gnu/packages/patches/grub-gets-undeclared.patch \ |
7cd1d7bd LC |
210 | gnu/packages/patches/guile-1.8-cpp-4.5.patch \ |
211 | gnu/packages/patches/guile-default-utf8.patch \ | |
6956067b | 212 | gnu/packages/patches/guile-linux-syscalls.patch \ |
7cd1d7bd | 213 | gnu/packages/patches/guile-relocatable.patch \ |
785db4d8 | 214 | gnu/packages/patches/libapr-skip-getservbyname-test.patch \ |
7cd1d7bd LC |
215 | gnu/packages/patches/libevent-dns-tests.patch \ |
216 | gnu/packages/patches/libtool-skip-tests.patch \ | |
217 | gnu/packages/patches/lsh-guile-compat.patch \ | |
218 | gnu/packages/patches/lsh-no-root-login.patch \ | |
219 | gnu/packages/patches/lsh-pam-service-name.patch \ | |
220 | gnu/packages/patches/m4-gets-undeclared.patch \ | |
221 | gnu/packages/patches/m4-readlink-EINVAL.patch \ | |
222 | gnu/packages/patches/m4-s_isdir.patch \ | |
223 | gnu/packages/patches/make-impure-dirs.patch \ | |
250b0404 | 224 | gnu/packages/patches/mcron-install.patch \ |
7cd1d7bd LC |
225 | gnu/packages/patches/perl-no-sys-dirs.patch \ |
226 | gnu/packages/patches/procps-make-3.82.patch \ | |
161ed547 | 227 | gnu/packages/patches/qemu-multiple-smb-shares.patch \ |
7cd1d7bd LC |
228 | gnu/packages/patches/readline-link-ncurses.patch \ |
229 | gnu/packages/patches/shishi-gets-undeclared.patch \ | |
e5c0701f | 230 | gnu/packages/patches/tar-gets-undeclared.patch \ |
785db4d8 | 231 | gnu/packages/patches/tcsh-fix-autotest.patch \ |
49f24f41 | 232 | gnu/packages/patches/teckit-cstdio.patch \ |
bd5ecea6 NK |
233 | gnu/packages/patches/vpnc-script.patch \ |
234 | gnu/packages/patches/w3m-fix-compile.patch | |
d7672884 | 235 | |
1ffa7090 | 236 | bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap |
ac5aa288 | 237 | bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux |
d25468bc | 238 | bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux |
ac5aa288 LC |
239 | |
240 | dist_bootstrap_x86_64_linux_DATA = \ | |
1ffa7090 LC |
241 | gnu/packages/bootstrap/x86_64-linux/bash \ |
242 | gnu/packages/bootstrap/x86_64-linux/mkdir \ | |
243 | gnu/packages/bootstrap/x86_64-linux/tar \ | |
244 | gnu/packages/bootstrap/x86_64-linux/xz | |
ac5aa288 | 245 | |
d25468bc | 246 | dist_bootstrap_i686_linux_DATA = \ |
1ffa7090 LC |
247 | gnu/packages/bootstrap/i686-linux/bash \ |
248 | gnu/packages/bootstrap/i686-linux/mkdir \ | |
249 | gnu/packages/bootstrap/i686-linux/tar \ | |
250 | gnu/packages/bootstrap/i686-linux/xz | |
d25468bc | 251 | |
ac5aa288 LC |
252 | # Big bootstrap binaries are not included in the tarball. Instead, they |
253 | # are downloaded. | |
254 | nodist_bootstrap_x86_64_linux_DATA = \ | |
1ffa7090 | 255 | gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz |
d25468bc | 256 | nodist_bootstrap_i686_linux_DATA = \ |
1ffa7090 | 257 | gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz |
ac5aa288 | 258 | |
5992f213 LC |
259 | # Those files must remain executable, so they remain executable once |
260 | # imported into the store. | |
261 | install-data-hook: | |
262 | chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz} | |
263 | ||
d25468bc LC |
264 | DISTCLEANFILES = \ |
265 | $(nodist_bootstrap_x86_64_linux_DATA) \ | |
266 | $(nodist_bootstrap_i686_linux_DATA) | |
ac5aa288 LC |
267 | |
268 | # Method to download a file from an external source. | |
269 | DOWNLOAD_FILE = \ | |
270 | GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \ | |
671d8f5e | 271 | $(GUILE) --no-auto-compile -L "$(top_builddir)" -L "$(top_srcdir)" \ |
ac5aa288 LC |
272 | "$(top_srcdir)/build-aux/download.scm" |
273 | ||
1ffa7090 | 274 | gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz: |
735bb2af | 275 | $(MKDIR_P) `dirname "$@"` |
79580eb6 | 276 | $(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c" |
1ffa7090 | 277 | gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz: |
735bb2af | 278 | $(MKDIR_P) `dirname "$@"` |
79580eb6 | 279 | $(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c" |
ac5aa288 | 280 | |
00e219d1 | 281 | nobase_nodist_guilemodule_DATA = $(GOBJECTS) guix/config.scm |
af51c820 LC |
282 | |
283 | TESTS = \ | |
ddc29a78 | 284 | tests/base32.scm \ |
af51c820 LC |
285 | tests/builders.scm \ |
286 | tests/derivations.scm \ | |
299112d3 | 287 | tests/ui.scm \ |
e3ce5d70 | 288 | tests/utils.scm \ |
b0e0d0e9 | 289 | tests/build-utils.scm \ |
c8c88afa | 290 | tests/packages.scm \ |
10226c05 | 291 | tests/snix.scm \ |
3259877d | 292 | tests/store.scm \ |
97298ffa | 293 | tests/union.scm \ |
0afdc485 | 294 | tests/guix-build.sh \ |
37d19403 | 295 | tests/guix-download.sh \ |
fe8ff028 | 296 | tests/guix-gc.sh \ |
0afdc485 | 297 | tests/guix-package.sh |
af51c820 | 298 | |
97298ffa LC |
299 | TEST_EXTENSIONS = .scm .sh |
300 | ||
352ec143 LC |
301 | AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)" |
302 | ||
69cfce50 | 303 | SCM_LOG_COMPILER = $(top_builddir)/test-env $(GUILE) |
97298ffa LC |
304 | AM_SCM_LOG_FLAGS = --no-auto-compile -L "$(top_srcdir)" |
305 | ||
69cfce50 | 306 | SH_LOG_COMPILER = $(top_builddir)/test-env $(SHELL) |
97298ffa | 307 | AM_SH_LOG_FLAGS = -x -e |
af51c820 | 308 | |
ed795c06 | 309 | EXTRA_DIST = \ |
450ccdc3 | 310 | HACKING \ |
b6dd891c | 311 | ROADMAP \ |
6b8875c8 | 312 | TODO \ |
1722d680 | 313 | .dir-locals.el \ |
8c0e5b1e | 314 | hydra.scm \ |
ac5aa288 | 315 | build-aux/download.scm \ |
ed795c06 LC |
316 | srfi/srfi-64.scm \ |
317 | srfi/srfi-64.upstream.scm \ | |
d95c0113 | 318 | tests/test.drv \ |
ed795c06 | 319 | build-aux/config.rpath \ |
b49ffe2d | 320 | bootstrap \ |
ed795c06 LC |
321 | release.nix \ |
322 | $(TESTS) | |
d7672884 | 323 | |
af51c820 LC |
324 | CLEANFILES = $(GOBJECTS) *.log |
325 | ||
a69b7ad2 LC |
326 | # XXX: Use the C locale for when Guile lacks |
327 | # <http://git.sv.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=e2c6bf3866d1186c60bacfbd4fe5037087ee5e3f>. | |
af51c820 LC |
328 | .scm.go: |
329 | $(MKDIR_P) `dirname "$@"` | |
a69b7ad2 | 330 | LC_ALL=C \ |
671d8f5e LC |
331 | $(top_builddir)/pre-inst-env \ |
332 | $(GUILD) compile -L "$(top_builddir)" -L "$(top_srcdir)" \ | |
333 | -Wformat -Wunbound-variable -Warity-mismatch \ | |
334 | --target="$(host)" \ | |
af51c820 LC |
335 | -o "$@" "$<" |
336 | ||
337 | SUFFIXES = .go | |
338 | ||
339 | # Make sure source files are installed first, so that the mtime of | |
340 | # installed compiled files is greater than that of installed source | |
341 | # files. See | |
342 | # <http://lists.gnu.org/archive/html/guile-devel/2010-07/msg00125.html> | |
343 | # for details. | |
344 | guix_install_go_files = install-nobase_nodist_guilemoduleDATA | |
345 | $(guix_install_go_files): install-nobase_dist_guilemoduleDATA | |
f68b0893 LC |
346 | |
347 | SUBDIRS = po | |
348 | ||
568717fd LC |
349 | info_TEXINFOS = doc/guix.texi |
350 | EXTRA_DIST += doc/fdl-1.3.texi | |
351 | ||
c2033df4 LC |
352 | if BUILD_DAEMON |
353 | ||
354 | include daemon.am | |
355 | ||
356 | endif BUILD_DAEMON | |
357 | ||
f68b0893 | 358 | ACLOCAL_AMFLAGS = -I m4 |
e76bdf8b | 359 | AM_DISTCHECK_CONFIGURE_FLAGS = \ |
d388c2c4 | 360 | --with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \ |
aca54b39 LC |
361 | --with-nix-prefix="$(NIX_PREFIX)" \ |
362 | --enable-daemon |