From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roel Janssen Subject: Re: [PATCH] gnu: Add 4store. Date: Wed, 27 Apr 2016 00:47:40 +0200 Message-ID: <877ffk0yyb.fsf@gnu.org> References: <8760wd5lqt.fsf@gnu.org> <20160328161624.GA7959@jasmine> <87y491vknj.fsf@gnu.org> <20160406222348.GA9511@jasmine> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56494) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avBlt-0007LN-S5 for guix-devel@gnu.org; Tue, 26 Apr 2016 18:47:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1avBlq-0005xU-Jl for guix-devel@gnu.org; Tue, 26 Apr 2016 18:47:57 -0400 In-reply-to: <20160406222348.GA9511@jasmine> 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" To: Leo Famulari Cc: 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 e5b0f16d5d6e67d2c1f24729ce7f6490fa284d79 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Wed, 27 Apr 2016 00:44:22 +0200 Subject: [PATCH] gnu: Add 4store. * gnu/packages/databases.scm (4store): New variable. * gnu/packages/patches/4store-fix-buildsystem.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patch file entry. --- gnu/local.mk | 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/local.mk b/gnu/local.mk index 3cdf5e4..8ad9575 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -403,6 +403,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-wmf-version-lookup-fix.patch \ gnu/packages/patches/acl-hurd-path-max.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index a96b003..568d059 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 + (package + (name "4store") + (version "1.1.6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/garlik/4store/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50")) + (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"))))))) + ;; http://www.4store.org has been down for a while now. + (home-page "https://github.com/garlik/4store") + (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..383baa9 --- /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.7.4 --=-=-= Content-Type: text/plain Leo Famulari writes: > On Tue, Mar 29, 2016 at 08:54:40AM +0200, Roel Janssen wrote: >> Leo Famulari writes: >> > Why use this commit instead of the last release? >> >> I like especially these subtle changes/fixes: >> - run-time configurable HTTP log directory: >> commit 1725502cf01130ee80cf9b72249bbfc0f61f17fb >> - Fix for potential pointer arithmetic error: >> commit 6e2b4a70d4934484706a67b688ac30f3ca7baf98 > > It's true, those are nice changes to have. But then again, most of our > packages have some nice changes between the latest release and HEAD. > > The best solution would be for 4store to issue a new release, especially > if that pointer arithmetic issue is a real problem. Can you ask them if > they are planning a new release soon? Right. I think it's too soon for a new release, as there are many outstanding bugs to be fixed. I reverted the version of my patch to the latest official release. I also changed the home-page link because 4store.org is still down and it doesn't look like that is going to change any time soon. I attached a new patch that should be fine. When I applied the patch myself I got two warnings about trailing whitespace. I tried a modified patch without spaces after the make target names, but it failed to apply the patch when building 4store. Therefore, I left the whitespace as is, and I think we should leave the warnings be. Thanks for your time and effort! Kind regards, Roel Janssen --=-=-=--