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
74
pkgs/servers/search/elasticsearch/6.x.nix
Normal file
74
pkgs/servers/search/elasticsearch/6.x.nix
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{ elk6Version
|
||||
, enableUnfree ? true
|
||||
, lib, stdenv
|
||||
, fetchurl
|
||||
, makeWrapper
|
||||
, jre_headless
|
||||
, util-linux, gnugrep, coreutils
|
||||
, autoPatchelfHook
|
||||
, zlib
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
version = elk6Version;
|
||||
pname = "elasticsearch${optionalString (!enableUnfree) "-oss"}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://artifacts.elastic.co/downloads/elasticsearch/${pname}-${version}.tar.gz";
|
||||
sha256 =
|
||||
if enableUnfree
|
||||
then "1hkcgqsrnnx3zjpgar4424mxfaxrx0zbrp7n7n0dlbhphshwnkmd"
|
||||
else "1pglg60aigy31xmpfchnxcc04nd18zwc3av4m0kyp00yk5mnlyqm";
|
||||
};
|
||||
|
||||
patches = [ ./es-home-6.x.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace bin/elasticsearch-env --replace \
|
||||
"ES_CLASSPATH=\"\$ES_HOME/lib/*\"" \
|
||||
"ES_CLASSPATH=\"$out/lib/*\""
|
||||
|
||||
substituteInPlace bin/elasticsearch-cli --replace \
|
||||
"ES_CLASSPATH=\"\$ES_CLASSPATH:\$ES_HOME/\$additional_classpath_directory/*\"" \
|
||||
"ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ jre_headless util-linux ]
|
||||
++ optional enableUnfree zlib;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -R bin config lib modules plugins $out
|
||||
|
||||
chmod -x $out/bin/*.*
|
||||
|
||||
wrapProgram $out/bin/elasticsearch \
|
||||
--prefix PATH : "${makeBinPath [ util-linux gnugrep coreutils ]}" \
|
||||
--set JAVA_HOME "${jre_headless}"
|
||||
|
||||
wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}"
|
||||
'';
|
||||
|
||||
passthru = { inherit enableUnfree; };
|
||||
|
||||
meta = {
|
||||
description = "Open Source, Distributed, RESTful Search Engine";
|
||||
license = if enableUnfree then licenses.elastic else licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ apeschar basvandijk ];
|
||||
};
|
||||
} // optionalAttrs enableUnfree {
|
||||
dontPatchELF = true;
|
||||
nativeBuildInputs = [ makeWrapper ]
|
||||
++ optional stdenv.isLinux autoPatchelfHook;
|
||||
runtimeDependencies = [ zlib ];
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
for exe in $(find $out/modules/x-pack-ml/platform/linux-x86_64/bin -executable -type f); do
|
||||
echo "patching $exe..."
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$exe"
|
||||
done
|
||||
'';
|
||||
})
|
||||
79
pkgs/servers/search/elasticsearch/7.x.nix
Normal file
79
pkgs/servers/search/elasticsearch/7.x.nix
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
{ elk7Version
|
||||
, lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, makeWrapper
|
||||
, jre_headless
|
||||
, util-linux
|
||||
, gnugrep
|
||||
, coreutils
|
||||
, autoPatchelfHook
|
||||
, zlib
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
info = splitString "-" stdenv.hostPlatform.system;
|
||||
arch = elemAt info 0;
|
||||
plat = elemAt info 1;
|
||||
shas =
|
||||
{
|
||||
x86_64-linux = "7281b79f2bf7421c2d71ab4eecdfd517b86b6788d1651dad315198c564284ea9";
|
||||
x86_64-darwin = "6d2343171a0d384910312220aae3512f45e3d3d900557b736c139b8363a008e4";
|
||||
aarch64-linux = "3153820d53a454513b534765fef68ce1f61a2dd92d4dae7428a1220bb3ce8fe5";
|
||||
aarch64-darwin = "e62af7486c1041d3f1648646671d5c665e1abffd696cd2a5d96c2a5aaabe38f8";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elasticsearch";
|
||||
version = elk7Version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://artifacts.elastic.co/downloads/elasticsearch/${pname}-${version}-${plat}-${arch}.tar.gz";
|
||||
sha256 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture");
|
||||
};
|
||||
|
||||
patches = [ ./es-home-6.x.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace bin/elasticsearch-env --replace \
|
||||
"ES_CLASSPATH=\"\$ES_HOME/lib/*\"" \
|
||||
"ES_CLASSPATH=\"$out/lib/*\""
|
||||
|
||||
substituteInPlace bin/elasticsearch-cli --replace \
|
||||
"ES_CLASSPATH=\"\$ES_CLASSPATH:\$ES_HOME/\$additional_classpath_directory/*\"" \
|
||||
"ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ]
|
||||
++ lib.optional (!stdenv.hostPlatform.isDarwin) autoPatchelfHook;
|
||||
|
||||
buildInputs = [ jre_headless util-linux zlib ];
|
||||
|
||||
runtimeDependencies = [ zlib ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -R bin config lib modules plugins $out
|
||||
|
||||
chmod +x $out/bin/*
|
||||
|
||||
substituteInPlace $out/bin/elasticsearch \
|
||||
--replace 'bin/elasticsearch-keystore' "$out/bin/elasticsearch-keystore"
|
||||
|
||||
wrapProgram $out/bin/elasticsearch \
|
||||
--prefix PATH : "${makeBinPath [ util-linux coreutils gnugrep ]}" \
|
||||
--set JAVA_HOME "${jre_headless}"
|
||||
|
||||
wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}"
|
||||
'';
|
||||
|
||||
passthru = { enableUnfree = true; };
|
||||
|
||||
meta = {
|
||||
description = "Open Source, Distributed, RESTful Search Engine";
|
||||
license = licenses.elastic;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ apeschar basvandijk ];
|
||||
};
|
||||
}
|
||||
26
pkgs/servers/search/elasticsearch/es-home-6.x.patch
Normal file
26
pkgs/servers/search/elasticsearch/es-home-6.x.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
diff -Naur a/bin/elasticsearch-env b/bin/elasticsearch-env
|
||||
--- a/bin/elasticsearch-env 2017-12-12 13:31:51.000000000 +0100
|
||||
+++ b/bin/elasticsearch-env 2017-12-18 19:51:12.282809695 +0100
|
||||
@@ -19,18 +19,10 @@
|
||||
fi
|
||||
done
|
||||
|
||||
-# determine Elasticsearch home; to do this, we strip from the path until we find
|
||||
-# bin, and then strip bin (there is an assumption here that there is no nested
|
||||
-# directory under bin also named bin)
|
||||
-ES_HOME=`dirname "$SCRIPT"`
|
||||
-
|
||||
-# now make ES_HOME absolute
|
||||
-ES_HOME=`cd "$ES_HOME"; pwd`
|
||||
-
|
||||
-while [ "`basename "$ES_HOME"`" != "bin" ]; do
|
||||
- ES_HOME=`dirname "$ES_HOME"`
|
||||
-done
|
||||
-ES_HOME=`dirname "$ES_HOME"`
|
||||
+if [ -z "$ES_HOME" ]; then
|
||||
+ echo "You must set the ES_HOME var" >&2
|
||||
+ exit 1
|
||||
+fi
|
||||
|
||||
# now set the classpath
|
||||
ES_CLASSPATH="$ES_HOME/lib/*"
|
||||
181
pkgs/servers/search/elasticsearch/plugins.nix
Normal file
181
pkgs/servers/search/elasticsearch/plugins.nix
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
{ lib, stdenv, fetchurl, unzip, elasticsearch }:
|
||||
|
||||
let
|
||||
esVersion = elasticsearch.version;
|
||||
|
||||
esPlugin =
|
||||
a@{
|
||||
pluginName,
|
||||
installPhase ? ''
|
||||
mkdir -p $out/config
|
||||
mkdir -p $out/plugins
|
||||
ln -s ${elasticsearch}/lib ${elasticsearch}/modules $out
|
||||
ES_HOME=$out ${elasticsearch}/bin/elasticsearch-plugin install --batch -v file://$src
|
||||
rm $out/lib $out/modules
|
||||
''
|
||||
, ...
|
||||
}:
|
||||
stdenv.mkDerivation (a // {
|
||||
inherit installPhase;
|
||||
pname = "elasticsearch-${pluginName}";
|
||||
dontUnpack = true;
|
||||
# Work around the "unpacker appears to have produced no directories"
|
||||
# case that happens when the archive doesn't have a subdirectory.
|
||||
setSourceRoot = "sourceRoot=$(pwd)";
|
||||
nativeBuildInputs = [ unzip ];
|
||||
meta = a.meta // {
|
||||
platforms = elasticsearch.meta.platforms;
|
||||
maintainers = (a.meta.maintainers or [ ]) ++ (with lib.maintainers; [ offline ]);
|
||||
};
|
||||
});
|
||||
in
|
||||
{
|
||||
|
||||
analysis-icu = esPlugin rec {
|
||||
name = "elasticsearch-analysis-icu-${version}";
|
||||
pluginName = "analysis-icu";
|
||||
version = esVersion;
|
||||
src = fetchurl {
|
||||
url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
|
||||
sha256 =
|
||||
if version == "7.17.4" then "a4e881d86694ae70ab6b18f72ea700415971200145d33d438e57c0374d9fc16f"
|
||||
else if version == "6.8.21" then "06b1pavyggzfp4wwdql0q9nm3r7i9px9cagp4yh4nhxhnk4w5fiq"
|
||||
else throw "unsupported version ${version} for plugin ${pluginName}";
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/elastic/elasticsearch/tree/master/plugins/analysis-icu";
|
||||
description = "The ICU Analysis plugin integrates the Lucene ICU module into elasticsearch";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
|
||||
analysis-lemmagen = esPlugin rec {
|
||||
pluginName = "analysis-lemmagen";
|
||||
version = esVersion;
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vhyza/elasticsearch-${pluginName}/releases/download/v${version}/elasticsearch-${pluginName}-${version}-plugin.zip";
|
||||
sha256 =
|
||||
if version == "7.17.3" then "1835f374230cb17193859cee22ac90e3d7a67fb41a55fd4578e840d708287a08"
|
||||
else if version == "6.8.21" then "0m80cn7vkcvk95v4pdmi6vk5ww7p01k0hj2iqb9g870vs6x2qjzv"
|
||||
else throw "unsupported version ${version} for plugin ${pluginName}";
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/vhyza/elasticsearch-analysis-lemmagen";
|
||||
description = "LemmaGen Analysis plugin provides jLemmaGen lemmatizer as Elasticsearch token filter";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
|
||||
analysis-phonetic = esPlugin rec {
|
||||
pluginName = "analysis-phonetic";
|
||||
version = esVersion;
|
||||
src = fetchurl {
|
||||
url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
|
||||
sha256 =
|
||||
if version == "7.17.4" then "1c8175b2dac54277c1f41981fb4a784829e74e6e74268381fe0c27bc6652704b"
|
||||
else if version == "6.8.21" then "07w8s4a5gvr9lzjzf629y8rx3kvs6zd1vl07ksw1paghp42yb354"
|
||||
else throw "unsupported version ${version} for plugin ${pluginName}";
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/elastic/elasticsearch/tree/master/plugins/analysis-phonetic";
|
||||
description = "The Phonetic Analysis plugin integrates phonetic token filter analysis with elasticsearch";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
|
||||
discovery-ec2 = esPlugin rec {
|
||||
pluginName = "discovery-ec2";
|
||||
version = esVersion;
|
||||
src = fetchurl {
|
||||
url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
|
||||
sha256 =
|
||||
if version == "7.17.4" then "702e446997bde5cb38af120a1cb4271d976fdd23444be49e53b6be3801d845a9"
|
||||
else if version == "6.8.21" then "1kdpbrasxwr3dn21zjrklp1s389rwa51fairygdwl8px9liwwfa5"
|
||||
else throw "unsupported version ${version} for plugin ${pluginName}";
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/elastic/elasticsearch/tree/master/plugins/discovery-ec2";
|
||||
description = "The EC2 discovery plugin uses the AWS API for unicast discovery.";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
|
||||
ingest-attachment = esPlugin rec {
|
||||
pluginName = "ingest-attachment";
|
||||
version = esVersion;
|
||||
src = fetchurl {
|
||||
url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
|
||||
sha256 =
|
||||
if version == "7.17.4" then "7d1574a585a9db0988ee248159d51f62cce5578a8c082096ef3e26efdb24aee7"
|
||||
else if version == "6.8.21" then "0v31yyhjcdlqnjw1f9kihh7z3c6d31whc57hqqd1dn579n4s9rlz"
|
||||
else throw "unsupported version ${version} for plugin ${pluginName}";
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/elastic/elasticsearch/tree/master/plugins/ingest-attachment";
|
||||
description = "Ingest processor that uses Apache Tika to extract contents";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
|
||||
repository-s3 = esPlugin rec {
|
||||
pluginName = "repository-s3";
|
||||
version = esVersion;
|
||||
src = fetchurl {
|
||||
url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
|
||||
sha256 =
|
||||
if version == "7.17.4" then "cad923a662db705d40ca29698aa118e9e4cc50ae564c426a76d5acb777a4f57c"
|
||||
else if version == "6.8.21" then "0sfh1az30q4f34zxig2fz8wn9gk53fmmxyg5pbi1svn9761p5awq"
|
||||
else throw "unsupported version ${version} for plugin ${pluginName}";
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/elastic/elasticsearch/tree/master/plugins/repository-s3";
|
||||
description = "The S3 repository plugin adds support for using AWS S3 as a repository for Snapshot/Restore.";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
|
||||
repository-gcs = esPlugin rec {
|
||||
pluginName = "repository-gcs";
|
||||
version = esVersion;
|
||||
src = fetchurl {
|
||||
url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
|
||||
sha256 =
|
||||
if version == "7.17.4" then "a50be4cea5c68ad7615f87d672ba160d027fdfde2be0578bb2dabd6384cc8108"
|
||||
else if version == "6.8.21" then "00lwj00rfdk6850gk1n86chiz2w6afpqn7jn588jdbwv41qh5mrv"
|
||||
else throw "unsupported version ${version} for plugin ${pluginName}";
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/elastic/elasticsearch/tree/master/plugins/repository-gcs";
|
||||
description = "The GCS repository plugin adds support for using Google Cloud Storage as a repository for Snapshot/Restore.";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
|
||||
search-guard = let
|
||||
majorVersion = lib.head (builtins.splitVersion esVersion);
|
||||
in esPlugin rec {
|
||||
pluginName = "search-guard";
|
||||
version =
|
||||
# https://docs.search-guard.com/latest/search-guard-versions
|
||||
if esVersion == "7.17.3" then "${esVersion}-53.1.0"
|
||||
else if esVersion == "6.8.21" then "${esVersion}-25.6"
|
||||
else throw "unsupported version ${esVersion} for plugin ${pluginName}";
|
||||
src =
|
||||
if esVersion == "7.17.3" then
|
||||
fetchurl {
|
||||
url = "https://maven.search-guard.com/search-guard-suite-release/com/floragunn/search-guard-suite-plugin/${version}/search-guard-suite-plugin-${version}.zip";
|
||||
sha256 = "b49b24f7b74043cb5bab93f18316ea71656a7668e61bf063ccaa7b0ee2302a31";
|
||||
}
|
||||
else if esVersion == "6.8.21" then
|
||||
fetchurl {
|
||||
url = "https://maven.search-guard.com/search-guard-release/com/floragunn/search-guard-6/${version}/search-guard-6-${version}.zip";
|
||||
sha256 = "19nj513wigwd0mzq747zax4fzvv5vi24f7j0636rydd9iv9cyhg2";
|
||||
}
|
||||
else throw "unsupported version ${version} for plugin ${pluginName}";
|
||||
meta = with lib; {
|
||||
homepage = "https://search-guard.com";
|
||||
description = "Elasticsearch plugin that offers encryption, authentication, and authorisation.";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue