summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2010-06-29 22:18:49 +0000
committerMichael Raskin <7c6f434c@mail.ru>2010-06-29 22:18:49 +0000
commit14eea491b82663117e9a40a65b01a86b9549ee03 (patch)
tree062ad46122aa36a84aa1c28e79ac030b16d6f87e
parentf366f3020c08bb5d337e07b025829e44e497872c (diff)
downloadnixpkgs-14eea491b82663117e9a40a65b01a86b9549ee03.tar
nixpkgs-14eea491b82663117e9a40a65b01a86b9549ee03.tar.gz
nixpkgs-14eea491b82663117e9a40a65b01a86b9549ee03.tar.bz2
nixpkgs-14eea491b82663117e9a40a65b01a86b9549ee03.tar.lz
nixpkgs-14eea491b82663117e9a40a65b01a86b9549ee03.tar.xz
nixpkgs-14eea491b82663117e9a40a65b01a86b9549ee03.tar.zst
nixpkgs-14eea491b82663117e9a40a65b01a86b9549ee03.zip
Adding Redstore HTTP RDF/SPARQL server
svn path=/nixpkgs/trunk/; revision=22428
-rw-r--r--maintainers/docs/update-upstream-data.txt1
-rw-r--r--pkgs/development/libraries/librdf/raptor.nix8
-rw-r--r--pkgs/development/libraries/redland/1.0.10.nix4
-rw-r--r--pkgs/lib/misc.nix9
-rw-r--r--pkgs/servers/http/redstore/default.nix32
-rw-r--r--pkgs/servers/http/redstore/src-for-default.nix9
-rw-r--r--pkgs/servers/http/redstore/src-info-for-default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix4
8 files changed, 62 insertions, 11 deletions
diff --git a/maintainers/docs/update-upstream-data.txt b/maintainers/docs/update-upstream-data.txt
index adeb410d6c4..2abce3b4055 100644
--- a/maintainers/docs/update-upstream-data.txt
+++ b/maintainers/docs/update-upstream-data.txt
@@ -12,4 +12,3 @@ src-for-default.nix will contain advertisedUrl (raw URL chosen on the site; its
 
 nixpkgs/pkgs/build-support/upstream-updater directory contains some scripts. The worker script is called update-upstream-data.sh. This script requires main expression name (e.g. default.nix). It can optionally accpet a second parameter, URL which will be used instead of getting one by parsing the downloadPage (version extraction, mirror URL creation etc. will still be run). After running the script, check src-for-default.nix (or replace default.nix with expression name, if there are seceral expressions in the directory) for new version information.
 
-
diff --git a/pkgs/development/libraries/librdf/raptor.nix b/pkgs/development/libraries/librdf/raptor.nix
index 294e51c6654..0ddb45be30c 100644
--- a/pkgs/development/libraries/librdf/raptor.nix
+++ b/pkgs/development/libraries/librdf/raptor.nix
@@ -1,10 +1,10 @@
 args: with args;
-stdenv.mkDerivation {
-  name = "raptor-1.4.19";
+stdenv.mkDerivation rec {
+  name = "raptor-1.4.21";
 
   src = fetchurl {
-    url = http://download.librdf.org/source/raptor-1.4.19.tar.gz;
-    sha256 = "0qpfl73dvkhngica7wk9qglvd0b3fp9wqnjkl5q8m6h1kf8605ml";
+    url = "http://download.librdf.org/source/${name}.tar.gz";
+    sha256 = "db3172d6f3c432623ed87d7d609161973d2f7098e3d2233d0702fbcc22cfd8ca";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/redland/1.0.10.nix b/pkgs/development/libraries/redland/1.0.10.nix
index 6907899edd3..959581d407e 100644
--- a/pkgs/development/libraries/redland/1.0.10.nix
+++ b/pkgs/development/libraries/redland/1.0.10.nix
@@ -18,10 +18,6 @@ stdenv.mkDerivation rec {
     librdf_raptor librdf_rasqal
   ];
 
-  preConfigure = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lrasqal -lraptor" 
-  '';
-
   configureFlags =
     [ "--with-threads" ]
     ++ stdenv.lib.optional (bdb != null) "--with-bdb=${bdb}";
diff --git a/pkgs/lib/misc.nix b/pkgs/lib/misc.nix
index 32b30ee2fbf..f3eb7e8bf8f 100644
--- a/pkgs/lib/misc.nix
+++ b/pkgs/lib/misc.nix
@@ -95,6 +95,11 @@ rec {
 
   
   # shortcut for attrByPath ["name"] default attrs
+  maybeAttrNullable = name: default: attrs:
+    if attrs == null then default else 
+    if (__hasAttr name attrs) then (__getAttr name attrs) else default;
+
+  # shortcut for attrByPath ["name"] default attrs
   maybeAttr = name: default: attrs:
     if (__hasAttr name attrs) then (__getAttr name attrs) else default;
 
@@ -204,8 +209,8 @@ rec {
     innerClosePropagation 
       (ready ++ [(head list)])
       ((tail list) 
-         ++ (maybeAttr "propagatedBuildInputs" [] (head list))
-	 ++ (maybeAttr "propagatedBuildNativeInputs" [] (head list)));
+         ++ (maybeAttrNullable "propagatedBuildInputs" [] (head list))
+	 ++ (maybeAttrNullable "propagatedBuildNativeInputs" [] (head list)));
 
   closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);});
 
diff --git a/pkgs/servers/http/redstore/default.nix b/pkgs/servers/http/redstore/default.nix
new file mode 100644
index 00000000000..87a89072ec6
--- /dev/null
+++ b/pkgs/servers/http/redstore/default.nix
@@ -0,0 +1,32 @@
+x@{builderDefsPackage
+  , redland, pkgconfig, gmp
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  s = import ./src-for-default.nix;
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+  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 = ["doConfigure" "doMakeInstall"];
+      
+  meta = {
+    description = "An HTTP interface to Redland RDF store";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux ++ freebsd ++ gnu;
+  };
+}) x
+
diff --git a/pkgs/servers/http/redstore/src-for-default.nix b/pkgs/servers/http/redstore/src-for-default.nix
new file mode 100644
index 00000000000..963abcb7dbb
--- /dev/null
+++ b/pkgs/servers/http/redstore/src-for-default.nix
@@ -0,0 +1,9 @@
+rec {
+   version="0.4";
+   name="redstore-0.4";
+   hash="1fs54v0d0kkqaz9ajacabb8wifrglvg6kkhd5b0mxmnng352wpp7";
+   url="http://redstore.googlecode.com/files/redstore-${version}.tar.gz";
+   advertisedUrl="http://redstore.googlecode.com/files/redstore-0.4.tar.gz";
+  
+  
+}
diff --git a/pkgs/servers/http/redstore/src-info-for-default.nix b/pkgs/servers/http/redstore/src-info-for-default.nix
new file mode 100644
index 00000000000..fe1082a587e
--- /dev/null
+++ b/pkgs/servers/http/redstore/src-info-for-default.nix
@@ -0,0 +1,6 @@
+{
+  downloadPage = "http://code.google.com/p/redstore/downloads/list";
+  baseName = "redstore";
+  choiceCommand = '' head -n 1 | 
+   sed -re "s@[&].*@@; s@.*[?]name=(.*)@http://$(sed -re "s@.*/p/([^/]+)/.*@\\1@" <<< "$(getAttr downloadPage)").googlecode.com/files/\\1@" '';
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d6ffc8eb132..15086b5c7ed 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5943,6 +5943,10 @@ let
     inherit fetchurl stdenv m4 groff readline;
   };
 
+  redstore = import ../servers/http/redstore {
+    inherit builderDefsPackage redland pkgconfig gmp;
+  };
+
   samba = makeOverridable (import ../servers/samba) {
     inherit stdenv fetchurl readline openldap pam kerberos popt iniparser
       libunwind acl fam;