Commit graph

549 commits

Author SHA1 Message Date
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
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
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
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