~ruther/guix-local

4c6aa73b8f9a16130ae9546efd8fdcb99fc034d9 — Roel Janssen 10 years ago 3854f3d
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.

Signed-off-by: Leo Famulari <leo@famulari.name>
3 files changed, 110 insertions(+), 0 deletions(-)

M gnu/local.mk
M gnu/packages/databases.scm
A gnu/packages/patches/4store-fix-buildsystem.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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			\

M gnu/packages/databases.scm => gnu/packages/databases.scm +53 -0
@@ 9,6 9,7 @@
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;;
;;; 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")

A gnu/packages/patches/4store-fix-buildsystem.patch => gnu/packages/patches/4store-fix-buildsystem.patch +56 -0
@@ 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 <roel@gnu.org>
*** 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