gnu: Add librep.

* gnu/packages/sawfish.scm: New file.
* gnu/packages/patches/librep-rules.mk.patch: New file.
* gnu-system.am: Add them.
master
宋文武 2015-02-01 22:09:07 +08:00
parent e99f421185
commit 93dc836f9d
3 changed files with 98 additions and 0 deletions

View File

@ -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 \

View File

@ -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: <https://github.com/SawfishWM/librep/commit/a1f2db721aa5055e90f6a76fde625946340ed8cf>.
--- 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

66
gnu/packages/sawfish.scm Normal file
View File

@ -0,0 +1,66 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; 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 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+)))