Commit Graph

27 Commits

Author SHA1 Message Date
Mathieu Othacehe cbc462679d
Switch to PostegreSQL. 2021-01-11 12:28:13 +01:00
Mathieu Othacehe 83ac1a84f5
Check for Guile-zlib during configure.
* configure.ac: Add Guile-zlib dependency.
2020-08-25 16:46:20 +02:00
Ludovic Courtès c238cc9f87 build: Allow builds with Guile 3.0.
* configure.ac: Add "3.0" to 'GUILE_PKG'.
* README: Mention it.
2020-01-18 15:18:00 +01:00
Ludovic Courtès ee11ba1d93 Introduce concurrency with Fibers.
* README: Mark Fibers as required.
* configure.ac: Check for Guile 2.2 only.  Check for (fibers).
* bin/cuirass.in (main): Use (fibers).  Run 'process-specs' and web
server in separate fibers.
* src/cuirass/base.scm (with-store): New macro.
(non-blocking-port): New procedure.
(evaluate): Use 'non-blocking-port'.  Use 'read-string' followed by 'read'.
(process-specs): Move 'db-add-stamp' right after 'string=?' comparison.
Run evaluation and subsequent builds in a separate fiber.
* src/cuirass/http.scm (run-cuirass-server): Pass 'fibers as the second
argument to 'run-server'.  Use 'log-message' instead of 'format'.
* src/cuirass/database.scm (with-database): Remove 'dynamic-wind'.
2018-01-22 23:39:51 +01:00
Mathieu Othacehe a919c25328
base: Report git errors.
* src/cuirass/base.scm (report-git-error): New procedure.
(with-git-error-handling): New macro.
(process-specs): Use with-git-error-handling to catch and report git errors.
* build-aux/guix.scm (package)[inputs]: Add guile-git.
* configure.ac: Check for (git) module. Also check that (git) exports
git-error-message procedure.
2017-07-31 15:46:50 +02:00
Mathieu Othacehe 1b79b7bf6e
base: Use (guix git) module.
* src/cuirass/base.scm (copy-repository-cache) : New procedure.
(fetch-repository): Use latest-repository-commit to fetch git
repository instead of raw git system commands.
(process-specs): Use fetch-repository to get a store directory
containing the repository described in SPEC, add copy it to cache with
"copy-repository-cache".
* configure.ac: Check (guix git) module presence.
2017-07-05 13:52:18 +02:00
Mathieu Othacehe 8f32507d1c
configure.ac: Update homepage and bug report email.
* configure.ac (AC_INIT): Update homepage and bug report email.
2017-07-01 18:44:55 +02:00
Ludovic Courtès ece0773ca8 build: Prefer building with Guile 2.2.
* Makefile.am (guilesitedir): Append @GUILE_EFFECTIVE_VERSION@.
* configure.ac: Use 'GUILE_PKG', and pass "2.2" first.
2017-05-10 16:32:26 +02:00
Mathieu Lirzin 8988070725
maint: Fix mistake in copying permission statement.
This was mistakenly added in commit 05e5495e8f.

* Makefile.am: Declare GPLv3+ instead of GPLv2+.
* configure.ac: Likewise.
2017-01-09 00:41:13 +01:00
Mathieu Lirzin 49fae56c95
maint: Add new mailing list and webpage.
* configure.ac: Declare <bug-cuirass@framalistes.org> as package mailing list,
and <https://notabug.org/mthl/cuirass/> as package website.
* src/cuirass/ui.scm (show-package-information): Display them.
2017-01-09 00:35:19 +01:00
Mathieu Lirzin 4ac708b0f6
build: Do not require "build-aux/guix.scm".
When building Cuirass with 'guix build -f build-aux/guix.scm' we don't want to
add "build-aux/guix.scm" in the repository snapshot since it is considered as
metadata.  As a consequence we can't make 'autoconf' require it.

* configure.ac (AC_REQUIRE_AUX_FILE): Remove "build-aux/guix.scm".
* Makefile.am (EXTRA_DIST): Only distribute it.
2016-12-29 12:00:18 +01:00
Mathieu Lirzin 206c302206
build: Add "build-aux/guix.scm".
* guix.scm: Delete.
* build-aux/guix-env: Likewise.
* build-aux/guix.scm: New file.
* configure.ac (AC_REQUIRE_AUX_FILE): Distribute it.
* README <Build Instructions>: Document it.
2016-12-28 19:11:43 +01:00
Mathieu Lirzin 17dbfe679d
maint: Generate version number.
* build-aux/git-version-gen: New script.
* configure.ac (AC_INIT): Use it.
(AC_REQUIRE_AUX_FILE): Distribute it.
* Makefile.am (.version): New target.
(BUILT_SOURCES, EXTRA_DIST): Add it.
(dist-hook): Generate ".tarball-version".
* .gitignore: Update.
2016-12-28 18:51:39 +01:00
Mathieu Lirzin 05e5495e8f
maint: Add copyright notices for the build system.
* configure.ac: Add copyright notice.
* Makefile.am: Likewise.
2016-11-12 17:58:17 +01:00
Mathieu Lirzin 4f0d665746
cuirass: Hard code Guile load paths.
* configure.ac (bin/cuirass, bin/evaluate): Let 'make' generate them.
* bin/cuirass.in: Hard code load paths to find Cuirass modules.
* Makefile.am (do_subst): Update substitution.
(bin/cuirass, bin/evaluate): New rules.
(EXTRA_DIST): Distribute 'bin/cuirass.in' and 'bin/evaluate.in'.
(MOSTLYCLEANFILES): Add '$(bin_SCRIPTS)'.
(install-exec-hook): New target.
(local_load_path, local_load_compiled_path): New variables.
(AM_TESTS_ENVIRONMENT): Set Guile load paths.
* build-aux/pre-inst-env.in: Don't modify Guile load paths.
2016-11-12 17:49:20 +01:00
Mathieu Lirzin 1e5012ca80
build: Let 'make' generate 'src/cuirass/config.scm'.
* Makefile.am (src/cuirass/config.scm, $(go_files)): New targets.
(do_subst, generate_file, go_files): New variables.
(EXTRA_DIST): Distribute 'src/cuirass/config.scm.in'.
(DISTCLEANFILES): Rename to ...
(MOSTLYCLEANFILES): ... this.
* configure.ac (AC_CONFIG_FILES): Remove 'src/cuirass/config.scm'.
(@expanded_datadir@, @expanded_localstatedir@): Delete.
(AC_PROG_MKDIR_P, AC_PROG_SED): Use them.
* src/cuirass/config.scm (%datadir): Set it to $(localstatedir).
(%localstatdir): Set it to $(datadir).
2016-11-12 17:07:57 +01:00
Mathieu Lirzin 8525c8422c
build: Add a wrapper to 'guix environment'.
* build-aux/guix-env: New file.
* configure.ac: Require it.
2016-08-03 02:53:12 +02:00
Mathieu Lirzin 651b8bbcf9
Add (cuirass http) module.
* src/cuirass/http.scm: New file.
* tests/http.scm: Likewise.
* Makefile.am (dist_pkgmodule_DATA, TESTS): Add them.
* configure.ac: Check for (json) module.
2016-07-31 01:07:00 +02:00
Mathieu Lirzin ce0d739622
build: Check for (guix) module. 2016-07-25 13:44:25 +02:00
Mathieu Lirzin a44558e2dd
build: Remove ${prefix} in %datadir. 2016-07-25 02:12:40 +02:00
Mathieu Lirzin fb986fa8fe
build: Define 'pkgmoduledir' in Makefile.am. 2016-07-25 02:12:39 +02:00
Mathieu Lirzin 4929ba12d7
build: Check for (sqlite3) module. 2016-07-25 02:12:39 +02:00
Mathieu Lirzin 46c9d432ea
database: Use an external SQL schema. 2016-07-25 02:12:39 +02:00
Mathieu Lirzin 53c12be409 Evaluate derivations in a separate process.
This fixes a bug where different Guix branches gave the same
derivations.
2016-07-13 14:07:24 +02:00
Mathieu Lirzin 5efdcb4441 Add a '--database' command line argument. 2016-06-26 17:02:23 +02:00
Mathieu Lirzin 8fb2983dce
build: Generate config.scm at configure time.
* src/cuirass/config.scm.in: New file.
* configure.ac (AC_CONFIG_FILES): Add 'src/cuirass/config.scm'.
* Makefile.am (nodist_pkgmodule_DATA, CLEANFILES, DISTCLEANFILES):
Update.
* .gitignore: Likewise.
2016-06-10 23:38:40 +02:00
Mathieu Lirzin 9d5fda76bb
Initial commit. 2016-05-29 19:53:17 +02:00