about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/xapian/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/xapian/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/xapian/default.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/xapian/default.nix b/nixpkgs/pkgs/development/libraries/xapian/default.nix
new file mode 100644
index 000000000000..2d7289ca6647
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/xapian/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, autoreconfHook
+, libuuid, zlib }:
+
+let
+  generic = version: sha256: stdenv.mkDerivation rec {
+    name = "xapian-${version}";
+    passthru = { inherit version; };
+
+    src = fetchurl {
+      url = "https://oligarchy.co.uk/xapian/${version}/xapian-core-${version}.tar.xz";
+      inherit sha256;
+    };
+
+    outputs = [ "out" "man" "doc" ];
+
+    buildInputs = [ libuuid zlib ];
+    nativeBuildInputs = [ autoreconfHook ];
+
+    doCheck = true;
+
+    # the configure script thinks that Darwin has ___exp10
+    # but it’s not available on my systems (or hydra apparently)
+    postConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+      substituteInPlace config.h \
+        --replace "#define HAVE___EXP10 1" "#undef HAVE___EXP10"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Search engine library";
+      homepage = https://xapian.org/;
+      license = licenses.gpl2Plus;
+      maintainers = with maintainers; [ chaoflow ];
+      platforms = platforms.unix;
+    };
+  };
+in {
+  # xapian-ruby needs 1.2.22 as of 2017-05-06
+  xapian_1_2_22 = generic "1.2.22" "0zsji22n0s7cdnbgj0kpil05a6bgm5cfv0mvx12d8ydg7z58g6r6";
+  xapian_1_4 = generic "1.4.9" "1k7m7m9jld96k16ansfw2w3c354pvd8ibhnrb6dw012g06fw7sfd";
+}