Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-07-18 12:01:55 +00:00 committed by GitHub
commit 71fe747e70
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
39 changed files with 1214 additions and 362 deletions

View file

@ -36,6 +36,7 @@ rec {
config = parse.tripleFromSystem final.parsed;
# Determine whether we can execute binaries built for the provided platform.
canExecute = platform:
final.isAndroid == platform.isAndroid &&
parse.isCompatible final.parsed.cpu platform.parsed.cpu
&& final.parsed.kernel == platform.parsed.kernel;
isCompatible = _: throw "2022-05-23: isCompatible has been removed in favor of canExecute, refer to the 22.11 changelog for details";

View file

@ -57,23 +57,23 @@ rec {
armv7a-android-prebuilt = {
config = "armv7a-unknown-linux-androideabi";
rustc.config = "armv7-linux-androideabi";
sdkVer = "29";
ndkVer = "21";
sdkVer = "28";
ndkVer = "24";
useAndroidPrebuilt = true;
} // platforms.armv7a-android;
aarch64-android-prebuilt = {
config = "aarch64-unknown-linux-android";
rustc.config = "aarch64-linux-android";
sdkVer = "29";
ndkVer = "21";
sdkVer = "28";
ndkVer = "24";
useAndroidPrebuilt = true;
};
aarch64-android = {
config = "aarch64-unknown-linux-android";
sdkVer = "30";
ndkVer = "21";
ndkVer = "24";
libc = "bionic";
useAndroidPrebuilt = false;
useLLVM = true;

View file

@ -49,7 +49,10 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
# This is mostly follows: https://github.com/jellyfin/jellyfin/blob/master/fedora/jellyfin.service
# Upstream also disable some hardenings when running in LXC, we do the same with the isContainer option
serviceConfig = rec {
Type = "simple";
User = cfg.user;
Group = cfg.group;
StateDirectory = "jellyfin";
@ -57,48 +60,50 @@ in
CacheDirectory = "jellyfin";
CacheDirectoryMode = "0700";
UMask = "0077";
WorkingDirectory = "/var/lib/jellyfin";
ExecStart = "${cfg.package}/bin/jellyfin --datadir '/var/lib/${StateDirectory}' --cachedir '/var/cache/${CacheDirectory}'";
Restart = "on-failure";
TimeoutSec = 15;
SuccessExitStatus = ["0" "143"];
# Security options:
NoNewPrivileges = true;
AmbientCapabilities = "";
CapabilityBoundingSet = "";
# ProtectClock= adds DeviceAllow=char-rtc r
DeviceAllow = "";
LockPersonality = true;
PrivateTmp = true;
# Disabled to allow Jellyfin to access hw accel devices endpoints
# PrivateDevices = true;
PrivateUsers = true;
# Disabled as it does not allow Jellyfin to interface with CUDA devices
# ProtectClock = true;
ProtectControlGroups = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
RemoveIPC = true;
RestrictNamespaces = true;
SystemCallArchitectures = "native";
# AF_NETLINK needed because Jellyfin monitors the network connection
RestrictAddressFamilies = [ "AF_NETLINK" "AF_INET" "AF_INET6" "AF_UNIX" ];
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ];
RestrictNamespaces = !config.boot.isContainer;
RestrictRealtime = true;
RestrictSUIDSGID = true;
ProtectControlGroups = !config.boot.isContainer;
ProtectHostname = true;
ProtectKernelLogs = !config.boot.isContainer;
ProtectKernelModules = !config.boot.isContainer;
ProtectKernelTunables = !config.boot.isContainer;
LockPersonality = true;
PrivateTmp = !config.boot.isContainer;
# needed for hardware accelaration
PrivateDevices = false;
PrivateUsers = true;
RemoveIPC = true;
SystemCallArchitectures = "native";
SystemCallErrorNumber = "EPERM";
SystemCallFilter = [
"@system-service"
"~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@obsolete" "~@privileged" "~@setuid"
"~@clock"
"~@aio"
"~@chown"
"~@cpu-emulation"
"~@debug"
"~@keyring"
"~@memlock"
"~@module"
"~@mount"
"~@obsolete"
"~@privileged"
"~@raw-io"
"~@reboot"
"~@setuid"
"~@swap"
];
SystemCallErrorNumber = "EPERM";
};
};

View file

@ -8,21 +8,22 @@ let
pkg = cfg.package.override (optionalAttrs cfg.sso.enable {
enableSSO = cfg.sso.enable;
crowdProperties = ''
application.name ${cfg.sso.applicationName}
application.password ${cfg.sso.applicationPassword}
application.login.url ${cfg.sso.crowd}/console/
crowd.server.url ${cfg.sso.crowd}/services/
crowd.base.url ${cfg.sso.crowd}/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval ${toString cfg.sso.validationInterval}
session.lastvalidation session.lastvalidation
'';
});
crowdProperties = pkgs.writeText "crowd.properties" ''
application.name ${cfg.sso.applicationName}
application.password @NIXOS_JIRA_CROWD_SSO_PWD@
application.login.url ${cfg.sso.crowd}/console/
crowd.server.url ${cfg.sso.crowd}/services/
crowd.base.url ${cfg.sso.crowd}/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval ${toString cfg.sso.validationInterval}
session.lastvalidation session.lastvalidation
'';
in
{
@ -112,9 +113,9 @@ in
description = "Exact name of this JIRA instance in Crowd";
};
applicationPassword = mkOption {
applicationPasswordFile = mkOption {
type = types.str;
description = "Application password of this JIRA instance in Crowd";
description = "Path to the file containing the application password of this JIRA instance in Crowd";
};
validationInterval = mkOption {
@ -181,6 +182,7 @@ in
JIRA_HOME = cfg.home;
JAVA_HOME = "${cfg.jrePackage}";
CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions;
JAVA_OPTS = mkIf cfg.sso.enable "-Dcrowd.properties=${cfg.home}/crowd.properties";
};
preStart = ''
@ -191,6 +193,14 @@ in
-e 's,protocol="HTTP/1.1",protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${toString cfg.proxy.secure}",' \
'') + ''
${pkg}/conf/server.xml.dist > ${cfg.home}/server.xml
${optionalString cfg.sso.enable ''
install -m660 ${crowdProperties} ${cfg.home}/crowd.properties
${pkgs.replace-secret}/bin/replace-secret \
'@NIXOS_JIRA_CROWD_SSO_PWD@' \
${cfg.sso.applicationPasswordFile} \
${cfg.home}/crowd.properties
''}
'';
serviceConfig = {
@ -204,4 +214,10 @@ in
};
};
};
imports = [
(mkRemovedOptionModule [ "services" "jira" "sso" "applicationPassword" ] ''
Use `applicationPasswordFile` instead!
'')
];
}

View file

@ -264,8 +264,6 @@ def main() -> None:
if installed_version < available_version:
print("updating systemd-boot from %s to %s" % (installed_version, available_version))
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "update"])
else:
print("leaving systemd-boot %s in place (%s is not newer)" % (installed_version, available_version))
mkdir_p("@efiSysMountPoint@/efi/nixos")
mkdir_p("@efiSysMountPoint@/loader/entries")

View file

@ -21,7 +21,7 @@
}:
let
version = "4.2.1";
version = "4.2.2";
libsecp256k1_name =
if stdenv.isLinux then "libsecp256k1.so.0"
@ -37,7 +37,7 @@ let
owner = "spesmilo";
repo = "electrum";
rev = version;
sha256 = "sha256-BoikYSsQZAv8WswIr5nmBsGmjZbTXaLAbdO2QtPvc7c=";
sha256 = "sha256-bFceOu+3SLtD2eY+aSBEn13xJw7a3aVwX39QfAuqVSo=";
postFetch = ''
mv $out ./all
@ -53,7 +53,7 @@ python3.pkgs.buildPythonApplication {
src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "sha256-2SxSTH9P380j2KaCbkXjgmQO7K2z81AG6PMA/EMggXA=";
sha256 = "sha256-ucLLfqmTKO5Qpg+PnmcdQwht7cWMWJoFjQWnDecEtVs=";
};
postUnpack = ''

View file

@ -0,0 +1,251 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "ahash"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
[[package]]
name = "aho-corasick"
version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
dependencies = [
"memchr",
]
[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "crossbeam-channel"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c"
dependencies = [
"cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
dependencies = [
"cfg-if",
"crossbeam-epoch",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d"
dependencies = [
"autocfg",
"cfg-if",
"crossbeam-utils",
"memoffset",
"once_cell",
"scopeguard",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83"
dependencies = [
"cfg-if",
"once_cell",
]
[[package]]
name = "edit-distance"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b"
[[package]]
name = "either"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
[[package]]
name = "hashbrown"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25"
dependencies = [
"ahash",
"autocfg",
"rayon",
"serde",
]
[[package]]
name = "hermit-abi"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "itoa"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
[[package]]
name = "libc"
version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "memoffset"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
dependencies = [
"autocfg",
]
[[package]]
name = "num_cpus"
version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
dependencies = [
"hermit-abi",
"libc",
]
[[package]]
name = "once_cell"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
[[package]]
name = "rayon"
version = "1.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
dependencies = [
"autocfg",
"crossbeam-deque",
"either",
"rayon-core",
]
[[package]]
name = "rayon-core"
version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
dependencies = [
"crossbeam-channel",
"crossbeam-deque",
"crossbeam-utils",
"num_cpus",
]
[[package]]
name = "regex"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.6.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
[[package]]
name = "riti"
version = "0.1.0"
dependencies = [
"edit-distance",
"either",
"hashbrown",
"rayon",
"regex",
"rupantor",
"serde_json",
"stringplus",
]
[[package]]
name = "rupantor"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04eb802986005129b0946dbb4baa420bf14cea547c5ee6b57ba081d9e85f6a4b"
dependencies = [
"serde_json",
"stringplus",
]
[[package]]
name = "ryu"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
[[package]]
name = "scopeguard"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "serde"
version = "1.0.139"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6"
[[package]]
name = "serde_json"
version = "1.0.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
dependencies = [
"itoa",
"ryu",
"serde",
]
[[package]]
name = "stringplus"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9057d3b491a3eee749e52560657c4d93b0badc04fb3fa8dae3c942c5c066f222"

View file

@ -0,0 +1,72 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, rustPlatform
, wrapQtAppsHook
, ibus
, qtbase
, zstd
}:
stdenv.mkDerivation rec {
pname = "openbangla-keyboard";
version = "2.0.0";
src = fetchFromGitHub {
owner = "openbangla";
repo = "openbangla-keyboard";
rev = version;
hash = "sha256-UoLiysaA0Wob/SLBqm36Txqb8k7bwoQ56h8ZufHR74I=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
rustPlatform.rust.cargo
rustPlatform.rust.rustc
rustPlatform.cargoSetupHook
wrapQtAppsHook
];
buildInputs = [
ibus
qtbase
zstd
];
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
postPatch = ''
cp ${./Cargo.lock} Cargo.lock
'';
sourceRoot = "source/${cargoRoot}";
sha256 = "sha256-01MWuUUirsgpoprMArRp3qxKNayPHTkYWk31nXcIC34=";
};
cargoRoot = "src/engine/riti";
postPatch = ''
cp ${./Cargo.lock} ${cargoRoot}/Cargo.lock
substituteInPlace CMakeLists.txt \
--replace "/usr" "$out"
substituteInPlace src/shared/FileSystem.cpp \
--replace "/usr" "$out"
'';
postInstall = ''
mkdir -p $out/bin
ln -s $out/share/openbangla-keyboard/openbangla-gui $out/bin/openbangla-gui
'';
meta = with lib; {
description = "An OpenSource, Unicode compliant Bengali Input Method";
homepage = "https://openbangla.github.io/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ hqurve ];
platforms = platforms.linux;
};
}

View file

@ -1,5 +1,5 @@
{ lib, buildDunePackage, fetchFromGitHub
, ocaml_extlib, ocamlfuse, gapi_ocaml, ocaml_sqlite3
, ocaml_extlib, ocamlfuse, gapi-ocaml, ocaml_sqlite3
, tiny_httpd
, ounit
}:
@ -18,7 +18,7 @@ buildDunePackage rec {
doCheck = true;
checkInputs = [ ounit ];
buildInputs = [ ocaml_extlib ocamlfuse gapi_ocaml ocaml_sqlite3 tiny_httpd ];
buildInputs = [ ocaml_extlib ocamlfuse gapi-ocaml ocaml_sqlite3 tiny_httpd ];
meta = {
inherit (src.meta) homepage;

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, makeWrapper
, runCommand, wrapBintoolsWith, wrapCCWith
{ lib, stdenv, makeWrapper
, runCommand, wrapBintoolsWith, wrapCCWith, autoPatchelfHook
, buildAndroidndk, androidndk, targetAndroidndkPkgs
}:
@ -11,6 +10,9 @@ let
# N.B. The Android NDK uses slightly different LLVM-style platform triples
# than we do. We don't just use theirs because ours are less ambiguous and
# some builds need that clarity.
#
# FIXME:
# There's some dragons here. Build host and target concepts are being mixed up.
ndkInfoFun = { config, ... }: {
x86_64-apple-darwin = {
double = "darwin-x86_64";
@ -21,65 +23,96 @@ let
i686-unknown-linux-android = {
triple = "i686-linux-android";
arch = "x86";
toolchain = "x86";
gccVer = "4.9";
};
x86_64-unknown-linux-android = {
triple = "x86_64-linux-android";
arch = "x86_64";
toolchain = "x86_64";
gccVer = "4.9";
};
armv7a-unknown-linux-androideabi = {
arch = "arm";
triple = "arm-linux-androideabi";
toolchain = "arm-linux-androideabi";
gccVer = "4.9";
};
aarch64-unknown-linux-android = {
arch = "arm64";
triple = "aarch64-linux-android";
toolchain = "aarch64-linux-android";
gccVer = "4.9";
};
}.${config} or
(throw "Android NDK doesn't support ${config}, as far as we know");
buildInfo = ndkInfoFun stdenv.buildPlatform;
hostInfo = ndkInfoFun stdenv.hostPlatform;
targetInfo = ndkInfoFun stdenv.targetPlatform;
prefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config + "-");
inherit (stdenv.targetPlatform) sdkVer;
suffixSalt = lib.replaceStrings ["-" "."] ["_" "_"] stdenv.targetPlatform.config;
# targetInfo.triple is what Google thinks the toolchain should be, this is a little
# different from what we use. We make it four parts to conform with the existing
# standard more properly.
targetConfig = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config);
in
rec {
# Misc tools
binaries = runCommand "ndk-toolchain-binutils" {
pname = "ndk-toolchain-binutils";
binaries = stdenv.mkDerivation {
pname = "${targetConfig}-ndk-toolchain";
inherit (androidndk) version;
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
propagatedBuildInputs = [ androidndk ];
passthru = {
targetPrefix = prefix;
isClang = true; # clang based cc, but bintools ld
};
} ''
mkdir -p $out/bin
dontUnpack = true;
dontBuild = true;
dontStrip = true;
dontConfigure = true;
dontPatch = true;
autoPatchelfIgnoreMissingDeps = true;
installPhase = ''
# https://developer.android.com/ndk/guides/other_build_systems
mkdir -p $out
cp -r ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double} $out/toolchain
find $out/toolchain -type d -exec chmod 777 {} \;
# llvm toolchain
for prog in ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${hostInfo.double}/bin/*; do
ln -s $prog $out/bin/$(basename $prog)
ln -s $prog $out/bin/${prefix}$(basename $prog)
done
if [ ! -d $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer} ]; then
echo "NDK does not contain libraries for SDK version ${sdkVer}";
exit 1
fi
# bintools toolchain
for prog in ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.toolchain}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}/bin/*; do
prog_suffix=$(basename $prog | sed 's/${targetInfo.triple}-//')
ln -s $prog $out/bin/${stdenv.targetPlatform.config}-$prog_suffix
done
ln -vfs $out/toolchain/sysroot/usr/lib $out/lib
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.so $out/lib/
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.a $out/lib/
chmod +w $out/lib/*
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}/*.so $out/lib/
ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}/*.o $out/lib/
# shitty googly wrappers
rm -f $out/bin/${stdenv.targetPlatform.config}-gcc $out/bin/${stdenv.targetPlatform.config}-g++
'';
echo "INPUT(-lc++_static)" > $out/lib/libc++.a
ln -s $out/toolchain/bin $out/bin
ln -s $out/toolchain/${targetInfo.triple}/bin/* $out/bin/
for f in $out/bin/${targetInfo.triple}-*; do
ln -s $f ''${f/${targetInfo.triple}-/${targetConfig}-}
done
for f in $(find $out/toolchain -type d -name ${targetInfo.triple}); do
ln -s $f ''${f/${targetInfo.triple}/${targetConfig}}
done
rm -f $out/bin/${targetConfig}-ld
ln -s $out/bin/lld $out/bin/${targetConfig}-ld
(cd $out/bin;
for tool in llvm-*; do
ln -sf $tool ${targetConfig}-$(echo $tool | sed 's/llvm-//')
ln -sf $tool $(echo $tool | sed 's/llvm-//')
done)
# handle last, as llvm-as is for llvm bytecode
ln -sf $out/bin/${targetInfo.triple}-as $out/bin/${targetConfig}-as
ln -sf $out/bin/${targetInfo.triple}-as $out/bin/as
patchShebangs $out/bin
'';
};
binutils = wrapBintoolsWith {
bintools = binaries;
@ -95,9 +128,16 @@ rec {
libc = targetAndroidndkPkgs.libraries;
extraBuildCommands = ''
echo "-D__ANDROID_API__=${stdenv.targetPlatform.sdkVer}" >> $out/nix-support/cc-cflags
echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
echo "-resource-dir=$(echo ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${hostInfo.double}/lib*/clang/*)" >> $out/nix-support/cc-cflags
echo "--gcc-toolchain=${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.toolchain}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}" >> $out/nix-support/cc-cflags
# Android needs executables linked with -pie since version 5.0
# Use -fPIC for compilation, and link with -pie if no -shared flag used in ldflags
echo "-target ${targetInfo.triple} -fPIC" >> $out/nix-support/cc-cflags
echo "-z,noexecstack -z,relro -z,now" >> $out/nix-support/cc-ldflags
echo 'if [[ ! " $@ " =~ " -shared " ]]; then NIX_LDFLAGS_${suffixSalt}+=" -pie"; fi' >> $out/nix-support/add-flags.sh
echo "-Xclang -mnoexecstack" >> $out/nix-support/cc-cxxflags
if [ ${targetInfo.triple} == arm-linux-androideabi ]; then
# https://android.googlesource.com/platform/external/android-cmake/+/refs/heads/cmake-master-dev/android.toolchain.cmake
echo "--fix-cortex-a8" >> $out/nix-support/cc-ldflags
fi
'';
};
@ -107,10 +147,14 @@ rec {
# cross-compiling packages to wrap incorrectly wrap binaries we don't include
# anyways.
libraries = runCommand "bionic-prebuilt" {} ''
mkdir -p $out
cp -r ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include $out/include
chmod +w $out/include
cp -r ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include/${targetInfo.triple}/* $out/include
ln -s ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/platforms/android-${stdenv.hostPlatform.sdkVer}/arch-${hostInfo.arch}/usr/${if hostInfo.arch == "x86_64" then "lib64" else "lib"} $out/lib
lpath=${buildAndroidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double}/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}
if [ ! -d $lpath ]; then
echo "NDK does not contain libraries for SDK version ${sdkVer} <$lpath>"
exit 1
fi
mkdir -p $out/lib
cp $lpath/*.so $lpath/*.a $out/lib
chmod +w $out/lib/*
cp $lpath/* $out/lib
'';
}

View file

@ -2,36 +2,6 @@
}:
{
"18b" =
let
ndkVersion = "18.1.5063045";
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
includeNDK = true;
inherit ndkVersion;
};
androidComposition = androidenv.composeAndroidPackages {
includeNDK = true;
inherit ndkVersion;
};
in
import ./androidndk-pkgs.nix {
inherit lib;
inherit (buildPackages)
makeWrapper;
inherit (pkgs)
stdenv
runCommand wrapBintoolsWith wrapCCWith;
# buildPackages.foo rather than buildPackages.buildPackages.foo would work,
# but for splicing messing up on infinite recursion for the variants we
# *dont't* use. Using this workaround, but also making a test to ensure
# these two really are the same.
buildAndroidndk = buildAndroidComposition.ndk-bundle;
androidndk = androidComposition.ndk-bundle;
targetAndroidndkPkgs = targetPackages.androidndkPkgs_18b;
};
"21" =
let
ndkVersion = "21.0.6113669";
@ -49,7 +19,7 @@
import ./androidndk-pkgs.nix {
inherit lib;
inherit (buildPackages)
makeWrapper;
makeWrapper autoPatchelfHook;
inherit (pkgs)
stdenv
runCommand wrapBintoolsWith wrapCCWith;
@ -62,4 +32,64 @@
targetAndroidndkPkgs = targetPackages.androidndkPkgs_21;
};
"23b" =
let
ndkVersion = "23.1.7779620";
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
includeNDK = true;
inherit ndkVersion;
};
androidComposition = androidenv.composeAndroidPackages {
includeNDK = true;
inherit ndkVersion;
};
in
import ./androidndk-pkgs.nix {
inherit lib;
inherit (buildPackages)
makeWrapper autoPatchelfHook;
inherit (pkgs)
stdenv
runCommand wrapBintoolsWith wrapCCWith;
# buildPackages.foo rather than buildPackages.buildPackages.foo would work,
# but for splicing messing up on infinite recursion for the variants we
# *dont't* use. Using this workaround, but also making a test to ensure
# these two really are the same.
buildAndroidndk = buildAndroidComposition.ndk-bundle;
androidndk = androidComposition.ndk-bundle;
targetAndroidndkPkgs = targetPackages.androidndkPkgs_23b;
};
"24" =
let
ndkVersion = "24.0.8215888";
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
includeNDK = true;
inherit ndkVersion;
};
androidComposition = androidenv.composeAndroidPackages {
includeNDK = true;
inherit ndkVersion;
};
in
import ./androidndk-pkgs.nix {
inherit lib;
inherit (buildPackages)
makeWrapper autoPatchelfHook;
inherit (pkgs)
stdenv
runCommand wrapBintoolsWith wrapCCWith;
# buildPackages.foo rather than buildPackages.buildPackages.foo would work,
# but for splicing messing up on infinite recursion for the variants we
# *dont't* use. Using this workaround, but also making a test to ensure
# these two really are the same.
buildAndroidndk = buildAndroidComposition.ndk-bundle;
androidndk = androidComposition.ndk-bundle;
targetAndroidndkPkgs = targetPackages.androidndkPkgs_24;
};
}

View file

@ -18,7 +18,7 @@ let
in stdenv.mkDerivation rec {
pname = "purescript";
version = "0.15.2";
version = "0.15.4";
# These hashes can be updated automatically by running the ./update.sh script.
src =
@ -26,12 +26,12 @@ in stdenv.mkDerivation rec {
then
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
sha256 = "06fsq9ynfvfqn3ac5jxdj81lmzd6bh84p7jz5qib31h27iy5aq4h";
sha256 = "0rksc6c98pp48lcavair6apjpgq3s1zz0lhkc59vbz67c8zxc26d";
}
else
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
sha256 = "1p37k6briczw6gvw04idkx734ms1swgrx9sl4hi6xwvxkfp1nm0m";
sha256 = "13p6qsba6kmcsppc3z6vcm3v5c7jxhp10nyvxry4nmj9mkdmjaiy";
};

View file

@ -16,6 +16,7 @@
, xz
, zlib
, zstd
, jemalloc
, follyMobile ? false
}:
@ -50,7 +51,10 @@ stdenv.mkDerivation rec {
libunwind
fmt_8
zstd
];
] ++ lib.optional stdenv.isLinux jemalloc;
# jemalloc headers are required in include/folly/portability/Malloc.h
propagatedBuildInputs = lib.optional stdenv.isLinux jemalloc;
NIX_CFLAGS_COMPILE = [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" "-fpermissive" ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];

View file

@ -1,5 +1,8 @@
{ lib, stdenv, fetchFromGitHub
, autoreconfHook, pkg-config
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, p4est-withMetis ? true, metis
, p4est-sc
}:
@ -31,9 +34,11 @@ stdenv.mkDerivation {
postPatch = ''
sed -i -e "s:\(^\s*ACLOCAL_AMFLAGS.*\)\s@P4EST_SC_AMFLAGS@\s*$:\1 -I ${p4est-sc}/share/aclocal:" Makefile.am
'';
preConfigure = ''
preAutoreconf = ''
echo "2.8.0" > .tarball-version
${if mpiSupport then "unset CC" else ""}
'';
preConfigure = lib.optionalString mpiSupport ''
unset CC
'';
configureFlags = p4est-sc.configureFlags

View file

@ -3,7 +3,7 @@
}:
{ toolsVersion ? "26.1.1"
, platformToolsVersion ? "33.0.1"
, platformToolsVersion ? "33.0.2"
, buildToolsVersions ? [ "32.0.0" ]
, includeEmulator ? false
, emulatorVersion ? "31.3.7"
@ -11,7 +11,7 @@
, includeSources ? false
, includeSystemImages ? false
, systemImageTypes ? [ "google_apis_playstore" ]
, abiVersions ? [ "armeabi-v7a" ]
, abiVersions ? [ "armeabi-v7a" "arm64-v8a" ]
, cmakeVersions ? [ ]
, includeNDK ? false
, ndkVersion ? "24.0.8215888"
@ -181,7 +181,7 @@ rec {
makeNdkBundle = ndkVersion:
import ./ndk-bundle {
inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgsHostHost lib platform-tools stdenv;
package = packages.ndk-bundle.${ndkVersion};
package = packages.ndk-bundle.${ndkVersion} or packages.ndk.${ndkVersion};
};
# All NDK bundles.

View file

@ -12,23 +12,22 @@ deployAndroidPackage {
nativeBuildInputs = [ makeWrapper ]
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
autoPatchelfIgnoreMissingDeps = true;
buildInputs = lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.python2 pkgs.ncurses5 pkgs.zlib pkgs.libcxx.out pkgs.libxml2 ];
buildInputs = lib.optional (os == "linux") [ pkgs.zlib ];
patchInstructions = lib.optionalString (os == "linux") (''
patchShebangs .
# Fix the shebangs of the auto-generated scripts.
substituteInPlace ./build/tools/make_standalone_toolchain.py \
--replace '#!/bin/bash' '#!${pkgs.bash}/bin/bash'
'' + lib.optionalString (builtins.compareVersions (lib.getVersion package) "21" > 0) ''
patch -p1 \
--no-backup-if-mismatch < ${./make_standalone_toolchain.py_18.patch} || true
wrapProgram ./build/tools/make_standalone_toolchain.py --prefix PATH : "${runtime_paths}"
'' + ''
# TODO: allow this stuff
rm -rf docs tests
# Ndk now has a prebuilt toolchains inside, the file layout has changed, we do a symlink
# to still support the old standalone toolchains builds.
if [ -d $out/libexec/android-sdk/ndk ] && [ ! -d $out/libexec/android-sdk/ndk-bundle ]; then
ln -sf $out/libexec/android-sdk/ndk/${package.revision} $out/libexec/android-sdk/ndk-bundle
else
echo "The ndk-bundle layout has changed. The nix expressions have to be updated!"
exit 1
fi
# Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling
if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 ]; then
addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64

View file

@ -1,44 +0,0 @@
diff -Naur android-ndk-r18b/build/tools/make_standalone_toolchain.py android-ndk-r18b-new/build/tools/make_standalone_toolchain.py
--- android-ndk-r18b/build/tools/make_standalone_toolchain.py 2018-10-11 12:49:38.000000000 +0200
+++ android-ndk-r18b-new/build/tools/make_standalone_toolchain.py 2018-11-20 21:55:52.689991420 +0100
@@ -30,7 +30,7 @@
import sys
import tempfile
import textwrap
-
+import subprocess
THIS_DIR = os.path.realpath(os.path.dirname(__file__))
NDK_DIR = os.path.realpath(os.path.join(THIS_DIR, '../..'))
@@ -173,6 +173,7 @@
logger().debug('Copying %s', src_file)
shutil.copy2(src_file, dst_dir)
+ subprocess.check_call(["chmod", "-R", "+w", dst])
def make_clang_scripts(install_dir, triple, api, windows):
"""Creates Clang wrapper scripts.
@@ -365,6 +366,7 @@
install_headers = os.path.join(install_sysroot, 'usr/include')
os.makedirs(os.path.dirname(install_headers))
shutil.copytree(headers, install_headers)
+ subprocess.check_call(["chmod", "-R", "+w", install_path])
arch_headers = os.path.join(sysroot, 'usr/include', triple)
copy_directory_contents(arch_headers, os.path.join(install_headers))
@@ -375,6 +377,7 @@
install_sysroot, 'usr/lib{}'.format(lib_suffix))
if os.path.exists(lib_path):
shutil.copytree(lib_path, lib_install)
+ subprocess.check_call(["chmod", "-R", "+w", install_path])
static_lib_path = os.path.join(sysroot, 'usr/lib', triple)
static_lib_install = os.path.join(install_sysroot, 'usr/lib')
@@ -389,6 +392,7 @@
NDK_DIR, 'prebuilt', 'android-' + arch, 'gdbserver')
gdbserver_install = os.path.join(install_path, 'share', 'gdbserver')
shutil.copytree(gdbserver_path, gdbserver_install)
+ subprocess.check_call(["chmod", "-R", "+w", install_path])
toolchain_lib_dir = os.path.join(gcc_path, 'lib/gcc', triple)
dirs = os.listdir(toolchain_lib_dir)

View file

@ -1241,6 +1241,21 @@
},
"23": {
"google_apis": {
"arm64-v8a": {
"archives": [
{
"os": "all",
"sha1": "2d1ae21b1978e202917b7c6a5f49ab8bc87c6417",
"size": 493891214,
"url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-23_r33.zip"
}
],
"displayName": "Google APIs ARM 64 v8a System Image",
"license": "android-sdk-license",
"name": "system-image-23-google_apis-arm64-v8a",
"path": "system-images/android-23/google_apis/arm64-v8a",
"revision": "23-google_apis-arm64-v8a"
},
"armeabi-v7a": {
"archives": [
{
@ -1663,43 +1678,117 @@
}
}
},
"Tiramisu": {
"33": {
"google_apis_playstore": {
"arm64-v8a": {
"archives": [
{
"os": "macosx",
"sha1": "2b6d4dc0af98b2b4d3ed4ac82b6d8ee0bfe38383",
"size": 1457296537,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-Tiramisu_r02-darwin.zip"
"sha1": "0b850a4f317d7a6abe854a6845705c9ca4437764",
"size": 1492105537,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-33_r05-darwin.zip"
},
{
"os": "linux",
"sha1": "2b6d4dc0af98b2b4d3ed4ac82b6d8ee0bfe38383",
"size": 1457296537,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-Tiramisu_r02-linux.zip"
"sha1": "0b850a4f317d7a6abe854a6845705c9ca4437764",
"size": 1492105537,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-33_r05-linux.zip"
}
],
"displayName": "Google Play ARM 64 v8a System Image",
"license": "android-sdk-arm-dbt-license",
"name": "system-image-Tiramisu-google_apis_playstore-arm64-v8a",
"path": "system-images/android-Tiramisu/google_apis_playstore/arm64-v8a",
"revision": "Tiramisu-google_apis_playstore-arm64-v8a"
"name": "system-image-33-google_apis_playstore-arm64-v8a",
"path": "system-images/android-33/google_apis_playstore/arm64-v8a",
"revision": "33-google_apis_playstore-arm64-v8a"
},
"x86_64": {
"archives": [
{
"os": "all",
"sha1": "2d2fb4c36efa836f348d6acbfc588f9eed70934e",
"size": 1438511715,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-Tiramisu_r02.zip"
"sha1": "ed2931ebef4f7bedff8610254748d6496ce5d3c4",
"size": 1496628942,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-33_r05.zip"
}
],
"displayName": "Google Play Intel x86 Atom_64 System Image",
"license": "android-sdk-preview-license",
"name": "system-image-Tiramisu-google_apis_playstore-x86_64",
"path": "system-images/android-Tiramisu/google_apis_playstore/x86_64",
"revision": "Tiramisu-google_apis_playstore-x86_64"
"name": "system-image-33-google_apis_playstore-x86_64",
"path": "system-images/android-33/google_apis_playstore/x86_64",
"revision": "33-google_apis_playstore-x86_64"
}
}
},
"Tiramisu": {
"android-tv": {
"arm64-v8a": {
"archives": [
{
"os": "all",
"sha1": "4b70bed5ffb28162cdde7852e0597d957910270d",
"size": 840304267,
"url": "https://dl.google.com/android/repository/sys-img/android-tv/arm64-v8a-Tiramisu_r03.zip"
}
],
"displayName": "Android TV ARM 64 v8a System Image",
"license": "android-sdk-license",
"name": "system-image-Tiramisu-android-tv-arm64-v8a",
"path": "system-images/android-Tiramisu/android-tv/arm64-v8a",
"revision": "Tiramisu-android-tv-arm64-v8a"
},
"x86": {
"archives": [
{
"os": "all",
"sha1": "547a24d9dec83e11486ef4ea45848d9fa99f35c2",
"size": 832895525,
"url": "https://dl.google.com/android/repository/sys-img/android-tv/x86-Tiramisu_r03.zip"
}
],
"displayName": "Android TV Intel x86 Atom System Image",
"license": "android-sdk-license",
"name": "system-image-Tiramisu-android-tv-x86",
"path": "system-images/android-Tiramisu/android-tv/x86",
"revision": "Tiramisu-android-tv-x86"
}
}
},
"TiramisuPrivacySandbox": {
"google_apis_playstore": {
"arm64-v8a": {
"archives": [
{
"os": "macosx",
"sha1": "4653d7aa2dbd2629c3afc1c700284de0f7791bb2",
"size": 1514681298,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-TiramisuPrivacySandbox_r05-darwin.zip"
},
{
"os": "linux",
"sha1": "4653d7aa2dbd2629c3afc1c700284de0f7791bb2",
"size": 1514681298,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-TiramisuPrivacySandbox_r05-linux.zip"
}
],
"displayName": "Google Play ARM 64 v8a System Image",
"license": "android-sdk-arm-dbt-license",
"name": "system-image-TiramisuPrivacySandbox-google_apis_playstore-arm64-v8a",
"path": "system-images/android-TiramisuPrivacySandbox/google_apis_playstore/arm64-v8a",
"revision": "TiramisuPrivacySandbox-google_apis_playstore-arm64-v8a"
},
"x86_64": {
"archives": [
{
"os": "all",
"sha1": "2a4ea6ce714155ea8ddfea26cf61ad219f32c02a",
"size": 1519169526,
"url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-TiramisuPrivacySandbox_r05.zip"
}
],
"displayName": "Google Play Intel x86 Atom_64 System Image",
"license": "android-sdk-preview-license",
"name": "system-image-TiramisuPrivacySandbox-google_apis_playstore-x86_64",
"path": "system-images/android-TiramisuPrivacySandbox/google_apis_playstore/x86_64",
"revision": "TiramisuPrivacySandbox-google_apis_playstore-x86_64"
}
}
}
@ -3298,32 +3387,32 @@
"path": "build-tools/32.1.0-rc1",
"revision": "32.1.0-rc1"
},
"33.0.0-rc2": {
"33.0.0": {
"archives": [
{
"os": "windows",
"sha1": "789aa6dfb2155b81e073108c70982f73c890a95b",
"size": 55466255,
"url": "https://dl.google.com/android/repository/830151c9e0c410f6148390f0de30bd349ba91efd.build-tools_r33-rc2-windows.zip"
},
{
"os": "linux",
"sha1": "013f98217b7af4f5677ab1a47e98da18ad57721c",
"size": 57876882,
"url": "https://dl.google.com/android/repository/build-tools_r33-rc2-linux.zip"
"sha1": "c561971600d4ce682b128b0bd5d4ab71c5f2ad35",
"size": 56000182,
"url": "https://dl.google.com/android/repository/build-tools_r33-linux.zip"
},
{
"os": "macosx",
"sha1": "586f8f77847ba3899b7652d6514e8c6a78ab673a",
"size": 59910819,
"url": "https://dl.google.com/android/repository/f8baa248444f0a5aca1119b48e897908a3da49d5.build-tools_r33-rc2-macosx.zip"
"sha1": "3693851532ba9640710d2dd360d85aa5b04c5151",
"size": 60023096,
"url": "https://dl.google.com/android/repository/build-tools_r33-macosx.zip"
},
{
"os": "windows",
"sha1": "f4ef853e5e755ea5ffc50de73a9e420fc76c662e",
"size": 55610532,
"url": "https://dl.google.com/android/repository/build-tools_r33-windows.zip"
}
],
"displayName": "Android SDK Build-Tools 33-rc2",
"license": "android-sdk-preview-license",
"displayName": "Android SDK Build-Tools 33",
"license": "android-sdk-license",
"name": "build-tools",
"path": "build-tools/33.0.0-rc2",
"revision": "33.0.0-rc2"
"path": "build-tools/33.0.0",
"revision": "33.0.0"
}
},
"cmake": {
@ -3625,62 +3714,116 @@
"name": "cmdline-tools",
"path": "cmdline-tools/6.0",
"revision": "6.0"
}
},
"emulator": {
"31.2.9": {
},
"7.0": {
"archives": [
{
"os": "linux",
"sha1": "164b759748b3d2ee2616da74173867b11b18f64f",
"size": 276337192,
"url": "https://dl.google.com/android/repository/emulator-linux_x64-8316981.zip"
},
{
"os": "windows",
"sha1": "2b6768485a8e6492823a9156fa43c55092afd533",
"size": 345298639,
"url": "https://dl.google.com/android/repository/emulator-windows_x64-8316981.zip"
"sha1": "5e7bf2dd563d34917d32f3c5920a85562a795c93",
"size": 114168525,
"url": "https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip"
},
{
"os": "macosx",
"sha1": "af2d950318d8ae8cc516a1401a94f888f615aca6",
"size": 313877066,
"url": "https://dl.google.com/android/repository/emulator-darwin_x64-8316981.zip"
"sha1": "9a663c49dbd3709fc2b7d49db2814b383d811b4a",
"size": 114168511,
"url": "https://dl.google.com/android/repository/commandlinetools-mac-8512546_latest.zip"
},
{
"os": "windows",
"sha1": "1bdd32ac4b9fffea04f5bc341108e8b4fea6f32c",
"size": 114147385,
"url": "https://dl.google.com/android/repository/commandlinetools-win-8512546_latest.zip"
}
],
"displayName": "Android SDK Command-line Tools",
"license": "android-sdk-license",
"name": "cmdline-tools",
"path": "cmdline-tools/7.0",
"revision": "7.0"
}
},
"emulator": {
"31.2.10": {
"archives": [
{
"os": "linux",
"sha1": "1f2c3ddeb2c9ac4feef5946098a0a710d08e9c6d",
"size": 276337904,
"url": "https://dl.google.com/android/repository/emulator-linux_x64-8420304.zip"
},
{
"os": "windows",
"sha1": "206491b5c4e531b2c66dc80402702b9fa1a64c2a",
"size": 345300871,
"url": "https://dl.google.com/android/repository/emulator-windows_x64-8420304.zip"
},
{
"os": "macosx",
"sha1": "677b6a00c145eb8bf4306daeb2231c8efd507177",
"size": 313876814,
"url": "https://dl.google.com/android/repository/emulator-darwin_x64-8420304.zip"
}
],
"displayName": "Android Emulator",
"license": "android-sdk-license",
"name": "emulator",
"path": "emulator",
"revision": "31.2.9"
"revision": "31.2.10"
},
"31.3.7": {
"31.3.8": {
"archives": [
{
"os": "macosx",
"sha1": "0020b44623995a5a9a5b0d114f8fd942e9d3cbed",
"size": 347204784,
"url": "https://dl.google.com/android/repository/emulator-darwin_x64-8408431.zip"
"sha1": "7214e8384c97a7c9875142149d3bf9c940e9b5a0",
"size": 347222379,
"url": "https://dl.google.com/android/repository/emulator-darwin_x64-8598121.zip"
},
{
"os": "linux",
"sha1": "46ba0c398fcd2704bee015c95e44d8f317b7b720",
"size": 293765376,
"url": "https://dl.google.com/android/repository/emulator-linux_x64-8408431.zip"
"sha1": "0f781977a6cc5377b64444121ff75a513841a4fa",
"size": 293782881,
"url": "https://dl.google.com/android/repository/emulator-linux_x64-8598121.zip"
},
{
"os": "windows",
"sha1": "c09a35dd8c7eb7d8c53bf89c86019f5dbcd89b9d",
"size": 380137986,
"url": "https://dl.google.com/android/repository/emulator-windows_x64-8408431.zip"
"sha1": "b4f30bad4e68da41cc9bd44965259b2111a011a1",
"size": 380151866,
"url": "https://dl.google.com/android/repository/emulator-windows_x64-8598121.zip"
}
],
"displayName": "Android Emulator",
"license": "android-sdk-preview-license",
"name": "emulator",
"path": "emulator",
"revision": "31.3.7"
"revision": "31.3.8"
},
"31.3.9": {
"archives": [
{
"os": "macosx",
"sha1": "6e7b549113252728cfe0992d58e8cb1790dce9d6",
"size": 347241742,
"url": "https://dl.google.com/android/repository/emulator-darwin_x64-8700579.zip"
},
{
"os": "linux",
"sha1": "1c1a7ef65476d3de34f19455a0093cb68e8e90f7",
"size": 293801439,
"url": "https://dl.google.com/android/repository/emulator-linux_x64-8700579.zip"
},
{
"os": "windows",
"sha1": "ea834211b199a7fcf6b6758a53c4594d01b44ab9",
"size": 380168712,
"url": "https://dl.google.com/android/repository/emulator-windows_x64-8700579.zip"
}
],
"displayName": "Android Emulator",
"license": "android-sdk-license",
"name": "emulator",
"path": "emulator",
"revision": "31.3.9"
}
},
"extras": {
@ -4523,6 +4666,33 @@
"path": "ndk/23.1.7779620",
"revision": "23.1.7779620"
},
"23.2.8568313": {
"archives": [
{
"os": "macosx",
"sha1": "1fc65d8f6083f3f5cd01e0cf97c6adc10f4f076f",
"size": 982917530,
"url": "https://dl.google.com/android/repository/android-ndk-r23c-darwin.zip"
},
{
"os": "linux",
"sha1": "e5053c126a47e84726d9f7173a04686a71f9a67a",
"size": 724733960,
"url": "https://dl.google.com/android/repository/android-ndk-r23c-linux.zip"
},
{
"os": "windows",
"sha1": "f2c5def76a9de371f27d028864fe301ab4fe0cf8",
"size": 788336993,
"url": "https://dl.google.com/android/repository/android-ndk-r23c-windows.zip"
}
],
"displayName": "NDK (Side by side) 23.2.8568313",
"license": "android-sdk-license",
"name": "ndk",
"path": "ndk/23.2.8568313",
"revision": "23.2.8568313"
},
"24.0.7856742-rc1": {
"archives": [
{
@ -4684,6 +4854,60 @@
"name": "ndk",
"path": "ndk/25.0.8221429",
"revision": "25.0.8221429-rc2"
},
"25.0.8355429-rc3": {
"archives": [
{
"os": "macosx",
"sha1": "224594abb41357c20cb4a9f4a732c484b2e743ba",
"size": 748047157,
"url": "https://dl.google.com/android/repository/android-ndk-r25-beta3-darwin.zip"
},
{
"os": "linux",
"sha1": "79c8db05e20edde0cbb02d2326e7b8405f7eb977",
"size": 510520692,
"url": "https://dl.google.com/android/repository/android-ndk-r25-beta3-linux.zip"
},
{
"os": "windows",
"sha1": "7d2c398045f6bbad03f6fb2f2ba419a2a48ab1e7",
"size": 506142216,
"url": "https://dl.google.com/android/repository/android-ndk-r25-beta3-windows.zip"
}
],
"displayName": "NDK (Side by side) 25.0.8355429",
"license": "android-sdk-preview-license",
"name": "ndk",
"path": "ndk/25.0.8355429",
"revision": "25.0.8355429-rc3"
},
"25.0.8528842-rc4": {
"archives": [
{
"os": "macosx",
"sha1": "d7f344ecc68518a8178d15b1b80e27bc5c69f00d",
"size": 716633626,
"url": "https://dl.google.com/android/repository/android-ndk-r25-beta4-darwin.zip"
},
{
"os": "linux",
"sha1": "d13f688fd286709f0d950c75119ec9fcad8a47ff",
"size": 531018178,
"url": "https://dl.google.com/android/repository/android-ndk-r25-beta4-linux.zip"
},
{
"os": "windows",
"sha1": "668b063c7c535c4f8be52c84acebb5779935203b",
"size": 464031742,
"url": "https://dl.google.com/android/repository/android-ndk-r25-beta4-windows.zip"
}
],
"displayName": "NDK (Side by side) 25.0.8528842",
"license": "android-sdk-preview-license",
"name": "ndk",
"path": "ndk/25.0.8528842",
"revision": "25.0.8528842-rc4"
}
},
"ndk-bundle": {
@ -5381,32 +5605,32 @@
}
},
"platform-tools": {
"33.0.1": {
"33.0.2": {
"archives": [
{
"os": "macosx",
"sha1": "82f7c23e9e4acf6c86991bb23cd5d9f861f7819f",
"size": 13131422,
"url": "https://dl.google.com/android/repository/platform-tools_r33.0.1-darwin.zip"
"sha1": "9b5661e0c18a2e5b6935e2b96bcc7be580cd6dcd",
"size": 13038676,
"url": "https://dl.google.com/android/repository/platform-tools_r33.0.2-darwin.zip"
},
{
"os": "linux",
"sha1": "4792ee4593e8e2395ddb87a3e82d60629eb0e977",
"size": 7449306,
"url": "https://dl.google.com/android/repository/platform-tools_r33.0.1-linux.zip"
"sha1": "6bf4f747ad929b02378b44ce083b4502d26109c7",
"size": 7406632,
"url": "https://dl.google.com/android/repository/platform-tools_r33.0.2-linux.zip"
},
{
"os": "windows",
"sha1": "e91ab59b5ddc5e387c5171b37c3813eaa2fa3846",
"size": 6331279,
"url": "https://dl.google.com/android/repository/platform-tools_r33.0.1-windows.zip"
"sha1": "2d7599f59b54f02c4ecd33d656091a3c1e55ad9c",
"size": 6304111,
"url": "https://dl.google.com/android/repository/platform-tools_r33.0.2-windows.zip"
}
],
"displayName": "Android SDK Platform-Tools",
"license": "android-sdk-license",
"name": "platform-tools",
"path": "platform-tools",
"revision": "33.0.1"
"revision": "33.0.2"
}
},
"platforms": {
@ -5809,6 +6033,21 @@
"path": "platforms/android-32",
"revision": "32"
},
"33": {
"archives": [
{
"os": "all",
"sha1": "298f5800e37f3c089ab0eb58d4f6aef4058b689b",
"size": 67324871,
"url": "https://dl.google.com/android/repository/platform-33_r01.zip"
}
],
"displayName": "Android SDK Platform 33",
"license": "android-sdk-license",
"name": "platforms",
"path": "platforms/android-33",
"revision": "33"
},
"4": {
"archives": [
{
@ -5935,20 +6174,20 @@
"path": "platforms/android-9",
"revision": "9"
},
"Tiramisu": {
"TiramisuPrivacySandbox": {
"archives": [
{
"os": "all",
"sha1": "2ac79862a909392d68d8ad503c45809e725d71f6",
"size": 67290653,
"url": "https://dl.google.com/android/repository/platform-Tiramisu_r02.zip"
"sha1": "8dd74a564f71c8381f5230682c5da291d230cc81",
"size": 67918949,
"url": "https://dl.google.com/android/repository/platform-TiramisuPrivacySandbox_r03.zip"
}
],
"displayName": "Android SDK Platform Tiramisu",
"displayName": "Android SDK Platform TiramisuPrivacySandbox",
"license": "android-sdk-license",
"name": "platforms",
"path": "platforms/android-Tiramisu",
"revision": "Tiramisu"
"path": "platforms/android-TiramisuPrivacySandbox",
"revision": "TiramisuPrivacySandbox"
}
},
"skiaparser": {
@ -6304,6 +6543,21 @@
"name": "sources",
"path": "sources/android-31",
"revision": "31"
},
"32": {
"archives": [
{
"os": "all",
"sha1": "d7195c6de611b99d7ec3565eabe2fd21268b7f98",
"size": 46933291,
"url": "https://dl.google.com/android/repository/sources-32_r01.zip"
}
],
"displayName": "Sources for Android 32",
"license": "android-sdk-license",
"name": "sources",
"path": "sources/android-32",
"revision": "32"
}
},
"tools": {

View file

@ -0,0 +1,20 @@
{ lib, buildDunePackage, dune_3 }:
buildDunePackage rec {
pname = "chrome-trace";
inherit (dune_3) src version;
duneVersion = "3";
dontAddPrefix = true;
preBuild = ''
rm -r vendor/csexp
'';
meta = with lib; {
description = "Chrome trace event generation library";
inherit (dune_3.meta) homepage;
license = licenses.mit;
};
}

View file

@ -1,31 +1,29 @@
{ lib, fetchFromGitHub, buildDunePackage, ocaml
, cryptokit, ocamlnet, ocurl, yojson
, ounit
, ounit2
}:
buildDunePackage rec {
pname = "gapi-ocaml";
version = "0.4.2";
version = "0.4.3";
useDune2 = true;
minimumOCamlVersion = "4.02";
minimalOCamlVersion = "4.02";
src = fetchFromGitHub {
owner = "astrada";
repo = pname;
rev = "v${version}";
sha256 = "sha256-imicHOlNjPHHW/lcWRJmURafYZFe/6J3efKPJcel8J8=";
sha256 = "sha256-V0GB9Bd06IdcI5PDFHGVZ0Y/qi7tTs/4ITqPXUOxCLs=";
};
propagatedBuildInputs = [ cryptokit ocamlnet ocurl yojson ];
doCheck = lib.versionAtLeast ocaml.version "4.04";
checkInputs = [ ounit ];
checkInputs = [ ounit2 ];
meta = {
description = "OCaml client for google services";
homepage = "http://gapi-ocaml.forge.ocamlcore.org";
inherit (src.meta) homepage;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ bennofs ];
};

View file

@ -12,17 +12,21 @@
let params =
if lib.versionAtLeast ocaml.version "4.14"
then {
version = "1.11.3";
sha256 = "sha256-KlMFh05O04I0Xil2B+nL2hUxZw0jaDMUnI23oUwGyhs=";
name = "lsp";
version = "1.12.4";
sha256 = "sha256-kZuYAny8VjWdq+ipEdPSTRcGzqjNBOgXOi0dOwb52EY=";
} else if lib.versionAtLeast ocaml.version "4.13"
then {
name = "jsonrpc";
version = "1.10.5";
sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw=";
} else if lib.versionAtLeast ocaml.version "4.12"
then {
name = "jsonrpc";
version = "1.9.0";
sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh";
} else {
name = "jsonrpc";
version = "1.4.1";
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
}
@ -32,7 +36,7 @@ buildDunePackage rec {
pname = "jsonrpc";
inherit (params) version;
src = fetchurl {
url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/jsonrpc-${version}.tbz";
url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/${params.name}-${version}.tbz";
inherit (params) sha256;
};

View file

@ -13,6 +13,7 @@
, dyn
, re
, stdune
, chrome-trace
, dune_3
, csexp
, pp
@ -40,7 +41,22 @@ buildDunePackage rec {
'';
buildInputs =
if lib.versionAtLeast version "1.10.0" then
if lib.versionAtLeast version "1.12.0" then
[
pp
re
ppx_yojson_conv_lib
octavius
dune-build-info
dune-rpc
omd
cmdliner
ocamlformat-rpc-lib
dyn
stdune
chrome-trace
]
else if lib.versionAtLeast version "1.10.0" then
[
pp
re

View file

@ -1,39 +0,0 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, versiontools
, django
, sampledata
, nose
, pillow
, six
}:
buildPythonPackage rec {
pname = "django-sampledatahelper";
version = "0.5";
# no tests on PyPI
src = fetchFromGitHub {
owner = "kaleidos";
repo = "django-sampledatahelper";
rev = "8576f352ec26a3650f4386a6e1285b723f6aec23"; # no tag
sha256 = "1fx3ql4b9791594zkary19n20x5ra1m1n3pjaya9di1qy64csac4";
};
nativeBuildInputs = [ versiontools ];
propagatedBuildInputs = [ django sampledata ];
checkInputs = [ nose pillow six ];
checkPhase = ''
DJANGO_SETTINGS_MODULE=tests.settings NOSE_EXCLUDE=test_calling_command nosetests -v
'';
meta = {
description = "Helper class for generate sample data for django apps development";
homepage = "https://github.com/kaleidos/django-sampledatahelper";
license = lib.licenses.bsd3;
};
}

View file

@ -1,28 +1,29 @@
{ absl-py
, buildPythonPackage
, chex
, dm-haiku
, fetchFromGitHub
, jaxlib
, lib
, numpy
, pytest-xdist
, pytestCheckHook
, tensorflow
, tensorflow-datasets
, callPackage
}:
buildPythonPackage rec {
pname = "optax";
version = "0.1.1";
version = "0.1.3";
src = fetchFromGitHub {
owner = "deepmind";
repo = pname;
rev = "v${version}";
hash = "sha256-s/BcqzhdfWzR61MStusUPQtuT4+t8NcC5gBGiGggFqw=";
hash = "sha256-XAYztMBQpLBHNuNED/iodbwIMJSN/0GxdmTGQ5jD9Ws=";
};
outputs = [
"out"
"testsout"
];
buildInputs = [ jaxlib ];
propagatedBuildInputs = [
@ -31,24 +32,21 @@ buildPythonPackage rec {
numpy
];
checkInputs = [
dm-haiku
pytest-xdist
pytestCheckHook
tensorflow
tensorflow-datasets
];
postInstall = ''
mkdir $testsout
cp -R examples $testsout/examples
'';
pythonImportsCheck = [
"optax"
];
disabledTestPaths = [
# Requires `flax` which depends on `optax` creating circular dependency.
"optax/_src/equivalence_test.py"
# See https://github.com/deepmind/optax/issues/323.
"examples/lookahead_mnist_test.py"
];
# check in passthru.tests.pytest to escape infinite recursion with flax
doCheck = false;
passthru.tests = {
pytest = callPackage ./tests.nix { };
};
meta = with lib; {
description = "Optax is a gradient processing and optimization library for JAX.";

View file

@ -0,0 +1,35 @@
{ stdenv
, buildPythonPackage
, dm-haiku
, pytest-xdist
, pytestCheckHook
, tensorflow
, tensorflow-datasets
, flax
, optax
}:
buildPythonPackage rec {
pname = "optax-tests";
inherit (optax) version;
src = optax.testsout;
dontBuild = true;
dontInstall = true;
checkInputs = [
dm-haiku
pytest-xdist
pytestCheckHook
tensorflow
tensorflow-datasets
flax
];
disabledTestPaths = [
# See https://github.com/deepmind/optax/issues/323
"examples/lookahead_mnist_test.py"
];
}

View file

@ -8,6 +8,8 @@
, statsmodels
, pytestCheckHook
, geopandas
, scikit-misc
, adjusttext
, mizani }:
buildPythonPackage rec {
@ -34,8 +36,10 @@ buildPythonPackage rec {
];
checkInputs = [
adjusttext
geopandas
pytestCheckHook
scikit-misc
];
preCheck = ''

View file

@ -0,0 +1,45 @@
{ lib
, fetchPypi
, buildPythonPackage
, cython
, gfortran
, pytestCheckHook
, numpy }:
buildPythonPackage rec {
pname = "scikit-misc";
version = "0.1.4";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-93RqA0eBEGPh7PkSHflINXhQA5U8OLW6hPY/xQjCKRE=";
};
postPatch = ''
substituteInPlace pytest.ini \
--replace "--cov --cov-report=xml" ""
'';
nativeBuildInputs = [
gfortran
];
buildInputs = [
cython
numpy
];
# Tests fail because of infinite recursion error
doCheck = false;
pythonImportsCheck = [
"skmisc"
];
meta = with lib; {
description = "Miscellaneous tools for scientific computing";
homepage = "https://github.com/has2k1/scikit-misc";
license = licenses.bsd3;
maintainers = with maintainers; [ onny ];
};
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv, fetchFromGitHub, opam-installer, ocamlPackages }:
stdenv.mkDerivation rec {
pname = "opam2json";
version = "0.2";
src = fetchFromGitHub {
owner = "tweag";
repo = pname;
rev = "v${version}";
sha256 = "fe8bm/V/4r2iNxgbitT2sXBqDHQ0GBSnSUSBg/1aXoI=";
};
buildInputs = with ocamlPackages; [ yojson opam-file-format cmdliner ];
nativeBuildInputs = with ocamlPackages; [ ocaml findlib opam-installer ];
preInstall = ''export PREFIX="$out"'';
meta = with lib; {
platforms = platforms.all;
description = "convert opam file syntax to JSON";
maintainers = [ maintainers.balsoft ];
license = licenses.gpl3;
homepage = "https://github.com/tweag/opam2json";
};
}

View file

@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/zigtools/zls";
license = licenses.mit;
maintainers = with maintainers; [ fortuneteller2k ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,68 @@
{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, openldap
, libkrb5
, libxslt
, autoreconfHook
, pkg-config
, cyrus_sasl
, util-linux
, xmlto
, docbook_xsl
, docbook_xml_dtd_43
}:
stdenv.mkDerivation rec {
pname = "adcli";
version = "0.9.1";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "realmd";
repo = pname;
rev = version;
sha256 = "sha256-Zzt4qgLiJNuSrbtDWuxJEfGL7sWSbqN301q3qXZpn9c=";
};
# https://bugs.gentoo.org/820224
# Without this it produces some weird missing symbol error in glibc
patches = [
(fetchpatch {
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-crypt/adcli/files/adcli-0.9.1-glibc-2.34-resolv.patch?id=01db544de893262e857685e11b33c2a74210181f";
sha256 = "sha256-dZ6dkzxd+0XjY/X9/2IWMan3syvCDGFHiMbxFxMHGFA=";
})
];
postPatch = ''
substituteInPlace tools/Makefile.am \
--replace 'sbin_PROGRAMS' 'bin_PROGRAMS'
substituteInPlace doc/Makefile.am \
--replace 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl' \
'${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl'
function patch_docbook(){
substituteInPlace $1 \
--replace "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \
"${docbook_xml_dtd_43}/xml/dtd/docbook/docbookx.dtd"
}
patch_docbook doc/adcli.xml
patch_docbook doc/adcli-devel.xml
patch_docbook doc/adcli-docs.xml
'';
nativeBuildInputs = [ autoreconfHook pkg-config docbook_xsl ];
buildInputs = [ openldap libkrb5 libxslt cyrus_sasl util-linux xmlto docbook_xsl ];
configureFlags = [ "--disable-debug" ];
meta = with lib; {
homepage = "https://www.freedesktop.org/software/realmd/adcli/adcli.html";
description = "A helper library and tools for Active Directory client operations.";
license = licenses.lgpl21Only;
maintainers = with maintainers; [ SohamG ];
platforms = platforms.linux;
};
}

View file

@ -3,7 +3,7 @@
, fetchurl
, gawk
, enableSSO ? false
, crowdProperties ? null
, makeWrapper
}:
stdenv.mkDerivation rec {
@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-Zog0m8tsx8mDLU1rsW5zhhHgyRmi4JGWuy9DV8yp9nY=";
};
nativeBuildInputs = [ makeWrapper ];
buildPhase = ''
mv conf/server.xml conf/server.xml.dist
ln -sf /run/atlassian-jira/server.xml conf/server.xml
@ -27,10 +29,6 @@ stdenv.mkDerivation rec {
substituteInPlace atlassian-jira/WEB-INF/classes/seraph-config.xml \
--replace com.atlassian.jira.security.login.JiraSeraphAuthenticator \
com.atlassian.jira.security.login.SSOSeraphAuthenticator
'' + lib.optionalString (crowdProperties != null) ''
cat <<EOF > atlassian-jira/WEB-INF/classes/crowd.properties
${crowdProperties}
EOF
'';
installPhase = ''
@ -41,6 +39,6 @@ stdenv.mkDerivation rec {
description = "Proprietary issue tracking product, also providing project management functions";
homepage = "https://www.atlassian.com/software/jira";
license = licenses.unfree;
maintainers = with maintainers; [ fpletz globin ciil megheaiulian techknowlogick ];
maintainers = with maintainers; [ fpletz globin ciil megheaiulian techknowlogick ma27 ];
};
}

View file

@ -2,9 +2,9 @@
buildGoModule rec {
pname = "etcd";
version = "3.4.18";
version = "3.4.19";
vendorSha256 = null;
vendorSha256 = "sha256-ZONIsizxRiwZWRu4y9VzZcCpyBKoa0j3h3JqoMMPGu0=";
doCheck = false;
@ -12,7 +12,7 @@ buildGoModule rec {
owner = "etcd-io";
repo = "etcd";
rev = "v${version}";
sha256 = "sha256-/bXcW5g8mNFEjvfg+1loLFi8+IaWdcTE/lUPsHzEaIo=";
sha256 = "sha256-8X7xTZrZ/AjUgrW9XgD8B7eKFfOulj8WBjXoImAtJoM=";
};
buildPhase = ''

View file

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, cmake, perl
, glib, luajit, openssl, pcre2, pkg-config, sqlite, ragel, icu
, glib, luajit, openssl, pcre, pkg-config, sqlite, ragel, icu
, hyperscan, jemalloc, blas, lapack, lua, libsodium
, withBlas ? true
, withHyperscan ? stdenv.isx86_64
@ -23,12 +23,14 @@ stdenv.mkDerivation rec {
hardeningEnable = [ "pie" ];
nativeBuildInputs = [ cmake pkg-config perl ];
buildInputs = [ glib openssl pcre2 sqlite ragel icu jemalloc libsodium ]
buildInputs = [ glib openssl pcre sqlite ragel icu jemalloc libsodium ]
++ lib.optional withHyperscan hyperscan
++ lib.optionals withBlas [ blas lapack ]
++ lib.optional withLuaJIT luajit ++ lib.optional (!withLuaJIT) lua;
cmakeFlags = [
# pcre2 jit seems to cause crashes: https://github.com/NixOS/nixpkgs/pull/181908
"-DENABLE_PCRE2=OFF"
"-DDEBIAN_BUILD=ON"
"-DRUNDIR=/run/rspamd"
"-DDBDIR=/var/lib/rspamd"

View file

@ -0,0 +1,30 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "fzf-obc";
version = "1.3.0";
src = fetchFromGitHub {
owner = "rockandska";
repo = pname;
rev = version;
sha256 = "sha256-KIAlDpt1Udl+RLp3728utgQ9FCjZz/OyoG92MOJmgPI=";
};
dontBuild = true;
installPhase = ''
mkdir -p $out/share/fzf-obc/{bin,lib/fzf-obc,plugins/{kill,gradle}}
install -m644 bin/* $out/share/fzf-obc/bin
install -m644 lib/fzf-obc/* $out/share/fzf-obc/lib/fzf-obc
install -m644 plugins/kill/* $out/share/fzf-obc/plugins/kill
install -m644 plugins/gradle/* $out/share/fzf-obc/plugins/gradle
'';
meta = with lib; {
homepage = "https://fzf-obc.readthedocs.io";
description = "Completion script adding fzf over all know bash completion functions";
license = licenses.unfree;
maintainers = with maintainers; [ loicreynier ];
};
}

View file

@ -20,12 +20,12 @@ buildPythonPackage rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2022.6.29";
version = "2022.07.18";
src = fetchPypi {
inherit pname;
version = builtins.replaceStrings [ ".0" ] [ "." ] version;
sha256 = "sha256-X7+scv0DXRG8JpPl0c1pM7G8BxL3QvUIKiYXA4ELtck=";
sha256 = "sha256-DnuB/GrI0bfT//p5+QRMpBY3hEIlgsmjWTMF2ipp7AI=";
};
propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];

View file

@ -214,6 +214,8 @@ with pkgs;
quickemu = callPackage ../development/quickemu { };
adcli = callPackage ../os-specific/linux/adcli { };
aether = callPackage ../applications/networking/aether { };
alda = callPackage ../development/interpreters/alda { };
@ -2672,9 +2674,10 @@ with pkgs;
pkgs_i686 = pkgsi686Linux;
};
androidndkPkgs = androidndkPkgs_18b;
androidndkPkgs_18b = (callPackage ../development/androidndk-pkgs {})."18b";
androidndkPkgs = androidndkPkgs_21;
androidndkPkgs_21 = (callPackage ../development/androidndk-pkgs {})."21";
androidndkPkgs_23b = (callPackage ../development/androidndk-pkgs {})."23b";
androidndkPkgs_24 = (callPackage ../development/androidndk-pkgs {})."24";
androidsdk_9_0 = androidenv.androidPkgs_9_0.androidsdk;
@ -3746,6 +3749,8 @@ with pkgs;
fzf = callPackage ../tools/misc/fzf { };
fzf-obc = callPackage ../shells/bash/fzf-obc { };
fzf-zsh = callPackage ../shells/zsh/fzf-zsh { };
fzy = callPackage ../tools/misc/fzy { };
@ -9186,6 +9191,8 @@ with pkgs;
openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { jre = pkgs.jre_headless; };
openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { jre = pkgs.jre_headless; };
openbangla-keyboard = libsForQt5.callPackage ../applications/misc/openbangla-keyboard { };
openboard = libsForQt5.callPackage ../applications/graphics/openboard { };
opencc = callPackage ../tools/text/opencc { };
@ -13947,6 +13954,8 @@ with pkgs;
opam-installer = callPackage ../development/tools/ocaml/opam/installer.nix { };
opam2json = callPackage ../development/tools/ocaml/opam2json { };
wrapWatcom = callPackage ../development/compilers/open-watcom/wrapper.nix { };
open-watcom-v2-unwrapped = callPackage ../development/compilers/open-watcom/v2.nix { };
open-watcom-v2 = wrapWatcom open-watcom-v2-unwrapped { };

View file

@ -181,6 +181,8 @@ let
checkseum = callPackage ../development/ocaml-modules/checkseum { };
chrome-trace = callPackage ../development/ocaml-modules/chrome-trace { };
cil = callPackage ../development/ocaml-modules/cil { };
cmdliner_1_0 = callPackage ../development/ocaml-modules/cmdliner/1_0.nix { };
@ -549,7 +551,7 @@ let
dypgen = callPackage ../development/ocaml-modules/dypgen { };
gapi_ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
gapi-ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
gen_js_api = callPackage ../development/ocaml-modules/gen_js_api { };

View file

@ -55,6 +55,7 @@ mapAliases ({
diff_cover = diff-cover; # added 2021-07-02
discogs_client = discogs-client; # added 2021-07-02
djangorestframework-jwt = drf-jwt; # added 2021-07-20
django-sampledatahelper = throw "django-sampledatahelper was removed because it is no longer compatible to latest Django version"; # added 2022-07-18
django_2 = throw "Django 2 has reached it's projected EOL in 2022/04 and has therefore been removed."; # added 2022-03-05
django_appconf = django-appconf; # added 2022-03-03
django_environ = django-environ; # added 2021-12-25

View file

@ -2471,8 +2471,6 @@ in {
django-reversion = callPackage ../development/python-modules/django-reversion { };
django-sampledatahelper = callPackage ../development/python-modules/django-sampledatahelper { };
django-sesame = callPackage ../development/python-modules/django-sesame { };
django_silk = callPackage ../development/python-modules/django_silk { };
@ -9577,6 +9575,8 @@ in {
scikit-learn-extra = callPackage ../development/python-modules/scikit-learn-extra { };
scikit-misc = callPackage ../development/python-modules/scikit-misc { };
scikit-optimize = callPackage ../development/python-modules/scikit-optimize { };
scikits-odes = callPackage ../development/python-modules/scikits-odes { };