From 853212def065435f3e12ace05edee3fa47792064 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 30 Jun 2010 21:51:48 +0000 Subject: [PATCH] Adding 4store RDF storage/SparQL server svn path=/nixpkgs/trunk/; revision=22434 --- pkgs/development/libraries/librdf/rasqal.nix | 9 ++-- pkgs/servers/http/4store/default.nix | 44 +++++++++++++++++++ pkgs/servers/http/4store/src-for-default.nix | 9 ++++ .../http/4store/src-info-for-default.nix | 6 +++ pkgs/top-level/all-packages.nix | 7 ++- 5 files changed, 70 insertions(+), 5 deletions(-) create mode 100644 pkgs/servers/http/4store/default.nix create mode 100644 pkgs/servers/http/4store/src-for-default.nix create mode 100644 pkgs/servers/http/4store/src-info-for-default.nix diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix index 6b7e2fcd89da..ee99a173b6f6 100644 --- a/pkgs/development/libraries/librdf/rasqal.nix +++ b/pkgs/development/libraries/librdf/rasqal.nix @@ -1,15 +1,16 @@ args: with args; -stdenv.mkDerivation { - name = "rasqal-0.9.16"; +stdenv.mkDerivation rec { + name = "rasqal-0.9.19"; src = fetchurl { - url = http://download.librdf.org/source/rasqal-0.9.16.tar.gz; - sha256 = "1qvxbkynxwfw22hn2qbgxczzaq24h9649bcfbc598x9gq5m7hsq6"; + url = "http://download.librdf.org/source/${name}.tar.gz"; + sha256 = "a042846e8b7af52d9d66fba788c9d579e58c535cfaf80d33dc0bd69bf6ffeb08"; }; buildInputs = [ librdf_raptor gmp /*or mpfr*/ + pkgconfig #optional pcre libxml2 ]; diff --git a/pkgs/servers/http/4store/default.nix b/pkgs/servers/http/4store/default.nix new file mode 100644 index 000000000000..5a31bddc4334 --- /dev/null +++ b/pkgs/servers/http/4store/default.nix @@ -0,0 +1,44 @@ +x@{builderDefsPackage + , librdf_raptor, librdf_rasqal, + glib, libxml2, pcre, avahi, + readline, ncurses, expat, + zlib, pkgconfig, which, + db_dir ? "/var/lib/4store" + , ...}: +builderDefsPackage +(a : +let + s = import ./src-for-default.nix; + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + ["db_dir"]; + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); +in +rec { + src = a.fetchUrlFromSrcInfo s; + + inherit (s) name; + inherit buildInputs; + + /* doConfigure should be removed if not needed */ + phaseNames = ["doFixConfigure" "doConfigure" "doMakeInstall"]; + + doFixConfigure = a.fullDepEntry '' + sed -e 's@#! */bin/bash@#! ${a.stdenv.shell}@' -i configure + find . -name Makefile -exec sed -e "s@/usr/local@$out@g" -i '{}' ';' + sed -e '/\/var\/lib\/4store/d' -i src/utilities/Makefile + + sed -e 's@/var/lib/4store@${db_dir}@g' -i src/common/params.h src/utilities/* + '' ["minInit" "doUnpack"]; + + meta = { + description = "SparQL query server (RDF storage)"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux; + }; +}) x + diff --git a/pkgs/servers/http/4store/src-for-default.nix b/pkgs/servers/http/4store/src-for-default.nix new file mode 100644 index 000000000000..a8624ab40ab5 --- /dev/null +++ b/pkgs/servers/http/4store/src-for-default.nix @@ -0,0 +1,9 @@ +rec { + version="v1.0.3"; + name="4store-v1.0.3"; + hash="1d3n2xgqrq2kgigql3slxw1w2bml3b57xa7h6x9dbngxcz11xg22"; + url="http://4store.org/download/4store-${version}.tar.gz"; + advertisedUrl="http://4store.org/download/4store-v1.0.3.tar.gz"; + + +} diff --git a/pkgs/servers/http/4store/src-info-for-default.nix b/pkgs/servers/http/4store/src-info-for-default.nix new file mode 100644 index 000000000000..91a9bad92def --- /dev/null +++ b/pkgs/servers/http/4store/src-info-for-default.nix @@ -0,0 +1,6 @@ +{ + downloadPage = "http://4store.org/download/"; + baseName = "4store"; + choiceCommand = "tail -n 1"; + versionExtractorSedScript = "s@.*-(v[0-9.]+)[.].*@\\1@"; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e8ecb653abf6..052dfa23fcaa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5223,7 +5223,7 @@ let }; librdf_rasqal = import ../development/libraries/librdf/rasqal.nix { - inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor; + inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor pkgconfig; }; librdf = import ../development/libraries/librdf { @@ -5756,6 +5756,11 @@ let ### SERVERS + rdf4store = import ../servers/http/4store { + inherit builderDefsPackage librdf_raptor librdf_rasqal libxml2 + pcre avahi readline ncurses expat zlib pkgconfig which; + inherit (gtkLibs) glib; + }; apacheHttpd = makeOverridable (import ../servers/http/apache-httpd) { inherit (pkgsOverriden) fetchurl stdenv perl openssl zlib apr aprutil pcre;