diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/nosql')
22 files changed, 1485 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/nosql/aerospike/default.nix b/nixpkgs/pkgs/servers/nosql/aerospike/default.nix new file mode 100644 index 000000000000..c5290709b625 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/aerospike/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, autoconf, automake, libtool, openssl, zlib }: + +stdenv.mkDerivation rec { + name = "aerospike-server-${version}"; + version = "4.2.0.4"; + + src = fetchFromGitHub { + owner = "aerospike"; + repo = "aerospike-server"; + rev = version; + sha256 = "1vqi3xir4l57v62q1ns3713vajxffs6crss8fpvbcs57p7ygx3s7"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ autoconf automake libtool ]; + buildInputs = [ openssl zlib ]; + + preBuild = '' + patchShebangs build/gen_version + substituteInPlace build/gen_version --replace 'git describe' 'echo ${version}' + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/udf + cp target/Linux-x86_64/bin/asd $out/bin/asd + cp -dpR modules/lua-core/src $out/share/udf/lua + ''; + + meta = with stdenv.lib; { + description = "Flash-optimized, in-memory, NoSQL database"; + homepage = http://aerospike.com/; + license = licenses.agpl3; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ kalbasit ]; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/apache-jena/binary.nix b/nixpkgs/pkgs/servers/nosql/apache-jena/binary.nix new file mode 100644 index 000000000000..f3d5d121c387 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/apache-jena/binary.nix @@ -0,0 +1,38 @@ +{stdenv, fetchurl, java, makeWrapper}: +let + s = # Generated upstream information + rec { + baseName="apache-jena"; + version = "3.7.0"; + name="${baseName}-${version}"; + url="http://archive.apache.org/dist/jena/binaries/apache-jena-${version}.tar.gz"; + sha256 = "12w125hlhcib23cckk77cx7p9rzs57dbmmn90f7v8107d437j4mq"; + }; + buildInputs = [ + makeWrapper + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + installPhase = '' + cp -r . "$out" + for i in "$out"/bin/*; do + wrapProgram "$i" --prefix "PATH" : "${java}/bin/" + done + ''; + meta = { + inherit (s) version; + description = ''RDF database''; + license = stdenv.lib.licenses.asl20; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + homepage = http://jena.apache.org; + downloadPage = "http://archive.apache.org/dist/jena/binaries/"; + updateWalker = true; + downloadURLRegexp = "apache-jena-.*[.]tar[.]gz\$"; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix new file mode 100644 index 000000000000..63b222529a86 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.nix @@ -0,0 +1,41 @@ +{stdenv, fetchurl, java, makeWrapper}: +let + s = # Generated upstream information + rec { + baseName="apache-jena-fuseki"; + version = "3.9.0"; + name="${baseName}-${version}"; + url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz"; + sha256 = "1kf524j7wmvbjrr3grrhfddv3c3niddhj2f6m7hz9pqvf7nykvi4"; + }; + buildInputs = [ + makeWrapper + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + installPhase = '' + cp -r . "$out" + ln -s "$out"/{fuseki-server,fuseki} "$out/bin" + for i in "$out"/bin/*; do + wrapProgram "$i" \ + --prefix "PATH" : "${java}/bin/" \ + --set-default "FUSEKI_HOME" "$out" \ + ; + done + ''; + meta = { + inherit (s) version; + description = ''SPARQL server''; + license = stdenv.lib.licenses.asl20; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + homepage = http://jena.apache.org; + downloadPage = "http://archive.apache.org/dist/jena/binaries/"; + downloadURLRegexp = "apache-jena-fuseki-.*[.]tar[.]gz\$"; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.upstream b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.upstream new file mode 100644 index 000000000000..a18675347d58 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/apache-jena/fuseki-binary.upstream @@ -0,0 +1,4 @@ +name apache-jena-fuseki +attribute apache-jena-fuseki +target fuseki-binary.nix +minimize_overwrite diff --git a/nixpkgs/pkgs/servers/nosql/arangodb/default.nix b/nixpkgs/pkgs/servers/nosql/arangodb/default.nix new file mode 100644 index 000000000000..12684eab551a --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/arangodb/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub +, openssl, zlib, readline, cmake, python }: + +let +in stdenv.mkDerivation rec { + version = "3.3.19"; + name = "arangodb-${version}"; + + src = fetchFromGitHub { + repo = "arangodb"; + owner = "arangodb"; + rev = "v${version}"; + sha256 = "1qg4lqnn5x0xsmkq41mjj301mfh76r8ys1rkzhinxlq30jld3155"; + }; + + buildInputs = [ + openssl zlib readline python + ]; + + nativeBuildInputs = [ cmake ]; + + postPatch = '' + sed -ie 's!/bin/echo!echo!' 3rdParty/V8/v*/gypfiles/*.gypi + ''; + + configureFlagsArray = [ "--with-openssl-lib=${openssl.out}/lib" ]; + + NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow"; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://github.com/arangodb/arangodb; + description = "A native multi-model database with flexible data models for documents, graphs, and key-values"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.flosse ]; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/cassandra/2.1.nix b/nixpkgs/pkgs/servers/nosql/cassandra/2.1.nix new file mode 100644 index 000000000000..d73e242a9422 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/cassandra/2.1.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // { + version = "2.1.20"; + sha256 = "0ik7a4jg3s3xnyrj1sa0rvbh066fv1y2202l7cv6nbca72pgyl6a"; +}) diff --git a/nixpkgs/pkgs/servers/nosql/cassandra/2.2.nix b/nixpkgs/pkgs/servers/nosql/cassandra/2.2.nix new file mode 100644 index 000000000000..88c361e6a91f --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/cassandra/2.2.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // { + version = "2.2.13"; + sha256 = "19jryhjkh5jsgp6jlz2v28vwm5dks8i7mshsv3s2fpnl6147paaq"; +}) diff --git a/nixpkgs/pkgs/servers/nosql/cassandra/3.0.nix b/nixpkgs/pkgs/servers/nosql/cassandra/3.0.nix new file mode 100644 index 000000000000..a1aad75ce3f6 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/cassandra/3.0.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // { + version = "3.0.17"; + sha256 = "0568r5xdy78pl29zby5g4m9qngf29cb9222sc1q1wisapb7zkl2p"; +}) diff --git a/nixpkgs/pkgs/servers/nosql/cassandra/3.11.nix b/nixpkgs/pkgs/servers/nosql/cassandra/3.11.nix new file mode 100644 index 000000000000..5ca268166e03 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/cassandra/3.11.nix @@ -0,0 +1,6 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // { + version = "3.11.3"; + sha256 = "1fp2sm8v7dpp7iym39c7dh1fmi25x462amgzizl93c21rdq0cbnq"; +}) diff --git a/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix b/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix new file mode 100644 index 000000000000..6ac087241ce0 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/cassandra/generic.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchurl, python, makeWrapper, gawk, bash, getopt, procps +, which, jre, version, sha256, ... +}: + +let + libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]; + binPath = with stdenv.lib; makeBinPath ([ + bash + getopt + gawk + which + jre + procps + ]); +in + +stdenv.mkDerivation rec { + name = "cassandra-${version}"; + inherit version; + + src = fetchurl { + inherit sha256; + url = "mirror://apache/cassandra/${version}/apache-${name}-bin.tar.gz"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir $out + mv * $out + + # Clean up documentation. + mkdir -p $out/share/doc/${name} + mv $out/CHANGES.txt \ + $out/LICENSE.txt \ + $out/NEWS.txt \ + $out/NOTICE.txt \ + $out/javadoc \ + $out/share/doc/${name} + + if [[ -d $out/doc ]]; then + mv "$out/doc/"* $out/share/doc/${name} + rmdir $out/doc + fi + + for cmd in bin/cassandra bin/nodetool bin/sstablekeys \ + bin/sstableloader bin/sstableupgrade \ + tools/bin/cassandra-stress tools/bin/cassandra-stressd \ + tools/bin/sstablemetadata tools/bin/sstableofflinerelevel \ + tools/bin/token-generator tools/bin/sstablelevelreset; do + + # check if file exists because some bin tools don't exist across all + # cassandra versions + if [ -f $out/$cmd ]; then + wrapProgram $out/$cmd \ + --suffix-each LD_LIBRARY_PATH : ${libPath} \ + --prefix PATH : ${binPath} \ + --set JAVA_HOME ${jre} + fi + done + + wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin + ''; + + meta = with stdenv.lib; { + homepage = http://cassandra.apache.org/; + description = "A massively scalable open source NoSQL database"; + platforms = platforms.unix; + license = licenses.asl20; + maintainers = with maintainers; [ cransom ]; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/eventstore/default.nix b/nixpkgs/pkgs/servers/nosql/eventstore/default.nix new file mode 100644 index 000000000000..1d3240fae716 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/eventstore/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, git, mono, v8 }: + +# There are some similarities with the pinta derivation. We should +# have a helper to make it easy to package these Mono apps. + +stdenv.mkDerivation rec { + name = "EventStore-${version}"; + version = "4.1.1"; + src = fetchFromGitHub { + owner = "EventStore"; + repo = "EventStore"; + rev = "oss-v${version}"; + sha256 = "1069ncb9ps1wi71yw1fzkfd9rfsavccw8xj3a3miwd9x72w8636f"; + }; + + buildPhase = '' + mkdir -p src/libs/x64/nixos + pushd src/EventStore.Projections.v8Integration + cc -o ../libs/x64/nixos/libjs1.so -fPIC -lv8 -shared -std=c++0x *.cpp + popd + + patchShebangs build.sh + ./build.sh ${version} release nixos + ''; + + installPhase = '' + mkdir -p $out/{bin,lib/eventstore/clusternode} + cp -r bin/clusternode/* $out/lib/eventstore/clusternode/ + cat > $out/bin/clusternode << EOF + #!${stdenv.shell} + exec ${mono}/bin/mono $out/lib/eventstore/clusternode/EventStore.ClusterNode.exe "\$@" + EOF + chmod +x $out/bin/clusternode + ''; + + nativeBuildInputs = [ git ]; + buildInputs = [ v8 mono ]; + + phases = [ "unpackPhase" "buildPhase" "installPhase" ]; + dontStrip = true; + + meta = { + homepage = https://geteventstore.com/; + description = "Event sourcing database with processing logic in JavaScript"; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ puffnfresh ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/influxdb/default.nix b/nixpkgs/pkgs/servers/nosql/influxdb/default.nix new file mode 100644 index 000000000000..a47553b975e3 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/influxdb/default.nix @@ -0,0 +1,31 @@ +{ lib, buildGoPackage, fetchFromGitHub, }: + +buildGoPackage rec { + name = "influxdb-${version}"; + version = "1.6.3"; + + src = fetchFromGitHub { + owner = "influxdata"; + repo = "influxdb"; + rev = "v${version}"; + sha256 = "0xf16liapllk8qnw0vsy1ja4if1xlazwwaa4p0r5j7bny5lxm7zy"; + }; + + buildFlagsArray = [ ''-ldflags= + -X main.version=${version} + '' ]; + + goPackagePath = "github.com/influxdata/influxdb"; + + excludedPackages = "test"; + + # Generated with dep2nix (for 1.6.3) / nix2go (for 1.4.1). + goDeps = ./. + "/deps-${version}.nix"; + + meta = with lib; { + description = "An open-source distributed time series database"; + license = licenses.mit; + homepage = https://influxdb.com/; + maintainers = with maintainers; [ offline zimbatm ]; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/influxdb/deps-1.4.1.nix b/nixpkgs/pkgs/servers/nosql/influxdb/deps-1.4.1.nix new file mode 100644 index 000000000000..edda6ff7c7dc --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/influxdb/deps-1.4.1.nix @@ -0,0 +1,227 @@ +[ + { + goPackagePath = "collectd.org"; + fetch = { + type = "git"; + url = "https://github.com/collectd/go-collectd"; + rev = "e84e8af5356e7f47485bbc95c96da6dd7984a67e"; + sha256 = "0cfxg8iz7bdy3d74cqjns7x7lyrma5lkrqqpqk79a2gk0g2bhmnd"; + }; + } + { + goPackagePath = "github.com/bmizerany/pat"; + fetch = { + type = "git"; + url = "https://github.com/bmizerany/pat"; + rev = "c068ca2f0aacee5ac3681d68e4d0a003b7d1fd2c"; + sha256 = "02ayddkp2b22rixw5jldw3kb6762zzkg5zhxwcv9v9yp0x39qw6r"; + }; + } + { + goPackagePath = "github.com/boltdb/bolt"; + fetch = { + type = "git"; + url = "https://github.com/boltdb/bolt"; + rev = "4b1ebc1869ad66568b313d0dc410e2be72670dda"; + sha256 = "1narpch9fc2f4yj8asb981gyq7b3z6p41xb635xh2k75yv5g024w"; + }; + } + { + goPackagePath = "github.com/BurntSushi/toml"; + fetch = { + type = "git"; + url = "https://github.com/BurntSushi/toml"; + rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895"; + sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5"; + }; + } + { + goPackagePath = "github.com/cespare/xxhash"; + fetch = { + type = "git"; + url = "https://github.com/cespare/xxhash"; + rev = "1b6d2e40c16ba0dfce5c8eac2480ad6e7394819b"; + sha256 = "1h7dym9fmk7rwrrc26lcwi7wmf4y4rxgg7byivg55yia9wlhy00m"; + }; + } + { + goPackagePath = "github.com/dgrijalva/jwt-go"; + fetch = { + type = "git"; + url = "https://github.com/dgrijalva/jwt-go"; + rev = "24c63f56522a87ec5339cc3567883f1039378fdb"; + sha256 = "1xjb3cj9qa66dk6sfrlggfm4a66qirqrp4qds90xzjj5sx51j4zk"; + }; + } + { + goPackagePath = "github.com/dgryski/go-bits"; + fetch = { + type = "git"; + url = "https://github.com/dgryski/go-bits"; + rev = "2ad8d707cc05b1815ce6ff2543bb5e8d8f9298ef"; + sha256 = "08mxwa4c77dgpvz2ygwd0pc929qxwff95y680mjjgbvj8yifiag2"; + }; + } + { + goPackagePath = "github.com/dgryski/go-bitstream"; + fetch = { + type = "git"; + url = "https://github.com/dgryski/go-bitstream"; + rev = "7d46cd22db7004f0cceb6f7975824b560cf0e486"; + sha256 = "1k9l16y7l2mkfvnp2ydv9cqly8179wqd20am4zy0q77qcsawkksx"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "1c2b16bc280d6635de6c52fc1471ab962dc36ec9"; + sha256 = "0h9vkfy3ydz0d6x72853yg49r9k54cgjnlv6a7v12gzqw47p941i"; + }; + } + { + goPackagePath = "github.com/golang/snappy"; + fetch = { + type = "git"; + url = "https://github.com/golang/snappy"; + rev = "d9eb7a3d35ec988b8585d4a0068e462c27d28380"; + sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn"; + }; + } + { + goPackagePath = "github.com/influxdata/influxql"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/influxql"; + rev = "3921ab7858b6af8443fe0bef06b52608be72852c"; + sha256 = "182ja5a9njlklavh5hzf7p06913pznp7j3chkrp0qwxj3jxysi2d"; + }; + } + { + goPackagePath = "github.com/influxdata/usage-client"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/usage-client"; + rev = "6d3895376368aa52a3a81d2a16e90f0f52371967"; + sha256 = "0a5adnid42f9vpckgcpkj7v60fh147j7zlg1rhxcpq5vkw698ifl"; + }; + } + { + goPackagePath = "github.com/influxdata/yamux"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/yamux"; + rev = "1f58ded512de5feabbe30b60c7d33a7a896c5f16"; + sha256 = "08y1lgcyyaa8zrg24ck64b5dfassgb2pp1fb9x5lw9q16fb170bx"; + }; + } + { + goPackagePath = "github.com/influxdata/yarpc"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/yarpc"; + rev = "036268cdec22b7074cd6d50cc6d7315c667063c7"; + sha256 = "12xxwr451ya5h7kv7lg6lnwk04xazyxzv2g7bcgx9zifafxlhpxf"; + }; + } + { + goPackagePath = "github.com/jwilder/encoding"; + fetch = { + type = "git"; + url = "https://github.com/jwilder/encoding"; + rev = "27894731927e49b0a9023f00312be26733744815"; + sha256 = "0g4sdc5wj50js2hhrdcb7iik3wpd87gc0ivy4gwn49m8nxlpl7w3"; + }; + } + { + goPackagePath = "github.com/peterh/liner"; + fetch = { + type = "git"; + url = "https://github.com/peterh/liner"; + rev = "88609521dc4b6c858fd4c98b628147da928ce4ac"; + sha256 = "0jacb2fqgiccb98v1875j5xvj01l1z2laga1kgr8lhd0nl22r96k"; + }; + } + { + goPackagePath = "github.com/philhofer/fwd"; + fetch = { + type = "git"; + url = "https://github.com/philhofer/fwd"; + rev = "1612a298117663d7bc9a760ae20d383413859798"; + sha256 = "155l0nvvblpx0fy683q6bzins7csh8fw7yf64hbia8hc7wh0gjdl"; + }; + } + { + goPackagePath = "github.com/retailnext/hllpp"; + fetch = { + type = "git"; + url = "https://github.com/retailnext/hllpp"; + rev = "38a7bb71b483e855d35010808143beaf05b67f9d"; + sha256 = "0zpq5yjqprzdw9ll6g9sqp8nzwkhjh4ngzhx5mxahmpajgnzz7a8"; + }; + } + { + goPackagePath = "github.com/tinylib/msgp"; + fetch = { + type = "git"; + url = "https://github.com/tinylib/msgp"; + rev = "ad0ff2e232ad2e37faf67087fb24bf8d04a8ce20"; + sha256 = "1j3sqsmq8v40dp1qcv2dsy3aq3yl088hpd4fnrrnnl53g3a18p4d"; + }; + } + { + goPackagePath = "github.com/uber-go/atomic"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/atomic"; + rev = "74ca5ec650841aee9f289dce76e928313a37cbc6"; + sha256 = "14a4k5z4p2iig6sf7as5ps1frdyzcr67b9bff0by4z1vg4nrxi7h"; + }; + } + { + goPackagePath = "github.com/uber-go/zap"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/zap"; + rev = "fbae0281ffd546fa6d1959fec6075ac5da7fb577"; + sha256 = "0ys6cb2h3r0vbly36v8zqkqsfc5y7fjsw2qmvx5fvjh35ih4w738"; + }; + } + { + goPackagePath = "github.com/xlab/treeprint"; + fetch = { + type = "git"; + url = "https://github.com/xlab/treeprint"; + rev = "06dfc6fa17cdde904617990a0c2d89e3e332dbb3"; + sha256 = "04v2glr8wsgs8gr5qbcxyqn9s6569lmgqb7rcs6bkmdnr79xpwl5"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "9477e0b78b9ac3d0b03822fd95422e2fe07627cd"; + sha256 = "1qcqai6nf1q50z9ga7r4ljnrh1qz49kwlcqpri4bknx732lqq0v5"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "1e2299c37cc91a509f1b12369872d27be0ce98a6"; + sha256 = "1nh8v330pcwgk3h6nvfi12rlydl16v9ajv4s1giyx8wnfq8h6fm1"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "a71fd10341b064c10f4a81ceac72bcf70f26ea34"; + sha256 = "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1"; + }; + } +] diff --git a/nixpkgs/pkgs/servers/nosql/influxdb/deps-1.6.3.nix b/nixpkgs/pkgs/servers/nosql/influxdb/deps-1.6.3.nix new file mode 100644 index 000000000000..a2f4dfaeb8d6 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/influxdb/deps-1.6.3.nix @@ -0,0 +1,444 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "collectd.org"; + fetch = { + type = "git"; + url = "https://github.com/collectd/go-collectd"; + rev = "2ce144541b8903101fb8f1483cc0497a68798122"; + sha256 = "0rr9rnc777jk27a7yxhdb7vgkj493158a8k6q44x51s30dkp78x3"; + }; + } + { + goPackagePath = "github.com/BurntSushi/toml"; + fetch = { + type = "git"; + url = "https://github.com/BurntSushi/toml"; + rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895"; + sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5"; + }; + } + { + goPackagePath = "github.com/RoaringBitmap/roaring"; + fetch = { + type = "git"; + url = "https://github.com/RoaringBitmap/roaring"; + rev = "d6540aab65a17321470b1661bfc52da1823871e9"; + sha256 = "1lsrz7j55blalpp95vgz214b35sjf8nfmrw3fxybdl4xipk2ssdj"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9"; + sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y"; + }; + } + { + goPackagePath = "github.com/bmizerany/pat"; + fetch = { + type = "git"; + url = "https://github.com/bmizerany/pat"; + rev = "6226ea591a40176dd3ff9cd8eff81ed6ca721a00"; + sha256 = "0qjkm7169y6pybwh0s02fjjk251isa2b367xqfzrwvl6cy4yzfxp"; + }; + } + { + goPackagePath = "github.com/boltdb/bolt"; + fetch = { + type = "git"; + url = "https://github.com/boltdb/bolt"; + rev = "2f1ce7a837dcb8da3ec595b1dac9d0632f0f99e8"; + sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r"; + }; + } + { + goPackagePath = "github.com/cespare/xxhash"; + fetch = { + type = "git"; + url = "https://github.com/cespare/xxhash"; + rev = "5c37fe3735342a2e0d01c87a907579987c8936cc"; + sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "346938d642f2ec3594ed81d874461961cd0faa76"; + sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; + }; + } + { + goPackagePath = "github.com/dgrijalva/jwt-go"; + fetch = { + type = "git"; + url = "https://github.com/dgrijalva/jwt-go"; + rev = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"; + sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp"; + }; + } + { + goPackagePath = "github.com/dgryski/go-bitstream"; + fetch = { + type = "git"; + url = "https://github.com/dgryski/go-bitstream"; + rev = "9f22ccc24718d9643ac427c8c897ae1a01575783"; + sha256 = "0x3hbsrn7qafhhjz6lgyc1pd1p5kgkrkbccvsr6yygkl785h5lhn"; + }; + } + { + goPackagePath = "github.com/glycerine/go-unsnap-stream"; + fetch = { + type = "git"; + url = "https://github.com/glycerine/go-unsnap-stream"; + rev = "62a9a9eb44fd8932157b1a8ace2149eff5971af6"; + sha256 = "1ray7p4q3vv5zn9w5xs7m9kjh68b2ck98nh25mxhfiwl9jxkabrc"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "1adfc126b41513cc696b209667c8656ea7aac67c"; + sha256 = "1j7azzlnihcvnd1apw5zr0bz30h7n0gyimqqkgc76vzb1n5dpi7m"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "925541529c1fa6821df4e44ce2723319eb2be768"; + sha256 = "1d3zjvhl115l23xakj0014qpjchivlg098h10v5nfirkk1i9f9sa"; + }; + } + { + goPackagePath = "github.com/golang/snappy"; + fetch = { + type = "git"; + url = "https://github.com/golang/snappy"; + rev = "d9eb7a3d35ec988b8585d4a0068e462c27d28380"; + sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn"; + }; + } + { + goPackagePath = "github.com/google/go-cmp"; + fetch = { + type = "git"; + url = "https://github.com/google/go-cmp"; + rev = "3af367b6b30c263d47e8895973edcca9a49cf029"; + sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds"; + }; + } + { + goPackagePath = "github.com/influxdata/influxql"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/influxql"; + rev = "a7267bff5327e316e54c54342b0bc9598753e3d5"; + sha256 = "0mqc9xki5l9yfbb0dqjb417cmv3pca1bj71m90dkshladr2wlcg3"; + }; + } + { + goPackagePath = "github.com/influxdata/usage-client"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/usage-client"; + rev = "6d3895376368aa52a3a81d2a16e90f0f52371967"; + sha256 = "0a5adnid42f9vpckgcpkj7v60fh147j7zlg1rhxcpq5vkw698ifl"; + }; + } + { + goPackagePath = "github.com/influxdata/yamux"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/yamux"; + rev = "1f58ded512de5feabbe30b60c7d33a7a896c5f16"; + sha256 = "08y1lgcyyaa8zrg24ck64b5dfassgb2pp1fb9x5lw9q16fb170bx"; + }; + } + { + goPackagePath = "github.com/influxdata/yarpc"; + fetch = { + type = "git"; + url = "https://github.com/influxdata/yarpc"; + rev = "f0da2db138cad2fb425541938fc28dd5a5bc6918"; + sha256 = "1g71flc8s8xas7vmaiwv0425paii1akc7jsdqsgxkhyfxx2gvib0"; + }; + } + { + goPackagePath = "github.com/jsternberg/zap-logfmt"; + fetch = { + type = "git"; + url = "https://github.com/jsternberg/zap-logfmt"; + rev = "ac4bd917e18a4548ce6e0e765b29a4e7f397b0b6"; + sha256 = "0pqp2nsqvsq8kqc7l14340lrvl03715s12bag63kdbi25s8fcdkx"; + }; + } + { + goPackagePath = "github.com/jwilder/encoding"; + fetch = { + type = "git"; + url = "https://github.com/jwilder/encoding"; + rev = "b4e1701a28efcc637d9afcca7d38e495fe909a09"; + sha256 = "195js5njz86k096p3ggglgpc7rw3801mpqzdfwfr3miflhnp7nwg"; + }; + } + { + goPackagePath = "github.com/klauspost/compress"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/compress"; + rev = "6c8db69c4b49dd4df1fff66996cf556176d0b9bf"; + sha256 = "00h2lpqcyc3pg2xk3q4a9cgyv0vkn15bx0hb725j5zbkr9vah23x"; + }; + } + { + goPackagePath = "github.com/klauspost/cpuid"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/cpuid"; + rev = "ae7887de9fa5d2db4eaa8174a7eff2c1ac00f2da"; + sha256 = "178apw89g8nsd7w6mbdylxn956h3iig6rbw3bkivp6lplhb5dvq4"; + }; + } + { + goPackagePath = "github.com/klauspost/crc32"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/crc32"; + rev = "cb6bfca970f6908083f26f39a79009d608efd5cd"; + sha256 = "0q4yr4isgmph1yf1vq527lpmid7vqv56q7vxh3gkp5679fb90q6n"; + }; + } + { + goPackagePath = "github.com/klauspost/pgzip"; + fetch = { + type = "git"; + url = "https://github.com/klauspost/pgzip"; + rev = "0bf5dcad4ada2814c3c00f996a982270bb81a506"; + sha256 = "0dgp2iljvhibzxia1g3lsfg4bjmfh4kf0bfrmfi7sd49hwhrvk7s"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c"; + sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "3247c84500bff8d9fb6d579d800f20b3e091582c"; + sha256 = "12hcych25wf725zxdkpnyx4wa0gyxl8v4m8xmhdmmaki9bbmqd0d"; + }; + } + { + goPackagePath = "github.com/mschoch/smat"; + fetch = { + type = "git"; + url = "https://github.com/mschoch/smat"; + rev = "90eadee771aeab36e8bf796039b8c261bebebe4f"; + sha256 = "141saq6d4z3c7v3jw45zy4gn6wwjlyralqygjff1fzvz1gkvimk3"; + }; + } + { + goPackagePath = "github.com/opentracing/opentracing-go"; + fetch = { + type = "git"; + url = "https://github.com/opentracing/opentracing-go"; + rev = "328fceb7548c744337cd010914152b74eaf4c4ab"; + sha256 = "1w6s42n9glqwif6awyiapr7sh1wjvkxan41qhc1yi555byyw200k"; + }; + } + { + goPackagePath = "github.com/paulbellamy/ratecounter"; + fetch = { + type = "git"; + url = "https://github.com/paulbellamy/ratecounter"; + rev = "524851a93235ac051e3540563ed7909357fe24ab"; + sha256 = "0z4c61ac6v8mpnr9z37d91h1cf8v9psja5jfdxmsf69r1b7qr4f9"; + }; + } + { + goPackagePath = "github.com/peterh/liner"; + fetch = { + type = "git"; + url = "https://github.com/peterh/liner"; + rev = "6106ee4fe3e8435f18cd10e34557e5e50f0e792a"; + sha256 = "178s1amw5r60lywgmh24pd2ljim0b05fdfsm4c8px22fkycmn1qr"; + }; + } + { + goPackagePath = "github.com/philhofer/fwd"; + fetch = { + type = "git"; + url = "https://github.com/philhofer/fwd"; + rev = "bb6d471dc95d4fe11e432687f8b70ff496cf3136"; + sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "661e31bf844dfca9aeba15f27ea8aa0d485ad212"; + sha256 = "0r9sr3m57ks7rc5bbghl0gy9wxlznzmz331xdp42zlgk6g774xcn"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"; + sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "e4aa40a9169a88835b849a6efb71e05dc04b88f0"; + sha256 = "0m1n616d694jca0qjwjn5ci7scfgm2jpi94dhi356arm9lhda4jc"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "54d17b57dd7d4a3aa092476596b3f8a933bde349"; + sha256 = "1b5218hi6k9i637k6xc7ynpll577zbnrhjm9jr2iczy3j0rr4rvr"; + }; + } + { + goPackagePath = "github.com/retailnext/hllpp"; + fetch = { + type = "git"; + url = "https://github.com/retailnext/hllpp"; + rev = "101a6d2f8b52abfc409ac188958e7e7be0116331"; + sha256 = "1dyyjyrscd3d22jhh2pbn67c6nzva0v069215sjjmj313k1xzmj3"; + }; + } + { + goPackagePath = "github.com/tinylib/msgp"; + fetch = { + type = "git"; + url = "https://github.com/tinylib/msgp"; + rev = "b2b6a672cf1e5b90748f79b8b81fc8c5cf0571a1"; + sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc"; + }; + } + { + goPackagePath = "github.com/willf/bitset"; + fetch = { + type = "git"; + url = "https://github.com/willf/bitset"; + rev = "d860f346b89450988a379d7d705e83c58d1ea227"; + sha256 = "18419ip5mnblnyx2rjixad90dhjb1x2kaiidr7zk9b3qci799rh0"; + }; + } + { + goPackagePath = "github.com/xlab/treeprint"; + fetch = { + type = "git"; + url = "https://github.com/xlab/treeprint"; + rev = "f3a15cfd24bf976c724324cb6846a8b54b88b639"; + sha256 = "0fgbdyk2mfj5vh8902sga33w5gw7q0f1if4nqx631ca33fd6pfbn"; + }; + } + { + goPackagePath = "go.uber.org/atomic"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/atomic"; + rev = "8474b86a5a6f79c443ce4b2992817ff32cf208b8"; + sha256 = "166shnjw8rvjvksymi2gqw1ygsbxlq15xb10j2dx5rwy4y4asq8x"; + }; + } + { + goPackagePath = "go.uber.org/multierr"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/multierr"; + rev = "3c4937480c32f4c13a875a1829af76c98ca3d40a"; + sha256 = "1slfc6syvw8cvr6rbrjsy6ja5w8gsx0f8aq8qm16rp2x5c2pj07w"; + }; + } + { + goPackagePath = "go.uber.org/zap"; + fetch = { + type = "git"; + url = "https://github.com/uber-go/zap"; + rev = "35aad584952c3e7020db7b839f6b102de6271f89"; + sha256 = "0n79ir7jcr7s51j85swji7an0jgy1w5dxg1g68j722rmpbvsagwv"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "c3a3ad6d03f7a915c0f7e194b7152974bb73d287"; + sha256 = "0x18275g5xlaw55bpx8hdna66d2hpbcw6hs0pxf1kmvfds6gzn6n"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "92b859f39abd2d91a854c9f9c4621b2f5054a92d"; + sha256 = "1nzbay48k53pxa1sh102v571k6pa57540p0bzcil4qgan47yxba6"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca"; + sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "d8e400bc7db4870d786864138af681469693d18c"; + sha256 = "08d23f9gjarp63dw0wj54nlqh3x2lqnchzkw8n5d7ik3wy7qy4yf"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; + }; + } + { + goPackagePath = "golang.org/x/time"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/time"; + rev = "26559e0f760e39c24d730d3224364aef164ee23f"; + sha256 = "00fx6m59cjbi7y0ri4a57q1zs6r310xbg5yqns5kfm2cax0dkmnf"; + }; + } +] \ No newline at end of file diff --git a/nixpkgs/pkgs/servers/nosql/mongodb/default.nix b/nixpkgs/pkgs/servers/nosql/mongodb/default.nix new file mode 100644 index 000000000000..55b4b641d153 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/mongodb/default.nix @@ -0,0 +1,103 @@ +{ stdenv, fetchurl, fetchpatch, scons, boost, gperftools, pcre-cpp, snappy +, zlib, libyamlcpp, sasl, openssl, libpcap, Security +}: + +# Note: +# The command line tools are written in Go as part of a different package (mongodb-tools) + +with stdenv.lib; + +let version = "3.4.10"; + system-libraries = [ + "pcre" + #"asio" -- XXX use package? + #"wiredtiger" + "boost" + "snappy" + "zlib" + #"valgrind" -- mongodb only requires valgrind.h, which is vendored in the source. + #"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs). + "yaml" + ] ++ optionals stdenv.isLinux [ "tcmalloc" ]; + +in stdenv.mkDerivation rec { + name = "mongodb-${version}"; + + src = fetchurl { + url = "https://fastdl.mongodb.org/src/mongodb-src-r${version}.tar.gz"; + sha256 = "1wz2mhl9z0b1bdkg6m8v8mvw9k60mdv5ybq554xn3yjj9z500f24"; + }; + + nativeBuildInputs = [ scons ]; + buildInputs = [ + sasl boost gperftools pcre-cpp snappy + zlib libyamlcpp sasl openssl.dev openssl.out libpcap + ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ]; + + patches = + [ + # MongoDB keeps track of its build parameters, which tricks nix into + # keeping dependencies to build inputs in the final output. + # We remove the build flags from buildInfo data. + ./forget-build-dependencies.patch + (fetchpatch { + url = https://projects.archlinux.org/svntogit/community.git/plain/trunk/boost160.patch?h=packages/mongodb; + name = "boost160.patch"; + sha256 = "0bvsf3499zj55pzamwjmsssr6x63w434944w76273fr5rxwzcmh8"; + }) + ]; + + postPatch = '' + # fix environment variable reading + substituteInPlace SConstruct \ + --replace "env = Environment(" "env = Environment(ENV = os.environ," + '' + stdenv.lib.optionalString stdenv.isDarwin '' + + substituteInPlace src/third_party/s2/s1angle.cc --replace drem remainder + substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder + substituteInPlace src/third_party/s2/s2cap.cc --replace drem remainder + substituteInPlace src/third_party/s2/s2latlng.cc --replace drem remainder + substituteInPlace src/third_party/s2/s2latlngrect.cc --replace drem remainder + '' + stdenv.lib.optionalString stdenv.isi686 '' + + # don't fail by default on i686 + substituteInPlace src/mongo/db/storage/storage_options.h \ + --replace 'engine("wiredTiger")' 'engine("mmapv1")' + ''; + + NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isClang "-Wno-unused-command-line-argument"; + + sconsFlags = [ + "--release" + "--ssl" + #"--rocksdb" # Don't have this packaged yet + "--wiredtiger=${if stdenv.is64bit then "on" else "off"}" + "--js-engine=mozjs" + "--use-sasl-client" + "--disable-warnings-as-errors" + "VARIANT_DIR=nixos" # Needed so we don't produce argument lists that are too long for gcc / ld + ] ++ map (lib: "--use-system-${lib}") system-libraries; + + preBuild = '' + sconsFlags+=" CC=$CC" + sconsFlags+=" CXX=$CXX" + ''; + + preInstall = '' + mkdir -p $out/lib + ''; + prefixKey = "--prefix="; + + enableParallelBuilding = true; + + hardeningEnable = [ "pie" ]; + + meta = { + description = "A scalable, high-performance, open source NoSQL database"; + homepage = http://www.mongodb.org; + license = licenses.agpl3; + + maintainers = with maintainers; [ bluescreen303 offline wkennington cstrahan ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch b/nixpkgs/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch new file mode 100644 index 000000000000..ca2c043deb2d --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/mongodb/forget-build-dependencies.patch @@ -0,0 +1,17 @@ +--- a/site_scons/mongo_scons_utils.py ++++ b/site_scons/mongo_scons_utils.py +@@ -84,14 +84,11 @@ + def default_buildinfo_environment_data(): + return ( + ('distmod', '$MONGO_DISTMOD', True, True,), + ('distarch', '$MONGO_DISTARCH', True, True,), + ('cc', '$CC_VERSION', True, False,), +- ('ccflags', '$CCFLAGS', True, False,), + ('cxx', '$CXX_VERSION', True, False,), +- ('cxxflags', '$CXXFLAGS', True, False,), +- ('linkflags', '$LINKFLAGS', True, False,), + ('target_arch', '$TARGET_ARCH', True, True,), + ('target_os', '$TARGET_OS', True, False,), + ) + + # If you want buildInfo and --version to be relatively empty, set diff --git a/nixpkgs/pkgs/servers/nosql/neo4j/default.nix b/nixpkgs/pkgs/servers/nosql/neo4j/default.nix new file mode 100644 index 000000000000..dd84ae5732d0 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/neo4j/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, makeWrapper, jre8, which, gawk }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "neo4j-${version}"; + version = "3.4.10"; + + src = fetchurl { + url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz"; + sha256 = "0wxcwsnnwk08w3zaz67aa93ysrl61lsy41xynq1sy6z31a7gx9jr"; + }; + + buildInputs = [ makeWrapper jre8 which gawk ]; + + installPhase = '' + mkdir -p "$out/share/neo4j" + cp -R * "$out/share/neo4j" + + mkdir -p "$out/bin" + for NEO4J_SCRIPT in neo4j neo4j-admin neo4j-import neo4j-shell cypher-shell + do + makeWrapper "$out/share/neo4j/bin/$NEO4J_SCRIPT" \ + "$out/bin/$NEO4J_SCRIPT" \ + --prefix PATH : "${stdenv.lib.makeBinPath [ jre8 which gawk ]}" \ + --set JAVA_HOME "$jre8" + done + ''; + + meta = with stdenv.lib; { + description = "A highly scalable, robust (fully ACID) native graph database"; + homepage = http://www.neo4j.org/; + license = licenses.gpl3; + + maintainers = [ maintainers.offline ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/redis/default.nix b/nixpkgs/pkgs/servers/nosql/redis/default.nix new file mode 100644 index 000000000000..d6cade72a87e --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/redis/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, lua }: + +stdenv.mkDerivation rec { + version = "5.0.3"; + name = "redis-${version}"; + + src = fetchurl { + url = "http://download.redis.io/releases/${name}.tar.gz"; + sha256 = "00iyv4ybcgm5xxcm85lg1p99q7xijm05cpadlxa65chpz3fv9472"; + }; + + buildInputs = [ lua ]; + makeFlags = "PREFIX=$(out)"; + + enableParallelBuilding = true; + + doCheck = false; # needs tcl + + meta = with stdenv.lib; { + homepage = https://redis.io; + description = "An open source, advanced key-value store"; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = [ maintainers.berdario ]; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix b/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix new file mode 100644 index 000000000000..d6ee407e3418 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix @@ -0,0 +1,65 @@ +{ stdenv, fetchurl, which, m4 +, protobuf, boost, zlib, curl, openssl, icu, jemalloc, libtool +, python2Packages, makeWrapper +}: + +stdenv.mkDerivation rec { + name = "rethinkdb-${version}"; + version = "2.3.6"; + + src = fetchurl { + url = "https://download.rethinkdb.com/dist/${name}.tgz"; + sha256 = "0a6wlgqa2flf87jrp4fq4y9aihwyhgwclmss56z03b8hd5k5j8f4"; + }; + + patches = [ + (fetchurl { + url = "https://github.com/rethinkdb/rethinkdb/commit/871bd3705a1f29c4ab07a096d562a4b06231a97c.patch"; + sha256 = "05nagixlwnq3x7441fhll5vs70pxppbsciw8qjqp660bdb5m4jm1"; + }) + ]; + + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' external/v8_3.30.33.16/build/gyp/pylib/gyp/xcode_emulation.py + + # very meta + substituteInPlace mk/support/pkg/re2.sh --replace "-i '''" "-i" + ''; + + preConfigure = '' + export ALLOW_WARNINGS=1 + patchShebangs . + ''; + + configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [ + "--with-jemalloc" + "--lib-path=${jemalloc}/lib" + ]; + + buildInputs = [ protobuf boost zlib curl openssl icu makeWrapper ] + ++ stdenv.lib.optional (!stdenv.isDarwin) jemalloc + ++ stdenv.lib.optional stdenv.isDarwin libtool; + + nativeBuildInputs = [ which m4 python2Packages.python ]; + + enableParallelBuilding = true; + + postInstall = '' + wrapProgram $out/bin/rethinkdb \ + --prefix PATH ":" "${python2Packages.rethinkdb}/bin" + ''; + + meta = { + description = "An open-source distributed database built with love"; + longDescription = '' + RethinkDB is built to store JSON documents, and scale to + multiple machines with very little effort. It has a pleasant + query language that supports really useful queries like table + joins and group by, and is easy to setup and learn. + ''; + homepage = http://www.rethinkdb.com; + license = stdenv.lib.licenses.agpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice bluescreen303 ]; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/riak-cs/2.1.1.nix b/nixpkgs/pkgs/servers/nosql/riak-cs/2.1.1.nix new file mode 100644 index 000000000000..cf807e70596d --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/riak-cs/2.1.1.nix @@ -0,0 +1,69 @@ +{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam +, Carbon ? null, Cocoa ? null }: + +stdenv.mkDerivation rec { + name = "riak_cs-2.1.1"; + + buildInputs = [ + which unzip erlang git wget + ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ] + ++ lib.optional stdenv.isLinux [ pam ]; + + src = fetchurl { + url = "https://s3.amazonaws.com/downloads.basho.com/riak-cs/2.1/2.1.1/riak-cs-2.1.1.tar.gz"; + sha256 = "115cac127aac6d759c1b429a52e0d18e491c0719a6530b1b88aa52c4efdbedd5"; + }; + + + postPatch = '' + sed -i deps/node_package/priv/base/env.sh \ + -e 's@{{platform_data_dir}}@''${RIAK_DATA_DIR:-/var/db/riak-cs}@' \ + -e 's@^RUNNER_SCRIPT_DIR=.*@RUNNER_SCRIPT_DIR='$out'/bin@' \ + -e 's@^RUNNER_BASE_DIR=.*@RUNNER_BASE_DIR='$out'@' \ + -e 's@^RUNNER_ETC_DIR=.*@RUNNER_ETC_DIR=''${RIAK_ETC_DIR:-/etc/riak-cs}@' \ + -e 's@^RUNNER_LOG_DIR=.*@RUNNER_LOG_DIR=''${RIAK_LOG_DIR:-/var/log}@' + + sed -i ./Makefile \ + -e 's@rel: deps compile@rel: deps compile-src@' + ''; + + preBuild = '' + patchShebangs . + ''; + + buildPhase = '' + runHook preBuild + + make locked-deps + make rel + + runHook postBuild + ''; + + doCheck = false; + + installPhase = '' + runHook preInstall + + mkdir $out + mv rel/riak-cs/etc rel/riak-cs/riak-etc + mkdir -p rel/riak-cs/etc + mv rel/riak-cs/riak-etc rel/riak-cs/etc/riak-cs + mv rel/riak-cs/* $out + + for prog in $out/bin/*; do + substituteInPlace $prog \ + --replace '. "`cd \`dirname $0\` && /bin/pwd`/../lib/env.sh"' \ + ". $out/lib/env.sh" + done + + runHook postInstall + ''; + + meta = with lib; { + description = "Dynamo inspired NoSQL DB by Basho with S3 compatibility"; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + license = licenses.asl20; + maintainers = with maintainers; [ mdaiter ]; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/riak-cs/stanchion.nix b/nixpkgs/pkgs/servers/nosql/riak-cs/stanchion.nix new file mode 100644 index 000000000000..1524ca207009 --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/riak-cs/stanchion.nix @@ -0,0 +1,65 @@ +{ stdenv, lib, fetchurl, unzip, erlang, git, wget, which, pam +, Carbon ? null, Cocoa ? null }: + +stdenv.mkDerivation rec { + name = "stanchion-2.1.1"; + + buildInputs = [ + which unzip erlang git wget + ] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa ] + ++ lib.optional stdenv.isLinux [ pam ]; + + src = fetchurl { + url = "https://s3.amazonaws.com/downloads.basho.com/stanchion/2.1/2.1.1/stanchion-2.1.1.tar.gz"; + sha256 = "1443arwgg7qvlx3msyg99qvvhck7qxphdjslcp494i60fhr2g8ja"; + }; + + + postPatch = '' + sed -i deps/node_package/priv/base/env.sh \ + -e 's@{{platform_data_dir}}@''${RIAK_DATA_DIR:-/var/db/stanchion}@' \ + -e 's@^RUNNER_SCRIPT_DIR=.*@RUNNER_SCRIPT_DIR='$out'/bin@' \ + -e 's@^RUNNER_BASE_DIR=.*@RUNNER_BASE_DIR='$out'@' \ + -e 's@^RUNNER_ETC_DIR=.*@RUNNER_ETC_DIR=''${RIAK_ETC_DIR:-/etc/stanchion}@' \ + -e 's@^RUNNER_LOG_DIR=.*@RUNNER_LOG_DIR=''${RIAK_LOG_DIR:-/var/log}@' + ''; + + preBuild = '' + patchShebangs . + ''; + + buildPhase = '' + runHook preBuild + + make rel + + runHook postBuild + ''; + + doCheck = false; + + installPhase = '' + runHook preInstall + + mkdir $out + mv rel/stanchion/etc rel/stanchion/riak-etc + mkdir -p rel/stanchion/etc + mv rel/stanchion/riak-etc rel/stanchion/etc/stanchion + mv rel/stanchion/* $out + + for prog in $out/bin/*; do + substituteInPlace $prog \ + --replace '. "`cd \`dirname $0\` && /bin/pwd`/../lib/env.sh"' \ + ". $out/lib/env.sh" + done + + runHook postInstall + ''; + + meta = with lib; { + maintainers = with maintainers; [ mdaiter ]; + description = "Manager for Riak CS"; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + license = licenses.asl20; + }; +} diff --git a/nixpkgs/pkgs/servers/nosql/riak/2.2.0.nix b/nixpkgs/pkgs/servers/nosql/riak/2.2.0.nix new file mode 100644 index 000000000000..a09b4543cbbe --- /dev/null +++ b/nixpkgs/pkgs/servers/nosql/riak/2.2.0.nix @@ -0,0 +1,97 @@ +{ stdenv, lib, fetchurl, unzip, erlang, which, pam }: + +let + solrName = "solr-4.10.4-yz-2.tgz"; + yokozunaJarName = "yokozuna-3.jar"; + yzMonitorJarName = "yz_monitor-1.jar"; + + srcs = { + riak = fetchurl { + url = "https://s3.amazonaws.com/downloads.basho.com/riak/2.2/2.2.0/riak-2.2.0.tar.gz"; + sha256 = "0kl28bpyzajcllybili46jfr1schl45w5ysii187jr0ssgls2c9p"; + }; + solr = fetchurl { + url = "http://s3.amazonaws.com/files.basho.com/solr/${solrName}"; + sha256 = "0fy5slnldn628gmr2kilyx606ph0iykf7pz6j0xjcc3wqvrixa2a"; + }; + yokozunaJar = fetchurl { + url = "http://s3.amazonaws.com/files.basho.com/yokozuna/${yokozunaJarName}"; + sha256 = "17n6m100fz8affdcxsn4niw2lrpnswgfnd6aszgzipffwbg7v8v5"; + }; + yzMonitorJar = fetchurl { + url = "http://s3.amazonaws.com/files.basho.com/yokozuna/${yzMonitorJarName}"; + sha256 = "0kb97d1a43vw759j1h5qwbhx455pidn2pi7sfxijqic37h81ri1m"; + }; + }; +in + +stdenv.mkDerivation rec { + name = "riak-2.2.0"; + + buildInputs = [ + which unzip erlang pam + ]; + + src = srcs.riak; + + hardeningDisable = [ "format" ]; + + postPatch = '' + sed -i deps/node_package/priv/base/env.sh \ + -e 's@{{platform_data_dir}}@''${RIAK_DATA_DIR:-/var/db/riak}@' \ + -e 's@^RUNNER_SCRIPT_DIR=.*@RUNNER_SCRIPT_DIR='$out'/bin@' \ + -e 's@^RUNNER_BASE_DIR=.*@RUNNER_BASE_DIR='$out'@' \ + -e 's@^RUNNER_ETC_DIR=.*@RUNNER_ETC_DIR=''${RIAK_ETC_DIR:-/etc/riak}@' \ + -e 's@^RUNNER_LOG_DIR=.*@RUNNER_LOG_DIR=''${RIAK_LOG_DIR:-/var/log}@' + ''; + + preBuild = '' + mkdir solr-pkg + cp ${srcs.solr} solr-pkg/${solrName} + export SOLR_PKG_DIR=$(readlink -f solr-pkg) + + mkdir -p deps/yokozuna/priv/java_lib + cp ${srcs.yokozunaJar} deps/yokozuna/priv/java_lib/${yokozunaJarName} + + mkdir -p deps/yokozuna/priv/solr/lib/ext + cp ${srcs.yzMonitorJar} deps/yokozuna/priv/solr/lib/ext/${yzMonitorJarName} + + patchShebangs . + ''; + + buildPhase = '' + runHook preBuild + + make locked-deps + make rel + + runHook postBuild + ''; + + doCheck = false; + + installPhase = '' + runHook preInstall + + mkdir $out + mv rel/riak/etc rel/riak/riak-etc + mkdir -p rel/riak/etc + mv rel/riak/riak-etc rel/riak/etc/riak + mv rel/riak/* $out + + for prog in $out/bin/*; do + substituteInPlace $prog \ + --replace '. "`cd \`dirname $0\` && /bin/pwd`/../lib/env.sh"' \ + ". $out/lib/env.sh" + done + + runHook postInstall + ''; + + meta = with lib; { + maintainers = with maintainers; [ cstrahan mdaiter ]; + description = "Dynamo inspired NoSQL DB by Basho"; + platforms = [ "x86_64-linux" ]; + license = licenses.asl20; + }; +} |