Commit graph

667 commits

Author SHA1 Message Date
Ludovic Courtès
0d39a3b989
Add (guix channels) and use it in (guix scripts pull).
* guix/channels.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/pull.scm: Use it.
(%default-options): Remove 'repository-url' and 'ref'.
(show-help, %options): Add '--channels'.
(%self-build-file, %pull-version, build-from-source)
(whole-package-for-legacy, derivation->manifest-entry): Remove.  These
now exist in a similar form in (guix channels).
(build-and-install): Change 'source' to 'instances'.  Remove #:url,
 #:branch, and #:commit.  Rewrite using 'channel-instances->manifest'.
(channel-list): New procedure.
(guix-pull): Parameterize %REPOSITORY-CACHE-DIRECTORY.  Call
'honor-lets-encrypt-certificates!' unconditionally.  Load
~/.config/guix/channels.scm.  Rewrite to use (guix channels).
[use-le-certs?]: Remove.
* po/guix/POTFILES.in: Add (guix channels).
* doc/guix.texi (Invoking guix pull): Group the description of '--url',
'--commit', and '--branch'.  Remove mention of 'GUIX_PULL_URL'.  Add
references to "Channels".  Document '--channels'.
(Channels): New node.
(Defining Packages): Link to "Channels" instead of "Package Modules".
(Invoking guix edit): Link to "Package Modules" instead of "Defining
Packages".
(Package Modules): Document both GUIX_PACKAGE_PATH and channels.
2018-09-02 16:51:40 +02:00
Ludovic Courtès
fe634eaf93
Add (guix describe) and use it to initialize '%package-search-path'.
* guix/describe.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages.scm (%default-package-module-path): New variable.
(%package-module-path): Honor 'package-path-entries'.
* build-aux/update-NEWS.scm (main): Use %DEFAULT-PACKAGE-MODULE-PATH
instead of (last (%package-module-path)).
2018-09-02 16:43:10 +02:00
Ludovic Courtès
93c333895a
grafts: Add (guix build debug-link) and use it.
Fixes <https://bugs.gnu.org/19973>.
Reported by Mark H Weaver <mhw@netris.org>.

* guix/build/debug-link.scm: New file.
* guix/build/graft.scm (%graft-hooks): New variable.
(graft): Add #:hooks and honor it.
* guix/grafts.scm (graft-derivation/shallow): Add (guix build
debug-link) and (guix elf) to #:modules.
* tests/debug-link.scm: New file.
* Makefile.am (MODULES): Add guix/build/debug-link.scm.
(SCM_TESTS): Add tests/debug-link.scm.
2018-08-24 18:01:05 +02:00
Mark H Weaver
3004f1c69b
gnu: linux-libre: Update to 4.18.1.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.18.1.
(%linux-libre-hash): Update hash.
(%linux-libre-patches): New variable.
(linux-libre): Add %linux-libre-patches.
* gnu/packages/aux-files/linux-libre/4.17-arm.conf,
gnu/packages/aux-files/linux-libre/4.17-arm64.conf,
gnu/packages/aux-files/linux-libre/4.17-i686.conf,
gnu/packages/aux-files/linux-libre/4.17-x86_64.conf: Delete files.
* gnu/packages/aux-files/linux-libre/4.18-arm.conf,
gnu/packages/aux-files/linux-libre/4.18-arm64.conf,
gnu/packages/aux-files/linux-libre/4.18-i686.conf,
gnu/packages/aux-files/linux-libre/4.18-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Update accordingly.
2018-08-18 06:19:31 -04:00
Ludovic Courtès
2a3b1b3235
build-system: Add 'guile-build-system'.
* guix/build-system/guile.scm, guix/build/guile-build-system.scm: New
files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'guile-build-system'.
2018-07-23 12:25:31 +02:00
Ludovic Courtès
02d7e9417d
build: Remove copy of (srfi srfi-64).
SRFI-64 was added in Guile 2.0.10 and we require 2.0.13 or newer.

* Makefile.am (EXTRA_DIST): Remove srfi/*.
* srfi: Remove directory.
2018-07-18 00:22:33 +02:00
Ludovic Courtès
2ca299caf6
Add (guix inferior) and (guix scripts repl).
* guix/inferior.scm, guix/scripts/repl.scm, tests/inferior.scm: New
files.
* Makefile.am (MODULES): Add 'guix/scripts/repl.scm' and
'guix/inferior.scm'.
(SCM_TESTS): Add 'tests/inferior.scm'.
* doc/guix.texi (Invoking guix repl): New node.
2018-07-13 17:28:39 +02:00
Julien Lepiller
b24443bff9
guix: Add opam importer.
* guix/scripts/import.scm (importers): Add opam.
* guix/scripts/import/opam.scm: New file.
* guix/import/opam.scm: New file.
* tests/opam.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi (Invoking guix import): Document it.
2018-07-10 10:11:01 +02:00
Mark H Weaver
cc78392923
gnu: Remove linux-libre@4.1.
* gnu/packages/linux.scm (linux-libre-4.1): Remove variable.
* gnu/packages/aux-files/linux-libre/4.1-i686.conf,
gnu/packages/aux-files/linux-libre/4.1-x86_64.conf: Delete files.
* Makefile.am (AUX_FILES): Remove them.
2018-07-04 19:30:06 -04:00
Oleg Pykhalov
bba0fa2499
Add guix-daemon Bash completion file.
* etc/completion/bash/guix-daemon: New file.
* Makefile.am (dist_bashcompletion_DATA): Add this.
2018-06-16 21:23:11 +03:00
Ludovic Courtès
ea0a06cee2
Remove 'guix-register' and its traces.
* Makefile.am (SH_TESTS): Remove tests/guix-register.sh.
* build-aux/pre-inst-env.in (GUIX_REGISTER): Remove.
* gnu/build/install.scm (directives): Remove outdated comment.
* gnu/build/vm.scm (root-partition-initializer): Update comment.
* gnu/packages/package-management.scm (guix-register): Remove.
* guix/config.scm.in (%sbindir, %guix-register-program): Remove.
* guix/scripts/system.scm (install): Adjust docstring.
* guix/self.scm (make-config.scm): Remove #:guix.  Do not generate
%sbindir and %guix-register-program.
(specification->package): Remove "guix".
* nix/guix-register/guix-register.cc: Remove.
* nix/libstore/store-api.cc (decodeValidPathInfo): Remove.
* nix/libstore/store-api.hh (decodeValidPathInfo): Remove declaration.
* nix/local.mk (sbin_PROGRAMS, guix_register_SOURCES)
(guix_register_CPPFLAGS, guix_register_LDFLAGS): Remove.
* tests/guix-register.sh: Remove.
2018-06-14 11:17:00 +02:00
Ludovic Courtès
c5a2e1ffcb
build: Require Guile-SQLite3.
The next commits make (sqlite3) an indirect dependency of (gnu build
install), which is itself used by (guix scripts system), hence this new
requirement.

* configure.ac: Error out when $guix_cv_have_recent_guile_sqlite3 is
false.  Remove HAVE_GUILE_SQLITE3 Automake conditional.
* Makefile.am (MODULES, SCM_TESTS): Remove HAVE_GUILE_SQLITE3 conditions.
* doc/guix.texi (Requirements): Add Guile-SQLite3.
* README: Ditto.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-SQLITE3.
[arguments]: In 'wrap-program' phase, take guile-sqlite3 into account.
2018-06-14 11:16:58 +02:00
Ludovic Courtès
3931c76154
database: 'with-database' can now initialize new databases.
* nix/libstore/schema.sql: Rename to...
* guix/store/schema.sql: ... this.
* Makefile.am (nobase_dist_guilemodule_DATA): Add it.
* nix/local.mk (%D%/libstore/schema.sql.hh): Adjust accordingly.
* guix/store/database.scm (sql-schema): New variable.
(sqlite-exec, initialize-database, call-with-database): New procedures.
(with-database): Rewrite in terms of 'call-with-database'.
* tests/store-database.scm ("new database"): New test.
* guix/self.scm (compiled-guix)[*core-modules*]: Add 'schema.sql' to
 #:extra-files.
2018-06-14 11:16:58 +02:00
Mark H Weaver
db89d31876
gnu: linux-libre: Update to 4.17.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.17.
(%linux-libre-hash): Update hash.
* gnu/packages/aux-files/linux-libre/4.16-arm.conf,
gnu/packages/aux-files/linux-libre/4.16-arm64.conf,
gnu/packages/aux-files/linux-libre/4.16-i686.conf,
gnu/packages/aux-files/linux-libre/4.16-x86_64.conf: Delete files.
* gnu/packages/aux-files/linux-libre/4.17-arm.conf,
gnu/packages/aux-files/linux-libre/4.17-arm64.conf,
gnu/packages/aux-files/linux-libre/4.17-i686.conf,
gnu/packages/aux-files/linux-libre/4.17-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Adjust accordingly.
2018-06-05 17:21:03 -04:00
Caleb Ristvedt
bf5bf5778c
Add (guix store deduplication).
* guix/store/database.scm (register-path): Add #:deduplicate? and call
'deduplicate' when it's true.
(counting-wrapper-port, nar-sha256): Move to...
* guix/store/deduplication.scm: ... here.  New file.
* tests/store-deduplication.scm: New file.
* Makefile.am (STORE_MODULES): Add deduplication.scm.
(SCM_TESTS) [HAVE_GUILE_SQLITE3]: Add store-deduplication.scm.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2018-06-01 15:35:54 +02:00
Caleb Ristvedt
7f9d184d9b
Add (gnu store database).
* guix/config.scm.in (%store-database-directory): New variable.
* guix/store/database.scm: New file.
* tests/store-database.scm: New file.
* Makefile.am (STORE_MODULES): New variable.
(MODULES, MODULES_NOT_COMPILED): Adjust accordingly.
(SCM_TESTS) [HAVE_GUILE_SQLITE3]: Add tests/store-database.scm.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2018-06-01 15:35:32 +02:00
Vagrant Cascadian
5a9dc4a807
gnu: linux-libre: Enable build for aarch64-linux.
* gnu/packages/linux.scm (%linux-compatible-systems): Add aarch64-linux.
  (linux-libre-4.14): Limit to x86_64-linux, i686-linux and armhf-linux.
* gnu/packages/aux-files/linux-libre/4.16-arm64.conf: New file.
* Makefile.am (AUX_FILES): Add 4.16-arm64.conf.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-05-21 00:12:02 +02:00
Ludovic Courtès
47a60325ca
pack: Add '--relocatable'.
* gnu/packages/aux-files/run-in-namespace.c: New file.
* Makefile.am (AUX_FILES): Add it.
* guix/scripts/pack.scm (<c-compiler>): New record type.
(c-compiler, bootstrap-c-compiler, c-compiler-compiler): New procedures.
(self-contained-tarball): Use
'relative-file-name' for the SOURCE -> TARGET symlink.
(docker-image): Add 'defmod' to please Geiser.
(wrapped-package, map-manifest-entries): New procedures.
(%options, show-help): Add --relocatable.
(guix-pack): Honor it.
2018-05-10 14:53:57 +02:00
Danny Milosavljevic
436515cdb8
build: Add the Android NDK build-system.
* guix/build-system/android-ndk.scm: New file.
* guix/build/android-ndk-build-system.scm: New file.
* Makefile.am: Add them.
2018-05-09 19:16:04 +02:00
Julien Lepiller
39764ef893
build: Use only one domain for guix-manual.
* Makefile.am (assert-no-store-file-names): Exclude guix-manual.
* po/doc/guix.pot po/doc/contributing.pot: Merge into...
* po/doc/guix-manual.pot: ...this.
* po/doc/guix.fr.po po/doc/contributing.fr.po: Merge into...
* po/doc/guix-manual.fr.po: ...this.
* doc/local.mk: Replace old file names.
* po/doc/local.mk: Replace old file names.
2018-04-29 21:42:14 +02:00
Ludovic Courtès
06c4778ae2
build: Add silent rules for Texinfo xref translation.
* Makefile.am (AM_V_POXREF, AM_V_POXREF_, AM_V_POXREF_0): New
variables.
* doc/local.mk ($(srcdir)/%D%/guix.%.texi)
($(srcdir)/%D%/contributing.%.texi): Use $(AM_V_POXREF).
2018-04-25 23:11:53 +02:00
Julien Lepiller
b9fe8fd662
gnu: doc: Allow documentation to be translated.
* po/doc/contributing.pot: New file.
* po/doc/guix.pot: New file.
* po/doc/local.mk: New file.
* Makefile.am: Include it. Add gettext command. Add silent rules for po4a.
* configure.ac: Look for po4a-translate and po4a-updatepo.
* doc/local.mk: Add rules to generate translated texi files.
(TRANSLATED_INFO): New variable.
(BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Add it.
* .gitignore: Add generated files.
2018-04-19 21:30:30 +02:00
Mark H Weaver
99e892a562
gnu: linux-libre: Update to 4.16.1.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.16.1.
(%linux-libre-hash): Update hash.
* gnu/packages/aux-files/linux-libre/4.15-arm.conf,
gnu/packages/aux-files/linux-libre/4.15-i686.conf,
gnu/packages/aux-files/linux-libre/4.15-x86_64.conf: Delete files.
* gnu/packages/aux-files/linux-libre/4.16-arm.conf,
gnu/packages/aux-files/linux-libre/4.16-i686.conf,
gnu/packages/aux-files/linux-libre/4.16-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Update accordingly.
2018-04-11 15:04:54 -04:00
Ludovic Courtès
351f384e57
cuirass: Add job specs for the modular Guix.
* build-aux/cuirass/guix-modular.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2018-04-08 17:48:33 +02:00
Ludovic Courtès
a1ec7540be
cuirass: Factorize hydra-to-cuirass CI job translation.
* build-aux/cuirass/gnu-system.scm: Move code to...
* build-aux/cuirass/hydra-to-cuirass.scm: ... here, and include it.
* Makefile.am (EXTRA_DIST): Add 'build-aux/cuirass/hydra-to-cuirass.scm'
and 'build-aux/cuirass/gnu-system.scm'.
2018-04-08 17:48:33 +02:00
Ludovic Courtès
2cfc8d6964
build: Add 'as-derivation' target.
* build-aux/compile-as-derivation.scm: New file.
* Makefile.am (as-derivation): New target.
(EXTRA_DIST): Add compile-as-derivation.scm.
2018-04-08 17:48:25 +02:00
Ludovic Courtès
eaae07ec28
Add (guix self).
* guix/self.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages.scm (%distro-root-directory): Rewrite to try different
directories.
* guix/discovery.scm (guix): Export 'scheme-files'.
2018-04-08 17:41:08 +02:00
Ludovic Courtès
c92e561299
build: Fix reference to non-existent 'bin/guix.in' in Makefile.am.
Fixes a regression introduced in
cba386c129.
Reported by Julien Lepiller <julien@lepiller.eu>.

* Makefile.am (EXTRA_DIST): Rename 'bin/guix.in' to 'scripts/guix.in'.
2018-03-31 23:30:50 +02:00
Ludovic Courtès
c5e7bca248
build: Build (guix ci) and (guix scripts weather) when HAVE_GUILE_JSON.
* Makefile.am (MODULES): Move guix/ci.scm and guix/scripts/weather.scm
to the HAVE_GUILE_JSON-guarded block.
2018-03-28 17:06:33 +02:00
Ludovic Courtès
b3517f3f9f
Add (guix ci).
* guix/ci.scm: New file.
* Makefile.am (MODULES): Add it.
2018-03-28 16:17:06 +02:00
Chris Marusich
272c070962
tests: Add tests for "guix pack".
* guix/scripts/pack.scm (bootstrap-xz): New variable.
  (%options) <--bootstrap>: New option.
  (show-help): Document the new --bootstrap option.
  (guix-pack): When --bootstrap is specified, use the bootstrap Guile,
  tar, and xz to build the pack, and do not use any profile hooks or
  locales.
* doc/guix.texi (Invoking guix pull): Document the new --bootstrap
  option.
* tests/guix-pack.sh: New file.
* Makefile.am (SH_TESTS): Add guix-pack.sh.
* gnu/packages/package-management.scm (guix) <inputs>: Add util-linux.
2018-03-24 03:04:07 +01:00
ng0
4a78fd4617
Correct name and Email for ng0.
* .mailmap: Correct name and Email for ng0.
* Makefile.am, doc/guix.texi, etc/completion/fish/guix.fish
gnu/packages/accessibility.scm, gnu/packages/admin.scm,
gnu/packages/audio.scm, gnu/packages/autotools.scm,
gnu/packages/cdrom.scm, gnu/packages/check.scm,
gnu/packages/cinnamon.scm, gnu/packages/compression.scm,
gnu/packages/crypto.scm, gnu/packages/databases.scm,
gnu/packages/django.scm, gnu/packages/dns.scm,
gnu/packages/emacs.scm, gnu/packages/enlightenment.scm,
gnu/packages/fonts.scm, gnu/packages/fontutils.scm,
gnu/packages/forth.scm, gnu/packages/fvwm.scm,
gnu/packages/games.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/gnunet.scm,
gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm,
gnu/packages/gtk.scm, gnu/packages/guile-wm.scm,
gnu/packages/guile.scm, gnu/packages/haskell-check.scm,
gnu/packages/haskell-crypto.scm, gnu/packages/haskell.scm,
gnu/packages/image-viewers.scm, gnu/packages/image.scm,
gnu/packages/irc.scm, gnu/packages/language.scm,
gnu/packages/libcanberra.scm, gnu/packages/linux.scm,
gnu/packages/lisp.scm, gnu/packages/lolcode.scm,
gnu/packages/lxde.scm, gnu/packages/lxqt.scm,
gnu/packages/mail.scm, gnu/packages/markup.scm,
gnu/packages/mate.scm, gnu/packages/maths.scm,
gnu/packages/mc.scm, gnu/packages/messaging.scm,
gnu/packages/music.scm, gnu/packages/ncurses.scm,
gnu/packages/networking.scm, gnu/packages/nickle.scm,
gnu/packages/openbox.scm, gnu/packages/pdf.scm,
gnu/packages/perl-check.scm, gnu/packages/perl.scm,
gnu/packages/python-crypto.scm, gnu/packages/python-web.scm,
gnu/packages/python.scm, gnu/packages/qt.scm,
gnu/packages/ruby.scm, gnu/packages/rust.scm,
gnu/packages/scheme.scm, gnu/packages/serialization.scm,
gnu/packages/shells.scm, gnu/packages/ssh.scm,
gnu/packages/suckless.scm, gnu/packages/tbb.scm,
gnu/packages/telephony.scm, gnu/packages/text-editors.scm,
gnu/packages/textutils.scm, gnu/packages/time.scm,
gnu/packages/tls.scm, gnu/packages/tor.scm,
gnu/packages/version-control.scm, gnu/packages/video.scm,
gnu/packages/vim.scm, gnu/packages/web.scm,
gnu/packages/wm.scm, gnu/packages/xdisorg.scm,
gnu/packages/xfce.scm, gnu/packages/xml.scm,
gnu/packages/xorg.scm, gnu/services/certbot.scm,
gnu/services/desktop.scm, gnu/services/version-control.scm,
gnu/services/web.scm, guix/import/hackage.scm,
guix/licenses.scm: Likewise.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2018-03-20 17:17:58 +01:00
Ludovic Courtès
f14c933df1
Add (guix glob).
* guix/glob.scm, tests/glob.scm: New files.
* Makefile.am (MODULES): Add guix/glob.scm.
(SCM_TESTS): Add tests/glob.scm.
2018-03-02 13:46:25 +01:00
Mark H Weaver
efe2a2833c
Merge branch 'master' into core-updates 2018-02-09 01:46:34 -05:00
Ricardo Wurmus
b617a9fe23
etc: Add SELinux policy for the daemon.
* etc/guix-daemon.cil.in: New file.
* Makefile.am (dist_selinux_policy_DATA): Define it.
* configure.ac: Handle --with-selinux-policy-dir.
* doc/guix.texi (SELinux Support): New section.
2018-02-07 15:41:23 +01:00
Marius Bakke
bee7bb315c
Merge branch 'master' into core-updates 2018-02-01 13:18:47 +01:00
Mark H Weaver
adbe6dea33
gnu: linux-libre: Update to 4.15, while retaining 4.14 LTS.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.15.
(%linux-libre-hash): Update hash.
(%linux-libre-arm-generic-4.14, %linux-libre-arm-omap2plus-4.14)
(%linux-libre-4.1-version, %linux-libre-4.1-hash): New variables.
* gnu/packages/aux-files/linux-libre/4.15-arm.conf,
gnu/packages/aux-files/linux-libre/4.15-i686.conf,
gnu/packages/aux-files/linux-libre/4.15-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Add them.
2018-01-30 03:51:21 -05:00
Ricardo Wurmus
6f4e8693e7
etc: Add installation script.
* etc/guix-install.sh: New file.
* Makefile.am (EXTRA_DIST): Add it.
* doc/guix.texi (Binary Installation): Mention it.

Co-authored-by: sharlatan <sharlatanus@gmail.com>
2018-01-30 03:48:04 +01:00
Mark H Weaver
a102d359a6
Merge branch 'master' into core-updates 2018-01-23 17:01:07 -05:00
Mathieu Lirzin
cba386c129
build: Expand ‘scripts/guix’ at Make time.
This moves the complexity of Autotools variable expansion outside of the
application code.

* scripts/guix.in (config-lookup): Delete.
(maybe-augment-load-paths!, run-guix-main): Use fully expanded variables
instead of calling ‘config-lookup’.
* configure.ac: Don't use AC_CONFIG_FILES for ‘scripts/guix’.
Use AC_PROG_SED.
* Makefile.am (scripts/guix): New rule.
(do_subst): New variable.
(CLEANFILES, EXTRA_DIST): Adapt.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2018-01-23 10:13:16 +01:00
Mark H Weaver
e074a655dd
Merge branch 'master' into core-updates 2018-01-19 23:59:20 -05:00
ng0
b83fc85f9f
etc: Add completions for fish.
* etc/completion/fish/guix.fish: New file.
* Makefile.am: Register the file.
* configure.ac: Add the fish vendor-completions directory.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-01-16 16:00:20 +01:00
Marius Bakke
32cd878be0
Merge branch 'master' into core-updates 2017-12-19 01:42:40 +01:00
Mathieu Othacehe
9f1e39d1fc
system: examples: Add a template for BeagleBone Black.
* gnu/system/examples/beaglebone-black.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
* gnu/system/install.scm (/etc/configuration-files): Add it.
2017-12-18 15:28:14 +01:00
Ludovic Courtès
b8396f96bf
profiles: Use (guix man-db) to create the manual database.
Fixes <https://bugs.gnu.org/29654>.
Reported by Ruud van Asseldonk <dev+guix@veniogames.com>.

This also speeds up database creation compared to "man-db
--create" (less than half the time, on a warm cache, for 19k pages.)

* guix/man-db.scm: New file.
* Makefile.am (MODULES_NOT_COMPILED): Add it.
* guix/profiles.scm (manual-database): Rewrite to use (guix man-db).
2017-12-17 16:19:00 +01:00
Ludovic Courtès
03870da819
Add (guix profiling).
* guix/profiling.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/store.scm (record-operation): Use 'profiled?' and
'register-profiling-hook!'.
2017-12-12 18:11:22 +01:00
Marius Bakke
77181815ae
Merge branch 'master' into core-updates 2017-12-05 23:41:30 +01:00
Ludovic Courtès
be5622e7f1
maint: Add 'berlin.guixsd.org.pub'.
* bayfront.guixsd.org.pub: Rename to...
* berlin.guixsd.org.pub: ... this.
* Makefile.am (dist_pkgdata_DATA): Adjust accordingly.
* gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
2017-12-04 17:57:37 +01:00
Ludovic Courtès
aa1d47e72e
maint: Let 'guix system vm-image' determine the right size.
* Makefile.am (GUIXSD_VM_IMAGE_BASE): Remove.
(release): Remoev --image-size argument to 'guix system vm-image'.
2017-12-04 16:35:43 +01:00
Ludovic Courtès
9d163ec133
maint: Add 'aarch64-linux' to the supported systems.
* Makefile.am (SUPPORTED_SYSTEMS): Add aarch64-linux.
2017-12-04 16:35:43 +01:00
Ludovic Courtès
3b6e7c703c
maint: Add the '.iso' extension to installation images.
* Makefile.am (release): Add the '.iso' suffix to image files.
* doc/guix.texi (USB Stick and DVD Installation): Adjust accordingly.
2017-12-04 16:35:43 +01:00
Arun Isaac
3d0aa7f70b
build-system: Add scons-build-system.
* guix/build-system/scons.scm: New file.
* guix/build/scons-build-system.scm: New file.
* Makefile.am (MODULES): Register them.
* doc/guix.texi (Build Systems): Add scons-build-system.
2017-11-30 18:19:31 +05:30
Ludovic Courtès
cd295fbe17
Revert "Add (guix self) and use it when pulling."
This reverts commit 5f93d97005.

'guix pull' would fail because (guix self) needs 'scheme-files'
from (guix discovery), which was not exported until now.
2017-11-21 23:53:10 +01:00
Ludovic Courtès
11a54b3d6e
hydra: Add jobs for the modular Guix.
* build-aux/hydra/guix-modular.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2017-11-21 23:09:17 +01:00
Ludovic Courtès
5f93d97005
Add (guix self) and use it when pulling.
This mitigates <https://bugs.gnu.org/27284>.

* guix/self.scm: New file.
* Makefile.am (MODULES): Add it.
* build-aux/build-self.scm (libgcrypt, zlib, gzip, bzip2, xz)
(false-if-wrong-guile, package-for-current-guile, guile-json)
(guile-ssh, guile-git, guile-bytestructures): Remove.
(build): Rewrite to simply delegate to 'compiled-guix'.
* gnu/packages.scm (%distro-root-directory): Rewrite to try different
directories.
* guix/discovery.scm (guix): Export 'scheme-files'.
* guix/scripts/pull.scm (build-and-install): Split into...
(install-latest): ... this.  New procedure.  And...
(build-and-install): ... this, which now takes a monadic value argument.
(indirect-root-added): Remove.
(guix-pull): Call 'add-indirect-root'.  Call 'build-from-source' and
pass the result to 'build-and-install'.
2017-11-21 23:09:16 +01:00
Marius Bakke
2dd12924cf
Merge branch 'master' into core-updates 2017-11-19 15:01:00 +01:00
Mark H Weaver
c114c9c5d8
gnu: linux-libre: Update to 4.14.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.14.
(%linux-libre-hash): Update hash.
* gnu/packages/aux-files/linux-libre/4.13-arm.conf,
gnu/packages/aux-files/linux-libre/4.13-i686.conf,
gnu/packages/aux-files/linux-libre/4.13-x86_64.conf: Delete files.
* gnu/packages/aux-files/linux-libre/4.14-arm.conf,
gnu/packages/aux-files/linux-libre/4.14-i686.conf,
gnu/packages/aux-files/linux-libre/4.14-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Update accordingly.
2017-11-16 00:03:34 -05:00
Mathieu Othacehe
cfbe7b7f4c
gnu: linux: Add linux-libre arm kernel.
* Makefile.am (AUX_FILES): Add arm config file.
* gnu/packages/aux-files/linux-libre/4.13-arm.conf: New file.
* gnu/packages/linux.scm (%intel-compatible-systems): Rename to
  %linux-compatible-systems and add "armhf-linux".
  (linux-libre): Adapt consequently.

The config file for arm is taken from debian armmp kernel. It's a generic
firmware for ARMv7 multiplatform compatible SoCs.
2017-11-09 20:35:11 +01:00
Ludovic Courtès
37eed374d9
ui: Introduce (guix i18n).
* guix/ui.scm (G_, N_, _P, %gettext-domain, %package-text-domain): Move
to...
* guix/i18n.scm: ... here.  New file.
2017-11-08 22:31:58 +01:00
Eric Bavier
89618fa8b8
build: Conditionally build json importer.
* Makefile.am (MODULES): Add guix/scripts/import/json.scm when HAVE_GUILE_JSON.
2017-11-06 17:27:43 -06:00
Marius Bakke
ca4fd41de8
Merge branch 'master' into core-updates 2017-10-24 22:00:23 +02:00
Ludovic Courtès
2890ad332f
build: Factorize module compilation in (guix build compile).
* guix/build/compile.scm: New file.
* Makefile.am (MODULES): Add it.
* build-aux/compile-all.scm: Use it.
(warnings, file->module, load-module-file)
(%default-optimizations, %lightweight-optimizations)
(optimization-options, compile-file*): Remove.
<top level>: Use 'compile-files'.
* guix/build/pull.scm (%default-optimizations)
(%lightweight-optimizations, optimization-options): Remove.
(build-guix): Rewrite as a call to 'compile-files'.
* guix/discovery.scm (file-name->module-name): Export.
2017-10-22 22:09:00 -07:00
Marius Bakke
119a749db9
Merge branch 'master' into core-updates 2017-10-22 20:12:52 +02:00
Ludovic Courtès
37ce440dcf
download: Download a nar when a VCS checkout fails.
Fixes <https://bugs.gnu.org/28709>.

* guix/build/download-nar.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/cvs-download.scm (cvs-fetch)[zlib, config.scm, modules]: New
variables.
[build]: Use MODULES.  Add call to 'download-nar'.
* guix/git-download.scm (git-fetch): Likewise.
* guix/hg-download.scm (hg-fetch): Likewise.
2017-10-19 23:21:49 +02:00
Ludovic Courtès
8c3488259e
Add (guix progress).
Among other things, this removes (guix utils), (guix ui), (guix config),
etc. from the closure of (guix build download), as was the case since
798648515b.

* guix/utils.scm (<progress-reporter>, call-with-progress-reporter):
Move to...
* guix/progress.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* guix/build/download.scm (current-terminal-columns)
(nearest-exact-integer, duration->seconds, seconds->string)
(byte-count->string, progress-bar, string-pad-middle)
(rate-limited, progress-reporter/file, dump-port*)
(time-monotonic): Move to progress.scm.
* guix/scripts/download.scm: Adjust accordingly.
* guix/scripts/substitute.scm: Likewise.
2017-10-19 23:21:49 +02:00
Thomas Danckaert
8cff2e7aed
Merge 'master' into core-updates 2017-10-16 19:52:30 +02:00
Leo Famulari
91525b486c
build: Add the Go build system.
* guix/build-system/go.scm,
guix/build/go-build-system.scm: New files.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document the go-build-system.
2017-10-12 21:22:40 -04:00
Efraim Flashner
64df08f0cf
Merge remote-tracking branch 'origin/master' into core-updates 2017-10-01 22:16:22 +03:00
Jan Nieuwenhuizen
454caca8e6
cuirass: Add 'cuirass-jobs.scm' target to compute the Cuirass jobs.
* build-aux/hydra/evaluate.scm: Support "cuirass" command line option.
* Makefile.am (cuirass-jobs.scm): New target.
2017-09-28 17:39:54 +02:00
Ricardo Wurmus
fb1db38547
import: Add JSON importer.
* doc/guix.texi (Invoking guix import): Document it.
* guix/scripts/import/json.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/import.scm (importers): Add json importer.
2017-09-28 13:10:11 +02:00
Ricardo Wurmus
68a91a183b
import: Add package->code.
* guix/import/print.scm: New file.
* tests/print.scm: New file.
* Makefile.am (SCM_TESTS): Add new test file.
(MODULES): Add print.scm.
2017-09-28 13:10:10 +02:00
Ludovic Courtès
a95ddf0d07
build: Build (guix import gnome) only when we have Guile-JSON.
* Makefile.am (MODULES): Move guix/import/gnome.scm under "if
HAVE_GUILE_JSON".
2017-09-26 09:29:00 +02:00
Ludovic Courtès
c1d8b3b3b5
upstream: Add new GNOME updater.
Partly fixes <https://bugs.gnu.org/28159>.
Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>.

* guix/import/gnome.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/gnu-maintenance.scm (latest-gnome-release)
(%gnome-updater): Remove.
2017-09-26 00:35:06 +02:00
Peter Mikkelsen
07c101e221
build-system: Add 'meson-build-system'.
* Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and
'guix/build/meson-build-system.scm'.
* guix/build-system/meson.scm: New file.
* guix/build/meson-build-system.scm: New file.
* doc/guix.texi (Build Systems): Add 'meson-build-system'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-16 18:07:00 +02:00
Ludovic Courtès
0649321d91
guix system: Add 'search' command.
* guix/scripts/system.scm (resolve-subcommand): New procedure.
(process-command): Handle 'search'.
(guix-system): Likewise.
(show-help): Augment.
* guix/scripts/system/search.scm: New file.
* po/guix/POTFILES.in: Add it.
* Makefile.am (MODULES): Add it.
* guix/ui.scm (%text-width): Export.
* doc/guix.texi (Invoking guix system): Document it.
(Service Types and Services): Mention 'guix system search'.
* tests/guix-system.sh: Test it.
2017-09-16 17:47:46 +02:00
Ludovic Courtès
8f3b63b5d7
uuid: Move tests to 'tests/uuid.scm'.
* tests/file-systems.scm ("uuid->string", "string->uuid")
("uuid", "uuid, syntax error"): Move to...
* tests/uuid.scm: ... here.  New file.
("uuid, ISO-9660, format preserved"): New test.
2017-09-14 00:10:13 +02:00
Mark H Weaver
6bd1c41e87
gnu: linux-libre: Update to 4.13.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.13.
(%linux-libre-hash): Update hash.
* gnu/packages/aux-files/linux-libre/4.12-i686.conf,
gnu/packages/aux-files/linux-libre/4.12-x86_64.conf: Delete files.
* gnu/packages/aux-files/linux-libre/4.13-i686.conf,
gnu/packages/aux-files/linux-libre/4.13-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Adjust accordingly.
2017-09-04 05:31:07 -04:00
Ludovic Courtès
4f024ef318
build: Remove code to download the Guile bootstrap tarball.
* build-aux/download.scm: Remove.
* Makefile.am (EXTRA_DIST): Remove it.
(check-system): Remove dependency on $(BOOTSTRAP_GUILE_TARBALLS).
* gnu/local.mk (nodist_bootstrap_x86_64_linux_DATA)
(nodist_bootstrap_i686_linux_DATA, nodist_bootstrap_armhf_linux_DATA)
(nodist_bootstrap_aarch64_linux_DATA, nodist_bootstrap_mips64el_linux_DATA)
(BOOTSTRAP_GUILE_TARBALLS, DISTCLEANFILES, DOWNLOAD_FILE)
(%D%/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz)
(%D%/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz)
(%D%/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz)
(%D%/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz)
(%D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Remove.
* build-aux/test-env.in: Add "guix download" invocation when
gnu/packages/bootstrap/guile* exists.
2017-08-28 23:51:16 +02:00
Danny Milosavljevic
d79013f66a
maint: Create an ISO9660 installation image in the 'release' target.
* Makefile.am (GUIXSD_IMAGE_BASE): Adapt target file name.
(release): Use file-system-type iso9660.
* doc/guix.texi: Document installation from DVD.
2017-08-19 04:38:15 +02:00
Ricardo Wurmus
88c8f247e5
build: Add minify build system.
* guix/build-system/minify.scm: New file.
* guix/build/minify-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document minify-build-system.
2017-08-04 11:23:52 +02:00
Ludovic Courtès
7441f1dbd7
build: Make Guile-Git a hard requirement.
* configure.ac: Error out when (git) is missing.
* doc/guix.texi (Requirements): Mention Guile-Git.
* Makefile.am (MODULES): Add guix/git.scm unconditionally.
2017-08-02 00:03:59 +02:00
Ludovic Courtès
585347d7aa
Add 'guix weather'.
* guix/scripts/weather.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (Substitutes, Invoking guix publish): Mention "guix
weather".
(Invoking guix weather): New node.

Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2017-07-25 12:15:43 +02:00
Mark H Weaver
c24ea83cd7
gnu: linux-libre: Update to 4.12.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.12.
(%linux-libre-hash): Update hash.
* gnu/packages/aux-files/linux-libre/4.11-i686.conf,
gnu/packages/aux-files/linux-libre/4.11-x86_64.conf: Delete files.
* gnu/packages/aux-files/linux-libre/4.12-i686.conf,
gnu/packages/aux-files/linux-libre/4.12-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Update accordingly.
2017-07-04 04:24:58 -04:00
Ludovic Courtès
79bfa63829
maint: Disk image size is automatically guessed.
* Makefile.am (GUIXSD_VM_IMAGE_SIZE): Remove.
(release): Remove --image-size argument from 'guix system disk-image'
command.
2017-06-30 00:16:51 +02:00
Ludovic Courtès
1d97fd8cb6
build: Remove check for broken (srfi srfi-37).
This was for Guile < 2.0.9 and we've been requiring 2.0.9+ for some time
already.

* configure.ac: Remove 'GUIX_CHECK_SRFI_37' use and 'INSTALL_SRFI_37'
conditional.
* Makefile.am: Remove code in "if INSTALL_SRFI_37".
(EXTRA_DIST): Remove srfi/srfi-37.scm.in.
* srfi/srfi-37.scm.in: Remove.
* m4/guix.m4 (GUIX_CHECK_SRFI_37): Remove.
2017-06-30 00:16:50 +02:00
Ricardo Wurmus
afbc94194e
guix: Add texlive importer.
* guix/import/texlive.scm: New file.
* guix/scripts/import/texlive.scm: New file.
* Makefile.am (MODULES): Add them.
* tests/texlive.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* guix/scripts/import.scm (importers): Add texlive importer.
* doc/guix.texi (Invoking guix import): Document it.
2017-06-15 17:03:19 +02:00
Ricardo Wurmus
205794c868
build-system: Add 'texlive-build-system'.
* guix/build-system/texlive.scm: New file.
* guix/build/texlive-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document it.
* gnu/packages/tex.scm (%texlive-tag, %texlive-revision): Remove variables.
(texlife-ref): Remove procedure.
2017-06-15 17:03:16 +02:00
Mathieu Othacehe
6b7b3ca981
guix: git: Add new module.
* guix/git.scm: New file.
* configure.ac: Check for (guile git).
* Makefile.am: Build guix/git.scm if (guile git) is available.
2017-06-09 09:48:26 +02:00
Arun Isaac
3d90fa982b
build-system: Add 'font-build-system'.
* Makefile.am (MODULES): Add 'guix/build-system/font.scm' and
  'guix/build/font-build-system.scm'.
* guix/build-system/font.scm: New file.
* guix/build/font-build-system.scm: New file.
* doc/guix.texi (Build Systems): Add 'font-build-system'.
2017-05-28 19:30:05 +05:30
Leo Famulari
a6c642ef63
maint: The 'release' target builds a VM image.
* gnu/system/examples/vm-image.tmpl: New file.
* Makefile.am (GUIXSD_VM_SYSTEMS, GUIXSD_VM_IMAGE_BASE,
GUIXSD_VM_IMAGE_SIZE): New variables.
(release): Add logic to build a VM image.
(EXAMPLES): Add 'gnu/system/examples/vm-image.tmpl'.
* doc/guix.texi (Running GuixSD in a VM, Installing GuixSD in a VM): Mention the
pre-built VM image.
2017-05-20 10:16:23 +02:00
Alex Kost
37fd956771
build: Compile stackage only if 'guile-json' is available.
Fixes <http://bugs.gnu.org/26860>.
This is a followup to commit 3089b5d3f5.

* Makefile.am (MODULES): Move "guix/scripts/import/stackage.scm" within
'if HAVE_GUILE_JSON'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-05-20 10:16:02 +02:00
Ludovic Courtès
920803fbf4
maint: Add 'update-NEWS' target.
* build-aux/update-NEWS.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(GUIX_MAINTENANCE_DIRECTORY): New variable.
(update-NEWS): New target.
(.PHONY): Add it.
2017-05-18 16:24:02 +02:00
Ludovic Courtès
73c791b8f3
maint: 'release' now depends on 'dist', not 'distcheck'.
* Makefile.am (release): Depend on 'dist' instead of 'distcheck'.
2017-05-14 22:16:34 +02:00
Ludovic Courtès
6344e959ea
maint: Really build GuixSD for different systems.
* Makefile.am (release): Add missing --system flag to 'guix system
disk-image'.  Reported by Leo Famulari.
2017-05-14 22:16:34 +02:00
Ludovic Courtès
dfd248648f
build: 'assert-no-store-file-names' depends on ChangeLog.
This fixes a bug whereby "make distcheck -j4" might invoke
'assert-no-store-file-names' when the temporary $(distdir)/cl-t
exists (and contains store file names), before $(distdir)/ChangeLog has
been created.

* Makefile.am (assert-no-store-file-names): Depend on $(distdir)/ChangeLog.
(dist-hook): Depend on $(distdir)/ChangeLog instead of 'gen-ChangeLog'.
(gen-ChangeLog): Add $(distdir)/ChangeLog left of the colon.
2017-05-14 15:49:49 +02:00
Hartmut Goebel
59135f0d7e
guix: Add java-utils.
* guix/build/java-utils.scm: New file.
* guix/build-system/ant.scm: Use it.
* Makefile.am (MODULES): Add it.

Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2017-05-10 17:59:22 +02:00
Ludovic Courtès
2a3962660a
maint: Tweak the 'release' target.
* Makefile.am (SUPPORTED_SYSTEMS, GUIXSD_SUPPORTED_SYSTEMS): Use "?="
instead of "=".
(release): Do "git checkout ." in po/ early on.  Abort upon uncommitted
changes.  Print a message at the end.
2017-05-09 12:58:43 +02:00
Ludovic Courtès
334dce1451
maint: Add 'release' target.
Suggested by Jan Nieuwenhuizen.

* Makefile.am (releasedir, PACKAGE_FULL_TARNAME, SOURCE_TARBALLS)
(SUPPORTED_SYSTEMS, BINARY_TARBALLS, GUIXSD_SUPPORTED_SYSTEMS)
(GUIXSD_IMAGE_BASE, GUIXSD_INSTALLATION_IMAGE_SIZE): New variables.
(release): New target.
(.PHONY): Add it.
2017-05-09 00:18:05 +02:00
Ludovic Courtès
d9a0bd4c69
maint: Add bayfront.guixsd.org signing key.
* bayfront.guixsd.org.pub: New file.
* Makefile.am (dist_pkgdata_DATA): Add it.
2017-05-08 16:29:23 +02:00
Ludovic Courtès
ddce2d3aae
maint: "distcheck" inherits the test root directory.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Add 'ac_cv_guix_test_root'.
2017-05-08 16:29:23 +02:00