From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roel Janssen Subject: [PATCH] gnu: Add 4store. Date: Wed, 23 Mar 2016 15:09:46 +0100 Message-ID: <8760wd5lqt.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aijTr-0008PI-8A for guix-devel@gnu.org; Wed, 23 Mar 2016 10:09:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aijTm-0004QO-BG for guix-devel@gnu.org; Wed, 23 Mar 2016 10:09:51 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51813) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aijTm-0004QJ-7A for guix-devel@gnu.org; Wed, 23 Mar 2016 10:09:46 -0400 Received: from [143.121.239.252] (port=58662 helo=roel-tp) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aijTl-0005z2-Lp for guix-devel@gnu.org; Wed, 23 Mar 2016 10:09:45 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-Add-4store.patch Content-Transfer-Encoding: 8bit >From 2366fd58893547e4db6e4350a643a44c056e0902 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 23 Mar 2016 14:58:37 +0100 Subject: [PATCH] gnu: Add 4store. * gnu/packages/databases.scm (4store): New variable. * gnu/packages/patches/4store-fix-buildsystem.patch: New file. * gnu-system.am (dist_patch_DATA): Add patch file entry. --- gnu-system.am | 1 + gnu/packages/databases.scm | 53 +++++++++++++++++++++ gnu/packages/patches/4store-fix-buildsystem.patch | 56 +++++++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 gnu/packages/patches/4store-fix-buildsystem.patch diff --git a/gnu-system.am b/gnu-system.am index 6cdc1e3..971100b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -396,6 +396,7 @@ GNU_SYSTEM_MODULES = \ patchdir = $(guilemoduledir)/gnu/packages/patches dist_patch_DATA = \ + gnu/packages/patches/4store-fix-buildsystem.patch \ gnu/packages/patches/abiword-explictly-cast-bools.patch \ gnu/packages/patches/abiword-link-plugins-against-backend.patch \ gnu/packages/patches/abiword-no-include-glib-internal-headers.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 6612e37..e2007cc 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Nils Gillmann +;;; Copyright © 2016 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,8 +28,12 @@ (define-module (gnu packages databases) #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages avahi) #:use-module (gnu packages bash) #:use-module (gnu packages boost) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) #:use-module (gnu packages perl) #:use-module (gnu packages language) #:use-module (gnu packages linux) @@ -40,9 +45,12 @@ #:use-module (gnu packages check) #:use-module (gnu packages algebra) #:use-module (gnu packages curl) + #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages gnupg) #:use-module (gnu packages python) #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages rdf) #:use-module (gnu packages xml) #:use-module (gnu packages bison) #:use-module (gnu packages jemalloc) @@ -58,6 +66,51 @@ #:use-module (srfi srfi-26) #:use-module (ice-9 match)) +(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) + ("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, supporting +either single machines or networked clusters.") + (license gpl3+)))) + (define-public gdbm (package (name "gdbm") diff --git a/gnu/packages/patches/4store-fix-buildsystem.patch b/gnu/packages/patches/4store-fix-buildsystem.patch new file mode 100644 index 0000000..ec5e1d4 --- /dev/null +++ b/gnu/packages/patches/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 +*** a/configure.ac Wed Feb 4 19:05:24 2015 +--- b/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 + +*** a/src/utilities/Makefile.am Wed Feb 4 19:05:24 2015 +--- b/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 -- 2.5.5 --=-=-= Content-Type: text/plain Dear Guix, I would like to add 4store. The official website is currently offline, but there is an effort going on to get it back on line: https://github.com/garlik/4store/issues/137 Therefore, I would like to propose to keep the dead website link as this should sort itself out in time. I had to patch some build system files to avoid the need for Git and to avoid "mkdir -p /var/lib/4store". Now that I've triple-checked the patch, I hope everything is fine. Thank you for your time. Kind regards, Roel Janssen --=-=-=--