Update README, including how to set things up using guix.scm
[mudsync.git] / guix.scm
1 ;;; mudsync --- Live hackable MUDs in Guile
2 ;;; Copyright (C) 2016 Jan Nieuwenhuizen <janneke@gnu.org>
3 ;;; Copyright (C) 2017 Christopher Allan Webber <cwebber@dustycloud.org>
4 ;;;
5 ;;; This program is free software: you can redistribute it and/or modify
6 ;;; it under the terms of the GNU General Public License as published by
7 ;;; the Free Software Foundation, either version 3 of the License, or
8 ;;; (at your option) any later version.
9 ;;;
10 ;;; This program is distributed in the hope that it will be useful,
11 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 ;;; GNU General Public License for more details.
14 ;;; 
15 ;;; You should have received a copy of the GNU General Public License
16 ;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18 ;;; Commentary:
19 ;;
20 ;; GNU Guix development package.  To build and install, run:
21 ;;
22 ;;   guix package -f guix.scm
23 ;;
24 ;; To build it, but not install it, run:
25 ;;
26 ;;   guix build -f guix.scm
27 ;;
28 ;; To use as the basis for a development environment, run:
29 ;;
30 ;;   guix environment -l guix.scm
31 ;;
32 ;;; Code:
33
34 (use-modules (srfi srfi-1)
35              (srfi srfi-26)
36              (ice-9 popen)
37              (ice-9 match)
38              (ice-9 rdelim)
39              (guix download)
40              (guix packages)
41              (guix licenses)
42              (guix gexp)
43              (guix git-download)
44              (guix build-system gnu)
45              ((guix build utils) #:select (with-directory-excursion))
46              (gnu packages)
47              (gnu packages autotools)
48              (gnu packages guile)
49              (gnu packages pkg-config)
50              (gnu packages texinfo))
51
52 (define %source-dir (dirname (current-filename)))
53
54 (package
55   (name "guile-mudsync")
56   (version "git")
57   (source (local-file %source-dir
58                       #:recursive? #t
59                       #:select? (git-predicate %source-dir)))
60   (build-system gnu-build-system)
61   (native-inputs `(("autoconf" ,autoconf)
62                    ("automake" ,automake)
63                    ("pkg-config" ,pkg-config)
64                    ("texinfo" ,texinfo)))
65   (inputs `(("guile" ,guile-2.2)
66             ("guile-8sync" ,guile-8sync)
67             ("guile-irregex" ,guile2.2-irregex)))
68   (arguments
69    `(#:phases (modify-phases %standard-phases
70                 (add-before 'configure 'bootstrap
71                             (lambda _
72                               (zero? (system* "./bootstrap.sh"))))
73                 (add-before 'configure 'setenv
74                             (lambda _
75                               (setenv "GUILE_AUTO_COMPILE" "0"))))))
76   (home-page "https://notabug.org/cwebber/mudsync/")
77   (synopsis "Live hackable MUD system")
78   (description
79    "Mudsync is a live hackable MUD system built on top of GNU 8sync.")
80   (license gpl3+))