From 93dc836f9dcdd2037711454ff5babb35e755bc27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 1 Feb 2015 22:09:07 +0800 Subject: [PATCH] gnu: Add librep. * gnu/packages/sawfish.scm: New file. * gnu/packages/patches/librep-rules.mk.patch: New file. * gnu-system.am: Add them. --- gnu-system.am | 2 + gnu/packages/patches/librep-rules.mk.patch | 30 ++++++++++ gnu/packages/sawfish.scm | 66 ++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 gnu/packages/patches/librep-rules.mk.patch create mode 100644 gnu/packages/sawfish.scm diff --git a/gnu-system.am b/gnu-system.am index 0fb4571594..cb67381746 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -240,6 +240,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/ruby.scm \ gnu/packages/rush.scm \ gnu/packages/samba.scm \ + gnu/packages/sawfish.scm \ gnu/packages/scanner.scm \ gnu/packages/scheme.scm \ gnu/packages/screen.scm \ @@ -417,6 +418,7 @@ dist_patch_DATA = \ gnu/packages/patches/libevent-dns-tests.patch \ gnu/packages/patches/liboop-mips64-deplibs-fix.patch \ gnu/packages/patches/libmad-mips-newgcc.patch \ + gnu/packages/patches/librep-rules.mk.patch \ gnu/packages/patches/libtheora-config-guess.patch \ gnu/packages/patches/libtool-skip-tests.patch \ gnu/packages/patches/libssh-CVE-2014-0017.patch \ diff --git a/gnu/packages/patches/librep-rules.mk.patch b/gnu/packages/patches/librep-rules.mk.patch new file mode 100644 index 0000000000..4ea2a3ae1b --- /dev/null +++ b/gnu/packages/patches/librep-rules.mk.patch @@ -0,0 +1,30 @@ +rules.mk.in: Don't set prefix, datadir, libdir, datarootdir and repdir. +rules.mk.in: Use pkg-config to get the absolute path for repcommonexedir. + +Merged into upstream: . + +--- librep_0.92.4.orig/rules.mk.in 2015-01-31 23:21:59.614751496 +0800 ++++ librep_0.92.4/rules.mk.in 2015-02-02 18:56:55.097171657 +0800 +@@ -1,18 +1,10 @@ + # rules.mk + +-prefix=@prefix@ +-datadir=@datadir@ +-libdir=@libdir@ ++repcommonexecdir?=$(shell pkg-config --variable=repcommonexecdir librep) ++rpath_repcommonexecdir:=$(repcommonexecdir) + +-# shut up configure +-datarootdir=@datarootdir@ +- +-repdir=@repdir@ +-repcommonexecdir=@repcommonexecdir@ +-rpath_repcommonexecdir=@repcommonexecdir@ +- +-rep_LIBTOOL=$(repcommonexecdir)/libtool --tag CC +-rep_INSTALL_ALIASES=$(repcommonexecdir)/install-aliases ++rep_LIBTOOL:=$(repcommonexecdir)/libtool --tag CC ++rep_INSTALL_ALIASES:=$(repcommonexecdir)/install-aliases + + # use this like: + # foo.la : foo.lo bar.lo diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm new file mode 100644 index 0000000000..acf3e06883 --- /dev/null +++ b/gnu/packages/sawfish.scm @@ -0,0 +1,66 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Sou Bunnbu +;;; +;;; 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 . + +(define-module (gnu packages sawfish) + #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages gdbm) + #:use-module (gnu packages libffi) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages readline) + #:use-module (gnu packages texinfo)) + +(define-public librep + (package + (name "librep") + (version "0.92.4") + (source (origin + (method url-fetch) + (uri (string-append "http://download.tuxfamily.org/" name "/" + name "_" version ".tar.xz")) + (sha256 + (base32 + "0297m24p2y8j3wavf8qqyriic7ls2392cmfn96y0pi83r5qckc25")) + (patches (list (search-patch "librep-rules.mk.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("makeinfo" ,texinfo) + ("pkg-config" ,pkg-config))) + (inputs + `(("gdbm" ,gdbm) + ("gmp" ,gmp) + ("libffi" ,libffi) + ("readline" ,readline))) + (native-search-paths + (list (search-path-specification + (variable "REP_DL_LOAD_PATH") + (files '("lib/rep"))))) + (home-page "http://sawfish.wikia.com/wiki/Librep") + (synopsis "Lisp system for sawfish") + (description + "Librep is a dialect of Lisp, designed to be used both as an extension +language for applications and as a general purpose programming language. It +was originally written to be mostly-compatible with Emacs Lisp, but has +subsequently diverged markedly. Its aim is to combine the best features of +Scheme and Common Lisp and provide an environment that is comfortable for +implementing both small and large scale systems.") + (license gpl2+)))