summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcacertsbin207134 -> 0 bytes
-rw-r--r--clojure.scm87
-rw-r--r--emacs-circe.scm155
-rw-r--r--i3.scm273
-rw-r--r--java-certs.scm55
-rw-r--r--sbcl.scm193
6 files changed, 0 insertions, 763 deletions
diff --git a/cacerts b/cacerts
deleted file mode 100755
index db4ef5e..0000000
--- a/cacerts
+++ /dev/null
Binary files differ
diff --git a/clojure.scm b/clojure.scm
deleted file mode 100644
index 652e900..0000000
--- a/clojure.scm
+++ /dev/null
@@ -1,87 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (clojure)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix git-download)
- #:use-module (guix utils)
- #:use-module (guix build-system gnu)
- #:use-module (gnu packages)
- #:use-module (gnu packages java))
-
-(define lein-pkg
- (origin
- (method url-fetch)
- (uri "https://raw.github.com/technomancy/leiningen/2.5.1/bin/lein-pkg")
- (sha256
- (base32
- "0pqqb2bh0a17426diwyhk5vbxcfz45rppbxmjydsmai94jm3cgix"))))
-
-(define builder.sh
- (origin
- (method url-fetch)
- (uri "https://raw.githubusercontent.com/NixOS/nixpkgs/0761f81da71fc6a940c7f51129b6c7717db78e87/pkgs/development/tools/build-managers/leiningen/builder.sh")
- (sha256
- (base32
- "10qsz16pnhccwdl34w043kl3c3prkpi1cv4rpzfjfmcqa8kjcny8"))))
-
-
-(define-public leiningen
- (package
- (name "leiningen")
- (version "2.5.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/technomancy/leiningen/releases/download/"
- version "/leiningen-" version "-standalone.zip"))
- (sha256
- (base32
- "1irl3w66xq1xbbs4g10dnw1vknfw8al70nhr744gfn2za27w0xdl"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no "check" target
- #:phases
- (modify-phases %standard-phases
-
- (replace 'build
- (lambda _
- (setenv "JAVA_HOME"
- (assoc-ref %build-inputs "icedtea7"))
- ;; Disable tests to avoid dependency on hamcrest-core, which needs
- ;; Ant to build. This is necessary in addition to disabling the
- ;; "check" phase, because the dependency on "test-jar" would always
- ;; result in the tests to be run.
- (zero? (system* "bash" "builder.sh"
- (string-append "-Ddist.dir="
- (assoc-ref %outputs "out"))))))
- (delete 'configure)
- (delete 'unpack)
- (delete 'install))))
- (native-inputs
- `(("builder.sh" ,builder.sh)
- ("lein-pkg" ,lein-pkg)))
- (inputs
- `(("icedtea7" ,icedtea7 "jdk")))
- (home-page "http://leiningen.org/")
- (synopsis "Project automation for Clojure")
- (description
- "")
- (license license:epl1.0)))
diff --git a/emacs-circe.scm b/emacs-circe.scm
deleted file mode 100644
index dafd5cd..0000000
--- a/emacs-circe.scm
+++ /dev/null
@@ -1,155 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (emacs-circe)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix git-download)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system emacs)
- #:use-module (guix build-system glib-or-gtk)
- #:use-module (guix build-system trivial)
- #:use-module (gnu packages)
- #:use-module (gnu packages guile)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages gnome)
- #:use-module (gnu packages ncurses)
- #:use-module (gnu packages texinfo)
- #:use-module (gnu packages tls)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages guile)
- #:use-module (gnu packages xorg)
- #:use-module (gnu packages lesstif)
- #:use-module (gnu packages image)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages version-control)
- #:use-module (gnu packages imagemagick)
- #:use-module (gnu packages w3m)
- #:use-module (gnu packages wget)
- #:use-module (gnu packages autotools)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages acl)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages pdf)
- #:use-module (gnu packages xiph)
- #:use-module (gnu packages mp3)
- #:use-module (guix utils)
- #:use-module (srfi srfi-1))
-
-
-(define-public emacs-circe
- (package
- (name "emacs-circe")
- (version "2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/jorgenschaefer/circe/archive/v"
- version ".tar.gz"))
- (sha256
- (base32
- "0pf4mqy4m55jqk8i21r5jmxr6azq9ai3j162ik0gia0xd80s0p63"))))
- (build-system emacs-build-system)
- (home-page "http://www.nongnu.org/circe/")
- (synopsis "Client for IRC in Emacs")
- (description
- "Circe is a Client for IRC in Emacs. It integrates well with the rest
-of the editor, using standard Emacs key bindings and indicating
-activity in channels in the status bar so it stays out of your way
-unless you want to use it.
-")
- (license license:gpl3+)))
-
-(define-public emacs-async
- (package
- (name "emacs-async")
- (version "1.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/jwiegley/emacs-async/archive/v"
- version ".tar.gz"))
- (sha256
- (base32
- "1yzasjrp6yw6l840j3ryapkyziwrq5c6np35zxgb4hhvb47qaq0x"))))
- (build-system emacs-build-system)
- (home-page "https://github.com/jwiegley/emacs-async")
- (synopsis "Asynchronous processing in Emacs")
- (description
- "Adds the ability to call asynchronous functions and process with ease. See
-the documentation for `async-start' and `async-start-process'.")
- (license license:gpl3+))
- )
-
-(define-public emacs-helm
- (package
- (name "emacs-helm")
- (version "1.7.5")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/emacs-helm/helm/archive/v" version
- ".tar.gz"))
- (sha256
- (base32
- "1hpjjl4j4zd8n19sw6j693a5pr04a1a7i3x0rhw4hgh6lvd7yxah"))))
- (build-system emacs-build-system)
- (inputs
- `(("emacs-async" ,emacs-async)))
- (home-page "https://emacs-helm.github.io/helm/")
- (synopsis
- "Helm is an Emacs incremental and narrowing framework")
- (description "Helm is incremental completion and selection narrowing framework for Emacs. It will help steer you in the right direction when you're looking for stuff in Emacs (like buffers, files, etc).")
- (license license:gpl3+)))
-
-(define-public emacs-helm-circe
- (package
- (name "emacs-helm-circe")
- (version "0.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/lesharris/helm-circe/archive/v"
- version ".tar.gz"))
- (sha256
- (base32
- "0ndi4g60cvwppsgcw1jgaxmwk53r6w93n7rgy204f2bwk8ahkd9s"))))
- (build-system emacs-build-system)
- (inputs
- `(("emacs-helm" ,emacs-helm)
- ("emacs-circe" ,emacs-circe)))
- (home-page
- "https://github.com/lesharris/helm-circe")
- (synopsis "Helm circe buffer management.")
- (description
- "Jump to Circe buffers easily with Helm. A call to `helm-circe` will show a list of circe channel and server
-buffers allowing you to switch channels easily as well as remove circe buffers. Largely based on helm-mt by Didier Deshommes")
- (license license:gpl3+))
- )
diff --git a/i3.scm b/i3.scm
deleted file mode 100644
index a55e48a..0000000
--- a/i3.scm
+++ /dev/null
@@ -1,273 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (i3)
- #:use-module (guix licenses)
- #:use-module (guix packages)
- #:use-module (gnu packages linux)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system cmake)
- #:use-module (guix build-system perl)
- #:use-module (gnu packages base)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages xorg)
- #:use-module (gnu packages qt)
- #:use-module (gnu packages asciidoc)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages m4)
- #:use-module (gnu packages docbook)
- #:use-module (gnu packages pcre)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages maths)
- #:use-module (guix download)
- #:use-module (guix git-download))
-
-(define-public xcb-util-cursor
- (package
- (name "xcb-util-cursor")
- (version "0.1.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://xcb.freedesktop.org/dist/xcb-util-cursor-" version ".tar.gz"))
- (sha256
- (base32
- "0bm0mp99abdfb6v4v60hq3msvk67b2x9ml3kbx5y2g18xdhm3rdr"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("m4" ,m4)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("libxcb" ,libxcb)
- ("xcb-util-renderutil" ,xcb-util-renderutil)
- ("xcb-util-image" ,xcb-util-image)))
- (home-page "http://cgit.freedesktop.org/xcb/util-cursor/")
- (synopsis "Port of libxcursor")
- (description "Port of libxcursor.")
- (license
- (non-copyleft
- "file://COPYING"
- "See COPYING in the distribution."))))
-
-
-(define-public libyajl
- (package
- (name "libyajl")
- (version "2.1.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/lloyd/yajl/archive/" version ".tar.gz"))
- (sha256
- (base32
- "0nmcqpaiq4pv7dymyg3n3jsd57yhp5npxl26a1hzw3m3lmj37drz"))))
- (build-system cmake-build-system)
- (home-page "https://lloyd.github.io/yajl/")
- (synopsis "C library for parsing JSON")
- (description "Yet Another JSON Library. YAJL is a small
-event-driven (SAX-style) JSON parser written in ANSI C, and a small
-validating JSON generator.")
- (license isc)))
-
-
-(define-public perl-pod-simple
- (package
- (name "perl-pod-simple")
- (version "3.30_1")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://search.cpan.org/CPAN/authors/id/M/MA/MARCGREEN/Pod-Simple-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "0yzy7mw2jriwcywmh38csjqrwxj207b2b7rlpvkdh1rq5828hary"))))
- (build-system perl-build-system)
- (home-page "http://search.cpan.org/~marcgreen/Pod-Simple/lib/Pod/Simple.pod")
- (synopsis "Parsing library for text in Pod format")
- (description "Pod::Simple is a Perl library for parsing text in
-the Pod (plain old documentation) markup language that is typically
-used for writing documentation for Perl and for Perl modules.")
- (license (package-license perl))))
-
-
-(define-public libsn
- (package
- (name "libsn")
- (version "0.12")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://www.freedesktop.org/software/startup-notification/releases/startup-notification-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w"))))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("libx11" ,libx11)
- ("xcb-util" ,xcb-util)))
- (build-system gnu-build-system)
- (home-page "https://wiki.freedesktop.org/www/Software/startup-notification/")
- (synopsis "Reference implementation of the startup notification protocol")
- (description "Startup-notification contains a reference
-implementation of the startup notification protocol. The reference
-implementation is mostly under an X Window System style license, and
-has no special dependencies.")
- (license gpl2)))
-
-
-(define-public libev
- (package
- (name "libev")
- (version "4.20")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://dist.schmorp.de/libev/libev-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "17j47pbkr65a18mfvy2861p5k7w4pxmdgiw723ryfqd9gx636w7q"))))
- (build-system gnu-build-system)
- (home-page "http://software.schmorp.de/pkg/libev.html")
- (synopsis "An event loop that is loosely modelled after libevent")
- (description "A full-featured and high-performance event loop that
-is loosely modelled after libevent, but without its limitations and
-bugs. It is used in GNU Virtual Private Ethernet, rxvt-unicode,
-auditd, the Deliantra MORPG Server and Client, and many other
-programs.")
- (license
- (non-copyleft
- "file://LICENSE"
- "See LICENSE in the distribution."))))
-
-
-(define-public libconfuse
- (package
- (name "libconfuse")
- (version "2.7")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://savannah.nongnu.org/download/confuse/confuse-"
- version
- ".tar.gz"))
- (sha256
- (base32 "0y47r2ashz44wvnxdb18ivpmj8nxhw3y9bf7v9w0g5byhgyp89g3"))))
- (build-system gnu-build-system)
- (home-page "http://www.nongnu.org/confuse/")
- (synopsis "Configuration file parser library")
- (description "A configuration file parser library. It supports
-sections and (lists of) values (strings, integers, floats, booleans or
-other sections), as well as some other features (such as
-single/double-quoted strings, environment variable expansion,
-functions and nested include statements). It makes it very easy to
-add configuration file capability to a program using a simple API. ")
- (license isc)))
-
-
-;;; undeclared libl dependency caused this error during build :
-
-;; ld: /gnu/store/shi6xf1psgkjyfps4x2572m6qwxf4lf3-libiw-30.pre9/lib/libiw.a(iwlib.so): undefined reference to symbol 'trunc@@GLIBC_2.2.5'
-;; /gnu/store/w29667jfv02s1hgmv0yp7nqyywvdv1fz-glibc-2.21/lib/libm.so.6: error adding symbols: DSO missing from command line
-;; collect2: error: ld returned 1 exit status
-
-(define-public i3status
- (package
- (name "i3status")
- (version "2.9")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://i3wm.org/i3status/i3status-" version ".tar.bz2"))
- (sha256
- (base32
- "1qwxbrga2fi5wf742hh9ajwa8b2kpzkjjnhjlz4wlpv21i80kss2"))))
- (build-system gnu-build-system)
- (arguments
- `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (delete 'check))))
- (inputs
- `(("openlibm" ,openlibm)
- ("libconfuse" ,libconfuse)
- ("libyajl" ,libyajl)
- ("alsa-lib" ,alsa-lib)
- ("wireless-tools" ,wireless-tools)
- ("libcap" ,libcap)
- ("asciidoc" ,asciidoc)))
- (home-page "http://i3wm.org/i3status/")
- (synopsis "Generating a status bar for i3bar, dzen2, xmobar or similar programs")
- (description "i3status is a small program for generating a status
-bar for i3bar, dzen2, xmobar or similar programs. It is designed to
-be very efficient by issuing a very small number of system calls, as
-one generally wants to update such a status line every second. This
-ensures that even under high load, your status bar is updated
-correctly. Also, it saves a bit of energy by not hogging your CPU as
-much as spawning the corresponding amount of shell commands would.")
- (license bsd-3)))
-
-
-(define-public i3
- (package
- (name "i3")
- (version "4.10.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://i3wm.org/downloads/i3-" version ".tar.bz2"))
- (sha256
- (base32
- "1lq7h4w7m0hi31iva8g7yf1sc11ispnknxjdaj9agld4smxqb44j"))))
- (build-system gnu-build-system)
- (arguments
- `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (delete 'check))))
- (inputs
- `(("libxcb" ,libxcb)
- ("xcb-util" ,xcb-util)
- ("xcb-util-cursor" ,xcb-util-cursor)
- ("xcb-util-keysyms" ,xcb-util-keysyms)
- ("xcb-util-wm" ,xcb-util-wm)
- ("libxkbcommon" ,libxkbcommon)
- ("libev" ,libev)
- ("libyajl" ,libyajl)
- ("asciidoc" ,asciidoc)
- ("xmlto" ,xmlto)
- ("perl-pod-simple" ,perl-pod-simple)
- ("docbook-xml" ,docbook-xml)
- ("libx11" ,libx11)
- ("pcre" ,pcre)
- ("libsn" ,libsn)
- ("pango" ,pango)
- ("cairo" ,cairo)))
- (native-inputs
- `(("which" ,which)
- ("perl" ,perl)
- ("pkg-config" ,pkg-config)))
- (home-page "http://i3wm.org/")
- (synopsis "Improved tiling window manager")
- (description "i3 is a tiling window manager, completely written
-from scratch. The target platforms are GNU/Linux and BSD operating
-systems, our code is Free and Open Source Software (FOSS) under the
-BSD license. i3 is primarily targeted at advanced users and
-developers.")
- (license bsd-3)))
diff --git a/java-certs.scm b/java-certs.scm
deleted file mode 100644
index 0f34480..0000000
--- a/java-certs.scm
+++ /dev/null
@@ -1,55 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (java-certs)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system trivial)
- #:use-module (gnu packages))
-
-
-(define-public java-certs
- (package
- (name "java-certs")
- (version "1.0")
- (source
- (origin
- (method url-fetch)
- (uri "file:///home/yenda/src/guix/packages/cacerts")
- (sha256
- (base32
- "1ksxkbvhx1ga6yr5l7h6yxx5kqnvk1cxbyg8d7xd55anbaq8vi6x"))))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let ((source (assoc-ref %build-inputs "source"))
- (certsdir (string-append %output "/etc/ssl/certs/java")))
- (mkdir-p certsdir)
- (copy-file source (string-append certsdir "/cacerts"))))))
- (native-inputs
- `(("source" ,source)))
- (home-page "")
- (synopsis "Java CA certificates from Debian")
- (description
- "This package provides certificates for Certification Authorities (CA)
-taken from the NSS package and thus ultimately from the Mozilla project.")
- (license license:gpl2+)))
diff --git a/sbcl.scm b/sbcl.scm
deleted file mode 100644
index 83247ad..0000000
--- a/sbcl.scm
+++ /dev/null
@@ -1,193 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 John Darrington <jmd@gnu.org>
-;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
-;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
-;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages lisp)
- #:use-module (gnu packages)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (gnu packages readline)
- #:use-module (gnu packages texinfo)
- #:use-module (gnu packages tex)
- #:use-module (gnu packages m4)
- #:use-module (guix download)
- #:use-module (guix git-download)
- #:use-module (guix utils)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system asdf)
- #:use-module (guix build-system trivial)
- #:use-module (gnu packages base)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages fontutils)
- #:use-module (gnu packages maths)
- #:use-module (gnu packages multiprecision)
- #:use-module (gnu packages bdw-gc)
- #:use-module (gnu packages libffi)
- #:use-module (gnu packages libffcall)
- #:use-module (gnu packages readline)
- #:use-module (gnu packages sdl)
- #:use-module (gnu packages libsigsegv)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages admin)
- #:use-module (gnu packages ed)
- #:use-module (gnu packages gl)
- #:use-module (gnu packages gcc)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages m4)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages version-control)
- #:use-module (gnu packages xorg)
- #:use-module (ice-9 match)
- #:use-module (srfi srfi-1))
-
-(define (asdf-substitutions lisp)
- ;; Prepend XDG_DATA_DIRS/LISP-bundle-systems to ASDF's
- ;; 'default-system-source-registry'.
- `((("\\(,dir \"systems/\"\\)\\)")
- (format #f
- "(,dir \"~a-bundle-systems\")))
-
- ,@(loop :for dir :in (xdg-data-dirs \"common-lisp/\")
- :collect `(:directory (,dir \"systems\"))"
- ,lisp))))
-
-(define-public sbcl-next
- (package
- (name "sbcl")
- (version "1.3.16")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
- version "-source.tar.bz2"))
- (sha256
- (base32 "0qw8kcn66sr1k7ilm6i66dk3ybym722ccxa4xi8w7bkhgc0ripdp"))
- (modules '((guix build utils)))
- (snippet
- ;; Add sbcl-bundle-systems to 'default-system-source-registry'.
- `(substitute* "contrib/asdf/asdf.lisp"
- ,@(asdf-substitutions name)))))
- (build-system gnu-build-system)
- (outputs '("out" "doc"))
- ;; Bootstrap with CLISP.
- (native-inputs
- `(("clisp" ,clisp)
- ("which" ,which)
- ("inetutils" ,inetutils) ;for hostname(1)
- ("ed" ,ed)
- ("texlive" ,texlive)
- ("texinfo" ,texinfo)))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'patch-unix-tool-paths
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (bash (assoc-ref inputs "bash"))
- (coreutils (assoc-ref inputs "coreutils"))
- (ed (assoc-ref inputs "ed")))
- (define (quoted-path input path)
- (string-append "\"" input path "\""))
- ;; Patch absolute paths in string literals. Note that this
- ;; occurs in some .sh files too (which contain Lisp code). Use
- ;; ISO-8859-1 because some of the files are ISO-8859-1 encoded.
- (with-fluids ((%default-port-encoding #f))
- ;; The removed file is utf-16-be encoded, which gives substitute*
- ;; trouble. It does not contain references to the listed programs.
- (substitute* (delete
- "./tests/data/compile-file-pos-utf16be.lisp"
- (find-files "." "\\.(lisp|sh)$"))
- (("\"/bin/sh\"") (quoted-path bash "/bin/sh"))
- (("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env"))
- (("\"/bin/cat\"") (quoted-path coreutils "/bin/cat"))
- (("\"/bin/ed\"") (quoted-path ed "/bin/ed"))
- (("\"/bin/echo\"") (quoted-path coreutils "/bin/echo"))
- (("\"/bin/uname\"") (quoted-path coreutils "/bin/uname"))))
- ;; This one script has a non-string occurrence of /bin/sh.
- (substitute* '("tests/foreign.test.sh")
- ;; Leave whitespace so we don't match the shebang.
- ((" /bin/sh ") " sh "))
- ;; This file contains a module that can create executable files
- ;; which depend on the presence of SBCL. It generates shell
- ;; scripts doing "exec sbcl ..." to achieve this. We patch both
- ;; the shebang and the reference to "sbcl", tying the generated
- ;; executables to the exact SBCL package that generated them.
- (substitute* '("contrib/sb-executable/sb-executable.lisp")
- (("/bin/sh") (string-append bash "/bin/sh"))
- (("exec sbcl") (string-append "exec " out "/bin/sbcl")))
- ;; Disable some tests that fail in our build environment.
- (substitute* '("contrib/sb-bsd-sockets/tests.lisp")
- ;; This requires /etc/protocols.
- (("\\(deftest get-protocol-by-name/error" all)
- (string-append "#+nil ;disabled by Guix\n" all)))
- (substitute* '("contrib/sb-posix/posix-tests.lisp")
- ;; These assume some users/groups which we don't have.
- (("\\(deftest pwent\\.[12]" all)
- (string-append "#+nil ;disabled by Guix\n" all))
- (("\\(deftest grent\\.[12]" all)
- (string-append "#+nil ;disabled by Guix\n" all))))))
- (replace 'build
- (lambda* (#:key outputs #:allow-other-keys)
- (setenv "CC" "gcc")
- (zero? (system* "sh" "make.sh" "clisp"
- (string-append "--prefix="
- (assoc-ref outputs "out"))))))
- (replace 'install
- (lambda _
- (zero? (system* "sh" "install.sh"))))
- (add-after 'build 'build-doc
- (lambda _
- (with-directory-excursion "doc/manual"
- (and (zero? (system* "make" "info"))
- (zero? (system* "make" "dist"))))))
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc"))
- (old-doc-dir (string-append out "/share/doc"))
- (new-doc/sbcl-dir (string-append doc "/share/doc/sbcl")))
- (rmdir (string-append old-doc-dir "/sbcl/html"))
- (mkdir-p new-doc/sbcl-dir)
- (copy-recursively (string-append old-doc-dir "/sbcl")
- new-doc/sbcl-dir)
- (delete-file-recursively old-doc-dir)
- #t))))
- ;; No 'check' target, though "make.sh" (build phase) runs tests.
- #:tests? #f))
- (native-search-paths
- (list (search-path-specification
- (variable "XDG_DATA_DIRS")
- (files '("share")))))
- (home-page "http://www.sbcl.org/")
- (synopsis "Common Lisp implementation")
- (description "Steel Bank Common Lisp (SBCL) is a high performance Common
-Lisp compiler. In addition to the compiler and runtime system for ANSI Common
-Lisp, it provides an interactive environment including a debugger, a
-statistical profiler, a code coverage tool, and many other extensions.")
- ;; Public domain in jurisdictions that allow it, bsd-2 otherwise. MIT
- ;; loop macro has its own license. See COPYING file for further notes.
- (license (list license:public-domain license:bsd-2
- (license:x11-style "file://src/code/loop.lisp")))))