about summary refs log tree commit diff
path: root/pkgs/servers/scylladb
diff options
context:
space:
mode:
authorFlorian Peter <florian.peter@gmx.at>2019-08-10 18:56:41 +0800
committerFlorian Peter <florian.peter@gmx.at>2019-08-11 02:11:32 +0800
commit72330fc275a7d0a5ad88d7c516e7aed22b1eeb9d (patch)
tree2591a2ba2c9d7e10a392de1eadf31c337a0ab248 /pkgs/servers/scylladb
parent53a4c3511bd7ca0bb902a8014b171601e231dee7 (diff)
scylladb: init at 3.0.5
Diffstat (limited to 'pkgs/servers/scylladb')
-rw-r--r--pkgs/servers/scylladb/default.nix96
-rw-r--r--pkgs/servers/scylladb/seastar-configure-script-paths.patch13
2 files changed, 109 insertions, 0 deletions
diff --git a/pkgs/servers/scylladb/default.nix b/pkgs/servers/scylladb/default.nix
new file mode 100644
index 0000000000000..1a168608bec24
--- /dev/null
+++ b/pkgs/servers/scylladb/default.nix
@@ -0,0 +1,96 @@
+{
+  stdenv,
+  fetchgit,
+  python3Packages,
+  pkgconfig,
+  gcc8Stdenv,
+  boost,
+  git,
+  systemd,
+  gnutls,
+  cmake,
+  makeWrapper,
+  ninja,
+  ragel,
+  hwloc,
+  jsoncpp,
+  antlr3,
+  numactl,
+  protobuf,
+  cryptopp,
+  libxfs,
+  libyamlcpp,
+  libsystemtap,
+  lksctp-tools,
+  lz4,
+  libxml2,
+  zlib,
+  libpciaccess,
+  snappy,
+  libtool,
+  thrift
+}:
+gcc8Stdenv.mkDerivation rec {
+  pname = "scylladb";
+  version = "3.0.5";
+
+  src = fetchgit {
+    url = "https://github.com/scylladb/scylla.git";
+    rev = "403f66ecad6bc773712c69c4a80ebd172eb48b13";
+    sha256 = "14mg0kzpkrxvwqyiy19ndy4rsc7s5gnv2gwd3xdwm1lx1ln8ywsi";
+    fetchSubmodules = true;
+  };
+
+  patches = [ ./seastar-configure-script-paths.patch ];
+
+  nativeBuildInputs = [
+   pkgconfig
+   cmake
+   makeWrapper
+   ninja
+  ];
+
+  buildInputs = [
+   antlr3
+   python3Packages.pyparsing
+   boost
+   git
+   systemd
+   gnutls
+   ragel
+   jsoncpp
+   numactl
+   protobuf
+   cryptopp
+   libxfs
+   libyamlcpp
+   libsystemtap
+   lksctp-tools
+   lz4
+   libxml2
+   zlib
+   libpciaccess
+   snappy
+   libtool
+   thrift
+  ];
+
+  postPatch = ''
+    patchShebangs ./configure.py
+  '';
+
+  configurePhase = ''
+    ./configure.py --mode=release
+  '';
+  installPhase = ''
+    mkdir $out
+    cp -r * $out/
+  '';
+  meta = with stdenv.lib; {
+    description = "NoSQL data store using the seastar framework, compatible with Apache Cassandra";
+    homepage = "https://scylladb.com";
+    license = licenses.agpl3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.farlion ];
+  };
+}
diff --git a/pkgs/servers/scylladb/seastar-configure-script-paths.patch b/pkgs/servers/scylladb/seastar-configure-script-paths.patch
new file mode 100644
index 0000000000000..19c5c81612966
--- /dev/null
+++ b/pkgs/servers/scylladb/seastar-configure-script-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/seastar/configure.py b/seastar/configure.py
+index 62d9c204..f6520635 100755
+--- a/seastar/configure.py
++++ b/seastar/configure.py
+@@ -924,7 +924,7 @@ with open(buildfile, 'w') as f:
+             command = ragel -G2 -o $out $in && sed -i -e '1h;2,$$H;$$!d;g' -re 's/static const char _nfa[^;]*;//g' $out
+             description = RAGEL $out
+         rule gen
+-            command = /bin/echo -e $text > $out
++            command = echo -e $text > $out
+             description = GEN $out
+         rule swagger
+             command = json/json2code.py -f $in -o $out