core: Add garbage collector/jam collector experiment.
[mes.git] / guix.scm
1 ;;; guix.scm -- Guix package definition
2
3 ;;; Mes --- Maxwell Equations of Software
4 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
5 ;;;
6 ;;; guix.scm: This file is part of Mes.
7 ;;;
8 ;;; Mes is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
12 ;;;
13 ;;; Mes is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 ;;; GNU General Public License for more details.
17 ;;;
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with Mes.  If not, see <http://www.gnu.org/licenses/>.
20
21 ;;; Commentary:
22 ;;
23 ;; GNU Guix development package.  To build and install, run:
24 ;;
25 ;;   guix package -f guix.scm
26 ;;
27 ;; To build it, but not install it, run:
28 ;;
29 ;;   guix build -f guix.scm
30 ;;
31 ;; To use as the basis for a development environment, run:
32 ;;
33 ;;   guix environment -l guix.scm
34 ;;
35 ;;; Code:
36
37 (use-modules (gnu packages)
38              (gnu packages base)
39              (gnu packages guile)
40              (gnu packages package-management)
41              (gnu packages perl)
42              (gnu packages version-control)
43              (guix git-download)
44              (guix licenses)
45              (guix packages)
46              (guix build-system gnu))
47
48 (define-public mes
49   (package
50     (name "mes")
51     (version "0.2.376bb5d6")
52     (source (origin
53               (method git-fetch)
54               (uri (git-reference
55                     (url "https://gitlab.com/janneke/mes")
56                     (commit "376bb5d62b564521734a758ceb901db59d8e563a")))
57               (file-name (string-append name "-" version))
58               (sha256
59                (base32 "09axqivywpw0l9lm7pk1ncp6690vfv658z731z674ih73yqs5qma"))))
60     (build-system gnu-build-system)
61     (native-inputs
62      `(("git" ,git)
63        ("guile" ,guile-2.0)
64        ("perl" ,perl)))                ; build-aux/gitlog-to-changelog
65     (arguments
66      `(#:phases
67        (modify-phases %standard-phases
68          (add-before 'install 'generate-changelog
69            (lambda _
70              (with-output-to-file "ChangeLog"
71                (lambda ()
72                  (display "Please run\n  build-aux/gitlog-to-changelog --srcdir=<git-checkout> > ChangeLog\n")))
73              #t)))))
74     (synopsis "Maxwell Equations of Software")
75     (description
76      "Mes aims to create an entirely source-based bootstrapping path.
77 The target is to [have GuixSD] boostrap from a minimal, easily
78 inspectable binary --that should be readable as source-- into
79 something close to R6RS Scheme.")
80     (home-page "https://gitlab.com/janneke/mes")
81     (license gpl3+)))
82
83 ;; Return it here so 'guix build/environment/package' can consume it directly.
84 mes