Commit Graph

587 Commits

Author SHA1 Message Date
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
Ludovic Courtès 33349e91f9
build: Use 'guix pack -K' for the 'guix-binary*.tar.xz' targets.
* Makefile.am (guix-binary.%.tar.xz): Add -K flag for 'guix pack'.
2017-05-07 00:18:36 +02:00
Ludovic Courtès 94fa8d7616
maint: Add 'update-guix-package' target.
* build-aux/update-guix-package.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(update-guix-package): New target.
(.PHONY): Add it.
* gnu/packages/package-management.scm (guix): Mention it.
2017-05-07 00:18:36 +02:00
Leo Famulari 40d728a87d
Revert "guix: git: Add new module."
This reverts commit a70b784708.

Commit a70b784708 caused `guix pull` to fail:

ERROR: In procedure scm-error:
ERROR: no code for module (git)
2017-05-05 20:12:57 -04:00
Mathieu Othacehe a70b784708
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-05-05 19:52:38 +02:00
Ludovic Courtès e6860b5e7f
build: Use Gnulib's 'git-version-gen'.
* Makefile.am (EXTRA_DIST, BUILT_SOURCES): Add $(top_srcdir)/.version.
($(top_srcdir)/.version, gen-tarball-version): New targets.
(dist-hook): Depend on 'gen-tarball-version'.
(.PHONY): Add 'gen-tarball-version'.
* build-aux/git-version-gen: New file, from Gnulib v0.1-1312-ga87d5e5c6.
* configure.ac: Use it in 'AC_INIT'.  Use 'https' for the URL.
2017-05-04 23:51:45 +02:00
Ludovic Courtès 1d1ddf26d5
build: Remove 'sync-descriptions' target.
This target predates 'guix lint'.  Nowadays it makes little sense to run
it upon 'make dist'.

* Makefile.am (sync-descriptions): Remove.
(dist-hook, .PHONY): Remove reference to 'sync-descriptions'.
2017-05-04 23:51:45 +02:00
Ludovic Courtès cd903ef787
Add (guix discovery).
* guix/discovery.scm, tests/discovery.scm: New files.
* gnu/packages.scm (scheme-files, file-name->module-name)
(scheme-modules, all-package-modules): Remove.
(fold-packages): Rewrite in terms of 'fold-module-public-variables'.
* gnu/tests.scm: Use (guix discovery).
* Makefile.am (MODULES): Add guix/discovery.scm.
(SCM_TESTS): Add tests/discovery.scm.
2017-05-03 23:50:15 +02:00
Ludovic Courtès 4aabc8eaa2
build: Install gnu/build/svg.scm.
Fixes a regression introduced in
commit 960887b297.

* Makefile.am (MODULES_NOT_COMPILED): New variable.
(nobase_dist_guilemodule_DATA): Add $(MODULES_NOT_COMPILED).
(EXTRA_DIST): Remove gnu/build/svg.scm.
* gnu/local.mk (MODULES_NOT_COMPILED): New variable.
2017-05-02 15:44:35 +02:00
Ludovic Courtès 693f12ce23
build: 'check-system' now depends on the bootstrap Guile tarballs.
Reported by Chris Marusich <cmmarusich@gmail.com>.

* gnu/local.mk (BOOTSTRAP_GUILE_TARBALLS): New variable.
(DISTCLEANFILES): Define as an alias for 'BOOTSTRAP_GUILE_TARBALLS'.
* Makefile.am (check-system): Depend on $(BOOTSTRAP_GUILE_TARBALLS).
2017-05-02 15:10:05 +02:00
Mark H Weaver 60c9e80444
gnu: linux-libre: Update to 4.11.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.11.
(%linux-libre-hash): Update hash.
* gnu/packages/aux-files/linux-libre/4.10-i686.conf,
gnu/packages/aux-files/linux-libre/4.10-x86_64.conf: Delete files.
* gnu/packages/aux-files/linux-libre/4.11-i686.conf,
gnu/packages/aux-files/linux-libre/4.11-x86_64.conf: New files.
* Makefile.am (AUX_FILES): Adjust accordingly.
2017-05-01 21:48:15 -04:00
Ludovic Courtès 285f63e805
store: Support 'ssh://' URIs in 'GUIX_DAEMON_SOCKET'.
This allows 'guix' commands to talk to a remote store over SSH.

* guix/store.scm (connect-to-daemon)[connect]: Call 'resolve-interface'
for unknown URI schemes.
* guix/store/ssh.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (The Store): Document it.  Mark remote access as
experimental.
2017-04-21 19:17:36 +02:00
Ludovic Courtès 2ea2aac6e9
Add (guix cache) and use it in (guix scripts substitute).
* guix/cache.scm, tests/cache.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* guix/scripts/substitute.scm (obsolete?): Remove.
(remove-expired-cached-narinfos): Rename to...
(cached-narinfo-expiration-time): ... this.  Remove the removal part and
only keep the expiration time part.
(narinfo-cache-directories): Add optional 'directory' parameter and
honor it.
(maybe-remove-expired-cached-narinfo): Remove.
(cached-narinfo-files): New procedure.
(guix-substitute): Use 'maybe-remove-expired-cache-entries' instead of
'maybe-remove-expired-cached-narinfo'.
2017-04-18 23:19:30 +02:00
Ludovic Courtès 1563d6c79f
Add (guix workers).
* guix/workers.scm, tests/workers.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* .dir-locals.el: Add rule for 'eventually'.
2017-04-18 23:17:17 +02:00
Mathieu Othacehe 960887b297
build: Stop building gnu/build/svg.scm.
* Makefile.am (EXTRA_DIST): Add gnu/build/svg.scm.
* gnu/local.mk (GNU_SYSTEM_MODULES): Remove gnu/build/svg.scm.

It fixes the following build warnings:

gnu/build/svg.scm:36:12: warning: possibly unbound variable `cairo-create'
gnu/build/svg.scm:36:26: warning: possibly unbound variable `cairo-image-surface-create'
gnu/build/svg.scm:38:4: warning: possibly unbound variable `cairo-scale'
gnu/build/svg.scm:39:4: warning: possibly unbound variable `cairo-set-source-surface'

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-14 12:29:20 +02:00
Mathieu Othacehe 11e2087e25
build: Remove build-aux/hydra/demo-os.scm from EXTRA_DIST.
* Makefile.am (EXTRA_DIST): Remove build-aux/hydra/demo-os.scm. The
  file was removed of guix in this commit
  a3a2774501.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-14 12:29:20 +02:00
Ludovic Courtès 1165b08f86
build: Include 'glibc-utf8-locales' in the binary tarball.
* Makefile.am (guix-binary.%.tar.xz): Add 'glibc-utf8-locales' and
'glibc-final' to the 'guix pack' command line.
* doc/guix.texi (Binary Installation): Mention 'etc/profile'.
2017-04-07 23:30:38 +02:00
Leo Famulari c17383f400
Merge branch 'master' into core-updates 2017-03-27 21:19:38 -04:00
Mark H Weaver 3089b5d3f5
import: stackage: Compile only if guile-json is available.
* Makefile.am (MODULES): Move "guix/import/stackage.scm" within
"if HAVE_GUILE_JSON".  Sort the modules within that conditional.
2017-03-26 03:07:33 -04:00
Efraim Flashner 378de69c59
Merge remote-tracking branch 'origin/master' into core-updates 2017-03-22 12:57:37 +02:00
Ludovic Courtès 9437fd7399
build: Install .go files to $libdir/guile/X.Y.
* configure.ac: Define and substitute 'guileobjectdir'.
* Makefile.am (nobase_nodist_guilemodule_DATA): Remove $(GOBJECTS).
(nobase_nodist_guileobject_DATA): New variable.
(guix_install_go_files): Adjust accordingly.
(install-data-hook): Likewise.
* scripts/guix.in (config-lookup): Add 'exec_prefix' and
'guileobjectdir'.  Add '_' in VAR-REF-REGEXP.
(maybe-augment-load-paths!): Distinguish OBJECT-DIR from MODULE-DIR.
2017-03-20 23:26:18 +01:00
Mark H Weaver f67337e23e
Merge branch 'master' into core-updates 2017-03-19 18:52:12 -04:00
Ludovic Courtès 4c0c4db070
utils: Move base16 procedures to (guix base16).
* guix/utils.scm (bytevector->base16-string, base16-string->bytevector):
Move to...
* guix/base16.scm: ... here.  New file.
* tests/utils.scm ("bytevector->base16-string->bytevector"): Move to...
* tests/base16.scm: ... here.  New file.
* Makefile.am (MODULES): Add guix/base16.scm.
(SCM_TESTS): Add tests/base16.scm.
* build-aux/download.scm, guix/derivations.scm,
guix/docker.scm, guix/import/snix.scm, guix/pk-crypto.scm,
guix/scripts/authenticate.scm, guix/scripts/download.scm,
guix/scripts/hash.scm, guix/store.scm, tests/hash.scm,
tests/pk-crypto.scm: Adjust imports accordingly.
2017-03-16 22:50:14 +01:00
Marius Bakke 4b7e5c1131
Merge branch 'master' into core-updates 2017-03-15 17:52:26 +01:00
Ludovic Courtès 850edd77f9
pack: Add unit test.
* guix/scripts/pack.scm (self-contained-tarball): Add #:tar option.
[build](tar-supports-sort?): New variable.  Use it.
* tests/pack.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
2017-03-14 23:18:32 +01:00
Ludovic Courtès 6b63c43e06
pack: Add '--localstatedir' option.
* guix/scripts/pack.scm (self-contained-tarball): Add #:localstatedir?
parameter and honor it.
(%options, show-help): Add '--localstatedir'.
(guix-pack): Honor it.
* gnu/build/install.scm (populate-single-profile-directory): Add
 #:register? parameter and honor it.
* doc/guix.texi (Binary Installation): Use '--localstatedir' in
example.
(Invoking guix pack): Document it.
2017-03-14 17:57:27 +01:00
Efraim Flashner 3f9543aee1
Merge remote-tracking branch 'origin/master' into core-updates 2017-03-13 23:08:49 +02:00
Ludovic Courtès 239c22663a
Add 'guix pack'.
* gnu/system/install.scm (self-contained-tarball): Move to...
* guix/scripts/pack.scm: ... here.  New file.
* doc/guix.texi (Binary Installation): Mention 'guix pack'.
(Invoking guix pack): New node.
* build-aux/make-binary-tarball.scm: Remove.
* Makefile.am (MODULES): Add guix/scripts/pack.scm.
(EXTRA_DIST): Remove build-aux/make-binary-tarball.scm.
(guix-binary.%.tar.xz): Rewrite using 'guix pack'.
* build-aux/hydra/gnu-system.scm (tarball-jobs): Adjust accordingly.
2017-03-12 17:47:25 +01:00
Ludovic Courtès e90e0fad1b
Merge branch 'master' into core-updates 2017-03-09 16:35:41 +01:00
Alex Kost 59d04f63df
gnu: emacs: Move "guix-emacs.el" to "aux-files".
* emacs/guix-emacs.el: Rename to...
* gnu/packages/aux-files/emacs/guix-emacs.el: ... this.
* Makefile.am (AUX_FILES): Add it.
* gnu/packages/emacs.scm (emacs)[inputs]: Remove 'guix' source.
[native-inputs]: Add "guix-emacs.el" auxiliary file.
[arguments]: Adjust 'install-site-start' phase accordingly.
2017-02-27 16:44:58 +03:00
Alex Kost 7994250fdb
gnu: linux: Move configuration files to "aux-files".
* gnu/packages/linux-libre-4.1-i686.conf: Rename to...
* gnu/packages/aux-files/linux-libre/4.1-i686.conf: ... this.
* gnu/packages/linux-libre-4.1-x86_64.conf: Rename to...
* gnu/packages/aux-files/linux-libre/4.1-x86_64.conf: ... this.
* gnu/packages/linux-libre-4.4-i686.conf: Rename to...
* gnu/packages/aux-files/linux-libre/4.4-i686.conf: ... this.
* gnu/packages/linux-libre-4.4-x86_64.conf: Rename to...
* gnu/packages/aux-files/linux-libre/4.4-x86_64.conf: ... this.
* gnu/packages/linux-libre-4.9-i686.conf: Rename to...
* gnu/packages/aux-files/linux-libre/4.9-i686.conf: ... this.
* gnu/packages/linux-libre-4.9-x86_64.conf: Rename to...
* gnu/packages/aux-files/linux-libre/4.9-x86_64.conf: ... this.
* gnu/packages/linux-libre-4.10-i686.conf: Rename to...
* gnu/packages/aux-files/linux-libre/4.10-i686.conf: ... this.
* gnu/packages/linux-libre-4.10-x86_64.conf: Rename to...
* gnu/packages/aux-files/linux-libre/4.10-x86_64.conf: ... this.
* gnu/packages/linux.scm (kernel-config): Use 'search-auxiliary-file' to
find configuration files.
* Makefile.am (KCONFIGS): Rename to...
(AUX_FILES): ... this.  Adjust accordingly.
2017-02-27 16:44:58 +03:00
Efraim Flashner d15432ca9e
Merge remote-tracking branch 'origin/master' into core-updates 2017-02-20 12:56:14 +02:00
Mark H Weaver 52d901da0c
gnu: linux-libre: Update to 4.10. Keep 4.9 as longterm release.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.10.
(%linux-libre-hash): Update hash.
(linux-libre-4.9): New variable.
* gnu/packages/linux-libre-4.10-x86_64.conf,
gnu/packages/linux-libre-4.10-i686.conf: New files.
* Makefile.am (KCONFIGS): Add them.
2017-02-20 03:04:35 -05:00
Ludovic Courtès 768f0ac9dd
Merge branch 'master' into core-updates 2017-02-10 17:40:25 +01:00
Danny Milosavljevic 65e862d1a2
gnu: Add dub-build-system.
* guix/build-system/dub.scm: New file.
* guix/build/dub-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi: Add section for dub-build-system.
2017-02-10 16:21:50 +01:00
Federico Beffa bc5844d149
import: Add stackage importer and updater.
* guix/import/stackage.scm: New file.
* guix/scripts/import/stackage.scm: New file.
* Makefile.am (MODULES): Add new files.
* guix/scripts/import.scm (importers): Add "stackage".
* guix/scripts/refresh.scm (%updaters): Add %stackage-updater.
* doc/guix.texi (Invoking 'guix import'): Document the importer.
  (Invoking 'guix refresh'): Add stackage to option --type valid values.
* guix/import/hackage.scm (guix-package->hackage-name, hackage-fetch,
  hackage-source-url, hackage-cabal-url, hackage-package?): Export them.
2017-02-09 19:36:08 +01:00
Leo Famulari e8c83d04e1
Merge branch 'master' into core-updates 2017-02-02 10:52:24 -05:00
Ludovic Courtès f9704f179a
Add (guix memoization).
* guix/combinators.scm (memoize): Remove.
* guix/memoization.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/packages.scm, gnu/packages/bootstrap.scm,
guix/build-system/gnu.scm, guix/build-system/python.scm,
guix/derivations.scm, guix/gnu-maintenance.scm,
guix/import/cran.scm, guix/import/elpa.scm,
guix/modules.scm, guix/scripts/build.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/store.scm, guix/utils.scm: Adjust imports accordingly.
2017-01-28 18:55:20 +01:00
Ludovic Courtès 58ea4d407c
Merge branch 'master' into core-updates 2017-01-23 22:33:10 +01:00
Ludovic Courtès fcd75bdbfa
search-paths: Allow specs with #f as their separator.
This adds support for single-entry search paths.
Fixes <http://bugs.gnu.org/25422>.
Reported by Leo Famulari <leo@famulari.name>.

* guix/search-paths.scm (<search-path-specification>)[separator]:
Document as string or #f.
(evaluate-search-paths): Add case for SEPARATOR as #f.
(environment-variable-definition): Handle SEPARATOR being #f.
* guix/build/utils.scm (list->search-path-as-string): Add case for
SEPARATOR as #f.
(search-path-as-string->list): Likewise.
* guix/build/profiles.scm (abstract-profile): Likewise.
* tests/search-paths.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* tests/packages.scm ("--search-paths with single-item search path"):
New test.
* gnu/packages/version-control.scm (git)[native-search-paths](separator):
New field.
2017-01-23 22:23:41 +01:00
Mark H Weaver 57fe28a082
gnu: linux-libre: Update to 4.9.1.
* gnu/packages/linux.scm (%linux-libre-version, %linux-libre-hash)
(linux-libre): Update to 4.9.1.
* gnu/packages/linux-libre-4.8-x86_64.conf,
gnu/packages/linux-libre-4.8-i686.conf: Delete files.
* gnu/packages/linux-libre-4.9-x86_64.conf,
gnu/packages/linux-libre-4.9-i686.conf: New files.
* Makefile.am (KCONFIGS): Update accordingly.
2017-01-07 19:42:36 -05:00
Ricardo Wurmus 03476a23ff
guix: Add Docker image export.
* guix/docker.scm: New file.
* Makefile.am (MODULES): Register it.
* guix/scripts/archive.scm (show-help, %options, guix-archive): Add
support for "--format".
* doc/guix.texi (Invoking guix archive): Document it.
2017-01-06 16:44:00 +01:00
Julien Lepiller e6876cb9dc
gnu: Add ocaml-build-system.
* guix/build/ocaml-build-system.scm: New file.
* guix/build-system/ocaml.scm: New file.
* Makefile.am (MODULES): Add them.
* gnu/packages/ocaml.scm (ocaml)[native-search-paths]: Adjuste OCAMLPATH.

Signed-off-by: David Craven <david@craven.ch>
2017-01-04 16:03:39 +01:00
Ludovic Courtès f11c444d44
Add 'guix copy'.
* guix/scripts/copy.scm: New file.
* guix/scripts/archive.scm (options->derivations+files): Export.
* doc/guix.texi (Invoking guix copy): New node.
* Makefile.am (MODULES) [HAVE_GUILE_SSH]: Add guix/scripts/copy.scm.
* po/guix/POTFILES.in: Likewise.
2016-12-31 18:35:29 +01:00
Ludovic Courtès 987a29ba43
Add (guix ssh) module.
* guix/scripts/offload.scm (connect-to-remote-daemon)
(store-import-channel, store-export-channel, send-files)
(retrieve-files): Move to (guix ssh).
(nonce): Add optional 'name' parameter and use it.
(retrieve-files*): New procedure.
(transfer-and-offload): Use it instead of 'retrieve-files', and add
first parameter to 'send-files'.
(assert-node-can-import): Likewise.
(assert-node-can-export): Use 'retrieve-files' instead of
'store-export-channel'.
* guix/ssh.scm: New file.
* configure.ac: Use 'GUIX_CHECK_GUILE_SSH' and define 'HAVE_GUILE_SSH'
Automake conditional.
* Makefile.am (MODULES) [HAVE_GUILE_SSH]: Add guix/ssh.scm.
2016-12-31 01:44:04 +01:00
David Thompson 6023041346
import: crate: Do not build when guile-json is not available.
* Makefile.am (MODULES): Add 'guix/import/crate.scm' and
'guix/scripts/import/crate.scm' only when HAVE_GUILE_JSON.
2016-12-30 14:15:35 -05:00
Alex Kost deb6276dda
Remove Emacs interface.
* emacs/guix-about.el: Remove file.
* emacs/guix-backend.el: Likewise.
* emacs/guix-base.el: Likewise.
* emacs/guix-buffer.el: Likewise.
* emacs/guix-build-log.el: Likewise.
* emacs/guix-command.el: Likewise.
* emacs/guix-config.el.in: Likewise.
* emacs/guix-devel.el: Likewise.
* emacs/guix-entry.el: Likewise.
* emacs/guix-external.el: Likewise.
* emacs/guix-geiser.el: Likewise.
* emacs/guix-guile.el: Likewise.
* emacs/guix-help-vars.el: Likewise.
* emacs/guix-helper.scm.in: Likewise.
* emacs/guix-history.el: Likewise.
* emacs/guix-hydra-build.el: Likewise.
* emacs/guix-hydra-jobset.el: Likewise.
* emacs/guix-hydra.el: Likewise.
* emacs/guix-info.el: Likewise.
* emacs/guix-init.el: Likewise.
* emacs/guix-license.el: Likewise.
* emacs/guix-list.el: Likewise.
* emacs/guix-location.el: Likewise.
* emacs/guix-main.scm: Likewise.
* emacs/guix-messages.el: Likewise.
* emacs/guix-pcomplete.el: Likewise.
* emacs/guix-popup.el: Likewise.
* emacs/guix-prettify.el: Likewise.
* emacs/guix-profiles.el: Likewise.
* emacs/guix-read.el: Likewise.
* emacs/guix-ui-generation.el: Likewise.
* emacs/guix-ui-license.el: Likewise.
* emacs/guix-ui-location.el: Likewise.
* emacs/guix-ui-package.el: Likewise.
* emacs/guix-ui-system-generation.el: Likewise.
* emacs/guix-ui.el: Likewise.
* emacs/guix-utils.el: Likewise.
* emacs/local.mk: Likewise.
* doc/emacs.texi: Likewise.
* doc/guix.texi: Remove cross-references to Emacs nodes.
(Package Management): Mention 'emacs-guix' package.
* doc/contributing.texi (The Perfect Setup): Remove the reference.
* doc/htmlxref.cnf: Add 'emacs-guix' URL.
* Makefile.am: Remove Emacs stuff.
* configure.ac: Likewise.
* gnu/packages/package-management.scm (guix-0.12.0)[native-inputs]:
Remove "emacs".
[propagated-inputs]: Remove "geiser" and "emacs-magit-popup".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-12-29 23:40:24 +03:00
Mark H Weaver 9cedffe5db
Revert "gnu: linux-libre: Update to 4.9."
This reverts commit 5a3849443a.

Module loading is broken on i686 with some configurations, including our
default configuration.  See <https://bugs.gnu.org/25231>.
2016-12-19 14:03:41 -05:00
Ricardo Wurmus 76b3fbbce6
build: assert-no-store-file-names: Ignore ChangeLog.
* Makefile.am (assert-no-store-file-names): Ignore /gnu/store file names
in the ChangeLog, because they might be examples in commit messages.
2016-12-17 00:21:23 +01:00
Ricardo Wurmus 4d93f312f0
graph: Add d3js backend.
* d3.v3.js, graph.js: New files.
* Makefile.am (EXTRA_DIST): List them.
* guix/graph.scm (%d3js-backend): New variable.
(emit-d3js-prologue, emit-d3js-epilogue, emit-d3js-node,
emit-d3js-edge): New procedures.
(%graph-backends): Add %d3js-backend.
2016-12-14 21:58:32 +01:00
David Craven 3e0c036584
import: Add importer for rust crates.
* guix/import/crate.scm: New file.
* guix/scripts/import/crate.scm: New file.
* guix/scripts/import.scm (importers): Add crate importer.
* tests/crate.scm: New file.
* doc/guix.texi: Add crate importer to table.
* Makefile.am (MODULES, SCM_TESTS): Add files.
2016-12-14 16:30:42 +01:00
David Craven 4b3cb7f4bc
build-system: Add cargo build system.
* guix/build-system/cargo.scm: New file.
* guix/build/cargo-build-system.scm: New file.
* Makefile.am (MODULES): Add files.
2016-12-14 16:30:42 +01:00
Mark H Weaver 5a3849443a
gnu: linux-libre: Update to 4.9.
* gnu/packages/linux.scm (%linux-libre-version, %linux-libre-hash)
(linux-libre): Update to 4.9.
* gnu/packages/linux-libre-4.8-x86_64.conf,
gnu/packages/linux-libre-4.8-i686.conf: Delete files.
* gnu/packages/linux-libre-4.9-x86_64.conf,
gnu/packages/linux-libre-4.9-i686.conf: New files.
* Makefile.am (KCONFIGS): Update accordingly.
2016-12-14 03:27:26 -05:00
Manolis Ragkousis f13f60cb26
gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd systems.
* gnu/packages/make-bootstrap.scm (%glibc-bootstrap-tarball): Make it a procedure.
  (%glibc-stripped): Make it a procedure and move the kernel specific part from
  here to ...
* guix/build/make-bootstrap.scm (make-stripped-libc): ... here. New file.
* Makefile.am (MODULES): Add it.
2016-12-07 12:59:02 +02:00
Ludovic Courtès 94d92c7796
daemon: Add "builtin:download" derivation builder.
This ensures that 1) the derivation doesn't change when Guix changes;
2) the derivation closure doesn't contain Guix and its dependencies; 3)
we don't have to rely on ugly chroot hacks.

Adapted from Nix commit 0a2bee307b20411f5b0dda0c662b1f9bb9e0e131.

* nix/libstore/build.cc (DerivationGoal::runChild): Add special case for
'isBuiltin(drv)'.  Disable chroot when 'isBuiltin(drv)'.
* nix/libstore/builtins.cc, nix/libstore/builtins.hh,
nix/scripts/download.in, guix/scripts/perform-download.scm: New files.
* guix/ui.scm (show-guix-help)[internal?]: Add 'perform-download'.
* nix/local.mk (libstore_a_SOURCES): Add builtins.cc.
(libstore_headers): Add builtins.hh.
(nodist_pkglibexec_SCRIPTS): Add 'scripts/download'.
* config-daemon.ac: Emit 'scripts/download'.
* Makefile.am (MODULES): Add 'guix/scripts/perform-download.scm'.
* tests/derivations.scm ("unknown built-in builder")
("'download' built-in builder")
("'download' built-in builder, invalid hash")
("'download' built-in builder, not found")
("'download' built-in builder, not fixed-output"): New tests.

Co-authored-by: Eelco Dolstra <eelco.dolstra@logicblox.com>
2016-11-16 18:19:47 +01:00
Ludovic Courtès 17ab08bcf0
tests: Move HTTP server to (guix tests http).
* tests/lint.scm (%http-server-port, %local-url)
(%http-server-socket, http-write, %http-server-lock)
(%http-server-ready, http-open, stub-http-server)
(call-with-http-server, with-http-server): Move to (guix tests http).
Adjust tests for %HTTP-SERVER-SOCKET as a promise and %LOCAL-URL as a
parameter.
* guix/tests/http.scm: New file.
* Makefile.am (dist_noinst_DATA): Add it.
(GOBJECTS): Add .go files for all of $(dist_noinst_DATA).
(make-go): Depend on $(dist_noinst_DATA).
2016-11-16 18:00:41 +01:00
Ludovic Courtès 69e7322fdc
build: Make 'assert-no-store-file-names' effective.
Lack of '-E' made it useless.

* Makefile.am (assert-no-store-file-names): Pass '-E' to grep.  Add
'--exclude' and '--exclude-dir' flags.
2016-10-12 23:35:43 +02:00
Andy Patterson a1b30f99a8
build-system: Add asdf-build-system.
* guix/build-system/asdf.scm: New file.
* guix/build/asdf-build-system.scm: New file.
* guix/build/lisp-utils.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'asdf-build-system'.

Signed-off-by: 宋文武 <iyzsong@gmail.com>
2016-10-08 21:20:35 +08:00
Mark H Weaver 1927839dcb
gnu: linux-libre: Update to 4.8.
* gnu/packages/linux.scm (linux-libre): Update to 4.8.
* gnu/packages/linux-libre-4.7-x86_64.conf,
gnu/packages/linux-libre-4.7-i686.conf: Delete files.
* gnu/packages/linux-libre-4.8-x86_64.conf,
gnu/packages/linux-libre-4.8-i686.conf: New files.
* Makefile.am (KCONFIGS): Update accordingly.
2016-10-03 22:05:51 -04:00
Eric Bavier cdf26f40b0
build: clean-go: warn about stray .go files.
* Makefile.am (clean-go): Warn of .go files remaining in builddir.
2016-09-22 22:26:11 -05:00
Eric Le Bihan 96dbc93089
Add Zsh completion file.
* etc/completion/zsh/_guix: New file.
* Makefile.am (dist_zshcompletion_DATA): New variable.
* configure.ac: Add --with-zsh-completion-dir.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-09-07 16:08:20 +02:00
Ludovic Courtès 7ca87354db
Add (guix modules).
* guix/modules.scm, tests/modules.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* doc/guix.texi (G-Expressions): Add an example of
'source-module-closure'.
2016-09-05 00:06:47 +02:00
David Craven 2098d0240e
build: Add wrap-qt-program.
* guix/build/qt-utils.scm (wrap-qt-program): New file.
* Makefile.am (MODULES): Add it.
2016-08-30 22:38:28 +02:00
Ludovic Courtès d92e23dc9d
build: Set XDG_CACHE_HOME to avoid loading stale .go files.
Fixes <http://bugs.gnu.org/24120>.
Reported by myglc2 <myglc2@gmail.com>.

* Makefile.am (make-go): Set XDG_CACHE_HOME.
2016-08-01 22:52:54 +02:00
Andreas Enge e309c75610
Merge remote-tracking branch 'origin/master' into core-updates 2016-07-28 11:08:55 +02:00
Mark H Weaver de348a0bb7
gnu: linux-libre: Update to 4.7.
* gnu/packages/linux.scm (linux-libre): Update to 4.7.
* gnu/packages/linux-libre-4.7-x86_64.conf,
gnu/packages/linux-libre-4.7-i686.conf: New files.
* gnu/packages/linux-libre-4.6-x86_64.conf,
gnu/packages/linux-libre-4.6-i686.conf: Delete files.
* Makefile.am (KCONFIGS): Update accordingly.
2016-07-26 00:46:40 -04:00
Ludovic Courtès 7575655212
Merge branch 'master' into core-updates 2016-07-20 11:42:17 +02:00
Ludovic Courtès 721539026d
Add (guix zlib).
* guix/zlib.scm, tests/zlib.scm: New files.
* Makefile.am (MODULES): Add guix/zlib.scm.
(SCM_TESTS): Add tests/zlib.scm.
* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro.
* configure.ac (LIBGCRYPT_LIBDIR): Use it.  Define and substitute
'LIBZ'.
* guix/config.scm.in (%libz): New variable.
2016-07-19 00:07:12 +02:00
Ludovic Courtès 01497dfe6c
Merge branch 'master' into core-updates 2016-06-27 09:30:01 +02:00
Manolis Ragkousis 875715cabf
build: Remove unneeded conditionals for (guix build syscalls).
* m4/guix.m4: Remove 'GUIX_CHECK_LIBC_MOUNT'.
* configure.ac: Remove 'BUILD_SYSCALLS_MODULE'.
* Makefile.am (MODULES): Add 'guix/build/syscalls.scm'.
  (EXTRA_DIST): Remove conditional on BUILD_SYSCALLS_MODULE.
2016-06-23 17:25:37 +03:00
Ludovic Courtès 98b65b5ff6
tests: Add a mechanism to describe and discover system tests.
* gnu/tests.scm (<system-test>): New record type.
(write-system-test, test-modules, fold-system-tests)
(all-system-tests): New procedures.
* gnu/tests/base.scm (%test-basic-os): Turn into a <system-test>.
* gnu/tests/install.scm (%test-installed-os): Likewise.
* build-aux/run-system-tests.scm (%system-tests): Remove.
(run-system-tests): Use 'all-system-tests'.
2016-06-20 23:50:46 +02:00
Ricardo Wurmus c4e48b68bd
guix: Add downloader for Mercurial repositories.
* guix/build/hg.scm: New file.
* guix/hg-download.scm: New file.
* Makefile.am (MODULES): Add them.
2016-06-15 17:02:18 +02:00
Ludovic Courtès f82c58539e
bournish: Allow compilation of multiple expressions.
* guix/build/bournish.scm (%bournish-language): Add a joiner to SCHEME.
Compile only to Scheme.
* tests/bournish.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
2016-06-06 18:14:52 +02:00
Mark H Weaver 2301195f2e
gnu: linux-libre: Update to 4.6.
* gnu/packages/linux.scm (linux-libre): Update to 4.6.
* gnu/packages/linux-libre-4.6-x86_64.conf,
gnu/packages/linux-libre-4.6-i686.conf: New files.
* gnu/packages/linux-libre-4.5-x86_64.conf,
gnu/packages/linux-libre-4.5-i686.conf: Delete files.
* Makefile.am (KCONFIGS): Update accordingly.
2016-05-25 04:54:06 -04:00
Mathieu Lirzin 28dee3d282 build: Fix 'AM_V_at' typo.
* Makefile.am (hydra-jobs.scm): Fix 'AM_V_at' typo.
2016-05-21 23:09:46 +02:00
Ludovic Courtès 41c569d9b9
build: Add 'run-system-tests.scm'.
This file was meant to be added as part of
commit e9f693d06f.

* build-aux/run-system-tests.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2016-05-04 23:56:42 +02:00
Ludovic Courtès e9f693d06f
tests: Add whole-system test.
* gnu/system/vm.scm (virtualized-operating-system): Export.
* gnu/tests/base.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* Makefile.am (check-system): New target.
2016-05-04 23:35:55 +02:00
Ludovic Courtès 4d9ed58498
build: Preserve stderr for shell tests.
Fixes a regression introduced in
a9edb211e7 where the .log files of the .sh
tests would not contain stderr.

* build-aux/test-env.in: Redirect stderr only when --quiet-stderr is
passed.
* Makefile.am (SCM_LOG_DRIVER): Add --quiet-stderr.
2016-05-04 23:35:55 +02:00
Ludovic Courtès 958dd3ce68
utils: Move combinators to (guix combinators).
* guix/utils.scm (compile-time-value, memoize, fold2)
(fold-tree, fold-tree-leaves): Move to...
* guix/combinators: ... here.  New file.
* tests/utils.scm ("fold2, 1 list", "fold2, 2 lists")
(fold-tree tests): Move to...
* tests/combinators.scm: ... here.  New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* gnu/packages.scm, gnu/packages/bootstrap.scm,
gnu/services/herd.scm, guix/build-system/gnu.scm,
guix/build-system/python.scm, guix/derivations.scm,
guix/gnu-maintenance.scm, guix/import/elpa.scm,
guix/scripts/archive.scm, guix/scripts/build.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/scripts/size.scm, guix/scripts/substitute.scm,
guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports
accordingly.
2016-05-04 23:35:55 +02:00
Ludovic Courtès 93cba30ca4
build: 'assert-' targets now depend on the .go files.
* Makefile.am (assert-binaries-available)
(assert-final-inputs-self-contained): Add dependency on $(GOBJECTS).
2016-04-27 15:09:15 +02:00
Mathieu Lirzin 03d0e2d2b9 build: Move 'Makefile' fragments to subdirectories.
This follows a convention used by some other GNU packages like Autoconf,
Bison, Coreutils, and Gnulib.

* doc.am: Rename to ...
* doc/local.mk: ... this.
* emacs.am: Rename to ...
* emacs/local.mk: ... this.
* gnu-system.am: Rename to ...
* gnu/local.mk: ... this.
* daemon.am: Rename to ...
* nix/local.mk: ... this.
* Makefile.am: Adapt to them.
* doc/guix.texi (Porting to a New Platform): Adapt documentation.
* guix/config.scm.in (%state-directory, %config-directory): Adapt comments.
* emacs/guix-config.el.in (guix-config-state-directory): Likewise.
2016-04-21 18:47:50 +02:00