From 2c95c0053a6ffa3339b18a0f585dbb82b555b3e8 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 23 Mar 2016 14:31:34 +0100 Subject: gn: Add 4store. * gn/packages/4store.scm (4store): New variable. * 4store-fix-buildsystem.patch: New file. --- 4store-fix-buildsystem.patch | 56 +++++++++++++++++++++++++++++ gn/packages/4store.scm | 86 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 4store-fix-buildsystem.patch create mode 100644 gn/packages/4store.scm diff --git a/4store-fix-buildsystem.patch b/4store-fix-buildsystem.patch new file mode 100644 index 0000000..a72c4d4 --- /dev/null +++ b/4store-fix-buildsystem.patch @@ -0,0 +1,56 @@ +This patch sets a fixed version to avoid needing Git and the .git/ folder. +It also removes the creation of "/var/lib/4store", which is not available +during the install phase in GNU Guix. + +Patch by Roel Janssen +*** 4store-1.1.6-orig/configure.ac Wed Feb 4 19:05:24 2015 +--- 4store-1.1.6/configure.ac Wed Mar 23 11:20:38 2016 +*************** +*** 2,13 **** + # Process this file with autoconf to produce a configure script. + + AC_PREREQ([2.50]) +! AC_INIT([4store], m4_esyscmd([./version.sh .version]), [http://4store.org/support/], [4store]) + AC_CONFIG_SRCDIR([src/backend/backend-intl.h]) +! AM_INIT_AUTOMAKE([1.7 std-options -Wall]) + AC_CONFIG_HEADERS(4store-config.h) + + # Checks for programs. + AC_PROG_LIBTOOL + AC_PROG_AWK + AC_PROG_CC +--- 2,14 ---- + # Process this file with autoconf to produce a configure script. + + AC_PREREQ([2.50]) +! AC_INIT([4store], [1.1.6], [http://4store.org/support/], [4store]) + AC_CONFIG_SRCDIR([src/backend/backend-intl.h]) +! AM_INIT_AUTOMAKE([1.7 std-options foreign -Wall]) + AC_CONFIG_HEADERS(4store-config.h) + + # Checks for programs. ++ AM_PROG_AR + AC_PROG_LIBTOOL + AC_PROG_AWK + AC_PROG_CC + +*** 4store-1.1.6-orig/src/utilities/Makefile.am Wed Feb 4 19:05:24 2015 +--- 4store-1.1.6/src/utilities/Makefile.am Wed Mar 23 14:05:56 2016 +*************** +*** 13,20 **** + noinst_PROGRAMS = lex-file-verify 4s-rid + + install-data-local: +! mkdir -p $(DESTDIR)@FS_STORE_ROOT@ +! chmod 1777 $(DESTDIR)@FS_STORE_ROOT@ + + 4s_backend_destroy_SOURCES = backend-destroy.c + 4s_backend_destroy_LDADD = ../common/lib4sintl.a +--- 13,19 ---- + noinst_PROGRAMS = lex-file-verify 4s-rid + + install-data-local: +! echo "Please create the following directory: " $(DESTDIR)@FS_STORE_ROOT@ + + 4s_backend_destroy_SOURCES = backend-destroy.c + 4s_backend_destroy_LDADD = ../common/lib4sintl.a diff --git a/gn/packages/4store.scm b/gn/packages/4store.scm new file mode 100644 index 0000000..41e3249 --- /dev/null +++ b/gn/packages/4store.scm @@ -0,0 +1,86 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Roel Janssen +;;; +;;; 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 (gn packages 4store) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages python) + #:use-module (gnu packages perl) + #:use-module (gnu packages rdf) + #:use-module (gnu packages pcre) + #:use-module (gnu packages avahi) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages linux) + #:use-module (gnu packages readline) + #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tls) + #:use-module (gnu packages file) + #:use-module (gnu packages xml)) + +(define-public 4store + (let ((commit "c5a56d7c7504551a1f2fff6c16c4d9a440e4a317")) + (package + (name "4store") + (version (string-append "1.1.6-0." (string-take commit 7))) + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/garlik/4store/archive/" + commit ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "12pn5masjrfp1d8v1dz47qga0ns8d03f2f5icnb9d6m1jfp8l38a")) + (patches (list (search-patch "4store-fix-buildsystem.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) + ("python" ,python-2) + ("file" ,file) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gnu-gettext) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("rasqal" ,rasqal) + ("libxml2" ,libxml2) + ("raptor2" ,raptor2) + ("readline" ,readline) + ("avahi" ,avahi) + ("pcre" ,pcre) + ("cyrus-sasl" ,cyrus-sasl) + ("openssl" ,openssl) + ("util-linux" ,util-linux))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-configure + (lambda _ + (zero? (system* "./autogen.sh"))))))) + (home-page "http://www.4store.org") + (synopsis "Clustered RDF storage and query engine") + (description "4store is a RDF/SPARQL store written in C, either single +machines or networked clusters.") + (license license:gpl3+)))) -- cgit v1.2.3