uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
39
pkgs/servers/nosql/aerospike/default.nix
Normal file
39
pkgs/servers/nosql/aerospike/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, openssl, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aerospike-server";
|
||||
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}'
|
||||
|
||||
# drop blanket -Werror
|
||||
substituteInPlace make_in/Makefile.in --replace '-Werror' ""
|
||||
'';
|
||||
|
||||
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 lib; {
|
||||
description = "Flash-optimized, in-memory, NoSQL database";
|
||||
homepage = "https://aerospike.com/";
|
||||
license = licenses.agpl3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ kalbasit ];
|
||||
};
|
||||
}
|
||||
27
pkgs/servers/nosql/apache-jena/binary.nix
Normal file
27
pkgs/servers/nosql/apache-jena/binary.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchurl, java, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apache-jena";
|
||||
version = "4.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://dlcdn.apache.org/jena/binaries/apache-jena-${version}.tar.gz";
|
||||
sha256 = "sha256-/+F7wKklFiJ3dTHd650IBSnAYOAx/ZLbk9ofoZF9E8k=";
|
||||
};
|
||||
buildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
installPhase = ''
|
||||
cp -r . "$out"
|
||||
for i in "$out"/bin/*; do
|
||||
wrapProgram "$i" --prefix "PATH" : "${java}/bin/"
|
||||
done
|
||||
'';
|
||||
meta = with lib; {
|
||||
description = "RDF database";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.linux;
|
||||
homepage = "https://jena.apache.org";
|
||||
downloadPage = "https://archive.apache.org/dist/jena/binaries/";
|
||||
};
|
||||
}
|
||||
32
pkgs/servers/nosql/apache-jena/fuseki-binary.nix
Normal file
32
pkgs/servers/nosql/apache-jena/fuseki-binary.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchurl, java, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apache-jena-fuseki";
|
||||
version = "4.3.1";
|
||||
src = fetchurl {
|
||||
url = "https://dlcdn.apache.org/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
|
||||
sha256 = "1r0vfa7d55lzw22yfx46mxxmz8x8pkr666vggqw2m1rzzj52z9nx";
|
||||
};
|
||||
buildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
installPhase = ''
|
||||
cp -r . "$out"
|
||||
chmod +x $out/fuseki
|
||||
ln -s "$out"/{fuseki-backup,fuseki-server,fuseki} "$out/bin"
|
||||
for i in "$out"/bin/*; do
|
||||
wrapProgram "$i" \
|
||||
--prefix "PATH" : "${java}/bin/" \
|
||||
--set-default "FUSEKI_HOME" "$out" \
|
||||
;
|
||||
done
|
||||
'';
|
||||
meta = with lib; {
|
||||
description = "SPARQL server";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.linux;
|
||||
homepage = "https://jena.apache.org";
|
||||
downloadPage = "https://archive.apache.org/dist/jena/binaries/";
|
||||
};
|
||||
}
|
||||
68
pkgs/servers/nosql/arangodb/default.nix
Normal file
68
pkgs/servers/nosql/arangodb/default.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ stdenv, lib, fetchFromGitHub, openssl, zlib, cmake, python2, perl, snappy, lzo, which, catch2, catch }:
|
||||
|
||||
let
|
||||
common = { version, sha256 }: stdenv.mkDerivation {
|
||||
pname = "arangodb";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "arangodb";
|
||||
owner = "arangodb";
|
||||
rev = "v${version}";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake python2 perl which ];
|
||||
buildInputs = [ openssl zlib snappy lzo ];
|
||||
|
||||
# prevent failing with "cmake-3.13.4/nix-support/setup-hook: line 10: ./3rdParty/rocksdb/RocksDBConfig.cmake.in: No such file or directory"
|
||||
dontFixCmake = lib.versionAtLeast version "3.5";
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString (lib.versionAtLeast version "3.5") "-Wno-error";
|
||||
preConfigure = lib.optionalString (lib.versionAtLeast version "3.5") "patchShebangs utils";
|
||||
|
||||
postPatch = ''
|
||||
sed -ie 's!/bin/echo!echo!' 3rdParty/V8/v*/gypfiles/*.gypi
|
||||
|
||||
# with nixpkgs, it has no sense to check for a version update
|
||||
substituteInPlace js/client/client.js --replace "require('@arangodb').checkAvailableVersions();" ""
|
||||
substituteInPlace js/server/server.js --replace "require('@arangodb').checkAvailableVersions();" ""
|
||||
|
||||
${if (lib.versionOlder version "3.4") then ''
|
||||
cp ${catch}/include/catch/catch.hpp 3rdParty/catch/catch.hpp
|
||||
'' else if (lib.versionOlder version "3.5") then ''
|
||||
cp ${catch2}/include/catch2/catch.hpp 3rdParty/catch/catch.hpp
|
||||
'' else ''
|
||||
(cd 3rdParty/boost/1.69.0 && patch -p1 < ${../../../development/libraries/boost/pthread-stack-min-fix.patch})
|
||||
''}
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
# do not set GCC's -march=xxx based on builder's /proc/cpuinfo
|
||||
"-DUSE_OPTIMIZE_FOR_ARCHITECTURE=OFF"
|
||||
# also avoid using builder's /proc/cpuinfo
|
||||
"-DHAVE_SSE42=${if stdenv.hostPlatform.sse4_2Support then "ON" else "OFF"}"
|
||||
"-DASM_OPTIMIZATIONS=${if stdenv.hostPlatform.sse4_2Support then "ON" else "OFF"}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.arangodb.com";
|
||||
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 ];
|
||||
};
|
||||
};
|
||||
in {
|
||||
arangodb_3_3 = common {
|
||||
version = "3.3.24";
|
||||
sha256 = "18175789j4y586qvpcsaqxmw7d6vc3s29qm1fja5c7wzimx6ilyp";
|
||||
};
|
||||
arangodb_3_4 = common {
|
||||
version = "3.4.8";
|
||||
sha256 = "0vm94lf1i1vvs04vy68bkkv9q43rsaf1y3kfs6s3jcrs3ay0h0jn";
|
||||
};
|
||||
arangodb_3_5 = common {
|
||||
version = "3.5.1";
|
||||
sha256 = "1jw3j7vaq3xgkxiqg0bafn4b2169jq7f3y0l7mrpnrpijn77rkrv";
|
||||
};
|
||||
}
|
||||
4
pkgs/servers/nosql/cassandra/2.1.json
Normal file
4
pkgs/servers/nosql/cassandra/2.1.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": "2.1.22",
|
||||
"sha256": "1wk57dz0kmc6d5y8d8dkx269lzh3ark3751z734gxncwdlclcyz3"
|
||||
}
|
||||
12
pkgs/servers/nosql/cassandra/2.1.nix
Normal file
12
pkgs/servers/nosql/cassandra/2.1.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (
|
||||
args
|
||||
// builtins.fromJSON (builtins.readFile ./2.1.json)
|
||||
// {
|
||||
generation = "2_1";
|
||||
extraMeta.knownVulnerabilities = [
|
||||
# Fixed in 3.* but 2.* hasn't been released since
|
||||
"CVE-2020-17516"
|
||||
];
|
||||
})
|
||||
4
pkgs/servers/nosql/cassandra/2.2.json
Normal file
4
pkgs/servers/nosql/cassandra/2.2.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": "2.2.14",
|
||||
"sha256": "1b2x3q1ach44qg07sh8wr7d8a10n36w5522drd3p35djbiwa3d9q"
|
||||
}
|
||||
12
pkgs/servers/nosql/cassandra/2.2.nix
Normal file
12
pkgs/servers/nosql/cassandra/2.2.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (
|
||||
args
|
||||
// builtins.fromJSON (builtins.readFile ./2.2.json)
|
||||
// {
|
||||
generation = "2_2";
|
||||
extraMeta.knownVulnerabilities = [
|
||||
# Fixed in 3.* but 2.* hasn't been released since
|
||||
"CVE-2020-17516"
|
||||
];
|
||||
})
|
||||
4
pkgs/servers/nosql/cassandra/3.0.json
Normal file
4
pkgs/servers/nosql/cassandra/3.0.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": "3.0.26",
|
||||
"sha256": "09wim1w2yizcqpja62jk64fhaw3jgnrgrjlrm4kgmcc3g3bsmw6i"
|
||||
}
|
||||
7
pkgs/servers/nosql/cassandra/3.0.nix
Normal file
7
pkgs/servers/nosql/cassandra/3.0.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ callPackage, ... } @ args:
|
||||
callPackage ./generic.nix (
|
||||
args
|
||||
// builtins.fromJSON (builtins.readFile ./3.0.json)
|
||||
// {
|
||||
generation = "3_0";
|
||||
})
|
||||
4
pkgs/servers/nosql/cassandra/3.11.json
Normal file
4
pkgs/servers/nosql/cassandra/3.11.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"version": "3.11.12",
|
||||
"sha256": "16j58l7r47qrfh8q7fm92y935ykgvnbj3qn984c42qda15x92hkw"
|
||||
}
|
||||
7
pkgs/servers/nosql/cassandra/3.11.nix
Normal file
7
pkgs/servers/nosql/cassandra/3.11.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ callPackage, ... } @ args:
|
||||
callPackage ./generic.nix (
|
||||
args
|
||||
// builtins.fromJSON (builtins.readFile ./3.11.json)
|
||||
// {
|
||||
generation = "3_11";
|
||||
})
|
||||
127
pkgs/servers/nosql/cassandra/generic.nix
Normal file
127
pkgs/servers/nosql/cassandra/generic.nix
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, python2
|
||||
, makeWrapper
|
||||
, gawk
|
||||
, bash
|
||||
, getopt
|
||||
, procps
|
||||
, which
|
||||
, jre
|
||||
, nixosTests
|
||||
# generation is the attribute version suffix such as 3_11 in pkgs.cassandra_3_11
|
||||
, generation
|
||||
, version
|
||||
, sha256
|
||||
, extraMeta ? { }
|
||||
, callPackage
|
||||
, ...
|
||||
}:
|
||||
|
||||
let
|
||||
libPath = lib.makeLibraryPath [ stdenv.cc.cc ];
|
||||
binPath = lib.makeBinPath [
|
||||
bash
|
||||
getopt
|
||||
gawk
|
||||
which
|
||||
jre
|
||||
procps
|
||||
];
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cassandra";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
inherit sha256;
|
||||
url = "mirror://apache/cassandra/${version}/apache-cassandra-${version}-bin.tar.gz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir $out
|
||||
mv * $out
|
||||
|
||||
# Clean up documentation.
|
||||
mkdir -p $out/share/doc/${pname}-${version}
|
||||
mv $out/CHANGES.txt \
|
||||
$out/LICENSE.txt \
|
||||
$out/NEWS.txt \
|
||||
$out/NOTICE.txt \
|
||||
$out/share/doc/${pname}-${version}
|
||||
|
||||
if [[ -d $out/doc ]]; then
|
||||
mv "$out/doc/"* $out/share/doc/${pname}-${version}
|
||||
rmdir $out/doc
|
||||
fi
|
||||
|
||||
|
||||
for cmd in bin/cassandra \
|
||||
bin/nodetool \
|
||||
bin/sstablekeys \
|
||||
bin/sstableloader \
|
||||
bin/sstablescrub \
|
||||
bin/sstableupgrade \
|
||||
bin/sstableutil \
|
||||
bin/sstableverify; do
|
||||
# Check if file exists because some don't exist across all versions
|
||||
if [ -f $out/$cmd ]; then
|
||||
wrapProgram $out/bin/$(basename "$cmd") \
|
||||
--suffix-each LD_LIBRARY_PATH : ${libPath} \
|
||||
--prefix PATH : ${binPath} \
|
||||
--set JAVA_HOME ${jre}
|
||||
fi
|
||||
done
|
||||
|
||||
for cmd in tools/bin/cassandra-stress \
|
||||
tools/bin/cassandra-stressd \
|
||||
tools/bin/sstabledump \
|
||||
tools/bin/sstableexpiredblockers \
|
||||
tools/bin/sstablelevelreset \
|
||||
tools/bin/sstablemetadata \
|
||||
tools/bin/sstableofflinerelevel \
|
||||
tools/bin/sstablerepairedset \
|
||||
tools/bin/sstablesplit \
|
||||
tools/bin/token-generator; do
|
||||
# Check if file exists because some don't exist across all versions
|
||||
if [ -f $out/$cmd ]; then
|
||||
makeWrapper $out/$cmd $out/bin/$(basename "$cmd") \
|
||||
--suffix-each LD_LIBRARY_PATH : ${libPath} \
|
||||
--prefix PATH : ${binPath} \
|
||||
--set JAVA_HOME ${jre}
|
||||
fi
|
||||
done
|
||||
|
||||
wrapProgram $out/bin/cqlsh --prefix PATH : ${python2}/bin
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests =
|
||||
let
|
||||
test = nixosTests."cassandra_${generation}";
|
||||
in
|
||||
{
|
||||
nixos =
|
||||
assert test.testPackage.version == version;
|
||||
test;
|
||||
};
|
||||
|
||||
updateScript = callPackage ./update-script.nix { inherit generation; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://cassandra.apache.org/";
|
||||
description = "A massively scalable open source NoSQL database";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.roberth ];
|
||||
} // extraMeta;
|
||||
}
|
||||
55
pkgs/servers/nosql/cassandra/update-script.nix
Normal file
55
pkgs/servers/nosql/cassandra/update-script.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{ git
|
||||
, lib
|
||||
, runtimeShell
|
||||
, writeScript
|
||||
, generation
|
||||
, gnupg
|
||||
}:
|
||||
let
|
||||
inherit (lib) makeBinPath;
|
||||
filename = lib.strings.replaceStrings [ "_" ] [ "." ] generation + ".json";
|
||||
regex = lib.strings.replaceStrings [ "_" ] [ "[.]" ] generation;
|
||||
in
|
||||
writeScript "update-cassandra_${generation}" ''
|
||||
#!${runtimeShell}
|
||||
set -eux -o pipefail
|
||||
test -d pkgs -a -d nixos -a -d lib || {
|
||||
echo >&2 "$0 expects to be run in a nixpkgs checkout"
|
||||
exit 1
|
||||
}
|
||||
cd pkgs/servers/nosql/cassandra
|
||||
PATH="${makeBinPath [git gnupg]}:$PATH"
|
||||
|
||||
tmp="$(mktemp -d)"
|
||||
cleanup() {
|
||||
rm -rf "$tmp"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
# get numeric-only versions, sort them latest first
|
||||
git ls-remote --tags https://github.com/apache/cassandra \
|
||||
| awk '{ if (match($0, /refs.tags.cassandra-([0-9.]*)$/, m)) print m[1] }' \
|
||||
| sort -V \
|
||||
| tac >$tmp/versions
|
||||
|
||||
version="$(grep -E '^${regex}' <$tmp/versions | head -n 1)"
|
||||
path="cassandra/$version/apache-cassandra-$version-bin.tar.gz"
|
||||
curl "https://downloads.apache.org/$path" >$tmp/src.tar.gz
|
||||
curl "https://downloads.apache.org/$path.asc" >$tmp/src.tar.gz.asc
|
||||
|
||||
# See https://downloads.apache.org/cassandra/KEYS
|
||||
# Make sure that any new key corresponds to someone on the project
|
||||
for key in A4C465FEA0C552561A392A61E91335D77E3E87CB; do
|
||||
gpg --trustdb-name "$tmp/trust.db" --batch --recv-keys "$key"
|
||||
echo "$key:5:" | gpg --trustdb-name "$tmp/trust.db" --batch --import-ownertrust
|
||||
done
|
||||
gpg --trustdb-name "$tmp/trust.db" --batch --verify --trust-model direct $tmp/src.tar.gz.asc $tmp/src.tar.gz
|
||||
|
||||
hash="$(nix-prefetch-url "file://$tmp/src.tar.gz")"
|
||||
cat >${filename} <<EOF
|
||||
{
|
||||
"version": "$version",
|
||||
"sha256": "$hash"
|
||||
}
|
||||
EOF
|
||||
''
|
||||
109
pkgs/servers/nosql/dragonflydb/default.nix
Normal file
109
pkgs/servers/nosql/dragonflydb/default.nix
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
{ fetchFromGitHub
|
||||
, fetchurl
|
||||
, lib
|
||||
, stdenv
|
||||
, double-conversion
|
||||
, gperftools
|
||||
, mimalloc
|
||||
, rapidjson
|
||||
, liburing
|
||||
, xxHash
|
||||
, abseil-cpp_202111
|
||||
, gbenchmark
|
||||
, glog
|
||||
, gtest
|
||||
, jemalloc
|
||||
, gcc-unwrapped
|
||||
, autoconf
|
||||
, autoconf-archive
|
||||
, automake
|
||||
, cmake
|
||||
, ninja
|
||||
, boost
|
||||
, libunwind
|
||||
, libtool
|
||||
, openssl
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "dragonflydb";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = "dragonfly";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-P6WMW/n+VezWDXGagT4B+ZYyCp8oufDV6MTrpKpLZcs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# Needed exactly 5.4.4 for patch to work
|
||||
lua = fetchurl {
|
||||
url = "https://github.com/lua/lua/archive/refs/tags/v5.4.4.tar.gz";
|
||||
hash = "sha256-L/ibvqIqfIuRDWsAb1ukVZ7c9GiiVTfO35mI7ZD2tFA=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version src;
|
||||
|
||||
postPatch = ''
|
||||
mkdir -p ./build/{third_party,_deps}
|
||||
ln -s ${double-conversion.src} ./build/third_party/dconv
|
||||
ln -s ${mimalloc.src} ./build/third_party/mimalloc
|
||||
ln -s ${rapidjson.src} ./build/third_party/rapidjson
|
||||
ln -s ${gbenchmark.src} ./build/_deps/benchmark-src
|
||||
ln -s ${gtest.src} ./build/_deps/gtest-src
|
||||
cp -R --no-preserve=mode,ownership ${gperftools.src} ./build/third_party/gperf
|
||||
cp -R --no-preserve=mode,ownership ${liburing.src} ./build/third_party/uring
|
||||
cp -R --no-preserve=mode,ownership ${xxHash.src} ./build/third_party/xxhash
|
||||
cp -R --no-preserve=mode,ownership ${abseil-cpp_202111.src} ./build/_deps/abseil_cpp-src
|
||||
cp -R --no-preserve=mode,ownership ${glog.src} ./build/_deps/glog-src
|
||||
chmod u+x ./build/third_party/uring/configure
|
||||
cp ./build/third_party/xxhash/cli/xxhsum.{1,c} ./build/third_party/xxhash
|
||||
patch -p1 -d ./build/_deps/glog-src < ${./glog.patch}
|
||||
sed '
|
||||
s@REPLACEJEMALLOCURL@file://${jemalloc.src}@
|
||||
s@REPLACELUAURL@file://${lua}@
|
||||
' ${./fixes.patch} | patch -p1
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
autoconf-archive
|
||||
automake
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
libunwind
|
||||
libtool
|
||||
openssl
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
|
||||
"-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
|
||||
];
|
||||
|
||||
ninjaFlags = "dragonfly";
|
||||
|
||||
doCheck = false;
|
||||
dontUseNinjaInstall = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp ./dragonfly $out/bin
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modern replacement for Redis and Memcached";
|
||||
homepage = "https://dragonflydb.io/";
|
||||
license = licenses.bsl11;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ yureien ];
|
||||
};
|
||||
}
|
||||
132
pkgs/servers/nosql/dragonflydb/fixes.patch
Normal file
132
pkgs/servers/nosql/dragonflydb/fixes.patch
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
diff --git a/helio/cmake/third_party.cmake b/helio/cmake/third_party.cmake
|
||||
index aeb78d9..e9d4e6b 100644
|
||||
--- a/helio/cmake/third_party.cmake
|
||||
+++ b/helio/cmake/third_party.cmake
|
||||
@@ -143,7 +143,7 @@ endfunction()
|
||||
|
||||
FetchContent_Declare(
|
||||
gtest
|
||||
- URL https://github.com/google/googletest/archive/release-1.11.0.zip
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(gtest)
|
||||
@@ -154,7 +154,7 @@ endif ()
|
||||
|
||||
FetchContent_Declare(
|
||||
benchmark
|
||||
- URL https://github.com/google/benchmark/archive/v1.6.1.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(benchmark)
|
||||
@@ -169,7 +169,7 @@ endif ()
|
||||
|
||||
FetchContent_Declare(
|
||||
abseil_cpp
|
||||
- URL https://github.com/abseil/abseil-cpp/archive/20211102.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
PATCH_COMMAND patch -p1 < "${CMAKE_CURRENT_LIST_DIR}/../patches/abseil-20211102.patch"
|
||||
)
|
||||
|
||||
@@ -183,11 +183,7 @@ endif()
|
||||
|
||||
FetchContent_Declare(
|
||||
glog
|
||||
- GIT_REPOSITORY https://github.com/romange/glog
|
||||
- GIT_TAG Absl
|
||||
-
|
||||
- GIT_PROGRESS TRUE
|
||||
- GIT_SHALLOW TRUE
|
||||
+ DOWNLOAD_COMMAND true
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(glog)
|
||||
@@ -233,10 +229,7 @@ endif()
|
||||
|
||||
add_third_party(
|
||||
gperf
|
||||
- URL https://github.com/gperftools/gperftools/archive/gperftools-2.9.1.tar.gz
|
||||
- #GIT_REPOSITORY https://github.com/gperftools/gperftools
|
||||
- #GIT_TAG gperftools-2.9.1
|
||||
- GIT_SHALLOW TRUE
|
||||
+ DOWNLOAD_COMMAND true
|
||||
PATCH_COMMAND autoreconf -i # update runs every time for some reason
|
||||
# CMAKE_PASS_FLAGS "-DGPERFTOOLS_BUILD_HEAP_PROFILER=OFF -DGPERFTOOLS_BUILD_HEAP_CHECKER=OFF \
|
||||
# -DGPERFTOOLS_BUILD_DEBUGALLOC=OFF -DBUILD_TESTING=OFF \
|
||||
@@ -260,11 +253,12 @@ else()
|
||||
endif()
|
||||
|
||||
add_third_party(mimalloc
|
||||
- URL https://github.com/microsoft/mimalloc/archive/refs/tags/v2.0.5.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
|
||||
# Add -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-O0 to debug
|
||||
CMAKE_PASS_FLAGS "-DCMAKE_BUILD_TYPE=Release -DMI_BUILD_SHARED=OFF -DMI_BUILD_TESTS=OFF \
|
||||
- -DMI_INSTALL_TOPLEVEL=ON -DMI_OVERRIDE=${MI_OVERRIDE} -DCMAKE_C_FLAGS=-g"
|
||||
+ -DMI_INSTALL_TOPLEVEL=ON -DMI_OVERRIDE=${MI_OVERRIDE} -DCMAKE_C_FLAGS=-g \
|
||||
+ -DCMAKE_INSTALL_LIBDIR=${THIRD_PARTY_LIB_DIR}/mimalloc/lib"
|
||||
|
||||
BUILD_COMMAND make -j4 mimalloc-static
|
||||
INSTALL_COMMAND make install
|
||||
@@ -274,7 +268,7 @@ add_third_party(mimalloc
|
||||
)
|
||||
|
||||
add_third_party(jemalloc
|
||||
- URL https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2
|
||||
+ URL REPLACEJEMALLOCURL
|
||||
PATCH_COMMAND ./autogen.sh
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${THIRD_PARTY_LIB_DIR}/jemalloc --with-jemalloc-prefix=je_ --disable-libdl
|
||||
)
|
||||
@@ -282,24 +276,23 @@ add_third_party(jemalloc
|
||||
|
||||
add_third_party(
|
||||
xxhash
|
||||
- URL https://github.com/Cyan4973/xxHash/archive/v0.8.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
SOURCE_SUBDIR cmake_unofficial
|
||||
- CMAKE_PASS_FLAGS "-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=OFF"
|
||||
+ CMAKE_PASS_FLAGS "-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=OFF \
|
||||
+ -DCMAKE_INSTALL_LIBDIR=${THIRD_PARTY_LIB_DIR}/xxhash/lib"
|
||||
)
|
||||
|
||||
|
||||
add_third_party(
|
||||
uring
|
||||
- GIT_REPOSITORY https://github.com/axboe/liburing.git
|
||||
- GIT_TAG liburing-2.1
|
||||
+ DOWNLOAD_COMMAND true
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${THIRD_PARTY_LIB_DIR}/uring
|
||||
BUILD_IN_SOURCE 1
|
||||
)
|
||||
|
||||
add_third_party(
|
||||
rapidjson
|
||||
- GIT_REPOSITORY https://github.com/Tencent/rapidjson.git
|
||||
- GIT_TAG 1a803826f1197b5e30703afe4b9c0e7dd48074f5
|
||||
+ DOWNLOAD_COMMAND true
|
||||
CMAKE_PASS_FLAGS "-DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF \
|
||||
-DRAPIDJSON_BUILD_DOC=OFF"
|
||||
LIB "none"
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 0dc0824..d5b38b3 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
add_third_party(
|
||||
lua
|
||||
- URL https://github.com/lua/lua/archive/refs/tags/v5.4.4.tar.gz
|
||||
+ URL REPLACELUAURL
|
||||
PATCH_COMMAND patch -p1 -i "${CMAKE_SOURCE_DIR}/patches/lua-v5.4.4.patch"
|
||||
CONFIGURE_COMMAND echo
|
||||
BUILD_IN_SOURCE 1
|
||||
@@ -11,7 +11,8 @@ add_third_party(
|
||||
|
||||
add_third_party(
|
||||
dconv
|
||||
- URL https://github.com/google/double-conversion/archive/refs/tags/v3.2.0.tar.gz
|
||||
+ DOWNLOAD_COMMAND true
|
||||
+ CMAKE_PASS_FLAGS "-DCMAKE_INSTALL_LIBDIR=${THIRD_PARTY_LIB_DIR}/dconv/lib"
|
||||
LIB libdouble-conversion.a
|
||||
)
|
||||
|
||||
553
pkgs/servers/nosql/dragonflydb/glog.patch
Normal file
553
pkgs/servers/nosql/dragonflydb/glog.patch
Normal file
|
|
@ -0,0 +1,553 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 846b4448..b4900ead 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -39,6 +39,7 @@ option (PRINT_UNSYMBOLIZED_STACK_TRACES
|
||||
"Print file offsets in traces instead of symbolizing" OFF)
|
||||
option (WITH_CUSTOM_PREFIX "Enable support for user-generated message prefixes" ON)
|
||||
option (WITH_GFLAGS "Use gflags" ON)
|
||||
+option (WITH_ABSL "Use absl flags" OFF)
|
||||
option (WITH_GTEST "Use Google Test" ON)
|
||||
option (WITH_PKGCONFIG "Enable pkg-config support" ON)
|
||||
option (WITH_SYMBOLIZE "Enable symbolize module" ON)
|
||||
@@ -87,6 +88,13 @@ if (WITH_GFLAGS)
|
||||
endif (gflags_FOUND)
|
||||
endif (WITH_GFLAGS)
|
||||
|
||||
+if (WITH_ABSL)
|
||||
+ set (HAVE_ABSL_FLAGS 1)
|
||||
+ set (ac_cv_have_abslflags 1)
|
||||
+else (WITH_ABSL)
|
||||
+set (ac_cv_have_abslflags 0)
|
||||
+endif (WITH_ABSL)
|
||||
+
|
||||
find_package (Threads)
|
||||
find_package (Unwind)
|
||||
|
||||
@@ -1025,7 +1033,7 @@ write_basic_package_version_file (
|
||||
${CMAKE_CURRENT_BINARY_DIR}/glog-config-version.cmake
|
||||
COMPATIBILITY SameMajorVersion)
|
||||
|
||||
-export (TARGETS glog NAMESPACE glog:: FILE glog-targets.cmake)
|
||||
+# export (TARGETS glog NAMESPACE glog:: FILE glog-targets.cmake)
|
||||
export (PACKAGE glog)
|
||||
|
||||
get_filename_component (_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
|
||||
diff --git a/src/base/commandlineflags.h b/src/base/commandlineflags.h
|
||||
index bcb12dea..1c9d9294 100644
|
||||
--- a/src/base/commandlineflags.h
|
||||
+++ b/src/base/commandlineflags.h
|
||||
@@ -57,6 +57,25 @@
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
+#else
|
||||
+#ifdef HAVE_ABSL_FLAGS
|
||||
+#include <absl/flags/flag.h>
|
||||
+
|
||||
+#define FLAG(name) absl::GetFlag(FLAGS_##name)
|
||||
+
|
||||
+#define DEFINE_bool(name, value, meaning) \
|
||||
+ ABSL_FLAG(bool, name, value, meaning)
|
||||
+
|
||||
+#define DEFINE_int32(name, value, meaning) \
|
||||
+ ABSL_FLAG(GOOGLE_NAMESPACE::int32, name, value, meaning)
|
||||
+
|
||||
+#define DEFINE_uint32(name, value, meaning) \
|
||||
+ ABSL_FLAG(GOOGLE_NAMESPACE::uint32, name, value, meaning)
|
||||
+
|
||||
+#define DEFINE_string(name, value, meaning) \
|
||||
+ ABSL_FLAG(std::string, name, value, meaning)
|
||||
+
|
||||
+
|
||||
#else
|
||||
|
||||
#include <glog/logging.h>
|
||||
@@ -108,6 +127,7 @@
|
||||
} \
|
||||
using fLS::FLAGS_##name
|
||||
|
||||
+#endif
|
||||
#endif // HAVE_LIB_GFLAGS
|
||||
|
||||
// Define GLOG_DEFINE_* using DEFINE_* . By using these macros, we
|
||||
diff --git a/src/base/mutex.h b/src/base/mutex.h
|
||||
index e82c597f..a58c1412 100644
|
||||
--- a/src/base/mutex.h
|
||||
+++ b/src/base/mutex.h
|
||||
@@ -319,11 +319,6 @@ class WriterMutexLock {
|
||||
void operator=(const WriterMutexLock&);
|
||||
};
|
||||
|
||||
-// Catch bug where variable name is omitted, e.g. MutexLock (&mu);
|
||||
-#define MutexLock(x) COMPILE_ASSERT(0, mutex_lock_decl_missing_var_name)
|
||||
-#define ReaderMutexLock(x) COMPILE_ASSERT(0, rmutex_lock_decl_missing_var_name)
|
||||
-#define WriterMutexLock(x) COMPILE_ASSERT(0, wmutex_lock_decl_missing_var_name)
|
||||
-
|
||||
} // namespace MUTEX_NAMESPACE
|
||||
|
||||
using namespace MUTEX_NAMESPACE;
|
||||
diff --git a/src/config.h.cmake.in b/src/config.h.cmake.in
|
||||
index b225b7ec..a4c58c96 100644
|
||||
--- a/src/config.h.cmake.in
|
||||
+++ b/src/config.h.cmake.in
|
||||
@@ -34,6 +34,8 @@
|
||||
/* define if you have google gflags library */
|
||||
#cmakedefine HAVE_LIB_GFLAGS
|
||||
|
||||
+#cmakedefine HAVE_ABSL_FLAGS
|
||||
+
|
||||
/* define if you have google gmock library */
|
||||
#cmakedefine HAVE_LIB_GMOCK
|
||||
|
||||
diff --git a/src/glog/logging.h.in b/src/glog/logging.h.in
|
||||
index 95a573b1..54cd838f 100644
|
||||
--- a/src/glog/logging.h.in
|
||||
+++ b/src/glog/logging.h.in
|
||||
@@ -89,6 +89,10 @@
|
||||
#include <gflags/gflags.h>
|
||||
#endif
|
||||
|
||||
+#if @ac_cv_have_abslflags@
|
||||
+#include <absl/flags/declare.h>
|
||||
+#endif
|
||||
+
|
||||
#if @ac_cv_cxx11_atomic@ && __cplusplus >= 201103L
|
||||
#include <atomic>
|
||||
#elif defined(GLOG_OS_WINDOWS)
|
||||
@@ -395,6 +399,14 @@ typedef void(*CustomPrefixCallback)(std::ostream& s, const LogMessageInfo& l, vo
|
||||
#undef DECLARE_uint32
|
||||
#endif
|
||||
|
||||
+#if @ac_cv_have_abslflags@
|
||||
+#define DECLARE_VARIABLE 1
|
||||
+#define DECLARE_bool(name) ABSL_DECLARE_FLAG(bool, name)
|
||||
+#define DECLARE_int32(name) ABSL_DECLARE_FLAG(@ac_google_namespace@::int32, name)
|
||||
+#define DECLARE_uint32(name) ABSL_DECLARE_FLAG(@ac_google_namespace@::uint32, name)
|
||||
+#define DECLARE_string(name) ABSL_DECLARE_FLAG(std::string, name)
|
||||
+#endif
|
||||
+
|
||||
#ifndef DECLARE_VARIABLE
|
||||
#define DECLARE_VARIABLE(type, shorttype, name, tn) \
|
||||
namespace fL##shorttype { \
|
||||
diff --git a/src/glog/vlog_is_on.h.in b/src/glog/vlog_is_on.h.in
|
||||
index 7526fc34..16e60f46 100644
|
||||
--- a/src/glog/vlog_is_on.h.in
|
||||
+++ b/src/glog/vlog_is_on.h.in
|
||||
@@ -64,6 +64,14 @@
|
||||
#include <glog/log_severity.h>
|
||||
|
||||
#if defined(__GNUC__)
|
||||
+
|
||||
+#if @ac_cv_have_abslflags@
|
||||
+ extern int32_t absl_proxy_v;
|
||||
+ #define VLEVEL (@ac_google_namespace@::absl_proxy_v)
|
||||
+#else
|
||||
+ #define VLEVEL (FLAGS_v)
|
||||
+#endif
|
||||
+
|
||||
// We emit an anonymous static int* variable at every VLOG_IS_ON(n) site.
|
||||
// (Normally) the first time every VLOG_IS_ON(n) site is hit,
|
||||
// we determine what variable will dynamically control logging at this site:
|
||||
@@ -74,7 +82,7 @@
|
||||
__extension__ \
|
||||
({ static @ac_google_namespace@::SiteFlag vlocal__ = {NULL, NULL, 0, NULL}; \
|
||||
@ac_google_namespace@::int32 verbose_level__ = (verboselevel); \
|
||||
- (vlocal__.level == NULL ? @ac_google_namespace@::InitVLOG3__(&vlocal__, &FLAGS_v, \
|
||||
+ (vlocal__.level == NULL ? @ac_google_namespace@::InitVLOG3__(&vlocal__, &VLEVEL, \
|
||||
__FILE__, verbose_level__) : *vlocal__.level >= verbose_level__); \
|
||||
})
|
||||
#else
|
||||
diff --git a/src/logging.cc b/src/logging.cc
|
||||
index 4028ccc0..fc618d3a 100644
|
||||
--- a/src/logging.cc
|
||||
+++ b/src/logging.cc
|
||||
@@ -103,7 +103,9 @@ using std::fdopen;
|
||||
#endif
|
||||
|
||||
// There is no thread annotation support.
|
||||
+#ifndef EXCLUSIVE_LOCKS_REQUIRED
|
||||
#define EXCLUSIVE_LOCKS_REQUIRED(mu)
|
||||
+#endif
|
||||
|
||||
static bool BoolFromEnv(const char *varname, bool defval) {
|
||||
const char* const valstr = getenv(varname);
|
||||
@@ -351,8 +353,9 @@ static const char* GetAnsiColorCode(GLogColor color) {
|
||||
|
||||
// Safely get max_log_size, overriding to 1 if it somehow gets defined as 0
|
||||
static uint32 MaxLogSize() {
|
||||
- return (FLAGS_max_log_size > 0 && FLAGS_max_log_size < 4096
|
||||
- ? FLAGS_max_log_size
|
||||
+ uint32 maxlogsize = FLAG(max_log_size);
|
||||
+ return (maxlogsize > 0 && maxlogsize < 4096
|
||||
+ ? maxlogsize
|
||||
: 1);
|
||||
}
|
||||
|
||||
@@ -721,7 +724,7 @@ inline void LogDestination::SetStderrLogging(LogSeverity min_severity) {
|
||||
// Prevent any subtle race conditions by wrapping a mutex lock around
|
||||
// all this stuff.
|
||||
MutexLock l(&log_mutex);
|
||||
- FLAGS_stderrthreshold = min_severity;
|
||||
+ absl::SetFlag(&FLAGS_stderrthreshold, min_severity);
|
||||
}
|
||||
|
||||
inline void LogDestination::LogToStderr() {
|
||||
@@ -747,8 +750,8 @@ static void ColoredWriteToStderrOrStdout(FILE* output, LogSeverity severity,
|
||||
const char* message, size_t len) {
|
||||
bool is_stdout = (output == stdout);
|
||||
const GLogColor color = (LogDestination::terminal_supports_color() &&
|
||||
- ((!is_stdout && FLAGS_colorlogtostderr) ||
|
||||
- (is_stdout && FLAGS_colorlogtostdout)))
|
||||
+ ((!is_stdout && FLAG(colorlogtostderr)) ||
|
||||
+ (is_stdout && FLAG(colorlogtostdout))))
|
||||
? SeverityToColor(severity)
|
||||
: COLOR_DEFAULT;
|
||||
|
||||
@@ -789,7 +792,7 @@ static void ColoredWriteToStdout(LogSeverity severity, const char* message,
|
||||
FILE* output = stdout;
|
||||
// We also need to send logs to the stderr when the severity is
|
||||
// higher or equal to the stderr threshold.
|
||||
- if (severity >= FLAGS_stderrthreshold) {
|
||||
+ if (severity >= FLAG(stderrthreshold)) {
|
||||
output = stderr;
|
||||
}
|
||||
ColoredWriteToStderrOrStdout(output, severity, message, len);
|
||||
@@ -808,7 +811,7 @@ static void WriteToStderr(const char* message, size_t len) {
|
||||
|
||||
inline void LogDestination::MaybeLogToStderr(LogSeverity severity,
|
||||
const char* message, size_t message_len, size_t prefix_len) {
|
||||
- if ((severity >= FLAGS_stderrthreshold) || FLAGS_alsologtostderr) {
|
||||
+ if ((severity >= FLAG(stderrthreshold)) || FLAG(alsologtostderr)) {
|
||||
ColoredWriteToStderr(severity, message, message_len);
|
||||
#ifdef GLOG_OS_WINDOWS
|
||||
(void) prefix_len;
|
||||
@@ -835,8 +838,8 @@ inline void LogDestination::MaybeLogToStderr(LogSeverity severity,
|
||||
inline void LogDestination::MaybeLogToEmail(LogSeverity severity,
|
||||
const char* message, size_t len) {
|
||||
if (severity >= email_logging_severity_ ||
|
||||
- severity >= FLAGS_logemaillevel) {
|
||||
- string to(FLAGS_alsologtoemail);
|
||||
+ severity >= FLAG(logemaillevel)) {
|
||||
+ string to(FLAG(alsologtoemail));
|
||||
if (!addresses_.empty()) {
|
||||
if (!to.empty()) {
|
||||
to += ",";
|
||||
@@ -862,7 +865,7 @@ inline void LogDestination::MaybeLogToLogfile(LogSeverity severity,
|
||||
time_t timestamp,
|
||||
const char* message,
|
||||
size_t len) {
|
||||
- const bool should_flush = severity > FLAGS_logbuflevel;
|
||||
+ const bool should_flush = severity > FLAG(logbuflevel);
|
||||
LogDestination* destination = log_destination(severity);
|
||||
destination->logger_->Write(should_flush, timestamp, message, len);
|
||||
}
|
||||
@@ -871,9 +874,9 @@ inline void LogDestination::LogToAllLogfiles(LogSeverity severity,
|
||||
time_t timestamp,
|
||||
const char* message,
|
||||
size_t len) {
|
||||
- if (FLAGS_logtostdout) { // global flag: never log to file
|
||||
+ if (FLAG(logtostdout)) { // global flag: never log to file
|
||||
ColoredWriteToStdout(severity, message, len);
|
||||
- } else if (FLAGS_logtostderr) { // global flag: never log to file
|
||||
+ } else if (FLAG(logtostderr)) { // global flag: never log to file
|
||||
ColoredWriteToStderr(severity, message, len);
|
||||
} else {
|
||||
for (int i = severity; i >= 0; --i) {
|
||||
@@ -1032,25 +1035,25 @@ void LogFileObject::FlushUnlocked(){
|
||||
bytes_since_flush_ = 0;
|
||||
}
|
||||
// Figure out when we are due for another flush.
|
||||
- const int64 next = (FLAGS_logbufsecs
|
||||
+ const int64 next = (FLAG(logbufsecs)
|
||||
* static_cast<int64>(1000000)); // in usec
|
||||
next_flush_time_ = CycleClock_Now() + UsecToCycles(next);
|
||||
}
|
||||
|
||||
bool LogFileObject::CreateLogfile(const string& time_pid_string) {
|
||||
string string_filename = base_filename_;
|
||||
- if (FLAGS_timestamp_in_logfile_name) {
|
||||
+ if (FLAG(timestamp_in_logfile_name)) {
|
||||
string_filename += time_pid_string;
|
||||
}
|
||||
string_filename += filename_extension_;
|
||||
const char* filename = string_filename.c_str();
|
||||
//only write to files, create if non-existant.
|
||||
int flags = O_WRONLY | O_CREAT;
|
||||
- if (FLAGS_timestamp_in_logfile_name) {
|
||||
+ if (FLAG(timestamp_in_logfile_name)) {
|
||||
//demand that the file is unique for our timestamp (fail if it exists).
|
||||
flags = flags | O_EXCL;
|
||||
}
|
||||
- int fd = open(filename, flags, FLAGS_logfile_mode);
|
||||
+ int fd = open(filename, flags, FLAG(logfile_mode));
|
||||
if (fd == -1) return false;
|
||||
#ifdef HAVE_FCNTL
|
||||
// Mark the file close-on-exec. We don't really care if this fails
|
||||
@@ -1083,7 +1086,7 @@ bool LogFileObject::CreateLogfile(const string& time_pid_string) {
|
||||
file_ = fdopen(fd, "a"); // Make a FILE*.
|
||||
if (file_ == NULL) { // Man, we're screwed!
|
||||
close(fd);
|
||||
- if (FLAGS_timestamp_in_logfile_name) {
|
||||
+ if (FLAG(timestamp_in_logfile_name)) {
|
||||
unlink(filename); // Erase the half-baked evidence: an unusable log file, only if we just created it.
|
||||
}
|
||||
return false;
|
||||
@@ -1125,8 +1128,8 @@ bool LogFileObject::CreateLogfile(const string& time_pid_string) {
|
||||
|
||||
// Make an additional link to the log file in a place specified by
|
||||
// FLAGS_log_link, if indicated
|
||||
- if (!FLAGS_log_link.empty()) {
|
||||
- linkpath = FLAGS_log_link + "/" + linkname;
|
||||
+ if (!FLAG(log_link).empty()) {
|
||||
+ linkpath = FLAG(log_link) + "/" + linkname;
|
||||
unlink(linkpath.c_str()); // delete old one if it exists
|
||||
if (symlink(filename, linkpath.c_str()) != 0) {
|
||||
// silently ignore failures
|
||||
@@ -1165,7 +1168,7 @@ void LogFileObject::Write(bool force_flush,
|
||||
rollover_attempt_ = 0;
|
||||
|
||||
struct ::tm tm_time;
|
||||
- if (FLAGS_log_utc_time) {
|
||||
+ if (FLAG(log_utc_time)) {
|
||||
gmtime_r(×tamp, &tm_time);
|
||||
} else {
|
||||
localtime_r(×tamp, &tm_time);
|
||||
@@ -1253,14 +1256,14 @@ void LogFileObject::Write(bool force_flush,
|
||||
<< ' '
|
||||
<< setw(2) << tm_time.tm_hour << ':'
|
||||
<< setw(2) << tm_time.tm_min << ':'
|
||||
- << setw(2) << tm_time.tm_sec << (FLAGS_log_utc_time ? " UTC\n" : "\n")
|
||||
+ << setw(2) << tm_time.tm_sec << (FLAG(log_utc_time) ? " UTC\n" : "\n")
|
||||
<< "Running on machine: "
|
||||
<< LogDestination::hostname() << '\n';
|
||||
|
||||
if(!g_application_fingerprint.empty()) {
|
||||
file_header_stream << "Application fingerprint: " << g_application_fingerprint << '\n';
|
||||
}
|
||||
- const char* const date_time_format = FLAGS_log_year_in_prefix
|
||||
+ const char* const date_time_format = FLAG(log_year_in_prefix)
|
||||
? "yyyymmdd hh:mm:ss.uuuuuu"
|
||||
: "mmdd hh:mm:ss.uuuuuu";
|
||||
file_header_stream << "Running duration (h:mm:ss): "
|
||||
@@ -1284,7 +1287,7 @@ void LogFileObject::Write(bool force_flush,
|
||||
// greater than 4096, thereby indicating an error.
|
||||
errno = 0;
|
||||
fwrite(message, 1, message_len, file_);
|
||||
- if ( FLAGS_stop_logging_if_full_disk &&
|
||||
+ if ( FLAG(stop_logging_if_full_disk) &&
|
||||
errno == ENOSPC ) { // disk full, stop writing to disk
|
||||
stop_writing = true; // until the disk is
|
||||
return;
|
||||
@@ -1307,7 +1310,7 @@ void LogFileObject::Write(bool force_flush,
|
||||
FlushUnlocked();
|
||||
#ifdef GLOG_OS_LINUX
|
||||
// Only consider files >= 3MiB
|
||||
- if (FLAGS_drop_log_memory && file_length_ >= (3U << 20U)) {
|
||||
+ if (FLAG(drop_log_memory) && file_length_ >= (3U << 20U)) {
|
||||
// Don't evict the most recent 1-2MiB so as not to impact a tailer
|
||||
// of the log file and to avoid page rounding issue on linux < 4.7
|
||||
uint32 total_drop_length =
|
||||
@@ -1348,7 +1351,7 @@ void LogCleaner::Disable() {
|
||||
}
|
||||
|
||||
void LogCleaner::UpdateCleanUpTime() {
|
||||
- const int64 next = (FLAGS_logcleansecs
|
||||
+ const int64 next = (FLAG(logcleansecs)
|
||||
* 1000000); // in usec
|
||||
next_cleanup_time_ = CycleClock_Now() + UsecToCycles(next);
|
||||
}
|
||||
@@ -1664,7 +1667,7 @@ void LogMessage::Init(const char* file,
|
||||
// I20201018 160715 f5d4fbb0 logging.cc:1153]
|
||||
// (log level, GMT year, month, date, time, thread_id, file basename, line)
|
||||
// We exclude the thread_id for the default thread.
|
||||
- if (FLAGS_log_prefix && (line != kNoLogPrefix)) {
|
||||
+ if (FLAG(log_prefix) && (line != kNoLogPrefix)) {
|
||||
std::ios saved_fmt(NULL);
|
||||
saved_fmt.copyfmt(stream());
|
||||
stream().fill('0');
|
||||
@@ -1672,7 +1675,7 @@ void LogMessage::Init(const char* file,
|
||||
if (custom_prefix_callback == NULL) {
|
||||
#endif
|
||||
stream() << LogSeverityNames[severity][0];
|
||||
- if (FLAGS_log_year_in_prefix) {
|
||||
+ if (FLAG(log_year_in_prefix)) {
|
||||
stream() << setw(4) << 1900 + logmsgtime_.year();
|
||||
}
|
||||
stream() << setw(2) << 1 + logmsgtime_.month()
|
||||
@@ -1703,11 +1706,11 @@ void LogMessage::Init(const char* file,
|
||||
}
|
||||
data_->num_prefix_chars_ = data_->stream_.pcount();
|
||||
|
||||
- if (!FLAGS_log_backtrace_at.empty()) {
|
||||
+ if (!FLAG(log_backtrace_at).empty()) {
|
||||
char fileline[128];
|
||||
snprintf(fileline, sizeof(fileline), "%s:%d", data_->basename_, line);
|
||||
#ifdef HAVE_STACKTRACE
|
||||
- if (FLAGS_log_backtrace_at == fileline) {
|
||||
+ if (FLAG(log_backtrace_at) == fileline) {
|
||||
string stacktrace;
|
||||
DumpStackTraceToString(&stacktrace);
|
||||
stream() << " (stacktrace:\n" << stacktrace << ") ";
|
||||
@@ -1746,7 +1749,7 @@ ostream& LogMessage::stream() {
|
||||
// Flush buffered message, called by the destructor, or any other function
|
||||
// that needs to synchronize the log.
|
||||
void LogMessage::Flush() {
|
||||
- if (data_->has_been_flushed_ || data_->severity_ < FLAGS_minloglevel) {
|
||||
+ if (data_->has_been_flushed_ || data_->severity_ < FLAG(minloglevel)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1808,7 +1811,7 @@ static char fatal_message[256];
|
||||
void ReprintFatalMessage() {
|
||||
if (fatal_message[0]) {
|
||||
const size_t n = strlen(fatal_message);
|
||||
- if (!FLAGS_logtostderr) {
|
||||
+ if (!FLAG(logtostderr)) {
|
||||
// Also write to stderr (don't color to avoid terminal checks)
|
||||
WriteToStderr(fatal_message, n);
|
||||
}
|
||||
@@ -1837,8 +1840,8 @@ void LogMessage::SendToLog() EXCLUSIVE_LOCKS_REQUIRED(log_mutex) {
|
||||
// global flag: never log to file if set. Also -- don't log to a
|
||||
// file if we haven't parsed the command line flags to get the
|
||||
// program name.
|
||||
- if (FLAGS_logtostderr || FLAGS_logtostdout || !IsGoogleLoggingInitialized()) {
|
||||
- if (FLAGS_logtostdout) {
|
||||
+ if (FLAG(logtostderr) || FLAG(logtostdout) || !IsGoogleLoggingInitialized()) {
|
||||
+ if (FLAG(logtostdout)) {
|
||||
ColoredWriteToStdout(data_->severity_, data_->message_text_,
|
||||
data_->num_chars_to_log_);
|
||||
} else {
|
||||
@@ -1891,7 +1894,7 @@ void LogMessage::SendToLog() EXCLUSIVE_LOCKS_REQUIRED(log_mutex) {
|
||||
fatal_time = logmsgtime_.timestamp();
|
||||
}
|
||||
|
||||
- if (!FLAGS_logtostderr && !FLAGS_logtostdout) {
|
||||
+ if (!FLAG(logtostderr) && !FLAG(logtostdout)) {
|
||||
for (int i = 0; i < NUM_SEVERITIES; ++i) {
|
||||
if (LogDestination::log_destinations_[i]) {
|
||||
LogDestination::log_destinations_[i]->logger_->Write(true, 0, "", 0);
|
||||
@@ -2238,7 +2241,7 @@ static bool SendEmailInternal(const char*dest, const char *subject,
|
||||
subject, body, dest);
|
||||
}
|
||||
|
||||
- string logmailer = FLAGS_logmailer;
|
||||
+ string logmailer = FLAG(logmailer);
|
||||
if (logmailer.empty()) {
|
||||
logmailer = "/bin/mail";
|
||||
}
|
||||
@@ -2338,9 +2341,9 @@ const vector<string>& GetLoggingDirectories() {
|
||||
if (logging_directories_list == NULL) {
|
||||
logging_directories_list = new vector<string>;
|
||||
|
||||
- if ( !FLAGS_log_dir.empty() ) {
|
||||
+ if ( !FLAG(log_dir).empty() ) {
|
||||
// A dir was specified, we should use it
|
||||
- logging_directories_list->push_back(FLAGS_log_dir);
|
||||
+ logging_directories_list->push_back(FLAG(log_dir));
|
||||
} else {
|
||||
GetTempDirectories(logging_directories_list);
|
||||
#ifdef GLOG_OS_WINDOWS
|
||||
@@ -2654,7 +2657,7 @@ LogMessageTime::LogMessageTime(std::tm t) {
|
||||
|
||||
LogMessageTime::LogMessageTime(std::time_t timestamp, WallTime now) {
|
||||
std::tm t;
|
||||
- if (FLAGS_log_utc_time)
|
||||
+ if (FLAG(log_utc_time))
|
||||
gmtime_r(×tamp, &t);
|
||||
else
|
||||
localtime_r(×tamp, &t);
|
||||
@@ -2673,7 +2676,7 @@ void LogMessageTime::init(const std::tm& t, std::time_t timestamp,
|
||||
void LogMessageTime::CalcGmtOffset() {
|
||||
std::tm gmt_struct;
|
||||
int isDst = 0;
|
||||
- if ( FLAGS_log_utc_time ) {
|
||||
+ if ( FLAG(log_utc_time )) {
|
||||
localtime_r(×tamp_, &gmt_struct);
|
||||
isDst = gmt_struct.tm_isdst;
|
||||
gmt_struct = time_struct_;
|
||||
diff --git a/src/raw_logging.cc b/src/raw_logging.cc
|
||||
index 43159832..8532362b 100644
|
||||
--- a/src/raw_logging.cc
|
||||
+++ b/src/raw_logging.cc
|
||||
@@ -123,8 +123,8 @@ static char crash_buf[kLogBufSize + 1] = { 0 }; // Will end in '\0'
|
||||
GLOG_ATTRIBUTE_FORMAT(printf, 4, 5)
|
||||
void RawLog__(LogSeverity severity, const char* file, int line,
|
||||
const char* format, ...) {
|
||||
- if (!(FLAGS_logtostdout || FLAGS_logtostderr ||
|
||||
- severity >= FLAGS_stderrthreshold || FLAGS_alsologtostderr ||
|
||||
+ if (!(FLAG(logtostdout) || FLAG(logtostderr) ||
|
||||
+ severity >= FLAG(stderrthreshold) || FLAG(alsologtostderr) ||
|
||||
!IsGoogleLoggingInitialized())) {
|
||||
return; // this stderr log message is suppressed
|
||||
}
|
||||
diff --git a/src/utilities.cc b/src/utilities.cc
|
||||
index a332f1a1..a9d5102a 100644
|
||||
--- a/src/utilities.cc
|
||||
+++ b/src/utilities.cc
|
||||
@@ -141,7 +141,7 @@ static void DumpStackTrace(int skip_count, DebugWriter *writerfn, void *arg) {
|
||||
int depth = GetStackTrace(stack, ARRAYSIZE(stack), skip_count+1);
|
||||
for (int i = 0; i < depth; i++) {
|
||||
#if defined(HAVE_SYMBOLIZE)
|
||||
- if (FLAGS_symbolize_stacktrace) {
|
||||
+ if (FLAG(symbolize_stacktrace)) {
|
||||
DumpPCAndSymbol(writerfn, arg, stack[i], " ");
|
||||
} else {
|
||||
DumpPC(writerfn, arg, stack[i], " ");
|
||||
diff --git a/src/vlog_is_on.cc b/src/vlog_is_on.cc
|
||||
index e478a366..4b7a5cae 100644
|
||||
--- a/src/vlog_is_on.cc
|
||||
+++ b/src/vlog_is_on.cc
|
||||
@@ -43,14 +43,24 @@
|
||||
#include <glog/logging.h>
|
||||
#include <glog/raw_logging.h>
|
||||
#include "base/googleinit.h"
|
||||
+#include "config.h"
|
||||
|
||||
// glog doesn't have annotation
|
||||
#define ANNOTATE_BENIGN_RACE(address, description)
|
||||
|
||||
using std::string;
|
||||
|
||||
+#ifdef HAVE_ABSL_FLAGS
|
||||
+
|
||||
+ABSL_FLAG(int32_t, v, 0, "Show all VLOG(m) messages for m <= this."
|
||||
+" Overridable by --vmodule.").OnUpdate([] {
|
||||
+ GOOGLE_NAMESPACE::absl_proxy_v = absl::GetFlag(FLAGS_v);
|
||||
+ });
|
||||
+
|
||||
+#else
|
||||
GLOG_DEFINE_int32(v, 0, "Show all VLOG(m) messages for m <= this."
|
||||
" Overridable by --vmodule.");
|
||||
+#endif
|
||||
|
||||
GLOG_DEFINE_string(vmodule, "", "per-module verbose level."
|
||||
" Argument is a comma-separated list of <module name>=<log level>."
|
||||
@@ -60,6 +70,8 @@ GLOG_DEFINE_string(vmodule, "", "per-module verbose level."
|
||||
|
||||
_START_GOOGLE_NAMESPACE_
|
||||
|
||||
+int32_t absl_proxy_v = 0;
|
||||
+
|
||||
namespace glog_internal_namespace_ {
|
||||
|
||||
// Used by logging_unittests.cc so can't make it static here.
|
||||
@@ -132,7 +144,8 @@ static void VLOG2Initializer() {
|
||||
// Can now parse --vmodule flag and initialize mapping of module-specific
|
||||
// logging levels.
|
||||
inited_vmodule = false;
|
||||
- const char* vmodule = FLAGS_vmodule.c_str();
|
||||
+ string vmodule_str = FLAG(vmodule);
|
||||
+ const char* vmodule = vmodule_str.c_str();
|
||||
const char* sep;
|
||||
VModuleInfo* head = NULL;
|
||||
VModuleInfo* tail = NULL;
|
||||
@@ -164,7 +177,7 @@ static void VLOG2Initializer() {
|
||||
|
||||
// This can be called very early, so we use SpinLock and RAW_VLOG here.
|
||||
int SetVLOGLevel(const char* module_pattern, int log_level) {
|
||||
- int result = FLAGS_v;
|
||||
+ int result = FLAG(v);
|
||||
size_t const pattern_len = strlen(module_pattern);
|
||||
bool found = false;
|
||||
{
|
||||
98
pkgs/servers/nosql/eventstore/create-deps.sh
Executable file
98
pkgs/servers/nosql/eventstore/create-deps.sh
Executable file
|
|
@ -0,0 +1,98 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p dotnet-sdk_5 jq xmlstarlet curl nixpkgs-fmt
|
||||
set -euo pipefail
|
||||
|
||||
# Run this script to generate deps.nix
|
||||
|
||||
# TODO: consolidate with other dotnet deps generation scripts by which
|
||||
# this script is inspired:
|
||||
# - pkgs/servers/nosql/eventstore/create-deps.sh
|
||||
# - pkgs/development/dotnet-modules/python-language-server/create_deps.sh
|
||||
# - pkgs/applications/emulators/ryujinx/updater.sh
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
deps_file="$(realpath "./deps.nix")"
|
||||
|
||||
exec 2>&1 6> "$deps_file"
|
||||
|
||||
store_src="$( nix-build ../../../.. -A eventstore.src --no-out-link )"
|
||||
src="$(mktemp -d)"
|
||||
cp -rT "$store_src" "$src"
|
||||
chmod -R +w "$src"
|
||||
pushd "$src"
|
||||
|
||||
URLBASE="https://www.nuget.org/api/v2/package"
|
||||
|
||||
DEPS_HEADER="
|
||||
{ fetchurl }:
|
||||
let
|
||||
nugetUrlBase = \"$URLBASE\";
|
||||
fetchNuGet = { pname, version, sha256 }: fetchurl {
|
||||
inherit sha256;
|
||||
url = \"\${nugetUrlBase}/\${pname}/\${version}\";
|
||||
};
|
||||
in ["
|
||||
|
||||
DEPS_FOOTER="]"
|
||||
|
||||
DEPS_TEMPLATE="
|
||||
(fetchNuGet {
|
||||
pname = \"%s\";
|
||||
version = \"%s\";
|
||||
sha256 = \"%s\";
|
||||
})"
|
||||
|
||||
tmpdir="$(mktemp -d -p "$(pwd)")" # must be under source root
|
||||
trap 'rm -rf "$tmpdir"' EXIT
|
||||
|
||||
HOME="$tmpdir" dotnet restore --packages "$tmpdir"/.nuget/packages \
|
||||
--no-cache --force --runtime linux-x64 \
|
||||
src/EventStore.sln >&2
|
||||
|
||||
mapfile -t repos < <(
|
||||
xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.config "$tmpdir"/.nuget/NuGet/NuGet.Config |
|
||||
while IFS= read index
|
||||
do
|
||||
curl --compressed -fsL "$index" | \
|
||||
jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"'
|
||||
done
|
||||
)
|
||||
|
||||
echo $DEPS_HEADER >&6
|
||||
|
||||
cd "$tmpdir/.nuget/packages"
|
||||
for package in *
|
||||
do
|
||||
cd "$package"
|
||||
for version in *
|
||||
do
|
||||
found=false
|
||||
for repo in "${repos[@]}"
|
||||
do
|
||||
url="$repo$package/$version/$package.$version.nupkg"
|
||||
if curl -fsL "$url" -o /dev/null
|
||||
then
|
||||
found=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if ! $found
|
||||
then
|
||||
echo "couldn't find $package $version" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sha256=$(nix-prefetch-url "$url" 2>/dev/null)
|
||||
|
||||
printf "$DEPS_TEMPLATE" $package $version $sha256 >&6
|
||||
done
|
||||
cd ..
|
||||
done
|
||||
|
||||
echo $DEPS_FOOTER >&6
|
||||
|
||||
exec 6>&-
|
||||
|
||||
nixpkgs-fmt "$deps_file"
|
||||
80
pkgs/servers/nosql/eventstore/default.nix
Normal file
80
pkgs/servers/nosql/eventstore/default.nix
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, makeWrapper
|
||||
, dotnetCorePackages
|
||||
, mono
|
||||
, Nuget
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_5_0;
|
||||
|
||||
deps = import ./deps.nix { inherit fetchurl; };
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "EventStore";
|
||||
version = "5.0.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EventStore";
|
||||
repo = "EventStore";
|
||||
rev = "oss-v${version}";
|
||||
sha256 = "021m610gzmrp2drywl1q3y6xxpy4qayn580d855ag952z9s6w9nj";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
makeWrapper
|
||||
dotnet-sdk
|
||||
mono
|
||||
Nuget
|
||||
];
|
||||
|
||||
# that dependency seems to not be required for building, but pulls in libcurl which fails to be located.
|
||||
# see: https://github.com/EventStore/EventStore/issues/1897
|
||||
patchPhase = ''
|
||||
for f in $(find . -iname "*.csproj"); do
|
||||
sed -i '/Include="Microsoft.SourceLink.GitHub"/d' $f
|
||||
done
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
export FrameworkPathOverride=${mono}/lib/mono/4.7.1-api
|
||||
|
||||
# disable default-source so nuget does not try to download from online-repo
|
||||
nuget sources Disable -Name "nuget.org"
|
||||
# add all dependencies to a source called 'nixos'
|
||||
for package in ${toString deps}; do
|
||||
nuget add $package -Source nixos
|
||||
done
|
||||
|
||||
dotnet restore --source nixos src/EventStore.sln
|
||||
dotnet build --no-restore -c Release src/EventStore.sln
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,lib/eventstore}
|
||||
cp -r bin/Release/* $out/lib/eventstore
|
||||
makeWrapper "${mono}/bin/mono" $out/bin/eventstored \
|
||||
--add-flags "$out/lib/eventstore/EventStore.ClusterNode/net471/EventStore.ClusterNode.exe"
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
dotnet test src/EventStore.Projections.Core.Tests/EventStore.Projections.Core.Tests.csproj -- RunConfiguration.TargetPlatform=x64
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://geteventstore.com/";
|
||||
description = "Event sourcing database with processing logic in JavaScript";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ puffnfresh ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
|
||||
}
|
||||
633
pkgs/servers/nosql/eventstore/deps.nix
generated
Normal file
633
pkgs/servers/nosql/eventstore/deps.nix
generated
Normal file
|
|
@ -0,0 +1,633 @@
|
|||
{ fetchurl }:
|
||||
let
|
||||
nugetUrlBase = "https://www.nuget.org/api/v2/package";
|
||||
fetchNuGet = { pname, version, sha256 }: fetchurl { inherit sha256; url = "${nugetUrlBase}/${pname}/${version}"; };
|
||||
in
|
||||
[
|
||||
|
||||
(fetchNuGet {
|
||||
pname = "hdrhistogram";
|
||||
version = "2.5.0";
|
||||
sha256 = "1s2np7m3pp17rgambax9a3x5pd2grx74cr325q3xapjz2gd58sj1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.build.tasks.git";
|
||||
version = "1.0.0-beta-63127-02";
|
||||
sha256 = "10avjhp4vjbmix4rwacbw6cim2d4kbmz64q4n7r6zz94395l61b6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.codecoverage";
|
||||
version = "15.9.0";
|
||||
sha256 = "10v5xrdilnm362g9545qxvlrbwc9vn65jhpb1i0jlhyqsj6bfwzg";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.netcore.platforms";
|
||||
version = "1.1.0";
|
||||
sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.netcore.platforms";
|
||||
version = "1.1.1";
|
||||
sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.netcore.platforms";
|
||||
version = "2.1.0";
|
||||
sha256 = "0nmdnkmwyxj8cp746hs9an57zspqlmqdm55b00i7yk8a22s6akxz";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.netcore.targets";
|
||||
version = "1.1.0";
|
||||
sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.netframework.referenceassemblies";
|
||||
version = "1.0.0";
|
||||
sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.netframework.referenceassemblies.net452";
|
||||
version = "1.0.0";
|
||||
sha256 = "1f0vqrnkggnn4fgfbb2wp4hg9b1n1zvcknvgpphl5dfrk4b0zag8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.netframework.referenceassemblies.net46";
|
||||
version = "1.0.0";
|
||||
sha256 = "1yl609ilni8adiyryn9rm967sjm499pkx4xj06gpb16dm8d9jkji";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.netframework.referenceassemblies.net471";
|
||||
version = "1.0.0";
|
||||
sha256 = "101incszmaxdhrfzqbfya04fqivi81xvazdfc5l0hr7hm42r6k2m";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.net.test.sdk";
|
||||
version = "15.9.0";
|
||||
sha256 = "0g7wjgiigs4v8qa32g9ysqgx8bx55dzmbxfkc4ic95mpd1vkjqxw";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.sourcelink.common";
|
||||
version = "1.0.0-beta-63127-02";
|
||||
sha256 = "0y29xx3x9nd14n1sr8ycxhf6y1a83pv3sayfxjib8wi6s866lagb";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.sourcelink.github";
|
||||
version = "1.0.0-beta-63127-02";
|
||||
sha256 = "1096d5n7mfvgm1apdmafjkxkqray6r2cw6zjhhxj2zn98836w1n2";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "microsoft.win32.primitives";
|
||||
version = "4.3.0";
|
||||
sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "netstandard.library";
|
||||
version = "2.0.3";
|
||||
sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "newtonsoft.json";
|
||||
version = "11.0.2";
|
||||
sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "nlog";
|
||||
version = "4.5.10";
|
||||
sha256 = "0d4yqxrhqn2k36h3v1f5pn6qqlagbzg67v6gvxqhz3s4zyc3b8rg";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "nunit";
|
||||
version = "3.11.0";
|
||||
sha256 = "0mmc8snwjjmbkhk6cv5c0ha77czzy9bca4q59244rxciw9sxk1cz";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "nunit3testadapter";
|
||||
version = "3.10.0";
|
||||
sha256 = "0ahzfk9y2dq0wl91ll5hss89hqw7la85ndll5030nslizsgm5q2i";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "protobuf-net";
|
||||
version = "2.4.0";
|
||||
sha256 = "106lxm9afga7ihlknyy7mlfplyq40mrndksqrsn8ia2a47fbqqld";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.collections";
|
||||
version = "4.3.0";
|
||||
sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.diagnostics.tracing";
|
||||
version = "4.3.0";
|
||||
sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.globalization";
|
||||
version = "4.3.0";
|
||||
sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.globalization.calendars";
|
||||
version = "4.3.0";
|
||||
sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.io";
|
||||
version = "4.3.0";
|
||||
sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.reflection";
|
||||
version = "4.3.0";
|
||||
sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.reflection.extensions";
|
||||
version = "4.3.0";
|
||||
sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.reflection.primitives";
|
||||
version = "4.3.0";
|
||||
sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.resources.resourcemanager";
|
||||
version = "4.3.0";
|
||||
sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.runtime";
|
||||
version = "4.3.0";
|
||||
sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.runtime.handles";
|
||||
version = "4.3.0";
|
||||
sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.runtime.interopservices";
|
||||
version = "4.3.0";
|
||||
sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.text.encoding";
|
||||
version = "4.3.0";
|
||||
sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.text.encoding.extensions";
|
||||
version = "4.3.0";
|
||||
sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.any.system.threading.tasks";
|
||||
version = "4.3.0";
|
||||
sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.native.system";
|
||||
version = "4.3.0";
|
||||
sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.native.system.net.http";
|
||||
version = "4.3.0";
|
||||
sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.native.system.net.security";
|
||||
version = "4.3.0";
|
||||
sha256 = "0dnqjhw445ay3chpia9p6vy4w2j6s9vy3hxszqvdanpvvyaxijr3";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.native.system.security.cryptography.apple";
|
||||
version = "4.3.0";
|
||||
sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple";
|
||||
version = "4.3.0";
|
||||
sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
|
||||
version = "4.3.2";
|
||||
sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.unix.microsoft.win32.primitives";
|
||||
version = "4.3.0";
|
||||
sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.unix.system.diagnostics.debug";
|
||||
version = "4.3.0";
|
||||
sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.unix.system.io.filesystem";
|
||||
version = "4.3.0";
|
||||
sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.unix.system.net.primitives";
|
||||
version = "4.3.0";
|
||||
sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.unix.system.private.uri";
|
||||
version = "4.3.0";
|
||||
sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "runtime.unix.system.runtime.extensions";
|
||||
version = "4.3.0";
|
||||
sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.buffers";
|
||||
version = "4.3.0";
|
||||
sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.collections";
|
||||
version = "4.3.0";
|
||||
sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.collections.concurrent";
|
||||
version = "4.3.0";
|
||||
sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.diagnostics.debug";
|
||||
version = "4.3.0";
|
||||
sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.diagnostics.diagnosticsource";
|
||||
version = "4.3.0";
|
||||
sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.diagnostics.tracing";
|
||||
version = "4.3.0";
|
||||
sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.globalization";
|
||||
version = "4.3.0";
|
||||
sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.globalization.calendars";
|
||||
version = "4.3.0";
|
||||
sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.globalization.extensions";
|
||||
version = "4.3.0";
|
||||
sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.io";
|
||||
version = "4.3.0";
|
||||
sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.io.filesystem";
|
||||
version = "4.3.0";
|
||||
sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.io.filesystem.primitives";
|
||||
version = "4.3.0";
|
||||
sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.linq";
|
||||
version = "4.3.0";
|
||||
sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.net.http";
|
||||
version = "4.3.4";
|
||||
sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.net.primitives";
|
||||
version = "4.3.0";
|
||||
sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.net.requests";
|
||||
version = "4.3.0";
|
||||
sha256 = "0pcznmwqqk0qzp0gf4g4xw7arhb0q8v9cbzh3v8h8qp6rjcr339a";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.net.security";
|
||||
version = "4.3.2";
|
||||
sha256 = "1aw1ca1vssqrillrh4qkarx0lxwc8wcaqdkfdima8376wb98j2q8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.net.webheadercollection";
|
||||
version = "4.3.0";
|
||||
sha256 = "0ms3ddjv1wn8sqa5qchm245f3vzzif6l6fx5k92klqpn7zf4z562";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.private.servicemodel";
|
||||
version = "4.5.3";
|
||||
sha256 = "0nyw9m9dj327hn0qb0jmgwpch0f40jv301fk4mrchga8g99xbpng";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.private.uri";
|
||||
version = "4.3.0";
|
||||
sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.reflection";
|
||||
version = "4.3.0";
|
||||
sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.reflection.dispatchproxy";
|
||||
version = "4.5.0";
|
||||
sha256 = "0v9sg38h91aljvjyc77m1y5v34p50hjdbxvvxwa1whlajhafadcn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.reflection.emit";
|
||||
version = "4.3.0";
|
||||
sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.reflection.emit.ilgeneration";
|
||||
version = "4.3.0";
|
||||
sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.reflection.emit.lightweight";
|
||||
version = "4.3.0";
|
||||
sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.reflection.extensions";
|
||||
version = "4.3.0";
|
||||
sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.reflection.primitives";
|
||||
version = "4.3.0";
|
||||
sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.reflection.typeextensions";
|
||||
version = "4.4.0";
|
||||
sha256 = "0n9r1w4lp2zmadyqkgp4sk9wy90sj4ygq4dh7kzamx26i9biys5h";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.resources.resourcemanager";
|
||||
version = "4.3.0";
|
||||
sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.runtime";
|
||||
version = "4.3.0";
|
||||
sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.runtime.extensions";
|
||||
version = "4.3.0";
|
||||
sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.runtime.handles";
|
||||
version = "4.3.0";
|
||||
sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.runtime.interopservices";
|
||||
version = "4.3.0";
|
||||
sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.runtime.numerics";
|
||||
version = "4.3.0";
|
||||
sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.claims";
|
||||
version = "4.3.0";
|
||||
sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.cryptography.algorithms";
|
||||
version = "4.3.0";
|
||||
sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.cryptography.cng";
|
||||
version = "4.3.0";
|
||||
sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.cryptography.csp";
|
||||
version = "4.3.0";
|
||||
sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.cryptography.encoding";
|
||||
version = "4.3.0";
|
||||
sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.cryptography.openssl";
|
||||
version = "4.3.0";
|
||||
sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.cryptography.primitives";
|
||||
version = "4.3.0";
|
||||
sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.cryptography.x509certificates";
|
||||
version = "4.3.0";
|
||||
sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.principal";
|
||||
version = "4.3.0";
|
||||
sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.security.principal.windows";
|
||||
version = "4.5.0";
|
||||
sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.servicemodel.primitives";
|
||||
version = "4.5.3";
|
||||
sha256 = "1v90pci049cn44y0km885k1vrilhb34w6q2zva4y6f3ay84klrih";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.text.encoding";
|
||||
version = "4.3.0";
|
||||
sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.text.encoding.extensions";
|
||||
version = "4.3.0";
|
||||
sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.text.regularexpressions";
|
||||
version = "4.3.0";
|
||||
sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.threading";
|
||||
version = "4.3.0";
|
||||
sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.threading.tasks";
|
||||
version = "4.3.0";
|
||||
sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.threading.tasks.extensions";
|
||||
version = "4.3.0";
|
||||
sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.threading.threadpool";
|
||||
version = "4.3.0";
|
||||
sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.xml.readerwriter";
|
||||
version = "4.3.0";
|
||||
sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.xml.xmldocument";
|
||||
version = "4.3.0";
|
||||
sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "system.xml.xmlserializer";
|
||||
version = "4.3.0";
|
||||
sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "yamldotnet";
|
||||
version = "5.2.1";
|
||||
sha256 = "0nb34qcdhs5qn4783idg28f2kr89vaiyjn4v2barhv7i75zhym6y";
|
||||
})
|
||||
]
|
||||
28
pkgs/servers/nosql/influxdb/default.nix
Normal file
28
pkgs/servers/nosql/influxdb/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "influxdb";
|
||||
version = "1.8.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "influxdata";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PErAxRpSi1Kk6IpEAhsUSxCGYeY4p6bbhwLdbRB0M00=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-jgAbEWXL1LYRN7ud9ij0Z1KBGHPZ0sRq78tsK92ob8k=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
|
||||
|
||||
excludedPackages = "test";
|
||||
|
||||
meta = with lib; {
|
||||
description = "An open-source distributed time series database";
|
||||
license = licenses.mit;
|
||||
homepage = "https://influxdata.com/";
|
||||
maintainers = with maintainers; [ offline zimbatm ];
|
||||
};
|
||||
}
|
||||
33
pkgs/servers/nosql/influxdb2/cli.nix
Normal file
33
pkgs/servers/nosql/influxdb2/cli.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ buildGoModule
|
||||
, buildGoPackage
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "influxdata";
|
||||
repo = "influx-cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9FUchI93xLpQwtpbr5S3GfVrApHaemwbnRPIfAWmG6Y=";
|
||||
};
|
||||
|
||||
in buildGoModule {
|
||||
pname = "influx-cli";
|
||||
version = version;
|
||||
src = src;
|
||||
|
||||
vendorSha256 = "sha256-Boz1G8g0fjjlflxZh4V8sd/v0bE9Oy3DpqywOpKxjd0=";
|
||||
subPackages = [ "cmd/influx" ];
|
||||
|
||||
ldflags = [ "-X main.commit=v${version}" "-X main.version=${version}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI for managing resources in InfluxDB v2";
|
||||
license = licenses.mit;
|
||||
homepage = "https://influxdata.com/";
|
||||
maintainers = with maintainers; [ abbradar danderson ];
|
||||
};
|
||||
}
|
||||
12
pkgs/servers/nosql/influxdb2/combined.nix
Normal file
12
pkgs/servers/nosql/influxdb2/combined.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
buildEnv,
|
||||
influxdb2-server,
|
||||
influxdb2-cli,
|
||||
}:
|
||||
buildEnv {
|
||||
name = "influxdb2";
|
||||
paths = [
|
||||
influxdb2-server
|
||||
influxdb2-cli
|
||||
];
|
||||
}
|
||||
108
pkgs/servers/nosql/influxdb2/default.nix
Normal file
108
pkgs/servers/nosql/influxdb2/default.nix
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, go-bindata
|
||||
, lib
|
||||
, llvmPackages
|
||||
, perl
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, stdenv
|
||||
, libiconv
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.1.1";
|
||||
ui_version = "2.1.2";
|
||||
libflux_version = "0.139.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "influxdata";
|
||||
repo = "influxdb";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wf01DhB1ampZuWPkHUEOf3KJK4GjeOAPL3LG2+g4NGY=";
|
||||
};
|
||||
|
||||
ui = fetchurl {
|
||||
url = "https://github.com/influxdata/ui/releases/download/OSS-${ui_version}/build.tar.gz";
|
||||
sha256 = "sha256-fXjShNJfKN/ZQNQHoX9/Ou4XBrXavCN+rcO+8AMc5Ug=";
|
||||
};
|
||||
|
||||
flux = rustPlatform.buildRustPackage {
|
||||
pname = "libflux";
|
||||
version = "v${libflux_version}";
|
||||
src = fetchFromGitHub {
|
||||
owner = "influxdata";
|
||||
repo = "flux";
|
||||
rev = "v${libflux_version}";
|
||||
sha256 = "sha256-cELeWZXGVLFoPYfBoBP8NeLBVFIb5o+lWyto42BLyXY=";
|
||||
};
|
||||
sourceRoot = "source/libflux";
|
||||
cargoSha256 = "sha256-wFgawxgqZqoPnOXJD3r5t2n7Y2bTAkBbBxeBtFEF7N4=";
|
||||
nativeBuildInputs = [ llvmPackages.libclang ];
|
||||
buildInputs = lib.optional stdenv.isDarwin libiconv;
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
||||
pkgcfg = ''
|
||||
Name: flux
|
||||
Version: ${libflux_version}
|
||||
Description: Library for the InfluxData Flux engine
|
||||
Cflags: -I/out/include
|
||||
Libs: -L/out/lib -lflux -ldl -lpthread
|
||||
'';
|
||||
passAsFile = [ "pkgcfg" ];
|
||||
postInstall = ''
|
||||
mkdir -p $out/include $out/pkgconfig
|
||||
cp -r $NIX_BUILD_TOP/source/libflux/include/influxdata $out/include
|
||||
substitute $pkgcfgPath $out/pkgconfig/flux.pc \
|
||||
--replace /out $out
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
install_name_tool -id $out/lib/libflux.dylib $out/lib/libflux.dylib
|
||||
'';
|
||||
};
|
||||
|
||||
in buildGoModule {
|
||||
pname = "influxdb";
|
||||
version = version;
|
||||
src = src;
|
||||
|
||||
nativeBuildInputs = [ go-bindata pkg-config ];
|
||||
|
||||
vendorSha256 = "sha256-GVLAzVJzSsC10ZWDZPP8upydwZG21E+zQ6sMKm1lCY0=";
|
||||
subPackages = [ "cmd/influxd" "cmd/telemetryd" ];
|
||||
|
||||
PKG_CONFIG_PATH = "${flux}/pkgconfig";
|
||||
# Check that libflux and the UI are at the right version, and embed
|
||||
# the UI assets into the Go source tree.
|
||||
preBuild = ''
|
||||
(
|
||||
flux_ver=$(grep github.com/influxdata/flux go.mod | awk '{print $2}')
|
||||
if [ "$flux_ver" != "v${libflux_version}" ]; then
|
||||
echo "go.mod wants libflux $flux_ver, but nix derivation provides ${libflux_version}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ui_ver=$(grep influxdata/ui/releases scripts/fetch-ui-assets.sh | ${perl}/bin/perl -pe 's#.*/OSS-([^/]+)/.*#$1#')
|
||||
if [ "$ui_ver" != "${ui_version}" ]; then
|
||||
echo "scripts/fetch-ui-assets.sh wants UI $ui_ver, but nix derivation provides ${ui_version}"
|
||||
exit 1
|
||||
fi
|
||||
)
|
||||
|
||||
mkdir -p static/data
|
||||
tar -xzf ${ui} -C static/data
|
||||
pushd static
|
||||
go generate
|
||||
popd
|
||||
'';
|
||||
|
||||
tags = [ "assets" ];
|
||||
|
||||
ldflags = [ "-X main.commit=v${version}" "-X main.version=${version}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An open-source distributed time series database";
|
||||
license = licenses.mit;
|
||||
homepage = "https://influxdata.com/";
|
||||
maintainers = with maintainers; [ abbradar danderson ];
|
||||
};
|
||||
}
|
||||
14
pkgs/servers/nosql/mongodb/4.4.nix
Normal file
14
pkgs/servers/nosql/mongodb/4.4.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }:
|
||||
|
||||
let
|
||||
buildMongoDB = callPackage ./mongodb.nix {
|
||||
inherit sasl boost Security CoreFoundation cctools;
|
||||
};
|
||||
in
|
||||
buildMongoDB {
|
||||
version = "4.4.13";
|
||||
sha256 = "sha256-ebg3R6P+tjRvizDzsl7mZzhTfqIaRJPfHBu0IfRvtS8=";
|
||||
patches = [
|
||||
./forget-build-dependencies-4-4.patch
|
||||
] ++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view-4-4.patch ];
|
||||
}
|
||||
25
pkgs/servers/nosql/mongodb/5.0.nix
Normal file
25
pkgs/servers/nosql/mongodb/5.0.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }:
|
||||
|
||||
let
|
||||
buildMongoDB = callPackage ./mongodb.nix {
|
||||
inherit sasl boost Security CoreFoundation cctools;
|
||||
};
|
||||
variants = if stdenv.isLinux then
|
||||
{
|
||||
version = "5.0.7";
|
||||
sha256 = "sha256-1PeDBZJNqJXHH/cSh2e+WR0PfS/b7XuJEzkkbrRT/gc=";
|
||||
}
|
||||
else
|
||||
{
|
||||
version = "5.0.3"; # at least darwin has to stay on 5.0.3 until the SDK used by nixpkgs is bumped to 10.13
|
||||
sha256 = "1p9pq0dfd6lynvnz5p1c8dqp4filzrz86j840xwxwx82dm1zl6p0";
|
||||
};
|
||||
in
|
||||
buildMongoDB {
|
||||
version = variants.version;
|
||||
sha256 = variants.sha256;
|
||||
patches = [
|
||||
./forget-build-dependencies-4-4.patch
|
||||
./asio-no-experimental-string-view-4-4.patch
|
||||
];
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
--- a/src/third_party/asio-master/asio/include/asio/detail/config.hpp
|
||||
+++ b/src/third_party/asio-master/asio/include/asio/detail/config.hpp
|
||||
@@ -831,20 +831,8 @@
|
||||
# endif // (__cplusplus >= 201402)
|
||||
# endif // (_LIBCPP_VERSION < 7000)
|
||||
# else // defined(ASIO_HAS_CLANG_LIBCXX)
|
||||
-# if (__cplusplus >= 201402)
|
||||
-# if __has_include(<experimental/string_view>)
|
||||
-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
|
||||
-# endif // __has_include(<experimental/string_view>)
|
||||
-# endif // (__cplusplus >= 201402)
|
||||
# endif // // defined(ASIO_HAS_CLANG_LIBCXX)
|
||||
# endif // defined(__clang__)
|
||||
-# if defined(__GNUC__)
|
||||
-# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4)
|
||||
-# if (__cplusplus >= 201402)
|
||||
-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
|
||||
-# endif // (__cplusplus >= 201402)
|
||||
-# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4)
|
||||
-# endif // defined(__GNUC__)
|
||||
# endif // !defined(ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
|
||||
#endif // !defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
--- a/src/third_party/asio-master/asio/include/asio/detail/config.hpp
|
||||
--- b/src/third_party/asio-master/asio/include/asio/detail/config.hpp
|
||||
@@ -831,20 +831,8 @@
|
||||
# endif // (__cplusplus >= 201402)
|
||||
# endif // (_LIBCPP_VERSION < 7000)
|
||||
# else // defined(ASIO_HAS_CLANG_LIBCXX)
|
||||
-# if (__cplusplus >= 201402)
|
||||
-# if __has_include(<experimental/string_view>)
|
||||
-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
|
||||
-# endif // __has_include(<experimental/string_view>)
|
||||
-# endif // (__cplusplus >= 201402)
|
||||
# endif // // defined(ASIO_HAS_CLANG_LIBCXX)
|
||||
# endif // defined(__clang__)
|
||||
-# if defined(__GNUC__)
|
||||
-# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4)
|
||||
-# if (__cplusplus >= 201402)
|
||||
-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
|
||||
-# endif // (__cplusplus >= 201402)
|
||||
-# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4)
|
||||
-# endif // defined(__GNUC__)
|
||||
# endif // !defined(ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
|
||||
#endif // !defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
diff --git a/src/third_party/asio-master/asio/include/asio/detail/config.hpp b/src/third_party/asio-master/asio/include/asio/detail/config.hpp
|
||||
index 7fe6a95a..ff4cc56b 100644
|
||||
--- a/src/third_party/asio-master/asio/include/asio/detail/config.hpp
|
||||
+++ b/src/third_party/asio-master/asio/include/asio/detail/config.hpp
|
||||
@@ -786,7 +786,6 @@
|
||||
# if (__cplusplus >= 201402)
|
||||
# if __has_include(<experimental/string_view>)
|
||||
# define ASIO_HAS_STD_STRING_VIEW 1
|
||||
-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
|
||||
# endif // __has_include(<experimental/string_view>)
|
||||
# endif // (__cplusplus >= 201402)
|
||||
# endif // defined(__clang__)
|
||||
@@ -794,7 +793,6 @@
|
||||
# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 9)) || (__GNUC__ > 4)
|
||||
# if (__cplusplus >= 201402)
|
||||
# define ASIO_HAS_STD_STRING_VIEW 1
|
||||
-# define ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW 1
|
||||
# endif // (__cplusplus >= 201402)
|
||||
# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)
|
||||
# endif // defined(__GNUC__)
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
# 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.
|
||||
--- a/site_scons/mongo/generators.py
|
||||
+++ b/site_scons/mongo/generators.py
|
||||
@@ -33,30 +33,12 @@ def default_buildinfo_environment_data():
|
||||
True,
|
||||
False,
|
||||
),
|
||||
- (
|
||||
- 'ccflags',
|
||||
- '$CCFLAGS',
|
||||
- True,
|
||||
- False,
|
||||
- ),
|
||||
(
|
||||
'cxx',
|
||||
'$CXX_VERSION',
|
||||
True,
|
||||
False,
|
||||
),
|
||||
- (
|
||||
- 'cxxflags',
|
||||
- '$CXXFLAGS',
|
||||
- True,
|
||||
- False,
|
||||
- ),
|
||||
- (
|
||||
- 'linkflags',
|
||||
- '$LINKFLAGS',
|
||||
- True,
|
||||
- False,
|
||||
- ),
|
||||
(
|
||||
'target_arch',
|
||||
'$TARGET_ARCH',
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
--- a/site_scons/mongo/generators.py
|
||||
+++ b/site_scons/mongo/generators.py
|
||||
@@ -34,30 +34,12 @@ def default_buildinfo_environment_data():
|
||||
False,
|
||||
),
|
||||
(
|
||||
- 'ccflags',
|
||||
- '$CCFLAGS',
|
||||
- True,
|
||||
- False,
|
||||
- ),
|
||||
- (
|
||||
'cxx',
|
||||
'$CXX_VERSION',
|
||||
True,
|
||||
False,
|
||||
),
|
||||
(
|
||||
- 'cxxflags',
|
||||
- '$CXXFLAGS',
|
||||
- True,
|
||||
- False,
|
||||
- ),
|
||||
- (
|
||||
- 'linkflags',
|
||||
- '$LINKFLAGS',
|
||||
- True,
|
||||
- False,
|
||||
- ),
|
||||
- (
|
||||
'target_arch',
|
||||
'$TARGET_ARCH',
|
||||
True,
|
||||
16
pkgs/servers/nosql/mongodb/forget-build-dependencies.patch
Normal file
16
pkgs/servers/nosql/mongodb/forget-build-dependencies.patch
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# 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.
|
||||
--- a/site_scons/mongo/generators.py
|
||||
+++ b/site_scons/mongo/generators.py
|
||||
@@ -18,10 +18,7 @@ def default_buildinfo_environment_data():
|
||||
('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,),
|
||||
)
|
||||
140
pkgs/servers/nosql/mongodb/mongodb.nix
Normal file
140
pkgs/servers/nosql/mongodb/mongodb.nix
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
{ lib, stdenv, fetchurl, sconsPackages, boost, gperftools, pcre-cpp, snappy, zlib, libyamlcpp
|
||||
, sasl, openssl, libpcap, python3, curl, Security, CoreFoundation, cctools, xz }:
|
||||
|
||||
# Note:
|
||||
# The command line tools are written in Go as part of a different package (mongodb-tools)
|
||||
|
||||
with lib;
|
||||
|
||||
{ version, sha256, patches ? []
|
||||
, license ? lib.licenses.sspl
|
||||
}:
|
||||
|
||||
let
|
||||
variants = if versionAtLeast version "4.2"
|
||||
then rec { python = scons.python.withPackages (ps: with ps; [ pyyaml cheetah3 psutil setuptools ]);
|
||||
scons = sconsPackages.scons_3_1_2.override { python = python3; }; # 4.2 < mongodb <= 5.0.x needs scons 3.x built with python3
|
||||
mozjsVersion = "60";
|
||||
mozjsReplace = "defined(HAVE___SINCOS)";
|
||||
}
|
||||
else rec { python = scons.python.withPackages (ps: with ps; [ pyyaml typing cheetah ]);
|
||||
scons = sconsPackages.scons_3_1_2;
|
||||
mozjsVersion = "45";
|
||||
mozjsReplace = "defined(HAVE_SINCOS)";
|
||||
};
|
||||
system-libraries = [
|
||||
"boost"
|
||||
"pcre"
|
||||
"snappy"
|
||||
"yaml"
|
||||
"zlib"
|
||||
#"asio" -- XXX use package?
|
||||
#"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs).
|
||||
#"valgrind" -- mongodb only requires valgrind.h, which is vendored in the source.
|
||||
#"wiredtiger"
|
||||
] ++ optionals stdenv.isLinux [ "tcmalloc" ];
|
||||
inherit (lib) systems subtractLists;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit version;
|
||||
pname = "mongodb";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://fastdl.mongodb.org/src/mongodb-src-r${version}.tar.gz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ variants.scons ]
|
||||
++ lib.optionals (versionAtLeast version "4.4") [ xz ];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
curl
|
||||
gperftools
|
||||
libpcap
|
||||
libyamlcpp
|
||||
openssl
|
||||
pcre-cpp
|
||||
variants.python
|
||||
sasl
|
||||
snappy
|
||||
zlib
|
||||
] ++ lib.optionals stdenv.isDarwin [ Security CoreFoundation cctools ];
|
||||
|
||||
# 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.
|
||||
inherit patches;
|
||||
|
||||
postPatch = ''
|
||||
# fix environment variable reading
|
||||
substituteInPlace SConstruct \
|
||||
--replace "env = Environment(" "env = Environment(ENV = os.environ,"
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace src/third_party/mozjs-${variants.mozjsVersion}/extract/js/src/jsmath.cpp --replace '${variants.mozjsReplace}' 0
|
||||
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
|
||||
'' + 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 = lib.optionalString stdenv.cc.isClang
|
||||
"-Wno-unused-command-line-argument";
|
||||
|
||||
sconsFlags = [
|
||||
"--release"
|
||||
"--ssl"
|
||||
#"--rocksdb" # Don't have this packaged yet
|
||||
"--wiredtiger=on"
|
||||
"--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
|
||||
] ++ lib.optionals (versionAtLeast version "4.4") [ "--link-model=static" ]
|
||||
++ map (lib: "--use-system-${lib}") system-libraries;
|
||||
|
||||
preBuild = ''
|
||||
sconsFlags+=" CC=$CC"
|
||||
sconsFlags+=" CXX=$CXX"
|
||||
'' + optionalString stdenv.isAarch64 ''
|
||||
sconsFlags+=" CCFLAGS='-march=armv8-a+crc'"
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p "$out/lib"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
rm -f "$out/bin/install_compass" || true
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
"$out/bin/mongo" --version
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
installTargets = if (versionAtLeast version "4.4") then "install-core" else "install";
|
||||
|
||||
prefixKey = if (versionAtLeast version "4.4") then "DESTDIR=" else "--prefix=";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
hardeningEnable = [ "pie" ];
|
||||
|
||||
meta = {
|
||||
description = "A scalable, high-performance, open source NoSQL database";
|
||||
homepage = "http://www.mongodb.org";
|
||||
inherit license;
|
||||
|
||||
maintainers = with maintainers; [ bluescreen303 offline cstrahan ];
|
||||
platforms = subtractLists systems.doubles.i686 systems.doubles.unix;
|
||||
};
|
||||
}
|
||||
27
pkgs/servers/nosql/mongodb/mozjs-45_fix-3-byte-opcode.patch
Normal file
27
pkgs/servers/nosql/mongodb/mozjs-45_fix-3-byte-opcode.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# HG changeset patch
|
||||
# User Dan Gohman <sunfish@mozilla.com>
|
||||
# Parent d9b405d82cffb07343a5f2fd941e029298c7f6c4
|
||||
# Bug 1390214 - IonMonkey: Don't test for a 3-byte opcode in a 2-byte opcode predicate.
|
||||
# https://bug1390214.bmoattachments.org/attachment.cgi?id=8902972
|
||||
|
||||
diff --git a/src/third_party/mozjs-45/extract/js/src/jit/x86-shared/Encoding-x86-shared.h b/src/third_party/mozjs-45/extract/js/src/jit/x86-shared/Encoding-x86-shared.h
|
||||
--- a/src/third_party/mozjs-45/extract/js/src/jit/x86-shared/Encoding-x86-shared.h
|
||||
+++ b/src/third_party/mozjs-45/extract/js/src/jit/x86-shared/Encoding-x86-shared.h
|
||||
@@ -310,17 +310,16 @@ enum ThreeByteOpcodeID {
|
||||
|
||||
// Test whether the given opcode should be printed with its operands reversed.
|
||||
inline bool IsXMMReversedOperands(TwoByteOpcodeID opcode)
|
||||
{
|
||||
switch (opcode) {
|
||||
case OP2_MOVSD_WsdVsd: // also OP2_MOVPS_WpsVps
|
||||
case OP2_MOVAPS_WsdVsd:
|
||||
case OP2_MOVDQ_WdqVdq:
|
||||
- case OP3_PEXTRD_EdVdqIb:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
enum ThreeByteEscape {
|
||||
16
pkgs/servers/nosql/mongodb/v3_4.nix
Normal file
16
pkgs/servers/nosql/mongodb/v3_4.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }:
|
||||
|
||||
let
|
||||
buildMongoDB = callPackage ./mongodb.nix {
|
||||
inherit sasl;
|
||||
inherit boost;
|
||||
inherit Security;
|
||||
inherit CoreFoundation;
|
||||
inherit cctools;
|
||||
};
|
||||
in buildMongoDB {
|
||||
version = "3.4.24";
|
||||
sha256 = "0j6mvgv0jnsnvgkl8505bl88kbxkba66qijlpi1la0dd5pd1imfr";
|
||||
patches = [ ./forget-build-dependencies-3-4.patch ];
|
||||
license = lib.licenses.agpl3;
|
||||
}
|
||||
16
pkgs/servers/nosql/mongodb/v3_6.nix
Normal file
16
pkgs/servers/nosql/mongodb/v3_6.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }:
|
||||
|
||||
let
|
||||
buildMongoDB = callPackage ./mongodb.nix {
|
||||
inherit sasl;
|
||||
inherit boost;
|
||||
inherit Security;
|
||||
inherit CoreFoundation;
|
||||
inherit cctools;
|
||||
};
|
||||
in buildMongoDB {
|
||||
version = "3.6.23";
|
||||
sha256 = "sha256-EJpIerW4zcGJvHfqJ65fG8yNsLRlUnRkvYfC+jkoFJ4=";
|
||||
patches = [ ./forget-build-dependencies.patch ]
|
||||
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view.patch ];
|
||||
}
|
||||
17
pkgs/servers/nosql/mongodb/v4_0.nix
Normal file
17
pkgs/servers/nosql/mongodb/v4_0.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }:
|
||||
|
||||
let
|
||||
buildMongoDB = callPackage ./mongodb.nix {
|
||||
inherit sasl;
|
||||
inherit boost;
|
||||
inherit Security;
|
||||
inherit CoreFoundation;
|
||||
inherit cctools;
|
||||
};
|
||||
in buildMongoDB {
|
||||
version = "4.0.27";
|
||||
sha256 = "sha256-ct33mnK4pszhYM4Is7j0GZQRyi8i8Qmy0wcklyq5LjM=";
|
||||
patches =
|
||||
[ ./forget-build-dependencies.patch ./mozjs-45_fix-3-byte-opcode.patch ]
|
||||
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view.patch ];
|
||||
}
|
||||
17
pkgs/servers/nosql/mongodb/v4_2.nix
Normal file
17
pkgs/servers/nosql/mongodb/v4_2.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ stdenv, callPackage, lib, sasl, boost, Security, CoreFoundation, cctools }:
|
||||
|
||||
let
|
||||
buildMongoDB = callPackage ./mongodb.nix {
|
||||
inherit sasl;
|
||||
inherit boost;
|
||||
inherit Security;
|
||||
inherit CoreFoundation;
|
||||
inherit cctools;
|
||||
};
|
||||
in buildMongoDB {
|
||||
version = "4.2.19";
|
||||
sha256 = "sha256-fngTHd+fSdHqiqQYOYS7o6P5eHybeZy3iNKkGzFmjTw=";
|
||||
patches =
|
||||
[ ./forget-build-dependencies-4-2.patch ]
|
||||
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view-4-2.patch ];
|
||||
}
|
||||
38
pkgs/servers/nosql/neo4j/default.nix
Normal file
38
pkgs/servers/nosql/neo4j/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, jre, which, gawk }:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "neo4j";
|
||||
version = "3.5.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
|
||||
sha256 = "1zjb6cgk2lpzx6pq1cs5fh65in6b5ccpl1cgfiglgpjc948mnhzv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/share/neo4j"
|
||||
cp -R * "$out/share/neo4j"
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
for NEO4J_SCRIPT in neo4j neo4j-admin neo4j-import cypher-shell
|
||||
do
|
||||
makeWrapper "$out/share/neo4j/bin/$NEO4J_SCRIPT" \
|
||||
"$out/bin/$NEO4J_SCRIPT" \
|
||||
--prefix PATH : "${lib.makeBinPath [ jre which gawk ]}" \
|
||||
--set JAVA_HOME "${jre}"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A highly scalable, robust (fully ACID) native graph database";
|
||||
homepage = "http://www.neo4j.org/";
|
||||
license = licenses.gpl3;
|
||||
|
||||
maintainers = [ maintainers.offline ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
86
pkgs/servers/nosql/redis/default.nix
Normal file
86
pkgs/servers/nosql/redis/default.nix
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{ lib, stdenv, fetchurl, lua, pkg-config, nixosTests
|
||||
, tcl, which, ps
|
||||
, withSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isStatic, systemd
|
||||
# dependency ordering is broken at the moment when building with openssl
|
||||
, tlsSupport ? !stdenv.hostPlatform.isStatic, openssl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "redis";
|
||||
version = "7.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.redis.io/releases/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-KE2L0f2F1qVaBe5OfDHDGXetVsvzRO2DeQvusUi6pyA=";
|
||||
};
|
||||
|
||||
# Cross-compiling fixes
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||
# This fixes hiredis, which has the AR awkwardly coded.
|
||||
# Probably a good candidate for a patch upstream.
|
||||
makeFlagsArray+=('STLIB_MAKE_CMD=${stdenv.cc.targetPrefix}ar rcs $(STLIBNAME)')
|
||||
''}
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ lua ]
|
||||
++ lib.optional withSystemd systemd
|
||||
++ lib.optionals tlsSupport [ openssl ];
|
||||
# More cross-compiling fixes.
|
||||
# Note: this enables libc malloc as a temporary fix for cross-compiling.
|
||||
# Due to hardcoded configure flags in jemalloc, we can't cross-compile vendored jemalloc properly, and so we're forced to use libc allocator.
|
||||
# It's weird that the build isn't failing because of failure to compile dependencies, it's from failure to link them!
|
||||
makeFlags = [ "PREFIX=$(out)" ]
|
||||
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" "MALLOC=libc" ]
|
||||
++ lib.optional withSystemd [ "USE_SYSTEMD=yes" ]
|
||||
++ lib.optionals tlsSupport [ "BUILD_TLS=yes" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
hardeningEnable = [ "pie" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-std=c11" ];
|
||||
|
||||
# darwin currently lacks a pure `pgrep` which is extensively used here
|
||||
doCheck = !stdenv.isDarwin;
|
||||
checkInputs = [ which tcl ps ];
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
# disable test "Connect multiple replicas at the same time": even
|
||||
# upstream find this test too timing-sensitive
|
||||
substituteInPlace tests/integration/replication.tcl \
|
||||
--replace 'foreach mdl {no yes}' 'foreach mdl {}'
|
||||
|
||||
substituteInPlace tests/support/server.tcl \
|
||||
--replace 'exec /usr/bin/env' 'exec env'
|
||||
|
||||
sed -i '/^proc wait_load_handlers_disconnected/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
|
||||
tests/support/util.tcl
|
||||
|
||||
./runtest \
|
||||
--no-latency \
|
||||
--timeout 2000 \
|
||||
--clients $NIX_BUILD_CORES \
|
||||
--tags -leaks \
|
||||
--skipunit integration/failover # flaky and slow
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
passthru.tests.redis = nixosTests.redis;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://redis.io";
|
||||
description = "An open source, advanced key-value store";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
changelog = "https://github.com/redis/redis/raw/${version}/00-RELEASENOTES";
|
||||
maintainers = with maintainers; [ berdario globin marsam ];
|
||||
mainProgram = "redis-cli";
|
||||
};
|
||||
}
|
||||
60
pkgs/servers/nosql/rethinkdb/default.nix
Normal file
60
pkgs/servers/nosql/rethinkdb/default.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{ lib, stdenv, fetchurl, which, m4
|
||||
, protobuf, boost170, zlib, curl, openssl, icu, jemalloc, libtool
|
||||
, python2Packages, makeWrapper
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rethinkdb";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.rethinkdb.com/repository/raw/dist/${pname}-${version}.tgz";
|
||||
sha256 = "5f1786c94797a0f8973597796e22545849dc214805cf1962ef76969e0b7d495b";
|
||||
};
|
||||
|
||||
postPatch = 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 = lib.optionals (!stdenv.isDarwin) [
|
||||
"--with-jemalloc"
|
||||
"--lib-path=${jemalloc}/lib"
|
||||
];
|
||||
|
||||
makeFlags = [ "rethinkdb" ];
|
||||
|
||||
buildInputs = [ protobuf boost170 zlib curl openssl icu ]
|
||||
++ lib.optional (!stdenv.isDarwin) jemalloc
|
||||
++ lib.optional stdenv.isDarwin libtool;
|
||||
|
||||
nativeBuildInputs = [ which m4 python2Packages.python makeWrapper ];
|
||||
|
||||
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 = "https://rethinkdb.com";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ thoughtpolice bluescreen303 ];
|
||||
};
|
||||
}
|
||||
106
pkgs/servers/nosql/riak/2.2.0.nix
Normal file
106
pkgs/servers/nosql/riak/2.2.0.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
{ stdenv, lib, fetchurl, unzip, erlang, which, pam, nixosTests }:
|
||||
|
||||
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 {
|
||||
pname = "riak";
|
||||
version = "2.2.0";
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [
|
||||
which 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
|
||||
'';
|
||||
|
||||
passthru.tests = { inherit (nixosTests) riak; };
|
||||
|
||||
meta = with lib; {
|
||||
maintainers = with maintainers; [ cstrahan mdaiter ];
|
||||
description = "Dynamo inspired NoSQL DB by Basho";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = with sourceTypes; [
|
||||
fromSource
|
||||
binaryBytecode # dependencies
|
||||
];
|
||||
license = licenses.asl20;
|
||||
knownVulnerabilities = [ "CVE-2017-3163 - see https://github.com/NixOS/nixpkgs/issues/33876" ];
|
||||
};
|
||||
}
|
||||
41
pkgs/servers/nosql/victoriametrics/default.nix
Normal file
41
pkgs/servers/nosql/victoriametrics/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "VictoriaMetrics";
|
||||
version = "1.77.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-S0HXIjZI48A+tMv+gT8UfYqmCI4NOwWAFykfhW73WPc=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
postPatch = ''
|
||||
# main module (github.com/VictoriaMetrics/VictoriaMetrics) does not contain package
|
||||
# github.com/VictoriaMetrics/VictoriaMetrics/app/vmui/packages/vmui/web
|
||||
#
|
||||
# This appears to be some kind of test server for development purposes only.
|
||||
rm -f app/vmui/packages/vmui/web/{go.mod,main.go}
|
||||
|
||||
# Increase timeouts in tests to prevent failure on heavily loaded builders
|
||||
substituteInPlace lib/storage/storage_test.go \
|
||||
--replace "time.After(10 " "time.After(120 " \
|
||||
--replace "time.After(30 " "time.After(120 "
|
||||
'';
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${version}" ];
|
||||
|
||||
passthru.tests = { inherit (nixosTests) victoriametrics; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://victoriametrics.com/";
|
||||
description = "fast, cost-effective and scalable time series database, long-term remote storage for Prometheus";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ yorickvp ivan ];
|
||||
changelog = "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v${version}";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue