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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View 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
'';
})

View 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 ];
};
}

View 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/*"

View 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;
};
};
}

View file

@ -0,0 +1,49 @@
{ lib, stdenv, fetchurl, autoreconfHook, mecab, kytea, libedit, pkg-config
, suggestSupport ? false, zeromq, libevent, msgpack, openssl
, lz4Support ? false, lz4
, zlibSupport ? true, zlib
}:
stdenv.mkDerivation rec {
pname = "groonga";
version = "11.1.0";
src = fetchurl {
url = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
sha256 = "sha256-di1uzTZxeRLevcSS5d/yba5Y6tdy21H2NgU7ZrZTObI=";
};
preConfigure = ''
# To avoid problems due to libc++abi 11 using `#include <version>`.
rm version
'';
buildInputs = with lib;
[ mecab kytea libedit openssl ]
++ optional lz4Support lz4
++ optional zlibSupport zlib
++ optionals suggestSupport [ zeromq libevent msgpack ];
nativeBuildInputs = [ autoreconfHook pkg-config ];
configureFlags = with lib;
optional zlibSupport "--with-zlib"
++ optional lz4Support "--with-lz4";
doInstallCheck = true;
installCheckPhase = "$out/bin/groonga --version";
meta = with lib; {
homepage = "https://groonga.org/";
description = "An open-source fulltext search engine and column store";
license = licenses.lgpl21;
maintainers = [ maintainers.ericsagnes ];
platforms = platforms.unix;
longDescription = ''
Groonga is an open-source fulltext search engine and column store.
It lets you write high-performance applications that requires fulltext search.
'';
};
}

View file

@ -0,0 +1,40 @@
{ stdenv
, lib
, rustPlatform
, fetchFromGitHub
, Security
, DiskArbitration
, Foundation
, nixosTests
}:
let version = "0.23.1";
in
rustPlatform.buildRustPackage {
pname = "meilisearch";
inherit version;
src = fetchFromGitHub {
owner = "meilisearch";
repo = "MeiliSearch";
rev = "v${version}";
sha256 = "sha256-4F7noByC9ZgqYwPfkm8VE15QU2jbBvUAH4Idxa+J+Aw=";
};
cargoPatches = [
# feature mini-dashboard tries to download a file from the internet
# feature analitycs should be opt-in
./remove-default-feature.patch
];
cargoSha256 = "sha256-dz+1IQZRSeMEagI2dnOtR3A8prg4UZ2Om0pd1BUhuhE=";
buildInputs = lib.optionals stdenv.isDarwin [ Security DiskArbitration Foundation ];
passthru.tests = {
meilisearch = nixosTests.meilisearch;
};
meta = with lib; {
broken = stdenv.isDarwin;
description = "Powerful, fast, and an easy to use search engine ";
homepage = "https://docs.meilisearch.com/";
license = licenses.mit;
maintainers = with maintainers; [ happysalada ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
}

View file

@ -0,0 +1,13 @@
diff --git a/meilisearch-http/Cargo.toml b/meilisearch-http/Cargo.toml
index de418cd4..ecc78d6f 100644
--- a/meilisearch-http/Cargo.toml
+++ b/meilisearch-http/Cargo.toml
@@ -92,7 +92,7 @@ mini-dashboard = [
"zip",
]
analytics = ["whoami", "reqwest"]
-default = ["analytics", "mini-dashboard"]
+default = []
[target.'cfg(target_os = "linux")'.dependencies]
tikv-jemallocator = "0.4.1"

View file

@ -0,0 +1,43 @@
{ lib, stdenv, fetchurl, jre, makeWrapper, nixosTests }:
stdenv.mkDerivation rec {
pname = "solr";
version = "8.6.3";
src = fetchurl {
url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz";
sha256 = "0mbbmamajamxzcvdlrzx9wmv26kg9nhg9bzazk176dhhx3rjajf2";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out $out/bin
cp -r bin/solr bin/post $out/bin/
cp -r contrib $out/
cp -r dist $out/
cp -r example $out/
cp -r server $out/
wrapProgram $out/bin/solr --set JAVA_HOME "${jre}"
wrapProgram $out/bin/post --set JAVA_HOME "${jre}"
'';
passthru.tests = {
inherit (nixosTests) solr;
};
meta = with lib; {
homepage = "https://lucene.apache.org/solr/";
description = "Open source enterprise search platform from the Apache Lucene project";
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ ];
knownVulnerabilities = [
"Multiple security issues throughout 2021, see https://solr.apache.org/security.html"
"Package is outdated and has no maintainer"
];
};
}

View file

@ -0,0 +1,49 @@
{ lib, stdenv, fetchurl, pkg-config, expat, libmysqlclient,
enableXmlpipe2 ? false,
enableMysql ? true
}:
stdenv.mkDerivation rec {
pname = "sphinxsearch";
version = "2.2.11";
src = fetchurl {
url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz";
sha256 = "1aa1mh32y019j8s3sjzn4vwi0xn83dwgl685jnbgh51k16gh6qk6";
};
enableParallelBuilding = true;
configureFlags = [
"--program-prefix=sphinxsearch-"
"--enable-id64"
] ++ lib.optionals (!enableMysql) [
"--without-mysql"
];
nativeBuildInputs = [
pkg-config
];
buildInputs = lib.optionals enableMysql [
libmysqlclient
] ++ lib.optionals enableXmlpipe2 [
expat
];
CXXFLAGS = with lib; concatStringsSep " " (optionals stdenv.isDarwin [
# see upstream bug: http://sphinxsearch.com/bugs/view.php?id=2578
# workaround for "error: invalid suffix on literal
"-Wno-reserved-user-defined-literal"
# workaround for "error: non-constant-expression cannot be narrowed from type 'long' to 'int'"
"-Wno-c++11-narrowing"
]);
meta = {
description = "An open source full text search server";
homepage = "http://sphinxsearch.com";
license = lib.licenses.gpl2;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ ederoyd46 valodim ];
};
}