mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-21 22:43:01 +00:00
Merge master into staging-next
This commit is contained in:
commit
653bcc0ea9
@ -1076,6 +1076,9 @@ benchmark component.
|
||||
`disableLibraryProfiling drv`
|
||||
: Sets the `enableLibraryProfiling` argument to `false` for `drv`.
|
||||
|
||||
`disableParallelBuilding drv`
|
||||
: Sets the `enableParallelBuilding` argument to `false` for `drv`.
|
||||
|
||||
#### Library functions in the Haskell package sets {#haskell-package-set-lib-functions}
|
||||
|
||||
Some library functions depend on packages from the Haskell package sets. Thus they are
|
||||
|
@ -535,7 +535,7 @@ checkConfigError 'A submoduleWith option is declared multiple times with conflic
|
||||
|
||||
# _type check
|
||||
checkConfigError 'Expected a module, but found a value of type .*"flake".*, while trying to load a module into .*/module-imports-_type-check.nix' config.ok.config ./module-imports-_type-check.nix
|
||||
checkConfigOutput '^true$' "$@" config.enable ./declare-enable.nix ./define-enable-with-top-level-mkIf.nix
|
||||
checkConfigOutput '^true$' config.enable ./declare-enable.nix ./define-enable-with-top-level-mkIf.nix
|
||||
checkConfigError 'Expected a module, but found a value of type .*"configuration".*, while trying to load a module into .*/import-configuration.nix.' config ./import-configuration.nix
|
||||
checkConfigError 'please only import the modules that make up the configuration' config ./import-configuration.nix
|
||||
|
||||
|
@ -23800,6 +23800,13 @@
|
||||
githubId = 1108325;
|
||||
name = "Théo Zimmermann";
|
||||
};
|
||||
zimward = {
|
||||
name = "zimward";
|
||||
github = "zimward";
|
||||
githubId = 96021122;
|
||||
matrix = "@memoryfragmentation:matrix.org";
|
||||
keys = [ { fingerprint = "CBF7 FA5E F4B5 8B68 5977 3E3E 4CAC 61D6 A482 FCD9"; } ];
|
||||
};
|
||||
zlepper = {
|
||||
name = "Rasmus Hansen";
|
||||
github = "zlepper";
|
||||
|
@ -58,7 +58,7 @@
|
||||
let
|
||||
cfg = config.boot.initrd.systemd;
|
||||
in
|
||||
lib.mkIf cfg.tpm2.enable {
|
||||
lib.mkIf (cfg.enable && cfg.tpm2.enable) {
|
||||
boot.initrd.systemd.additionalUpstreamUnits = [
|
||||
"tpm2.target"
|
||||
"systemd-tpm2-setup-early.service"
|
||||
|
@ -44,17 +44,19 @@ buildDotnetModule rec {
|
||||
gm convert $src/GalaxyBudsClient/Resources/icon_white.ico $out/share/icons/hicolor/256x256/apps/${meta.mainProgram}.png
|
||||
'';
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = meta.mainProgram;
|
||||
exec = meta.mainProgram;
|
||||
icon = meta.mainProgram;
|
||||
desktopName = meta.mainProgram;
|
||||
genericName = "Galaxy Buds Client";
|
||||
comment = meta.description;
|
||||
type = "Application";
|
||||
categories = [ "Settings" ];
|
||||
startupNotify = true;
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = meta.mainProgram;
|
||||
exec = meta.mainProgram;
|
||||
icon = meta.mainProgram;
|
||||
desktopName = meta.mainProgram;
|
||||
genericName = "Galaxy Buds Client";
|
||||
comment = meta.description;
|
||||
type = "Application";
|
||||
categories = [ "Settings" ];
|
||||
startupNotify = true;
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
mainProgram = "GalaxyBudsClient";
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "texstudio";
|
||||
version = "4.8.3";
|
||||
version = "4.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "texstudio-org";
|
||||
repo = "texstudio";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-/8Y8hz/rqKc5yZ/pdfy6gikufoSx0au3niv2r7o5cRc=";
|
||||
hash = "sha256-gGL9eM0OsUg34GXFsz5LJ738WSl8L8mGfOcZZPNceT4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -11,18 +11,20 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
type = "Application";
|
||||
name = pname;
|
||||
desktopName = "Conduktor";
|
||||
genericName = meta.description;
|
||||
exec = pname;
|
||||
icon = fetchurl {
|
||||
url = "https://github.com/conduktor/builds/raw/v${version}/.github/resources/Conduktor.png";
|
||||
sha256 = "0s7p74qclvac8xj2m22gfxx5m2c7cf0nqpk5sb049p2wvryhn2j4";
|
||||
};
|
||||
comment = "A beautiful and fully-featured desktop client for Apache Kafka";
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
type = "Application";
|
||||
name = pname;
|
||||
desktopName = "Conduktor";
|
||||
genericName = meta.description;
|
||||
exec = pname;
|
||||
icon = fetchurl {
|
||||
url = "https://github.com/conduktor/builds/raw/v${version}/.github/resources/Conduktor.png";
|
||||
sha256 = "0s7p74qclvac8xj2m22gfxx5m2c7cf0nqpk5sb049p2wvryhn2j4";
|
||||
};
|
||||
comment = "A beautiful and fully-featured desktop client for Apache Kafka";
|
||||
})
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wthrr";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ttytm";
|
||||
repo = "wthrr-the-weathercrab";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3bWO2Gl8/B2p4k/6QhlT46RvyMJJs7WkVcX35vWN2Fk=";
|
||||
hash = "sha256-8o84FFdcEPRtbsxWCc97tTGGownxlhpIM71GiBRT6uM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-8Uy+8UpCQyLaLsulpgC1w2XI9aqj2P5ebBlXqpuDIc4=";
|
||||
cargoHash = "sha256-gHvPz8DZ6wSfMCzh8vx7Wv8pfP3P7p5EeRCTo4b30cw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
@ -50,7 +50,7 @@ let
|
||||
# https://mozilla.github.io/policy-templates/
|
||||
, extraPolicies ? {}
|
||||
, extraPoliciesFiles ? []
|
||||
, libName ? browser.libName or "firefox" # Important for tor package or the like
|
||||
, libName ? browser.libName or applicationName # Important for tor package or the like
|
||||
, nixExtensions ? null
|
||||
}:
|
||||
|
||||
|
@ -31,7 +31,6 @@
|
||||
, rnnoise
|
||||
, microsoft-gsl
|
||||
, boost
|
||||
, wayland
|
||||
, libicns
|
||||
, darwin
|
||||
}:
|
||||
@ -46,13 +45,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kotatogram-desktop";
|
||||
version = "0-unstable-2024-09-01";
|
||||
version = "0-unstable-2024-09-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kotatogram";
|
||||
repo = "kotatogram-desktop";
|
||||
rev = "e30c1857bf38c354467f4e6a2a37b1252b4e28e6";
|
||||
hash = "sha256-kmJeqaDAVKhMWwcazy+gGB+55Kao67RJrlLvZQ+AtqY=";
|
||||
rev = "0581eb6219343b3cfcbb81124b372df1039b7568";
|
||||
hash = "sha256-rvn8GZmHdMkVutLUe/LmUNIawlb9VgU3sYhPwZ2MWsI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -114,7 +113,6 @@ stdenv.mkDerivation rec {
|
||||
libpulseaudio
|
||||
hunspell
|
||||
jemalloc
|
||||
wayland
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
|
||||
Cocoa
|
||||
CoreFoundation
|
||||
|
@ -20,14 +20,14 @@
|
||||
let
|
||||
pname = "qownnotes";
|
||||
appname = "QOwnNotes";
|
||||
version = "24.9.7";
|
||||
version = "24.9.8";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
||||
hash = "sha256-n5Il8DnEK6emZANv6IMUpaEsHZ/hoPl4jNaXCuo7X5g=";
|
||||
hash = "sha256-G5PLz1GzjfPM5tj3rtwJt4hR3v+oSq2bVr/llTSFbNk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,17 +1,29 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, intltool
|
||||
, gtk3, glib, curl, goocanvas2, gpsd
|
||||
, hamlib, wrapGAppsHook3
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
pkg-config,
|
||||
intltool,
|
||||
autoreconfHook,
|
||||
gtk3,
|
||||
glib,
|
||||
curl,
|
||||
goocanvas2,
|
||||
gpsd,
|
||||
hamlib,
|
||||
wrapGAppsHook3,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.2.1";
|
||||
in stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gpredict";
|
||||
inherit version;
|
||||
version = "2.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/csete/gpredict/releases/download/v${version}/gpredict-${version}.tar.bz2";
|
||||
sha256 = "0hwf97kng1zy8rxyglw04x89p0bg07zq30hgghm20yxiw2xc8ng7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "csete";
|
||||
repo = "gpredict";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+hgjImfT3nWMBYwde7+KC/hzd84pwQbpoJvaJSNG4E8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -22,12 +34,32 @@ in stdenv.mkDerivation {
|
||||
url = "https://github.com/csete/gpredict/commit/c565bb3d48777bfe17114b5d01cd81150521f056.patch";
|
||||
sha256 = "1jhy9hpqlachq32bkij60q3dxkgi1kkr80rm29jjxqpmambf406a";
|
||||
})
|
||||
# Updates URLs for TLE files
|
||||
# https://github.com/csete/gpredict/pull/305
|
||||
(fetchpatch {
|
||||
name = "TLE-urls.patch";
|
||||
url = "https://github.com/csete/gpredict/commit/8f60f856921e8ee143cd6e2d34a9183778cb0fbf.patch";
|
||||
hash = "sha256-X/nKrqh5sjxDMLhA9LQek8AsJFqhvK/k8Ep3ug/0rMI=";
|
||||
})
|
||||
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config intltool wrapGAppsHook3 ];
|
||||
buildInputs = [ curl glib gtk3 goocanvas2 gpsd hamlib ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
intltool
|
||||
wrapGAppsHook3
|
||||
autoreconfHook
|
||||
];
|
||||
buildInputs = [
|
||||
curl
|
||||
glib
|
||||
gtk3
|
||||
goocanvas2
|
||||
gpsd
|
||||
hamlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Real time satellite tracking and orbit prediction";
|
||||
mainProgram = "gpredict";
|
||||
longDescription = ''
|
||||
@ -37,9 +69,12 @@ in stdenv.mkDerivation {
|
||||
well. Gpredict uses the SGP4/SDP4 algorithms, which are compatible with the
|
||||
NORAD Keplerian elements.
|
||||
'';
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
license = lib.licenses.gpl2Only;
|
||||
platforms = lib.platforms.linux;
|
||||
homepage = "http://gpredict.oz9aec.net/";
|
||||
maintainers = [ maintainers.markuskowa maintainers.cmcdragonkai ];
|
||||
maintainers = with lib.maintainers; [
|
||||
markuskowa
|
||||
cmcdragonkai
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -26,13 +26,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "stellarium";
|
||||
version = "24.2";
|
||||
version = "24.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Stellarium";
|
||||
repo = "stellarium";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-tqyLwlf8hugixZSsFCZPTtchO3VXk3m/nX1kuDoLOAY=";
|
||||
hash = "sha256-shDp2tCOynMiEuTSx4TEK8V9h3EsMDq+kkZFhldrinM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -33,14 +33,16 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
comment = "iNavFlight configuration tool";
|
||||
desktopName = "iNav Configurator";
|
||||
genericName = "Flight controller configuration tool";
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
comment = "iNavFlight configuration tool";
|
||||
desktopName = "iNav Configurator";
|
||||
genericName = "Flight controller configuration tool";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "INav flight control system configuration tool";
|
||||
|
@ -112,8 +112,13 @@ rustPlatform.buildRustPackage rec {
|
||||
};
|
||||
|
||||
tests = {
|
||||
test = nixosTests.terminal-emulators.rio;
|
||||
version = testers.testVersion { package = rio; };
|
||||
} // lib.optionalAttrs stdenv.buildPlatform.isLinux {
|
||||
# FIXME: Restrict test execution inside nixosTests for Linux devices as ofborg
|
||||
# 'passthru.tests' nixosTests are failing on Darwin architectures.
|
||||
#
|
||||
# Ref: https://github.com/NixOS/nixpkgs/issues/345825
|
||||
test = nixosTests.terminal-emulators.rio;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ghorg";
|
||||
version = "1.10.0";
|
||||
version = "1.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gabrie30";
|
||||
repo = "ghorg";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-MZGpH8fvSERSMUxGa1JX4mb8d/p3aDztgRH1FQA8f/Y=";
|
||||
sha256 = "sha256-tsR7cBpDa311rLI1CTXD2LLl3j2PxkBeQsjkUP99iIo=";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "git-cliff";
|
||||
version = "2.6.0";
|
||||
version = "2.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "orhun";
|
||||
repo = "git-cliff";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GRvZ9jdooduFylTGgUQNjdnD2Aa+jT5faV0/c3GBpqw=";
|
||||
hash = "sha256-le/E+26N/SEam9Rvo2xzB2cFly65FO0RA+Xvh9NOSfE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-vgVTHTEKfjWJzxDQ5w0dwp9qxyN5sgbBseXHN25bx9o=";
|
||||
cargoHash = "sha256-QC/7MctcfGWQpSSz/mS6czHh37llJl7aWJgyaa/WvB0=";
|
||||
|
||||
# attempts to run the program on .git in src which is not deterministic
|
||||
doCheck = false;
|
||||
|
88
pkgs/by-name/at/atlassian-plugin-sdk/package.nix
Normal file
88
pkgs/by-name/at/atlassian-plugin-sdk/package.nix
Normal file
@ -0,0 +1,88 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
makeWrapper,
|
||||
jdk11,
|
||||
atlassian-plugin-sdk,
|
||||
testers,
|
||||
writeShellScript,
|
||||
common-updater-scripts,
|
||||
curl,
|
||||
jq,
|
||||
yq,
|
||||
}:
|
||||
|
||||
let
|
||||
mavenGroupIdUrl = "https://packages.atlassian.com/maven/public/com/atlassian/amps";
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atlassian-plugin-sdk";
|
||||
version = "9.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${mavenGroupIdUrl}/atlassian-plugin-sdk/${version}/atlassian-plugin-sdk-${version}.tar.gz";
|
||||
hash = "sha256-sEAe1eif9qXvIOu8RfZ4MWngEO5yCjU74g4Crd85J3Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ jdk11 ];
|
||||
|
||||
unpackPhase = "tar -xzf $src";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -r atlassian-plugin-sdk-${version}/* $out
|
||||
rm $out/bin/*.bat
|
||||
|
||||
for file in "$out"/bin/*; do
|
||||
wrapProgram $file --set JAVA_HOME "${jdk11}"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
||||
package = atlassian-plugin-sdk;
|
||||
command = "atlas-version";
|
||||
version = "atlassian-plugin-sdk-${version}";
|
||||
};
|
||||
|
||||
updateScript = writeShellScript "update-atlassian-plugin-sdk" ''
|
||||
set -o errexit
|
||||
export PATH="${
|
||||
lib.makeBinPath [
|
||||
curl
|
||||
jq
|
||||
yq
|
||||
common-updater-scripts
|
||||
]
|
||||
}:$PATH"
|
||||
|
||||
NEW_VERSION=$(curl -s ${mavenGroupIdUrl}/atlassian-plugin-sdk/maven-metadata.xml | xq -r '.metadata.versioning.latest')
|
||||
|
||||
if [[ "${version}" = "$NEW_VERSION" ]]; then
|
||||
echo "The new version same as the old version."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
DOWNLOAD_URL="${mavenGroupIdUrl}/atlassian-plugin-sdk/${version}/atlassian-plugin-sdk-$NEW_VERSION.tar.gz"
|
||||
NIX_HASH=$(nix hash to-sri sha256:$(nix-prefetch-url $DOWNLOAD_URL))
|
||||
|
||||
update-source-version "atlassian-plugin-sdk" "$NEW_VERSION" "$NIX_HASH" "$DOWNLOAD_URL"
|
||||
'';
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Atlassian Plugin SDK";
|
||||
homepage = "https://developer.atlassian.com/server/framework/atlassian-sdk/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ pathob ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "atlas-mvn";
|
||||
};
|
||||
}
|
228
pkgs/by-name/at/attic-client/Cargo.lock
generated
228
pkgs/by-name/at/attic-client/Cargo.lock
generated
@ -92,6 +92,12 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anes"
|
||||
version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
|
||||
|
||||
[[package]]
|
||||
name = "anstream"
|
||||
version = "0.6.14"
|
||||
@ -231,11 +237,13 @@ dependencies = [
|
||||
"base64 0.22.1",
|
||||
"bytes",
|
||||
"cc",
|
||||
"criterion",
|
||||
"cxx",
|
||||
"cxx-build",
|
||||
"digest",
|
||||
"displaydoc",
|
||||
"ed25519-compact",
|
||||
"fastcdc",
|
||||
"futures",
|
||||
"hex",
|
||||
"lazy_static",
|
||||
@ -250,7 +258,6 @@ dependencies = [
|
||||
"sha2",
|
||||
"tempfile",
|
||||
"tokio",
|
||||
"tokio-test",
|
||||
"version-compare",
|
||||
"wildmatch",
|
||||
"xdg",
|
||||
@ -309,7 +316,6 @@ dependencies = [
|
||||
"digest",
|
||||
"displaydoc",
|
||||
"enum-as-inner",
|
||||
"fastcdc",
|
||||
"futures",
|
||||
"hex",
|
||||
"http-body-util",
|
||||
@ -327,7 +333,6 @@ dependencies = [
|
||||
"serde_with",
|
||||
"sha2",
|
||||
"tokio",
|
||||
"tokio-test",
|
||||
"tokio-util",
|
||||
"toml",
|
||||
"tower-http",
|
||||
@ -1050,6 +1055,12 @@ dependencies = [
|
||||
"either",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cast"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.1.13"
|
||||
@ -1088,6 +1099,33 @@ dependencies = [
|
||||
"windows-targets 0.52.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ciborium"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
|
||||
dependencies = [
|
||||
"ciborium-io",
|
||||
"ciborium-ll",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ciborium-io"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
|
||||
|
||||
[[package]]
|
||||
name = "ciborium-ll"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
|
||||
dependencies = [
|
||||
"ciborium-io",
|
||||
"half",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.4"
|
||||
@ -1307,6 +1345,44 @@ dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "criterion"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
|
||||
dependencies = [
|
||||
"anes",
|
||||
"cast",
|
||||
"ciborium",
|
||||
"clap",
|
||||
"criterion-plot",
|
||||
"futures",
|
||||
"is-terminal",
|
||||
"itertools 0.10.5",
|
||||
"num-traits",
|
||||
"once_cell",
|
||||
"oorandom",
|
||||
"plotters",
|
||||
"rayon",
|
||||
"regex",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"tinytemplate",
|
||||
"tokio",
|
||||
"walkdir",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "criterion-plot"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
|
||||
dependencies = [
|
||||
"cast",
|
||||
"itertools 0.10.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.5.13"
|
||||
@ -1316,6 +1392,25 @@ dependencies = [
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
|
||||
dependencies = [
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-epoch"
|
||||
version = "0.9.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
|
||||
dependencies = [
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-queue"
|
||||
version = "0.3.11"
|
||||
@ -1331,6 +1426,12 @@ version = "0.8.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
|
||||
|
||||
[[package]]
|
||||
name = "crunchy"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
|
||||
|
||||
[[package]]
|
||||
name = "crypto-bigint"
|
||||
version = "0.4.9"
|
||||
@ -1698,6 +1799,11 @@ name = "fastcdc"
|
||||
version = "3.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a71061d097bfa9a5a4d2efdec57990d9a88745020b365191d37e48541a1628f2"
|
||||
dependencies = [
|
||||
"async-stream",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
@ -1956,6 +2062,16 @@ dependencies = [
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "half"
|
||||
version = "2.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crunchy",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.12.3"
|
||||
@ -2388,12 +2504,32 @@ version = "2.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
|
||||
|
||||
[[package]]
|
||||
name = "is-terminal"
|
||||
version = "0.4.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "is_terminal_polyfill"
|
||||
version = "1.70.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.10.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
|
||||
dependencies = [
|
||||
"either",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.12.1"
|
||||
@ -2642,8 +2778,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nix-base32"
|
||||
version = "0.1.2-alpha.0"
|
||||
source = "git+https://github.com/zhaofengli/nix-base32.git?rev=b850c6e9273d1c39bd93abb704a53345f5be92eb#b850c6e9273d1c39bd93abb704a53345f5be92eb"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d2628953ed836273ee4262e3708a8ef63ca38bd8a922070626eef7f9e5d8d536"
|
||||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
@ -2776,6 +2913,12 @@ version = "1.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||
|
||||
[[package]]
|
||||
name = "oorandom"
|
||||
version = "11.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9"
|
||||
|
||||
[[package]]
|
||||
name = "openssl-probe"
|
||||
version = "0.1.5"
|
||||
@ -3002,6 +3145,34 @@ version = "0.3.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
|
||||
|
||||
[[package]]
|
||||
name = "plotters"
|
||||
version = "0.3.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
"plotters-backend",
|
||||
"plotters-svg",
|
||||
"wasm-bindgen",
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "plotters-backend"
|
||||
version = "0.3.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7"
|
||||
|
||||
[[package]]
|
||||
name = "plotters-svg"
|
||||
version = "0.3.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705"
|
||||
dependencies = [
|
||||
"plotters-backend",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "portable-atomic"
|
||||
version = "1.6.0"
|
||||
@ -3088,7 +3259,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"itertools",
|
||||
"itertools 0.12.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.66",
|
||||
@ -3168,6 +3339,26 @@ dependencies = [
|
||||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
|
||||
dependencies = [
|
||||
"either",
|
||||
"rayon-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon-core"
|
||||
version = "1.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
|
||||
dependencies = [
|
||||
"crossbeam-deque",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.4.1"
|
||||
@ -4069,7 +4260,7 @@ version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
|
||||
dependencies = [
|
||||
"itertools",
|
||||
"itertools 0.12.1",
|
||||
"nom",
|
||||
"unicode_categories",
|
||||
]
|
||||
@ -4459,6 +4650,16 @@ dependencies = [
|
||||
"time-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinytemplate"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinyvec"
|
||||
version = "1.6.0"
|
||||
@ -4546,19 +4747,6 @@ dependencies = [
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-test"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7"
|
||||
dependencies = [
|
||||
"async-stream",
|
||||
"bytes",
|
||||
"futures-core",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-util"
|
||||
version = "0.7.11"
|
||||
|
@ -11,13 +11,13 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "attic";
|
||||
version = "0-unstable-2024-08-19";
|
||||
version = "0-unstable-2024-10-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zhaofengli";
|
||||
repo = "attic";
|
||||
rev = "acf3c351f8de47c6857f31948ab253f9c7ce2a6f";
|
||||
hash = "sha256-jcY81r8PdMQ9dCGhT0YLZzxPj3kQJXyWCmvQLXbR1EI=";
|
||||
rev = "61ebdef2e263c091f24807b07701be5cb8068dea";
|
||||
hash = "sha256-whgxjoDF7aey3xWy2b9Dp+NHsszK6By+raEbygcSU6w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -34,9 +34,6 @@ rustPlatform.buildRustPackage {
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"nix-base32-0.1.2-alpha.0" = "sha256-wtPWGOamy3+ViEzCxMSwBcoR4HMMD0t8eyLwXfCDFdo=";
|
||||
};
|
||||
};
|
||||
cargoBuildFlags = lib.concatMapStrings (c: "-p ${c} ") crates;
|
||||
|
||||
@ -56,6 +53,8 @@ rustPlatform.buildRustPackage {
|
||||
fi
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multi-tenant Nix Binary Cache";
|
||||
homepage = "https://github.com/zhaofengli/attic";
|
||||
|
40
pkgs/by-name/at/attic-client/update.sh
Executable file
40
pkgs/by-name/at/attic-client/update.sh
Executable file
@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p wget nix-prefetch-github jq coreutils
|
||||
|
||||
# shellcheck shell=bash
|
||||
|
||||
if [ -n "$GITHUB_TOKEN" ]; then
|
||||
TOKEN_ARGS=(--header "Authorization: token $GITHUB_TOKEN")
|
||||
fi
|
||||
|
||||
if [[ $# -gt 1 || $1 == -* ]]; then
|
||||
echo "Regenerates packaging data for attic."
|
||||
echo "Usage: $0 [git commit]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -x
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
rev="$1"
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ -z "$rev" ]; then
|
||||
rev="$(wget -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/zhaofengli/attic/commits?per_page=1" | jq -r '.[0].sha')"
|
||||
fi
|
||||
|
||||
date="$(wget -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/zhaofengli/attic/commits/$rev" | jq -r '.commit.author.date' | cut -dT -f1)"
|
||||
|
||||
version="0-unstable-$date"
|
||||
|
||||
# Sources
|
||||
src_hash=$(nix-prefetch-github zhaofengli attic --rev "$rev" | jq -r .hash)
|
||||
|
||||
# Cargo.lock
|
||||
src="https://raw.githubusercontent.com/zhaofengli/attic/$rev"
|
||||
wget "${TOKEN_ARGS[@]}" "$src/Cargo.lock" -O Cargo.lock
|
||||
|
||||
sed -i -E -e "s#version = \".*\"#version = \"$version\"#" package.nix
|
||||
sed -i -E -e "s#rev = \".*\"#rev = \"$rev\"#" package.nix
|
||||
sed -i -E -e "s#hash = \".*\"#hash = \"$src_hash\"#" package.nix
|
@ -1,12 +1,19 @@
|
||||
{ lib, python3, fetchFromGitHub, glibcLocales, git }:
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
git,
|
||||
}:
|
||||
|
||||
let
|
||||
changeVersion = overrideFunc: version: hash: overrideFunc (oldAttrs: rec {
|
||||
inherit version;
|
||||
src = oldAttrs.src.override {
|
||||
inherit version hash;
|
||||
};
|
||||
});
|
||||
changeVersion =
|
||||
overrideFunc: version: hash:
|
||||
overrideFunc (oldAttrs: rec {
|
||||
inherit version;
|
||||
src = oldAttrs.src.override {
|
||||
inherit version hash;
|
||||
};
|
||||
});
|
||||
|
||||
localPython = python3.override {
|
||||
self = localPython;
|
||||
@ -33,16 +40,9 @@ localPython.pkgs.buildPythonApplication rec {
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/aws/aws-elastic-beanstalk-cli/pull/469
|
||||
substituteInPlace setup.py --replace "scripts=['bin/eb']," ""
|
||||
substituteInPlace setup.py --replace-fail "scripts=['bin/eb']," ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = with localPython.pkgs; [
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glibcLocales
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with localPython.pkgs; [
|
||||
blessed
|
||||
botocore
|
||||
@ -95,7 +95,7 @@ localPython.pkgs.buildPythonApplication rec {
|
||||
homepage = "https://aws.amazon.com/elasticbeanstalk/";
|
||||
description = "Command line interface for Elastic Beanstalk";
|
||||
changelog = "https://github.com/aws/aws-elastic-beanstalk-cli/blob/${version}/CHANGES.rst";
|
||||
maintainers = with maintainers; [ eqyiel kirillrdy ];
|
||||
maintainers = with maintainers; [ kirillrdy ];
|
||||
license = licenses.asl20;
|
||||
mainProgram = "eb";
|
||||
};
|
@ -12,13 +12,13 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "blockbench";
|
||||
version = "4.11.0";
|
||||
version = "4.11.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JannisX11";
|
||||
repo = "blockbench";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SmG8JMHdFTGkxLCTTbD1IhjQgmsRMvxQsB4rluHy6yI=";
|
||||
hash = "sha256-a+55seE5tFxTmdTn4qDFWWW6C6FzO8Vgjvfow/tBqf0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
@ -28,7 +28,7 @@ buildNpmPackage rec {
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
npmDepsHash = "sha256-vbwoKijDt7TbXfU8Il5dwnfyGc2HsbLdAJhQzYuq6eo=";
|
||||
npmDepsHash = "sha256-0hS+AjfYvkdxyM6CtXYgvjt49GmcCvyAdEFWfK8uaHc=";
|
||||
|
||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
|
||||
|
47
pkgs/by-name/ca/canokey-usbip/package.nix
Normal file
47
pkgs/by-name/ca/canokey-usbip/package.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
python3,
|
||||
stdenv,
|
||||
unstableGitUpdater,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "canokey-usbip";
|
||||
version = "0-unstable-2024-03-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "canokeys";
|
||||
repo = "canokey-usbip";
|
||||
rev = "cc7087277096f185401b05143f9a028711d43557";
|
||||
hash = "sha256-+7sGW2eGelRQ2TDvgUITbPdcsXo7Pp6Pp+r3RmyQAZM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's/COMMAND git describe.*\(>>.*\)/COMMAND echo ${finalAttrs.src.rev} \1/' canokey-core/CMakeLists.txt
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
python3
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -D --target-directory=$out/bin canokey-usbip
|
||||
'';
|
||||
|
||||
passthru.updateScript = unstableGitUpdater {
|
||||
hardcodeZeroVersion = true;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "CanoKey USB/IP Virt Card";
|
||||
homepage = "https://github.com/canokeys/canokey-usbip";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.jmbaur ];
|
||||
mainProgram = "canokey-usbip";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "civo";
|
||||
version = "1.0.91";
|
||||
version = "1.1.91";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "civo";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xqDElK3/pkE4tobFurXQd1lVyp3hgmlBjjSD6CN90jU=";
|
||||
hash = "sha256-1RemtyaIyL5OqAfl+njL/DeFXPMUT5vghXwHOjmsgl0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-oXwtMMclkU1hunMCMBGvN8xbNtmYBEnCvGBUKhlfv3g=";
|
||||
vendorHash = "sha256-dzhSfC864ievkbM0Mt6itlAzlk3211tQmpFrCYFR0s8=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -7,16 +7,16 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "cloudflare-dynamic-dns";
|
||||
version = "4.3.3";
|
||||
version = "4.3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zebradil";
|
||||
repo = "cloudflare-dynamic-dns";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-zmcNr1r0lx5RclZtc5LX6v07IjhFAKaNnIOeDTWhfVQ=";
|
||||
hash = "sha256-9WJeWWgI96+LjMFl7TkDc7udsLvi54eAN3Y9iv2e+F4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-L2XtIZE5D1ehoEE45Ig/IMcQS/JgKSxFmMALkNwWDCA=";
|
||||
vendorHash = "sha256-KtTZcFYzJOH2qwoeHYfksXN7sDVV9ERCFVrrqzdh3M0=";
|
||||
|
||||
subPackages = ".";
|
||||
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "dotenvx";
|
||||
version = "1.14.1";
|
||||
version = "1.14.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dotenvx";
|
||||
repo = "dotenvx";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-PdX8picIFqeZZCMP0ABoWpySERSy0leAvp0XyjTW1Rc=";
|
||||
hash = "sha256-SlZ18ToGbC+c5ffuYFGeOy30w90ukBO0qKxD+HNVt3E=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-lo+R0YP50FIN+syj6VqCeEBFr7EZ6NSVXAhafG5JsI0=";
|
||||
npmDepsHash = "sha256-KaqSCtraMmQHe7Tcs/2CVaQcmazgHkV5K4T64lHEVP4=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
@ -59,21 +59,23 @@ flutter324.buildFlutterApplication rec {
|
||||
|
||||
# Based on https://github.com/ente-io/ente/blob/main/auth/linux/packaging/rpm/make_config.yaml
|
||||
# and https://github.com/ente-io/ente/blob/main/auth/linux/packaging/ente_auth.appdata.xml
|
||||
desktopItems = makeDesktopItem {
|
||||
name = "ente_auth";
|
||||
exec = "ente_auth";
|
||||
icon = "ente-auth";
|
||||
desktopName = "Ente Auth";
|
||||
genericName = "Ente Authentication";
|
||||
comment = "Open source 2FA authenticator, with end-to-end encrypted backups";
|
||||
categories = [ "Utility" ];
|
||||
keywords = [
|
||||
"Authentication"
|
||||
"2FA"
|
||||
];
|
||||
mimeTypes = [ "x-scheme-handler/enteauth" ];
|
||||
startupNotify = false;
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "ente_auth";
|
||||
exec = "ente_auth";
|
||||
icon = "ente-auth";
|
||||
desktopName = "Ente Auth";
|
||||
genericName = "Ente Authentication";
|
||||
comment = "Open source 2FA authenticator, with end-to-end encrypted backups";
|
||||
categories = [ "Utility" ];
|
||||
keywords = [
|
||||
"Authentication"
|
||||
"2FA"
|
||||
];
|
||||
mimeTypes = [ "x-scheme-handler/enteauth" ];
|
||||
startupNotify = false;
|
||||
})
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
FAV=$out/app/data/flutter_assets/assets/icons/auth-icon.png
|
||||
|
35
pkgs/by-name/i3/i3-back/package.nix
Normal file
35
pkgs/by-name/i3/i3-back/package.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
testers,
|
||||
i3-back,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "i3-back";
|
||||
version = "0.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Cretezy";
|
||||
repo = "i3-back";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-xGfX7ttWrcIVhy+MkR5RZr2DCAwIKwGu7zkafHcrjaE=";
|
||||
};
|
||||
|
||||
# The tool needs a nightly compiler.
|
||||
RUSTC_BOOTSTRAP = 1;
|
||||
|
||||
cargoHash = "sha256-Ot8f/58bAlpDSB11l14paCx2yjVoAYaHVIXaOzT1z/c=";
|
||||
|
||||
passthru.tests.version = testers.testVersion { package = i3-back; };
|
||||
|
||||
meta = {
|
||||
description = "i3/Sway utility to switch focus to your last focused window";
|
||||
homepage = "https://github.com/Cretezy/i3-back";
|
||||
changelog = "https://github.com/Cretezy/i3-back/blob/main/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ gabyx ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "i3-back";
|
||||
};
|
||||
}
|
36
pkgs/by-name/kt/ktor-cli/package.nix
Normal file
36
pkgs/by-name/kt/ktor-cli/package.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ktor-cli";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ktorio";
|
||||
repo = "ktor-cli";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-rIXyLqXEfbw0YR8+0N5XyntsB8H0D5DvJTneatuC48s=";
|
||||
};
|
||||
|
||||
subPackages = "cmd/ktor";
|
||||
|
||||
vendorHash = "sha256-gu/tuQPScSN0qsNd3fz/tz1ck6OGj/lupnNd/xLJxmk=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.Version=${version}"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Command-line tool for creating Ktor projects";
|
||||
homepage = "https://github.com/ktorio/ktor-cli";
|
||||
changelog = "https://github.com/ktorio/ktor-cli/releases/tag/${version}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ nartsiss ];
|
||||
mainProgram = "ktor";
|
||||
};
|
||||
}
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "lxgw-neoxihei";
|
||||
version = "1.206";
|
||||
version = "1.207";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
|
||||
hash = "sha256-jsLQLD5dfzguFkk7Q3oHe5Jd6h+XA/Qkg9MqyqHQ8v4=";
|
||||
hash = "sha256-voFR2qkomj1CRv4OWtrYJmpVxoUl6db/HnkaobCmBzY=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -1,16 +1,18 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, fetchNpmDeps
|
||||
, npmHooks
|
||||
, nodejs
|
||||
, python3
|
||||
, pkg-config
|
||||
, sqlite
|
||||
, zstd
|
||||
, stdenv
|
||||
, darwin
|
||||
, open-policy-agent
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
fetchNpmDeps,
|
||||
npmHooks,
|
||||
nodejs,
|
||||
python3,
|
||||
pkg-config,
|
||||
sqlite,
|
||||
zstd,
|
||||
stdenv,
|
||||
darwin,
|
||||
open-policy-agent,
|
||||
cctools,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
@ -27,8 +29,8 @@ rustPlatform.buildRustPackage rec {
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"sea-query-0.32.0-rc.1" = "sha256-Q/NFiIBu8L5rQj4jwcIo8ACmAhLBy4HSTcJv06UdK8E=";
|
||||
};
|
||||
"sea-query-0.32.0-rc.1" = "sha256-Q/NFiIBu8L5rQj4jwcIo8ACmAhLBy4HSTcJv06UdK8E=";
|
||||
};
|
||||
};
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
@ -45,16 +47,18 @@ rustPlatform.buildRustPackage rec {
|
||||
npmHooks.npmConfigHook
|
||||
nodejs
|
||||
(python3.withPackages (ps: [ ps.setuptools ])) # Used by gyp
|
||||
];
|
||||
] ++ lib.optional stdenv.isDarwin cctools; # libtool used by gyp;
|
||||
|
||||
buildInputs = [
|
||||
sqlite
|
||||
zstd
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.apple_sdk_11_0.frameworks.CoreFoundation
|
||||
darwin.apple_sdk_11_0.frameworks.Security
|
||||
darwin.apple_sdk_11_0.frameworks.SystemConfiguration
|
||||
];
|
||||
buildInputs =
|
||||
[
|
||||
sqlite
|
||||
zstd
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.apple_sdk_11_0.frameworks.CoreFoundation
|
||||
darwin.apple_sdk_11_0.frameworks.Security
|
||||
darwin.apple_sdk_11_0.frameworks.SystemConfiguration
|
||||
];
|
||||
|
||||
env = {
|
||||
ZSTD_SYS_USE_PKG_CONFIG = true;
|
||||
@ -95,5 +99,8 @@ rustPlatform.buildRustPackage rec {
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ teutat3s ];
|
||||
mainProgram = "mas-cli";
|
||||
# Note: broken on x86_64-darwin because of aligned_alloc, can be revisited after
|
||||
# https://github.com/NixOS/nixpkgs/pull/346043 is merged
|
||||
badPlatforms = [ "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "openapi-tui";
|
||||
version = "0.9.4";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zaghaghi";
|
||||
repo = "openapi-tui";
|
||||
rev = version;
|
||||
hash = "sha256-y8A43FV3PfYHaMMHE3uGRBaftga/pVSivCfV4iwUROA=";
|
||||
hash = "sha256-EUWL16cHgPF88CoCD9sqnxLOlmWoe1tu5ps01AYwwzc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-I1eTJDtQM9WKluOZJGfQT4Wn9TFyTu6ZcPFuh8wZIWI=";
|
||||
cargoHash = "sha256-sINwuMgBbc/Xn73Gy+Wwb0QtIHGGB02fVyz/K/tg5Ys=";
|
||||
|
||||
OPENSSL_NO_VENDOR = true;
|
||||
|
||||
|
@ -6,13 +6,13 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "plasma-plugin-blurredwallpaper";
|
||||
version = "3.1.0";
|
||||
version = "3.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bouteillerAlan";
|
||||
repo = "blurredwallpaper";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-+MjnVsGHqitQytxiAH39Kx9SXuTEFfIC14Ayzu4yE4I=";
|
||||
hash = "sha256-P/N7g/cl2K0R4NKebfqZnr9WQkHPSvHNbKbWiOxs76k=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -35,11 +35,11 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "PortfolioPerformance";
|
||||
version = "0.71.1";
|
||||
version = "0.71.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/buchen/portfolio/releases/download/${finalAttrs.version}/PortfolioPerformance-${finalAttrs.version}-linux.gtk.x86_64.tar.gz";
|
||||
hash = "sha256-bZZTsL2jf4m6Gvc9cXDbAsiPoluljnb1AKshMM4325Q=";
|
||||
hash = "sha256-TVrxYz6hFWn2C0CrBnNCPxkfQkTjCXkNSeQp6eC/fjc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
49
pkgs/by-name/pr/project-lemonlime/package.nix
Normal file
49
pkgs/by-name/pr/project-lemonlime/package.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
qt6,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "project-lemonlime";
|
||||
version = "0.3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Project-LemonLime";
|
||||
repo = "Project_LemonLime";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-h/aE1+ED+RkXqFcsb23rboA+Dd7kiom3XiIRqb4oYkQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "LEMON_QT6" true)
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qt6.qtbase
|
||||
qt6.qttools
|
||||
qt6.qtwayland
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Lightweight evaluation system based on Lemon + LemonPlus for OI competitions";
|
||||
homepage = "https://github.com/Project-LemonLime/Project_LemonLime";
|
||||
changelog = "https://github.com/Project-LemonLime/Project_LemonLime/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
sigmanificient
|
||||
bot-wxt1221
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "lemon";
|
||||
};
|
||||
})
|
@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "protols";
|
||||
version = "0.6.0";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coder3101";
|
||||
repo = "protols";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-oxcC+PRQ+gyYyg5r9C3N7lP8ZJj+8sqJMA+Ovoxq+P4=";
|
||||
hash = "sha256-2dP3papZsZxvpSfgGTdoRVSZTcOC0iHPBfMmlzB5iJQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-rrurR/3OgjaAAq5Z9RTFOC6j13eBI34+z+aTLQkKjV4=";
|
||||
cargoHash = "sha256-94URDioPZXKSSFINTdPBYcES2eGCbhJ46tvcVRWt06o=";
|
||||
|
||||
meta = {
|
||||
description = "Protocol Buffers language server written in Rust";
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib
|
||||
, buildDotnetModule
|
||||
, dotnetCorePackages
|
||||
, fetchFromGitHub
|
||||
, fetchzip
|
||||
, libX11
|
||||
, libgdiplus
|
||||
, ffmpeg
|
||||
@ -27,10 +27,8 @@ buildDotnetModule rec {
|
||||
pname = "ryujinx";
|
||||
version = "1.1.1401"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Ryujinx";
|
||||
repo = "Ryujinx";
|
||||
rev = "5dbba07e33e83c9047dcbb701c9655edbbe89086";
|
||||
src = fetchzip {
|
||||
url = "https://archive.org/download/ryujinx-5dbba-07e-33e-83c-9047dcbb-701c-9655edbbe-89086.tar/Ryujinx-5dbba07e33e83c9047dcbb701c9655edbbe89086.tar.gz";
|
||||
hash = "sha256-UeJ3KE5e5H9crqroAxjmxYTf/Z4cbj41a6/1HW2nLcA=";
|
||||
};
|
||||
|
||||
|
12
pkgs/by-name/sp/splitcode/add-stdint.patch
Normal file
12
pkgs/by-name/sp/splitcode/add-stdint.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/src/SplitCode.h b/src/SplitCode.h
|
||||
index 45c199c..fb05250 100644
|
||||
--- a/src/SplitCode.h
|
||||
+++ b/src/SplitCode.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <stack>
|
||||
#include <cmath>
|
||||
#include <iomanip>
|
||||
+#include <cstdint>
|
||||
|
||||
#if defined(_MSVC_LANG)
|
||||
#define SPLITCODE_CPP_VERSION _MSVC_LANG
|
47
pkgs/by-name/sp/splitcode/package.nix
Normal file
47
pkgs/by-name/sp/splitcode/package.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
libcxx,
|
||||
zlib,
|
||||
}:
|
||||
let
|
||||
version = "0.30.0";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "splitcode";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pachterlab";
|
||||
repo = "splitcode";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-g38pJFP9uA2P5ktogAPXKgPtsEJn5vtnK5HClqqezmg=";
|
||||
};
|
||||
|
||||
patches = [ ./add-stdint.patch ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
libcxx
|
||||
zlib
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
mkdir func_tests
|
||||
cp $src/func_tests/* ./func_tests/
|
||||
bash ./func_tests/runtests.sh
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Tool for flexible, efficient parsing, interpreting, and editing of technical sequences in sequencing reads";
|
||||
homepage = "https://github.com/pachterlab/splitcode";
|
||||
license = lib.licenses.bsd2;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ zimward ];
|
||||
mainProgram = "splitcode";
|
||||
};
|
||||
}
|
@ -26,7 +26,7 @@ let
|
||||
# See upstream issue for rocksdb 9.X support
|
||||
# https://github.com/stalwartlabs/mail-server/issues/407
|
||||
rocksdb = rocksdb_8_11;
|
||||
version = "0.10.0";
|
||||
version = "0.10.2";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "stalwart-mail";
|
||||
@ -36,21 +36,11 @@ rustPlatform.buildRustPackage {
|
||||
owner = "stalwartlabs";
|
||||
repo = "mail-server";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-9qk7+LJntEmCIuxp0707OOHBVkywlAJA1QmWllR9ZHg=";
|
||||
hash = "sha256-wH26uwaYzfqiamiJ/oosVEiTfCOItwVGbHdRh6Ykpgk=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoHash = "sha256-O1LuEHH5VD/6875Psfp5N/oWYlo1cuTlHzwcgG9RrpI=";
|
||||
|
||||
patches = [
|
||||
# Remove "PermissionsStartOnly" from systemd service files,
|
||||
# which is deprecated and conflicts with our module's ExecPreStart.
|
||||
# Upstream PR: https://github.com/stalwartlabs/mail-server/pull/528
|
||||
(fetchpatch {
|
||||
url = "https://github.com/stalwartlabs/mail-server/pull/528/commits/6e292b3d7994441e58e367b87967c9a277bce490.patch";
|
||||
hash = "sha256-j/Li4bYNE7IppxG3FGfljra70/rHyhRvDgOkZOlhMHY=";
|
||||
})
|
||||
];
|
||||
cargoHash = "sha256-1AFDyZpkcvFzWBczMAPfajmhBmVl4ou4JdKnrK2KlQI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@ -58,22 +48,31 @@ rustPlatform.buildRustPackage {
|
||||
rustPlatform.bindgenHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bzip2
|
||||
openssl
|
||||
sqlite
|
||||
zstd
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
foundationdb
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.apple_sdk.frameworks.CoreFoundation
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
darwin.apple_sdk.frameworks.SystemConfiguration
|
||||
];
|
||||
buildInputs =
|
||||
[
|
||||
bzip2
|
||||
openssl
|
||||
sqlite
|
||||
zstd
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ foundationdb ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.apple_sdk.frameworks.CoreFoundation
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
darwin.apple_sdk.frameworks.SystemConfiguration
|
||||
];
|
||||
|
||||
# skip defaults on darwin because foundationdb is not available
|
||||
buildNoDefaultFeatures = stdenv.hostPlatform.isDarwin;
|
||||
buildFeatures = lib.optional (stdenv.hostPlatform.isDarwin) [ "sqlite" "postgres" "mysql" "rocks" "elastic" "s3" "redis" ];
|
||||
buildFeatures = lib.optional (stdenv.hostPlatform.isDarwin) [
|
||||
"sqlite"
|
||||
"postgres"
|
||||
"mysql"
|
||||
"rocks"
|
||||
"elastic"
|
||||
"s3"
|
||||
"redis"
|
||||
];
|
||||
|
||||
env = {
|
||||
OPENSSL_NO_VENDOR = true;
|
||||
@ -154,11 +153,16 @@ rustPlatform.buildRustPackage {
|
||||
tests.stalwart-mail = nixosTests.stalwart-mail;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Secure & Modern All-in-One Mail Server (IMAP, JMAP, SMTP)";
|
||||
homepage = "https://github.com/stalwartlabs/mail-server";
|
||||
changelog = "https://github.com/stalwartlabs/mail-server/blob/${version}/CHANGELOG";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ happysalada onny oddlama ];
|
||||
changelog = "https://github.com/stalwartlabs/mail-server/blob/main/CHANGELOG.md";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
happysalada
|
||||
onny
|
||||
oddlama
|
||||
pandapip1
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "stc";
|
||||
version = "1.5";
|
||||
version = "1.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tenox7";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Hv8md27LUB/d1MNqNEw7UX7r3tMYdguuGP3xOI2LWBk=";
|
||||
sha256 = "sha256-QdU480at8VvuHpYmEKagnBotjM7ikOsVLJeedJ2qtjw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-TnWCviLstm6kS34cNkrVGS9RZ21cVX/jmx8d+KytB0c=";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tippecanoe";
|
||||
version = "2.62.4";
|
||||
version = "2.64.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "felt";
|
||||
repo = "tippecanoe";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-mHeBzXJ4d60tJ1xAN8YldP94GCE8Ch1cvJqMD0ZaV34=";
|
||||
hash = "sha256-5HMyqUdoNFwZccXlsFms4C+jyfMVLCiCcFapC6y7e+M=";
|
||||
};
|
||||
|
||||
buildInputs = [ sqlite zlib ];
|
||||
|
@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec {
|
||||
pname = "typos-lsp";
|
||||
# Please update the corresponding VSCode extension too.
|
||||
# See pkgs/applications/editors/vscode/extensions/tekumara.typos-vscode/default.nix
|
||||
version = "0.1.26";
|
||||
version = "0.1.27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tekumara";
|
||||
repo = "typos-lsp";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-wyVNHWMxkRjfo2qOrAOIwUyTYdRyvwD+AfEBoLSchrA=";
|
||||
hash = "sha256-WiU6SRhW7LBDFJ/6qv0X/H86FiTYadN02iyi87oQRBY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-1wvDMAS0q0UzGb/jUNyq7G4cBxeRc+MSn7er378jaOw=";
|
||||
cargoHash = "sha256-v9CwoLfqww5UNsVONAWb2D9F/ljq/YXTCCjrJaJWENE=";
|
||||
|
||||
# fix for compilation on aarch64
|
||||
# see https://github.com/NixOS/nixpkgs/issues/145726
|
||||
|
@ -49,23 +49,23 @@ let
|
||||
# and often with different versions. We write them on three lines
|
||||
# like this (rather than using {}) so that the updater script can
|
||||
# find where to edit them.
|
||||
versions.aarch64-darwin = "6.2.0.40111";
|
||||
versions.x86_64-darwin = "6.2.0.40111";
|
||||
versions.x86_64-linux = "6.2.0.1855";
|
||||
versions.aarch64-darwin = "6.2.3.40682";
|
||||
versions.x86_64-darwin = "6.2.3.40682";
|
||||
versions.x86_64-linux = "6.2.3.2056";
|
||||
|
||||
srcs = {
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
||||
name = "zoomusInstallerFull.pkg";
|
||||
hash = "sha256-/oi10pi9Xykmfo0UA1cDPzlB4xUQxAr8rkEoUpp1fQM=";
|
||||
hash = "sha256-kpncl6ZVs/O2TXtBhZ/2049jJuUdYlIaxtLX3wIfpVE=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
||||
hash = "sha256-CZm0lrBYGHkPpdLu0sE/V+ADwglk/btSNvdzPRaeysI=";
|
||||
hash = "sha256-gB8pM3EYmA5jF2s/XobV5hk71q16x76nG6M20rWatzE=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-Ej8BRySQso62VE7e4XjXFGsvlB9cEVceha/WVhTBG4E=";
|
||||
hash = "sha256-dEQdyYEGXMwABulPHK3fLgHo0ZMF5BT6RnqzD23Al38=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "dbip-country-lite";
|
||||
version = "2024-09";
|
||||
version = "2024-10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz";
|
||||
hash = "sha256-Y3uLIETUMfR/IEXfhqz3srAJxe8yM7oRi+DrA2tL15Y=";
|
||||
hash = "sha256-MeAhfDY2jdX2WDsNGNjvH/JeCo9C1hx3PWyk8am9Ut0=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"commit": "4670ba3f52eae6737137ddcb817182f3daad4f26",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/4670ba3f52eae6737137ddcb817182f3daad4f26.tar.gz",
|
||||
"sha256": "18q5shdmh12147502135q6132rmzp29qfjhwrcjwidl0pi9ki70i",
|
||||
"msg": "Update from Hackage at 2024-08-19T17:17:03Z"
|
||||
"commit": "5d97d9c05e76d8cecb68f1e9063afb39ca0fb26b",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/5d97d9c05e76d8cecb68f1e9063afb39ca0fb26b.tar.gz",
|
||||
"sha256": "1ic4wn5immv06m1m2cq6mzrrgrxbidxmj39licxlkmnm9jlwzjwr",
|
||||
"msg": "Update from Hackage at 2024-09-03T10:29:19Z"
|
||||
}
|
||||
|
@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "erg";
|
||||
version = "0.6.44";
|
||||
version = "0.6.45";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "erg-lang";
|
||||
repo = "erg";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Pw6q3qmYehTPnB3MyDi8Q5tC018H3zLsZAXWuc+abjE=";
|
||||
hash = "sha256-P6AIe3IadY64ydGShlRmgZ1pITiAA8G59Oe8P2ktDqM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-uO+j1kmoCLy00P0QHGy30XVPyG1tH4FU6YvTfWxxvWE=";
|
||||
cargoHash = "sha256-5h/0MqaRmjFkeg50Y7WpEDl+VWpR0d4NnqIzoZHeKZ8=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages
|
||||
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, buildPackages, targetPackages
|
||||
|
||||
# build-tools
|
||||
, bootPkgs
|
||||
@ -32,14 +32,19 @@
|
||||
, # If enabled, use -fPIC when compiling static libs.
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
|
||||
, enableProfiledLibs ? true
|
||||
# Exceeds Hydra output limit (at the time of writing ~3GB) when cross compiled to riscv64.
|
||||
# A riscv64 cross-compiler fits into the limit comfortably.
|
||||
, enableProfiledLibs ? !stdenv.hostPlatform.isRiscV64
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
|
||||
|
||||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
enableTerminfo ? !(stdenv.targetPlatform.isWindows
|
||||
# terminfo can't be built for cross
|
||||
|| (stdenv.buildPlatform != stdenv.hostPlatform)
|
||||
|| (stdenv.hostPlatform != stdenv.targetPlatform))
|
||||
|
||||
, # What flavour to build. An empty string indicates no
|
||||
# specific flavour and falls back to ghc default values.
|
||||
@ -55,25 +60,31 @@
|
||||
|
||||
, enableHaddockProgram ?
|
||||
# Disabled for cross; see note [HADDOCK_DOCS].
|
||||
(stdenv.targetPlatform == stdenv.hostPlatform)
|
||||
(stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform)
|
||||
|
||||
, # Whether to disable the large address space allocator
|
||||
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
|
||||
|
||||
, # Whether to build an unregisterised version of GHC.
|
||||
# GHC will normally auto-detect whether it can do a registered build, but this
|
||||
# option will force it to do an unregistered build when set to true.
|
||||
# See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/unregisterised
|
||||
enableUnregisterised ? false
|
||||
}@args:
|
||||
|
||||
assert !enableIntegerSimple -> gmp != null;
|
||||
|
||||
# Cross cannot currently build the `haddock` program for silly reasons,
|
||||
# see note [HADDOCK_DOCS].
|
||||
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
|
||||
assert (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
|
||||
|
||||
# GHC does not support building when all 3 platforms are different.
|
||||
assert stdenv.buildPlatform == stdenv.hostPlatform || stdenv.hostPlatform == stdenv.targetPlatform;
|
||||
|
||||
let
|
||||
libffi_name = if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then "libffi" else "libffi_3_3";
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
inherit (bootPkgs) ghc;
|
||||
|
||||
# TODO(@Ericson2314) Make unconditional
|
||||
targetPrefix = lib.optionalString
|
||||
(targetPlatform != hostPlatform)
|
||||
@ -86,6 +97,8 @@ let
|
||||
endif
|
||||
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
|
||||
BUILD_SPHINX_PDF = NO
|
||||
|
||||
WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"}
|
||||
'' +
|
||||
# Note [HADDOCK_DOCS]:
|
||||
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
|
||||
@ -134,7 +147,9 @@ let
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
|
||||
buildCC = buildPackages.stdenv.cc;
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
installCC = pkgsHostTarget.targetPackages.stdenv.cc;
|
||||
|
||||
# toolPath calculates the absolute path to the name tool associated with a
|
||||
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||
@ -145,12 +160,13 @@ let
|
||||
tools = {
|
||||
"cc" = cc;
|
||||
"c++" = cc;
|
||||
as = cc.bintools.bintools;
|
||||
as = cc.bintools;
|
||||
|
||||
ar = cc.bintools.bintools;
|
||||
ranlib = cc.bintools.bintools;
|
||||
nm = cc.bintools.bintools;
|
||||
readelf = cc.bintools.bintools;
|
||||
ar = cc.bintools;
|
||||
ranlib = cc.bintools;
|
||||
nm = cc.bintools;
|
||||
readelf = cc.bintools;
|
||||
objdump = cc.bintools;
|
||||
|
||||
ld = cc.bintools;
|
||||
"ld.gold" = cc.bintools;
|
||||
@ -169,6 +185,9 @@ let
|
||||
if stdenv.targetPlatform.isDarwin
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
|
||||
# clang is used as an assembler on darwin with the LLVM backend
|
||||
clang = cc;
|
||||
}.${name};
|
||||
in
|
||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||
@ -185,14 +204,40 @@ let
|
||||
(lib.optionalString enableIntegerSimple "-integer-simple")
|
||||
];
|
||||
|
||||
in
|
||||
libffi_name =
|
||||
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64
|
||||
then "libffi"
|
||||
else "libffi_3_3";
|
||||
|
||||
# C compiler, bintools and LLVM are used at build time, but will also leak into
|
||||
# the resulting GHC's settings file and used at runtime. This means that we are
|
||||
# currently only able to build GHC if hostPlatform == buildPlatform.
|
||||
assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
|
||||
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
|
||||
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
|
||||
# These libraries are library dependencies of the standard libraries bundled
|
||||
# by GHC (core libs) users will link their compiled artifacts again. Thus,
|
||||
# they should be taken from targetPackages.
|
||||
#
|
||||
# We need to use pkgsHostTarget if we are cross compiling a native GHC compiler,
|
||||
# though (when native compiling GHC, pkgsHostTarget == targetPackages):
|
||||
#
|
||||
# 1. targetPackages would be empty(-ish) in this situation since we can't
|
||||
# execute cross compiled compilers in order to obtain the libraries
|
||||
# that would be in targetPackages.
|
||||
# 2. pkgsHostTarget is fine to use since hostPlatform == targetPlatform in this
|
||||
# situation.
|
||||
# 3. The core libs used by the final GHC (stage 2) for user artifacts are also
|
||||
# used to build stage 2 GHC itself, i.e. the core libs are both host and
|
||||
# target.
|
||||
targetLibs =
|
||||
let
|
||||
basePackageSet =
|
||||
if hostPlatform != targetPlatform
|
||||
then targetPackages
|
||||
else pkgsHostTarget;
|
||||
in
|
||||
{
|
||||
inherit (basePackageSet) gmp ncurses;
|
||||
# dynamic inherits are not possible in Nix
|
||||
libffi = basePackageSet.${libffi_name};
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
version = "8.10.7";
|
||||
@ -277,6 +322,8 @@ stdenv.mkDerivation (rec {
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
done
|
||||
# Stage0 (build->build) which builds stage 1
|
||||
export GHC="${bootPkgs.ghc}/bin/ghc"
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${toolPath "cc" targetCC}"
|
||||
@ -289,6 +336,7 @@ stdenv.mkDerivation (rec {
|
||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||
export READELF="${toolPath "readelf" targetCC}"
|
||||
export STRIP="${toolPath "strip" targetCC}"
|
||||
export OBJDUMP="${toolPath "objdump" targetCC}"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${toolPath "otool" targetCC}"
|
||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}"
|
||||
@ -297,8 +345,22 @@ stdenv.mkDerivation (rec {
|
||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
||||
# LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
|
||||
# The executable we specify via $CLANG is used as an assembler (exclusively, it seems, but this isn't
|
||||
# clarified in any user facing documentation). As such, it'll be called on assembly produced by $CC
|
||||
# which usually comes from the darwin stdenv. To prevent a situation where $CLANG doesn't understand
|
||||
# the assembly it is given, we need to make sure that it matches the LLVM version of $CC if possible.
|
||||
# It is unclear (at the time of writing 2024-09-01) whether $CC should match the LLVM version we use
|
||||
# for llc and opt which would require using a custom darwin stdenv for targetCC.
|
||||
export CLANG="${
|
||||
if targetCC.isClang
|
||||
then toolPath "clang" targetCC
|
||||
else "${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
|
||||
}"
|
||||
'' + ''
|
||||
# No need for absolute paths since these tools only need to work during the build
|
||||
export CC_STAGE0="$CC_FOR_BUILD"
|
||||
export LD_STAGE0="$LD_FOR_BUILD"
|
||||
export AR_STAGE0="$AR_FOR_BUILD"
|
||||
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
@ -329,21 +391,26 @@ stdenv.mkDerivation (rec {
|
||||
done
|
||||
'';
|
||||
|
||||
# Although it is usually correct to pass --host, we don't do that here because
|
||||
# GHC's usage of build, host, and target is non-standard.
|
||||
# See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling
|
||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||
configurePlatforms = [ "build" "host" ]
|
||||
++ lib.optional (targetPlatform != hostPlatform) "target";
|
||||
configurePlatforms = [ "build" ]
|
||||
++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target";
|
||||
|
||||
# `--with` flags for libraries needed for RTS linker
|
||||
configureFlags = [
|
||||
"--datadir=$doc/share/doc/ghc"
|
||||
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||
] ++ lib.optionals enableTerminfo [
|
||||
"--with-curses-includes=${lib.getDev targetLibs.ncurses}/include"
|
||||
"--with-curses-libraries=${lib.getLib targetLibs.ncurses}/lib"
|
||||
] ++ lib.optionals (args.${libffi_name} != null) [
|
||||
"--with-system-libffi"
|
||||
"--with-ffi-includes=${targetPackages.${libffi_name}.dev}/include"
|
||||
"--with-ffi-libraries=${targetPackages.${libffi_name}.out}/lib"
|
||||
"--with-ffi-includes=${targetLibs.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetLibs.libffi.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
"--with-gmp-includes=${targetLibs.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetLibs.gmp.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||
"--with-iconv-includes=${libiconv}/include"
|
||||
"--with-iconv-libraries=${libiconv}/lib"
|
||||
@ -355,6 +422,8 @@ stdenv.mkDerivation (rec {
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
] ++ lib.optionals enableUnregisterised [
|
||||
"--enable-unregisterised"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||
@ -365,17 +434,35 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl autoreconfHook autoconf automake m4 python3
|
||||
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
bootPkgs.ghc-settings-edit
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
||||
autoSignDarwinBinariesHook
|
||||
] ++ lib.optionals enableDocs [
|
||||
sphinx
|
||||
];
|
||||
|
||||
# Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs.
|
||||
# See also GHC, {CC,LD,AR}_STAGE0 in preConfigure.
|
||||
depsBuildBuild = [
|
||||
# N.B. We do not declare bootPkgs.ghc in any of the stdenv.mkDerivation
|
||||
# dependency lists to prevent the bintools setup hook from adding ghc's
|
||||
# lib directory to the linker flags. Instead we tell configure about it
|
||||
# via the GHC environment variable.
|
||||
buildCC
|
||||
# stage0 builds terminfo unconditionally, so we always need ncurses
|
||||
ncurses
|
||||
];
|
||||
# For building runtime libs
|
||||
depsBuildTarget = toolsForTarget;
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
# Prevent stage0 ghc from leaking into the final result. This was an issue
|
||||
# with GHC 9.6.
|
||||
disallowedReferences = [
|
||||
bootPkgs.ghc
|
||||
];
|
||||
|
||||
buildInputs = [ bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
@ -402,6 +489,39 @@ stdenv.mkDerivation (rec {
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
postInstall = ''
|
||||
settingsFile="$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings"
|
||||
|
||||
# Make the installed GHC use the host->target tools.
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"C compiler command" "${toolPath "cc" installCC}" \
|
||||
"Haskell CPP command" "${toolPath "cc" installCC}" \
|
||||
"C++ compiler command" "${toolPath "c++" installCC}" \
|
||||
"ld command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \
|
||||
"Merge objects command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \
|
||||
"ar command" "${toolPath "ar" installCC}" \
|
||||
"ranlib command" "${toolPath "ranlib" installCC}"
|
||||
''
|
||||
+ lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"otool command" "${toolPath "otool" installCC}" \
|
||||
"install_name_tool command" "${toolPath "install_name_tool" installCC}"
|
||||
''
|
||||
+ lib.optionalString useLLVM ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"LLVM llc command" "${lib.getBin llvmPackages.llvm}/bin/llc" \
|
||||
"LLVM opt command" "${lib.getBin llvmPackages.llvm}/bin/opt"
|
||||
''
|
||||
+ lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"LLVM clang command" "${
|
||||
# See comment for CLANG in preConfigure
|
||||
if installCC.isClang
|
||||
then toolPath "clang" installCC
|
||||
else "${llvmPackages.clang}/bin/${llvmPackages.clang.targetPrefix}clang"
|
||||
}"
|
||||
''
|
||||
+ ''
|
||||
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
'';
|
||||
@ -427,7 +547,8 @@ stdenv.mkDerivation (rec {
|
||||
guibou
|
||||
] ++ lib.teams.haskell.members;
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
platforms = lib.platforms.all;
|
||||
inherit (bootPkgs.ghc.meta) license;
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||
|
@ -12,6 +12,7 @@
|
||||
, stdenv
|
||||
, pkgsBuildTarget
|
||||
, pkgsHostTarget
|
||||
, buildPackages
|
||||
, targetPackages
|
||||
, fetchpatch
|
||||
|
||||
@ -58,15 +59,23 @@
|
||||
, # If enabled, use -fPIC when compiling static libs.
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
|
||||
, enableProfiledLibs ? true
|
||||
# Exceeds Hydra output limit (at the time of writing ~3GB) when cross compiled to riscv64.
|
||||
# A riscv64 cross-compiler fits into the limit comfortably.
|
||||
, enableProfiledLibs ? !stdenv.hostPlatform.isRiscV64
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic && !isGhcjs
|
||||
|
||||
, # Whether to build terminfo.
|
||||
# FIXME(@sternenseemann): This actually doesn't influence what hadrian does,
|
||||
# just what buildInputs etc. looks like. It would be best if we could actually
|
||||
# tell it what to do like it was possible with make.
|
||||
enableTerminfo ? !(stdenv.targetPlatform.isWindows
|
||||
|| stdenv.targetPlatform.isGhcjs)
|
||||
|| stdenv.targetPlatform.isGhcjs
|
||||
# terminfo can't be built for cross
|
||||
|| (stdenv.buildPlatform != stdenv.hostPlatform)
|
||||
|| (stdenv.hostPlatform != stdenv.targetPlatform))
|
||||
|
||||
, # Libdw.c only supports x86_64, i686 and s390x as of 2022-08-04
|
||||
enableDwarf ? (stdenv.targetPlatform.isx86 ||
|
||||
@ -117,9 +126,8 @@
|
||||
-- no way to set this via the command line
|
||||
finalStage :: Stage
|
||||
finalStage = ${
|
||||
# Always build the stage 2 compiler if possible. Note we can currently
|
||||
# assume hostPlatform == buildPlatform.
|
||||
# TODO(@sternenseemann): improve this condition when we can cross-compile GHC
|
||||
# Always build the stage 2 compiler if possible.
|
||||
# TODO(@sternensemann): unify condition with make-built GHCs
|
||||
if stdenv.hostPlatform.canExecute stdenv.targetPlatform
|
||||
then "Stage2" # native compiler or “native” cross e.g. pkgsStatic
|
||||
else "Stage1" # cross compiler
|
||||
@ -178,6 +186,15 @@
|
||||
hash = "sha256-MpvTmFFsNiPDoOp9BhZyWeapeibQ77zgEV+xzZ1UAXs=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast version "9.6" && lib.versionOlder version "9.8") [
|
||||
# Fix unlit being installed under a different name than is used in the
|
||||
# settings file: https://gitlab.haskell.org/ghc/ghc/-/issues/23317
|
||||
(fetchpatch {
|
||||
name = "ghc-9.6-fix-unlit-path.patch";
|
||||
url = "https://gitlab.haskell.org/ghc/ghc/-/commit/8fde4ac84ec7b1ead238cb158bbef48555d12af9.patch";
|
||||
hash = "sha256-3+CyRBpebEZi8YpS22SsdGQHqi0drR7cCKPtKbR3zyE=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||
# Prevent the paths module from emitting symbols that we don't use
|
||||
# when building with separate outputs.
|
||||
@ -222,15 +239,25 @@
|
||||
, # Whether to disable the large address space allocator
|
||||
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
|
||||
|
||||
, # Whether to build an unregisterised version of GHC.
|
||||
# GHC will normally auto-detect whether it can do a registered build, but this
|
||||
# option will force it to do an unregistered build when set to true.
|
||||
# See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/unregisterised
|
||||
enableUnregisterised ? false
|
||||
}:
|
||||
|
||||
assert !enableNativeBignum -> gmp != null;
|
||||
|
||||
# GHC does not support building when all 3 platforms are different.
|
||||
assert stdenv.buildPlatform == stdenv.hostPlatform || stdenv.hostPlatform == stdenv.targetPlatform;
|
||||
|
||||
# It is currently impossible to cross-compile GHC with Hadrian.
|
||||
assert stdenv.buildPlatform == stdenv.hostPlatform;
|
||||
|
||||
let
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
inherit (bootPkgs) ghc;
|
||||
|
||||
# TODO(@Ericson2314) Make unconditional
|
||||
targetPrefix = lib.optionalString
|
||||
(targetPlatform != hostPlatform)
|
||||
@ -265,7 +292,12 @@ let
|
||||
else pkgsBuildTarget.targetPackages.stdenv.cc)
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
|
||||
buildCC = buildPackages.stdenv.cc;
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
installCC =
|
||||
if targetPlatform.isGhcjs
|
||||
then pkgsHostTarget.emscripten
|
||||
else pkgsHostTarget.targetPackages.stdenv.cc;
|
||||
|
||||
# toolPath calculates the absolute path to the name tool associated with a
|
||||
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||
@ -276,12 +308,13 @@ let
|
||||
tools = {
|
||||
"cc" = cc;
|
||||
"c++" = cc;
|
||||
as = cc.bintools.bintools;
|
||||
as = cc.bintools;
|
||||
|
||||
ar = cc.bintools.bintools;
|
||||
ranlib = cc.bintools.bintools;
|
||||
nm = cc.bintools.bintools;
|
||||
readelf = cc.bintools.bintools;
|
||||
ar = cc.bintools;
|
||||
ranlib = cc.bintools;
|
||||
nm = cc.bintools;
|
||||
readelf = cc.bintools;
|
||||
objdump = cc.bintools;
|
||||
|
||||
ld = cc.bintools;
|
||||
"ld.gold" = cc.bintools;
|
||||
@ -300,6 +333,9 @@ let
|
||||
if stdenv.targetPlatform.isDarwin
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
|
||||
# clang is used as an assembler on darwin with the LLVM backend
|
||||
clang = cc;
|
||||
}.${name};
|
||||
in
|
||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||
@ -316,14 +352,34 @@ let
|
||||
(lib.optionalString enableNativeBignum "-native-bignum")
|
||||
];
|
||||
|
||||
in
|
||||
# These libraries are library dependencies of the standard libraries bundled
|
||||
# by GHC (core libs) users will link their compiled artifacts again. Thus,
|
||||
# they should be taken from targetPackages.
|
||||
#
|
||||
# We need to use pkgsHostTarget if we are cross compiling a native GHC compiler,
|
||||
# though (when native compiling GHC, pkgsHostTarget == targetPackages):
|
||||
#
|
||||
# 1. targetPackages would be empty(-ish) in this situation since we can't
|
||||
# execute cross compiled compilers in order to obtain the libraries
|
||||
# that would be in targetPackages.
|
||||
# 2. pkgsHostTarget is fine to use since hostPlatform == targetPlatform in this
|
||||
# situation.
|
||||
# 3. The core libs used by the final GHC (stage 2) for user artifacts are also
|
||||
# used to build stage 2 GHC itself, i.e. the core libs are both host and
|
||||
# target.
|
||||
targetLibs = {
|
||||
inherit
|
||||
(if hostPlatform != targetPlatform then targetPackages else pkgsHostTarget)
|
||||
elfutils
|
||||
gmp
|
||||
libffi
|
||||
ncurses;
|
||||
};
|
||||
|
||||
# C compiler, bintools and LLVM are used at build time, but will also leak into
|
||||
# the resulting GHC's settings file and used at runtime. This means that we are
|
||||
# currently only able to build GHC if hostPlatform == buildPlatform.
|
||||
assert !targetPlatform.isGhcjs -> targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
|
||||
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
|
||||
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
pname = "${targetPrefix}ghc${variantSuffix}";
|
||||
@ -346,6 +402,13 @@ stdenv.mkDerivation ({
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
done
|
||||
# No need for absolute paths since these tools only need to work during the build
|
||||
export CC_STAGE0="$CC_FOR_BUILD"
|
||||
export LD_STAGE0="$LD_FOR_BUILD"
|
||||
export AR_STAGE0="$AR_FOR_BUILD"
|
||||
|
||||
# Stage0 (build->build) which builds stage 1
|
||||
export GHC="${bootPkgs.ghc}/bin/ghc"
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${toolPath "cc" targetCC}"
|
||||
@ -358,6 +421,7 @@ stdenv.mkDerivation ({
|
||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||
export READELF="${toolPath "readelf" targetCC}"
|
||||
export STRIP="${toolPath "strip" targetCC}"
|
||||
export OBJDUMP="${toolPath "objdump" targetCC}"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${toolPath "otool" targetCC}"
|
||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}"
|
||||
@ -366,7 +430,17 @@ stdenv.mkDerivation ({
|
||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
||||
# LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
|
||||
# The executable we specify via $CLANG is used as an assembler (exclusively, it seems, but this isn't
|
||||
# clarified in any user facing documentation). As such, it'll be called on assembly produced by $CC
|
||||
# which usually comes from the darwin stdenv. To prevent a situation where $CLANG doesn't understand
|
||||
# the assembly it is given, we need to make sure that it matches the LLVM version of $CC if possible.
|
||||
# It is unclear (at the time of writing 2024-09-01) whether $CC should match the LLVM version we use
|
||||
# for llc and opt which would require using a custom darwin stdenv for targetCC.
|
||||
export CLANG="${
|
||||
if targetCC.isClang
|
||||
then toolPath "clang" targetCC
|
||||
else "${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
|
||||
}"
|
||||
'' +
|
||||
lib.optionalString (stdenv.hostPlatform.isLinux && hostPlatform.libc == "glibc") ''
|
||||
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
|
||||
@ -433,14 +507,16 @@ stdenv.mkDerivation ({
|
||||
# `--with` flags for libraries needed for RTS linker
|
||||
configureFlags = [
|
||||
"--datadir=$doc/share/doc/ghc"
|
||||
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||
] ++ lib.optionals enableTerminfo [
|
||||
"--with-curses-includes=${lib.getDev targetLibs.ncurses}/include"
|
||||
"--with-curses-libraries=${lib.getLib targetLibs.ncurses}/lib"
|
||||
] ++ lib.optionals (libffi != null && !targetPlatform.isGhcjs) [
|
||||
"--with-system-libffi"
|
||||
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||
"--with-ffi-includes=${targetLibs.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetLibs.libffi.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
"--with-gmp-includes=${targetLibs.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetLibs.gmp.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||
"--with-iconv-includes=${libiconv}/include"
|
||||
"--with-iconv-libraries=${libiconv}/lib"
|
||||
@ -454,14 +530,16 @@ stdenv.mkDerivation ({
|
||||
"--disable-large-address-space"
|
||||
] ++ lib.optionals enableDwarf [
|
||||
"--enable-dwarf-unwind"
|
||||
"--with-libdw-includes=${lib.getDev targetPackages.elfutils}/include"
|
||||
"--with-libdw-libraries=${lib.getLib targetPackages.elfutils}/lib"
|
||||
"--with-libdw-includes=${lib.getDev targetLibs.elfutils}/include"
|
||||
"--with-libdw-libraries=${lib.getLib targetLibs.elfutils}/lib"
|
||||
] ++ lib.optionals targetPlatform.isDarwin [
|
||||
# Darwin uses llvm-ar. GHC will try to use `-L` with `ar` when it is `llvm-ar`
|
||||
# but it doesn’t currently work because Cabal never uses `-L` on Darwin. See:
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/23188
|
||||
# https://github.com/haskell/cabal/issues/8882
|
||||
"fp_cv_prog_ar_supports_dash_l=no"
|
||||
] ++ lib.optionals enableUnregisterised [
|
||||
"--enable-unregisterised"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||
@ -471,11 +549,13 @@ stdenv.mkDerivation ({
|
||||
dontAddExtraLibs = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl ghc hadrian bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
perl hadrian bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
# autoconf and friends are necessary for hadrian to create the bindist
|
||||
autoconf automake m4
|
||||
# Python is used in a few scripts invoked by hadrian to generate e.g. rts headers.
|
||||
python3
|
||||
# Tool used to update GHC's settings file in postInstall
|
||||
bootPkgs.ghc-settings-edit
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
||||
autoSignDarwinBinariesHook
|
||||
] ++ lib.optionals enableDocs [
|
||||
@ -484,8 +564,25 @@ stdenv.mkDerivation ({
|
||||
|
||||
# For building runtime libs
|
||||
depsBuildTarget = toolsForTarget;
|
||||
# Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs.
|
||||
# See also GHC, {CC,LD,AR}_STAGE0 in preConfigure.
|
||||
depsBuildBuild = [
|
||||
# N.B. We do not declare bootPkgs.ghc in any of the stdenv.mkDerivation
|
||||
# dependency lists to prevent the bintools setup hook from adding ghc's
|
||||
# lib directory to the linker flags. Instead we tell configure about it
|
||||
# via the GHC environment variable.
|
||||
buildCC
|
||||
# stage0 builds terminfo unconditionally, so we always need ncurses
|
||||
ncurses
|
||||
];
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
# Prevent stage0 ghc from leaking into the final result. This was an issue
|
||||
# with GHC 9.6.
|
||||
disallowedReferences = [
|
||||
bootPkgs.ghc
|
||||
];
|
||||
|
||||
buildInputs = [ bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
@ -553,19 +650,49 @@ stdenv.mkDerivation ({
|
||||
# leave bindist directory
|
||||
popd
|
||||
|
||||
settingsFile="$out/lib/${targetPrefix}${haskellCompilerName}/lib/settings"
|
||||
|
||||
# Make the installed GHC use the host->target tools.
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"C compiler command" "${toolPath "cc" installCC}" \
|
||||
"Haskell CPP command" "${toolPath "cc" installCC}" \
|
||||
"C++ compiler command" "${toolPath "c++" installCC}" \
|
||||
"ld command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \
|
||||
"Merge objects command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \
|
||||
"ar command" "${toolPath "ar" installCC}" \
|
||||
"ranlib command" "${toolPath "ranlib" installCC}"
|
||||
''
|
||||
+ lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"otool command" "${toolPath "otool" installCC}" \
|
||||
"install_name_tool command" "${toolPath "install_name_tool" installCC}"
|
||||
''
|
||||
+ lib.optionalString useLLVM ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"LLVM llc command" "${lib.getBin llvmPackages.llvm}/bin/llc" \
|
||||
"LLVM opt command" "${lib.getBin llvmPackages.llvm}/bin/opt"
|
||||
''
|
||||
+ lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"LLVM clang command" "${
|
||||
# See comment for CLANG in preConfigure
|
||||
if installCC.isClang
|
||||
then toolPath "clang" installCC
|
||||
else "${llvmPackages.clang}/bin/${llvmPackages.clang.targetPrefix}clang"
|
||||
}"
|
||||
''
|
||||
+ ''
|
||||
|
||||
# Install the bash completion file.
|
||||
install -Dm 644 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit bootPkgs targetPrefix;
|
||||
inherit bootPkgs targetPrefix haskellCompilerName;
|
||||
|
||||
inherit llvmPackages;
|
||||
inherit enableShared;
|
||||
|
||||
# Our Cabal compiler name
|
||||
haskellCompilerName = "ghc-${version}";
|
||||
|
||||
# Expose hadrian used for bootstrapping, for debugging purposes
|
||||
inherit hadrian;
|
||||
|
||||
@ -581,7 +708,8 @@ stdenv.mkDerivation ({
|
||||
guibou
|
||||
] ++ lib.teams.haskell.members;
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
platforms = lib.platforms.all;
|
||||
inherit (bootPkgs.ghc.meta) license;
|
||||
};
|
||||
|
||||
dontStrip = targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm;
|
||||
|
@ -3,7 +3,7 @@
|
||||
, url ? "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"
|
||||
}:
|
||||
|
||||
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages
|
||||
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, buildPackages, targetPackages
|
||||
|
||||
# build-tools
|
||||
, bootPkgs
|
||||
@ -35,14 +35,19 @@
|
||||
, # If enabled, use -fPIC when compiling static libs.
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
|
||||
, enableProfiledLibs ? true
|
||||
# Exceeds Hydra output limit (at the time of writing ~3GB) when cross compiled to riscv64.
|
||||
# A riscv64 cross-compiler fits into the limit comfortably.
|
||||
, enableProfiledLibs ? !stdenv.hostPlatform.isRiscV64
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
|
||||
|
||||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
enableTerminfo ? !(stdenv.targetPlatform.isWindows
|
||||
# terminfo can't be built for cross
|
||||
|| (stdenv.buildPlatform != stdenv.hostPlatform)
|
||||
|| (stdenv.hostPlatform != stdenv.targetPlatform))
|
||||
|
||||
, # What flavour to build. An empty string indicates no
|
||||
# specific flavour and falls back to ghc default values.
|
||||
@ -58,24 +63,33 @@
|
||||
|
||||
, enableHaddockProgram ?
|
||||
# Disabled for cross; see note [HADDOCK_DOCS].
|
||||
(stdenv.targetPlatform == stdenv.hostPlatform)
|
||||
(stdenv.buildPlatform == stdenv.hostPlatform && stdenv.targetPlatform == stdenv.hostPlatform)
|
||||
|
||||
, # Whether to disable the large address space allocator
|
||||
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
|
||||
|
||||
, # Whether to build an unregisterised version of GHC.
|
||||
# GHC will normally auto-detect whether it can do a registered build, but this
|
||||
# option will force it to do an unregistered build when set to true.
|
||||
# See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/unregisterised
|
||||
# Registerised RV64 compiler produces programs that segfault
|
||||
# See https://gitlab.haskell.org/ghc/ghc/-/issues/23957
|
||||
enableUnregisterised ? stdenv.hostPlatform.isRiscV64 || stdenv.targetPlatform.isRiscV64
|
||||
}:
|
||||
|
||||
assert !enableNativeBignum -> gmp != null;
|
||||
|
||||
# Cross cannot currently build the `haddock` program for silly reasons,
|
||||
# see note [HADDOCK_DOCS].
|
||||
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
|
||||
assert (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
|
||||
|
||||
# GHC does not support building when all 3 platforms are different.
|
||||
assert stdenv.buildPlatform == stdenv.hostPlatform || stdenv.hostPlatform == stdenv.targetPlatform;
|
||||
|
||||
let
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
inherit (bootPkgs) ghc;
|
||||
|
||||
# TODO(@Ericson2314) Make unconditional
|
||||
targetPrefix = lib.optionalString
|
||||
(targetPlatform != hostPlatform)
|
||||
@ -88,6 +102,8 @@ let
|
||||
endif
|
||||
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
|
||||
BUILD_SPHINX_PDF = NO
|
||||
|
||||
WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"}
|
||||
'' +
|
||||
# Note [HADDOCK_DOCS]:
|
||||
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
|
||||
@ -134,7 +150,9 @@ let
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||
|
||||
buildCC = buildPackages.stdenv.cc;
|
||||
targetCC = builtins.head toolsForTarget;
|
||||
installCC = pkgsHostTarget.targetPackages.stdenv.cc;
|
||||
|
||||
# toolPath calculates the absolute path to the name tool associated with a
|
||||
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||
@ -145,12 +163,13 @@ let
|
||||
tools = {
|
||||
"cc" = cc;
|
||||
"c++" = cc;
|
||||
as = cc.bintools.bintools;
|
||||
as = cc.bintools;
|
||||
|
||||
ar = cc.bintools.bintools;
|
||||
ranlib = cc.bintools.bintools;
|
||||
nm = cc.bintools.bintools;
|
||||
readelf = cc.bintools.bintools;
|
||||
ar = cc.bintools;
|
||||
ranlib = cc.bintools;
|
||||
nm = cc.bintools;
|
||||
readelf = cc.bintools;
|
||||
objdump = cc.bintools;
|
||||
|
||||
ld = cc.bintools;
|
||||
"ld.gold" = cc.bintools;
|
||||
@ -169,6 +188,9 @@ let
|
||||
if stdenv.targetPlatform.isDarwin
|
||||
then cc.bintools
|
||||
else cc.bintools.bintools;
|
||||
|
||||
# clang is used as an assembler on darwin with the LLVM backend
|
||||
clang = cc;
|
||||
}.${name};
|
||||
in
|
||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||
@ -185,14 +207,30 @@ let
|
||||
(lib.optionalString enableNativeBignum "-native-bignum")
|
||||
];
|
||||
|
||||
in
|
||||
# These libraries are library dependencies of the standard libraries bundled
|
||||
# by GHC (core libs) users will link their compiled artifacts again. Thus,
|
||||
# they should be taken from targetPackages.
|
||||
#
|
||||
# We need to use pkgsHostTarget if we are cross compiling a native GHC compiler,
|
||||
# though (when native compiling GHC, pkgsHostTarget == targetPackages):
|
||||
#
|
||||
# 1. targetPackages would be empty(-ish) in this situation since we can't
|
||||
# execute cross compiled compilers in order to obtain the libraries
|
||||
# that would be in targetPackages.
|
||||
# 2. pkgsHostTarget is fine to use since hostPlatform == targetPlatform in this
|
||||
# situation.
|
||||
# 3. The core libs used by the final GHC (stage 2) for user artifacts are also
|
||||
# used to build stage 2 GHC itself, i.e. the core libs are both host and
|
||||
# target.
|
||||
targetLibs = {
|
||||
inherit
|
||||
(if hostPlatform != targetPlatform then targetPackages else pkgsHostTarget)
|
||||
gmp
|
||||
libffi
|
||||
ncurses;
|
||||
};
|
||||
|
||||
# C compiler, bintools and LLVM are used at build time, but will also leak into
|
||||
# the resulting GHC's settings file and used at runtime. This means that we are
|
||||
# currently only able to build GHC if hostPlatform == buildPlatform.
|
||||
assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
|
||||
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
|
||||
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
pname = "${targetPrefix}ghc${variantSuffix}";
|
||||
@ -282,6 +320,8 @@ stdenv.mkDerivation (rec {
|
||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||
export "''${env#TARGET_}=''${!env}"
|
||||
done
|
||||
# Stage0 (build->build) which builds stage 1
|
||||
export GHC="${bootPkgs.ghc}/bin/ghc"
|
||||
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||
# the *host* tools.
|
||||
export CC="${toolPath "cc" targetCC}"
|
||||
@ -294,6 +334,7 @@ stdenv.mkDerivation (rec {
|
||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||
export READELF="${toolPath "readelf" targetCC}"
|
||||
export STRIP="${toolPath "strip" targetCC}"
|
||||
export OBJDUMP="${toolPath "objdump" targetCC}"
|
||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
export OTOOL="${toolPath "otool" targetCC}"
|
||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}"
|
||||
@ -302,9 +343,24 @@ stdenv.mkDerivation (rec {
|
||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
||||
# LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
|
||||
export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
|
||||
# The executable we specify via $CLANG is used as an assembler (exclusively, it seems, but this isn't
|
||||
# clarified in any user facing documentation). As such, it'll be called on assembly produced by $CC
|
||||
# which usually comes from the darwin stdenv. To prevent a situation where $CLANG doesn't understand
|
||||
# the assembly it is given, we need to make sure that it matches the LLVM version of $CC if possible.
|
||||
# It is unclear (at the time of writing 2024-09-01) whether $CC should match the LLVM version we use
|
||||
# for llc and opt which would require using a custom darwin stdenv for targetCC.
|
||||
export CLANG="${
|
||||
if targetCC.isClang
|
||||
then toolPath "clang" targetCC
|
||||
else "${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
|
||||
}"
|
||||
''
|
||||
+ ''
|
||||
# No need for absolute paths since these tools only need to work during the build
|
||||
export CC_STAGE0="$CC_FOR_BUILD"
|
||||
export LD_STAGE0="$LD_FOR_BUILD"
|
||||
export AR_STAGE0="$AR_FOR_BUILD"
|
||||
|
||||
echo -n "${buildMK}" > mk/build.mk
|
||||
''
|
||||
+ lib.optionalString (lib.versionOlder version "9.2" || lib.versionAtLeast version "9.4") ''
|
||||
@ -346,21 +402,26 @@ stdenv.mkDerivation (rec {
|
||||
'MinBootGhcVersion="8.10"'
|
||||
'';
|
||||
|
||||
# Although it is usually correct to pass --host, we don't do that here because
|
||||
# GHC's usage of build, host, and target is non-standard.
|
||||
# See https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling
|
||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||
configurePlatforms = [ "build" "host" ]
|
||||
++ lib.optional (targetPlatform != hostPlatform) "target";
|
||||
configurePlatforms = [ "build" ]
|
||||
++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target";
|
||||
|
||||
# `--with` flags for libraries needed for RTS linker
|
||||
configureFlags = [
|
||||
"--datadir=$doc/share/doc/ghc"
|
||||
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||
] ++ lib.optionals enableTerminfo [
|
||||
"--with-curses-includes=${lib.getDev targetLibs.ncurses}/include"
|
||||
"--with-curses-libraries=${lib.getLib targetLibs.ncurses}/lib"
|
||||
] ++ lib.optionals (libffi != null) [
|
||||
"--with-system-libffi"
|
||||
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||
"--with-ffi-includes=${targetLibs.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetLibs.libffi.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
"--with-gmp-includes=${targetLibs.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetLibs.gmp.out}/lib"
|
||||
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||
"--with-iconv-includes=${libiconv}/include"
|
||||
"--with-iconv-libraries=${libiconv}/lib"
|
||||
@ -372,6 +433,8 @@ stdenv.mkDerivation (rec {
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
] ++ lib.optionals enableUnregisterised [
|
||||
"--enable-unregisterised"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||
@ -382,7 +445,8 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl autoconf automake m4 python3
|
||||
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||
bootPkgs.ghc-settings-edit
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
||||
autoSignDarwinBinariesHook
|
||||
] ++ lib.optionals enableDocs [
|
||||
@ -393,10 +457,27 @@ stdenv.mkDerivation (rec {
|
||||
xattr
|
||||
];
|
||||
|
||||
# Everything the stage0 compiler needs to build stage1: CC, bintools, extra libs.
|
||||
# See also GHC, {CC,LD,AR}_STAGE0 in preConfigure.
|
||||
depsBuildBuild = [
|
||||
# N.B. We do not declare bootPkgs.ghc in any of the stdenv.mkDerivation
|
||||
# dependency lists to prevent the bintools setup hook from adding ghc's
|
||||
# lib directory to the linker flags. Instead we tell configure about it
|
||||
# via the GHC environment variable.
|
||||
buildCC
|
||||
# stage0 builds terminfo unconditionally, so we always need ncurses
|
||||
ncurses
|
||||
];
|
||||
# For building runtime libs
|
||||
depsBuildTarget = toolsForTarget;
|
||||
|
||||
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||
# Prevent stage0 ghc from leaking into the final result. This was an issue
|
||||
# with GHC 9.6.
|
||||
disallowedReferences = [
|
||||
bootPkgs.ghc
|
||||
];
|
||||
|
||||
buildInputs = [ bash ] ++ (libDeps hostPlatform);
|
||||
|
||||
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||
@ -423,6 +504,39 @@ stdenv.mkDerivation (rec {
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
postInstall = ''
|
||||
settingsFile="$out/lib/${targetPrefix}${passthru.haskellCompilerName}/settings"
|
||||
|
||||
# Make the installed GHC use the host->target tools.
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"C compiler command" "${toolPath "cc" installCC}" \
|
||||
"Haskell CPP command" "${toolPath "cc" installCC}" \
|
||||
"C++ compiler command" "${toolPath "c++" installCC}" \
|
||||
"ld command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \
|
||||
"Merge objects command" "${toolPath "ld${lib.optionalString useLdGold ".gold"}" installCC}" \
|
||||
"ar command" "${toolPath "ar" installCC}" \
|
||||
"ranlib command" "${toolPath "ranlib" installCC}"
|
||||
''
|
||||
+ lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"otool command" "${toolPath "otool" installCC}" \
|
||||
"install_name_tool command" "${toolPath "install_name_tool" installCC}"
|
||||
''
|
||||
+ lib.optionalString useLLVM ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"LLVM llc command" "${lib.getBin llvmPackages.llvm}/bin/llc" \
|
||||
"LLVM opt command" "${lib.getBin llvmPackages.llvm}/bin/opt"
|
||||
''
|
||||
+ lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
||||
ghc-settings-edit "$settingsFile" \
|
||||
"LLVM clang command" "${
|
||||
# See comment for CLANG in preConfigure
|
||||
if installCC.isClang
|
||||
then toolPath "clang" installCC
|
||||
else "${llvmPackages.clang}/bin/${llvmPackages.clang.targetPrefix}clang"
|
||||
}"
|
||||
''
|
||||
+ ''
|
||||
|
||||
# Install the bash completion file.
|
||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||
'';
|
||||
@ -448,7 +562,8 @@ stdenv.mkDerivation (rec {
|
||||
guibou
|
||||
] ++ lib.teams.haskell.members;
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
platforms = lib.platforms.all;
|
||||
inherit (bootPkgs.ghc.meta) license;
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||
|
@ -43,14 +43,16 @@ mkCoqDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = "coqide";
|
||||
exec = "coqide";
|
||||
icon = "coq";
|
||||
desktopName = "CoqIDE";
|
||||
comment = "Graphical interface for the Coq proof assistant";
|
||||
categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "coqide";
|
||||
exec = "coqide";
|
||||
icon = "coq";
|
||||
desktopName = "CoqIDE";
|
||||
comment = "Graphical interface for the Coq proof assistant";
|
||||
categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://coq.inria.fr";
|
||||
|
@ -185,6 +185,13 @@ self: super: {
|
||||
http-api-data = doJailbreak super.http-api-data;
|
||||
tasty-discover = doJailbreak super.tasty-discover;
|
||||
|
||||
# Out of date test data: https://github.com/ocharles/weeder/issues/176
|
||||
weeder = appendPatch (pkgs.fetchpatch {
|
||||
name = "weeder-2.9.0-test-fix-expected.patch";
|
||||
url = "https://github.com/ocharles/weeder/commit/56028d0c80fe89d4f2ae25275aedb72714fec7da.patch";
|
||||
sha256 = "10zkvclyir3zf21v41zdsvg68vrkq89n64kv9k54742am2i4aygf";
|
||||
}) super.weeder;
|
||||
|
||||
# Allow aeson == 2.1.*
|
||||
# https://github.com/hdgarrood/aeson-better-errors/issues/23
|
||||
aeson-better-errors = lib.pipe super.aeson-better-errors [
|
||||
@ -404,7 +411,7 @@ self: super: {
|
||||
name = "git-annex-${super.git-annex.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + super.git-annex.version;
|
||||
sha256 = "1h0vbz95jgj8c380rpy688frnbwind5c2y3ylaw06l2l3j6gdaq3";
|
||||
sha256 = "0j037sis64gnrll7ajg48cvzzvxqsrhj7vnhiwcqv8wbmbfv0avn";
|
||||
# delete android and Android directories which cause issues on
|
||||
# darwin (case insensitive directory). Since we don't need them
|
||||
# during the build process, we can delete it to prevent a hash
|
||||
@ -1461,6 +1468,11 @@ self: super: {
|
||||
'';
|
||||
}) super.hledger-flow;
|
||||
|
||||
# xmonad-contrib >= 0.18.1 for latest XMonad
|
||||
xmonad-contrib_0_18_1 = super.xmonad-contrib_0_18_1.override {
|
||||
xmonad = self.xmonad_0_18_0;
|
||||
};
|
||||
|
||||
# Chart-tests needs and compiles some modules from Chart itself
|
||||
Chart-tests = overrideCabal (old: {
|
||||
# https://github.com/timbod7/haskell-chart/issues/233
|
||||
@ -2048,6 +2060,11 @@ self: super: {
|
||||
tls = self.tls_2_0_6;
|
||||
});
|
||||
|
||||
# Requests version 2 of tls, can be removed once it's the default
|
||||
diohsc = super.diohsc.overrideScope (self: super: {
|
||||
tls = self.tls_2_0_6;
|
||||
});
|
||||
|
||||
# Need https://github.com/obsidiansystems/cli-extras/pull/12 and more
|
||||
cli-extras = doJailbreak super.cli-extras;
|
||||
|
||||
@ -2445,9 +2462,7 @@ self: super: {
|
||||
# See: https://gitlab.haskell.org/ghc/ghc/-/issues/17188
|
||||
#
|
||||
# Overwrite the build cores
|
||||
raaz = overrideCabal (drv: {
|
||||
enableParallelBuilding = false;
|
||||
}) super.raaz;
|
||||
raaz = disableParallelBuilding super.raaz;
|
||||
|
||||
# https://github.com/andreymulik/sdp/issues/3
|
||||
sdp = disableLibraryProfiling super.sdp;
|
||||
@ -2552,8 +2567,9 @@ self: super: {
|
||||
relative = "dependent-sum-template";
|
||||
}) super.dependent-sum-template;
|
||||
|
||||
# Too strict bounds on chell: https://github.com/fpco/haskell-filesystem/issues/24
|
||||
system-fileio = doJailbreak super.system-fileio;
|
||||
# doJailbreak: too strict bounds on chell: https://github.com/fpco/haskell-filesystem/issues/24
|
||||
# dontCheck: tests don't typecheck after ghc 8.4 (possibly introduced by api change of unix library)
|
||||
system-fileio = doJailbreak (dontCheck super.system-fileio);
|
||||
|
||||
# Bounds too strict on base and ghc-prim: https://github.com/tibbe/ekg-core/pull/43 (merged); waiting on hackage release
|
||||
ekg-core = assert super.ekg-core.version == "0.1.1.7"; doJailbreak super.ekg-core;
|
||||
|
@ -83,9 +83,6 @@ self: super: ({
|
||||
with-utf8 = addExtraLibrary pkgs.libiconv super.with-utf8;
|
||||
with-utf8_1_1_0_0 = addExtraLibrary pkgs.libiconv super.with-utf8_1_1_0_0;
|
||||
|
||||
# the system-fileio tests use canonicalizePath, which fails in the sandbox
|
||||
system-fileio = dontCheck super.system-fileio;
|
||||
|
||||
git-annex = overrideCabal (drv: {
|
||||
# We can't use testFlags since git-annex side steps the Cabal test mechanism
|
||||
preCheck = drv.preCheck or "" + ''
|
||||
|
@ -69,7 +69,6 @@ self: super: {
|
||||
hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82
|
||||
http-api-data = doJailbreak super.http-api-data;
|
||||
persistent-sqlite = dontCheck super.persistent-sqlite;
|
||||
system-fileio = dontCheck super.system-fileio; # avoid dependency on broken "patience"
|
||||
unicode-transforms = dontCheck super.unicode-transforms;
|
||||
wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17
|
||||
RSA = dontCheck super.RSA; # https://github.com/GaloisInc/RSA/issues/14
|
||||
|
@ -5,7 +5,6 @@ with haskellLib;
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
disableParallelBuilding = haskellLib.overrideCabal (drv: { enableParallelBuilding = false; });
|
||||
in
|
||||
|
||||
self: super: {
|
||||
@ -55,9 +54,6 @@ self: super: {
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/23392
|
||||
gi-gtk = disableParallelBuilding super.gi-gtk;
|
||||
|
||||
#
|
||||
# Version upgrades
|
||||
#
|
||||
@ -67,14 +63,18 @@ self: super: {
|
||||
aeson = doDistribute self.aeson_2_2_3_0;
|
||||
apply-refact = doDistribute self.apply-refact_0_14_0_0;
|
||||
attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_2_0;
|
||||
auto-update = super.auto-update_0_2_1;
|
||||
extensions = doDistribute self.extensions_0_1_0_2;
|
||||
fourmolu = doDistribute self.fourmolu_0_16_2_0;
|
||||
hashable = doDistribute self.hashable_1_4_7_0;
|
||||
integer-conversion = doDistribute self.integer-conversion_0_1_1;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_1_20240511;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
|
||||
http2 = super.http2_5_3_4;
|
||||
lens = doDistribute self.lens_5_3_2;
|
||||
lukko = doDistribute self.lukko_0_1_2;
|
||||
network-control = super.network-control_0_1_3;
|
||||
network-run = super.network-run_0_4_0;
|
||||
ormolu = doDistribute self.ormolu_0_7_7_0;
|
||||
primitive = doDistribute (dontCheck self.primitive_0_9_0_0); # tests introduce a recursive dependency via hspec
|
||||
quickcheck-instances = doDistribute self.quickcheck-instances_0_3_31;
|
||||
@ -82,6 +82,7 @@ self: super: {
|
||||
rerebase = doDistribute self.rerebase_1_21_1;
|
||||
scientific = doDistribute self.scientific_0_3_8_0;
|
||||
semirings = doDistribute self.semirings_0_7;
|
||||
time-manager = super.time-manager_0_1_0;
|
||||
th-abstraction = doDistribute self.th-abstraction_0_7_0_0;
|
||||
uuid-types = doDistribute self.uuid-types_1_0_6;
|
||||
|
||||
@ -101,9 +102,11 @@ self: super: {
|
||||
#
|
||||
base64 = doJailbreak super.base64; # base <4.20
|
||||
commutative-semigroups = doJailbreak super.commutative-semigroups; # base <4.20
|
||||
dejafu = doJailbreak super.dejafu; # containers <0.7
|
||||
floskell = doJailbreak super.floskell; # base <4.20
|
||||
lucid = doJailbreak super.lucid; # base <4.20
|
||||
tar = doJailbreak super.tar; # base <4.20
|
||||
tasty-coverage = doJailbreak super.tasty-coverage; # base <4.20, filepath <1.5
|
||||
tree-diff = doJailbreak super.tree-diff; # base <4.20
|
||||
time-compat = doJailbreak super.time-compat; # base <4.20
|
||||
|
||||
@ -123,6 +126,9 @@ self: super: {
|
||||
lukko_0_1_2 = dontCheck super.lukko_0_1_2; # doesn't compile with tasty ==1.4.*
|
||||
resolv = dontCheck super.resolv; # doesn't compile with filepath ==1.5.*
|
||||
primitive-unlifted = dontCheck super.primitive-unlifted; # doesn't compile with primitive ==0.9.*
|
||||
bsb-http-chunked = pkgs.haskell.lib.dontCheck super.bsb-http-chunked; # https://github.com/sjakobi/bsb-http-chunked/issues/45
|
||||
hinotify = pkgs.haskell.lib.dontCheck super.hinotify; # https://github.com/kolmodin/hinotify/issues/38
|
||||
warp = pkgs.haskell.lib.dontCheck super.warp_3_4_1; # test suite assumes it can freely call curl
|
||||
|
||||
haskell-language-server = disableCabalFlag "retrie" (disableCabalFlag "hlint" (disableCabalFlag "stylishhaskel" (super.haskell-language-server.override {stylish-haskell = null;retrie = null;apply-refact=null;hlint = null;})));
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
disableParallelBuilding = haskellLib.overrideCabal (drv: { enableParallelBuilding = false; });
|
||||
in
|
||||
|
||||
self: super: {
|
||||
@ -53,6 +52,4 @@ self: super: {
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/23392
|
||||
gi-gtk = disableParallelBuilding super.gi-gtk;
|
||||
}
|
||||
|
@ -15,8 +15,6 @@ let
|
||||
builtins.throw "Check if '${msg}' was resolved in ${pkg.pname} ${pkg.version} and update or remove this";
|
||||
jailbreakForCurrentVersion = p: v: checkAgainAfter p v "bad bounds" (doJailbreak p);
|
||||
|
||||
# Workaround for a ghc-9.6 issue: https://gitlab.haskell.org/ghc/ghc/-/issues/23392
|
||||
disableParallelBuilding = overrideCabal (drv: { enableParallelBuilding = false; });
|
||||
in
|
||||
|
||||
self: super: {
|
||||
@ -109,9 +107,6 @@ self: super: {
|
||||
package-version # doctest <0.21, tasty-hedgehog <1.4
|
||||
;
|
||||
|
||||
# Avoid triggering an issue in ghc-9.6.2
|
||||
gi-gtk = disableParallelBuilding super.gi-gtk;
|
||||
|
||||
# Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327
|
||||
gtk = doJailbreak super.gtk;
|
||||
|
||||
|
@ -5,7 +5,6 @@ with haskellLib;
|
||||
let
|
||||
inherit (pkgs.stdenv.hostPlatform) isDarwin;
|
||||
|
||||
disableParallelBuilding = haskellLib.overrideCabal (drv: { enableParallelBuilding = false; });
|
||||
in
|
||||
|
||||
self: super: {
|
||||
@ -146,7 +145,4 @@ self: super: {
|
||||
sha256 = "sha256-umjwgdSKebJdRrXjwHhsi8HBqotx1vFibY9ttLkyT/0=";
|
||||
}) super.reflex;
|
||||
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/23392
|
||||
gi-gtk = disableParallelBuilding super.gi-gtk;
|
||||
|
||||
}
|
||||
|
@ -2,12 +2,6 @@
|
||||
|
||||
with haskellLib;
|
||||
|
||||
let
|
||||
disableParallelBuilding = overrideCabal (drv: {
|
||||
enableParallelBuilding = false;
|
||||
});
|
||||
in
|
||||
|
||||
# cabal2nix doesn't properly add dependencies conditional on arch(javascript)
|
||||
|
||||
(self: super: {
|
||||
|
@ -158,6 +158,7 @@ broken-packages:
|
||||
- amqp-conduit # failure in job https://hydra.nixos.org/build/233228080 at 2023-09-02
|
||||
- amqp-worker # failure in job https://hydra.nixos.org/build/236675859 at 2023-10-04
|
||||
- analyze # failure in job https://hydra.nixos.org/build/233251441 at 2023-09-02
|
||||
- anansi # failure in job https://hydra.nixos.org/build/273451545 at 2024-10-01
|
||||
- anansi-pandoc # failure in job https://hydra.nixos.org/build/233252389 at 2023-09-02
|
||||
- android-activity # failure in job https://hydra.nixos.org/build/233203400 at 2023-09-02
|
||||
- android # failure in job https://hydra.nixos.org/build/233222148 at 2023-09-02
|
||||
@ -611,6 +612,7 @@ broken-packages:
|
||||
- cabal2ebuild # failure in job https://hydra.nixos.org/build/233221248 at 2023-09-02
|
||||
- cabal2ghci # failure in job https://hydra.nixos.org/build/233233018 at 2023-09-02
|
||||
- cabal2json # failure in job https://hydra.nixos.org/build/233196099 at 2023-09-02
|
||||
- cabal-add # failure in job https://hydra.nixos.org/build/273461296 at 2024-10-01
|
||||
- cabal-audit # failure in job https://hydra.nixos.org/build/233193414 at 2023-09-02
|
||||
- cabal-auto-expose # failure in job https://hydra.nixos.org/build/233195440 at 2023-09-02
|
||||
- cabal-build-programs # failure in job https://hydra.nixos.org/build/257091363 at 2024-04-27
|
||||
@ -799,8 +801,13 @@ broken-packages:
|
||||
- clanki # failure in job https://hydra.nixos.org/build/233196970 at 2023-09-02
|
||||
- clarifai # failure in job https://hydra.nixos.org/build/233229480 at 2023-09-02
|
||||
- CLASE # failure in job https://hydra.nixos.org/build/233234459 at 2023-09-02
|
||||
- clash-prelude # failure in job https://hydra.nixos.org/build/233252128 at 2023-09-02
|
||||
- clashilator # failure in job https://hydra.nixos.org/build/273442437 at 2024-10-01
|
||||
- clash-multisignal # failure in job https://hydra.nixos.org/build/273463331 at 2024-10-01
|
||||
- clash-prelude-quickcheck # failure in job https://hydra.nixos.org/build/273453747 at 2024-10-01
|
||||
- Clash-Royale-Hack-Cheats # failure in job https://hydra.nixos.org/build/233216034 at 2023-09-02
|
||||
- clash-systemverilog # failure in job https://hydra.nixos.org/build/273453889 at 2024-10-01
|
||||
- clash-verilog # failure in job https://hydra.nixos.org/build/273466517 at 2024-10-01
|
||||
- clash-vhdl # failure in job https://hydra.nixos.org/build/273460098 at 2024-10-01
|
||||
- ClasshSS # failure in job https://hydra.nixos.org/build/255688076 at 2024-04-16
|
||||
- ClassLaws # failure in job https://hydra.nixos.org/build/233243019 at 2023-09-02
|
||||
- classy-effects-base # failure in updateAutotoolsGnuConfigScriptsPhase in job https://hydra.nixos.org/build/237233636 at 2023-10-21
|
||||
@ -1319,7 +1326,6 @@ broken-packages:
|
||||
- dijkstra-simple # failure in job https://hydra.nixos.org/build/233218373 at 2023-09-02
|
||||
- DimensionalHash # failure in job https://hydra.nixos.org/build/233230945 at 2023-09-02
|
||||
- dino # failure in job https://hydra.nixos.org/build/252725815 at 2024-03-16
|
||||
- diohsc # failure in job https://hydra.nixos.org/build/259625302 at 2024-05-15
|
||||
- diophantine # failure in job https://hydra.nixos.org/build/233229215 at 2023-09-02
|
||||
- diplomacy # failure in job https://hydra.nixos.org/build/233207895 at 2023-09-02
|
||||
- direct-binary-files # failure in job https://hydra.nixos.org/build/233246387 at 2023-09-02
|
||||
@ -1329,6 +1335,7 @@ broken-packages:
|
||||
- directory-ospath-streaming # failure in job https://hydra.nixos.org/build/233240003 at 2023-09-02
|
||||
- direct-plugins # failure in job https://hydra.nixos.org/build/233211547 at 2023-09-02
|
||||
- direm # failure in job https://hydra.nixos.org/build/233211496 at 2023-09-02
|
||||
- dirstream # failure in job https://hydra.nixos.org/build/273442606 at 2024-10-01
|
||||
- disco # failure in job https://hydra.nixos.org/build/233212298 at 2023-09-02
|
||||
- discordian-calendar # failure in job https://hydra.nixos.org/build/233218124 at 2023-09-02
|
||||
- discord-types # failure in job https://hydra.nixos.org/build/233251778 at 2023-09-02
|
||||
@ -2791,6 +2798,7 @@ broken-packages:
|
||||
- hs2ps # failure in job https://hydra.nixos.org/build/233258362 at 2023-09-02
|
||||
- hsakamai # failure in job https://hydra.nixos.org/build/252722933 at 2024-03-16
|
||||
- hsaml2 # failure in job https://hydra.nixos.org/build/233252618 at 2023-09-02
|
||||
- hs-asapo # failure in job https://hydra.nixos.org/build/273456994 at 2024-10-01
|
||||
- hsautogui # failure in job https://hydra.nixos.org/build/253687662 at 2024-03-31
|
||||
- hsay # failure in job https://hydra.nixos.org/build/233218925 at 2023-09-02
|
||||
- hsbc # failure in job https://hydra.nixos.org/build/233206310 at 2023-09-02
|
||||
@ -4809,6 +4817,7 @@ broken-packages:
|
||||
- proof-assistant-bot # failure in job https://hydra.nixos.org/build/234974688 at 2023-09-13
|
||||
- proof-combinators # failure in job https://hydra.nixos.org/build/233210521 at 2023-09-02
|
||||
- PropaFP # failure in job https://hydra.nixos.org/build/233206496 at 2023-09-02
|
||||
- propeller # failure in job https://hydra.nixos.org/build/273449652 at 2024-10-01
|
||||
- Proper # failure in job https://hydra.nixos.org/build/233194417 at 2023-09-02
|
||||
- properties # failure in job https://hydra.nixos.org/build/233240862 at 2023-09-02
|
||||
- property-list # failure in job https://hydra.nixos.org/build/233254907 at 2023-09-02
|
||||
@ -5500,6 +5509,7 @@ broken-packages:
|
||||
- sint # failure in job https://hydra.nixos.org/build/233238431 at 2023-09-02
|
||||
- siphash # failure in job https://hydra.nixos.org/build/233199344 at 2023-09-02
|
||||
- sitepipe # failure in job https://hydra.nixos.org/build/233201989 at 2023-09-02
|
||||
- si-timers # failure in job https://hydra.nixos.org/build/273467737 at 2024-10-01
|
||||
- sixfiguregroup # failure in job https://hydra.nixos.org/build/233252141 at 2023-09-02
|
||||
- sixty-five-oh-two # failure in job https://hydra.nixos.org/build/252714578 at 2024-03-16
|
||||
- sized-grid # failure in job https://hydra.nixos.org/build/233239056 at 2023-09-02
|
||||
@ -5783,7 +5793,9 @@ broken-packages:
|
||||
- strict-ghc-plugin # failure in job https://hydra.nixos.org/build/233246830 at 2023-09-02
|
||||
- strict-impl-params # failure in job https://hydra.nixos.org/build/252732248 at 2024-03-16
|
||||
- strictly # failure in job https://hydra.nixos.org/build/233197142 at 2023-09-02
|
||||
- strict-mvar # failure in job https://hydra.nixos.org/build/273459853 at 2024-10-01
|
||||
- strict-optics # failure in job https://hydra.nixos.org/build/267983907 at 2024-07-31
|
||||
- strict-stm # failure in job https://hydra.nixos.org/build/273449297 at 2024-10-01
|
||||
- strict-tuple-lens # failure in job https://hydra.nixos.org/build/233194548 at 2023-09-02
|
||||
- strict-writer # failure in job https://hydra.nixos.org/build/252725649 at 2024-03-16
|
||||
- string-class # failure in job https://hydra.nixos.org/build/233230041 at 2023-09-02
|
||||
@ -5888,7 +5900,6 @@ broken-packages:
|
||||
- system-command # failure in job https://hydra.nixos.org/build/233239356 at 2023-09-02
|
||||
- systemd-ntfy # failure in job https://hydra.nixos.org/build/236686880 at 2023-10-04
|
||||
- system-extra # failure in job https://hydra.nixos.org/build/233203137 at 2023-09-02
|
||||
- system-fileio # failure in job https://hydra.nixos.org/build/252731084 at 2024-03-16
|
||||
- system-inotify # failure in job https://hydra.nixos.org/build/233206871 at 2023-09-02
|
||||
- system-lifted # failure in job https://hydra.nixos.org/build/233236013 at 2023-09-02
|
||||
- system-linux-proc # failure in job https://hydra.nixos.org/build/233209447 at 2023-09-02
|
||||
@ -6095,6 +6106,7 @@ broken-packages:
|
||||
- tiger # failure in job https://hydra.nixos.org/build/233249333 at 2023-09-02
|
||||
- TigerHash # failure in job https://hydra.nixos.org/build/233208162 at 2023-09-02
|
||||
- tightrope # failure in job https://hydra.nixos.org/build/233215237 at 2023-09-02
|
||||
- tiktoken # failure in job https://hydra.nixos.org/build/273448419 at 2024-10-01
|
||||
- tikzsd # failure in job https://hydra.nixos.org/build/233224431 at 2023-09-02
|
||||
- timecalc # failure in job https://hydra.nixos.org/build/233207970 at 2023-09-02
|
||||
- time-extras # failure in job https://hydra.nixos.org/build/233204030 at 2023-09-02
|
||||
@ -6262,6 +6274,7 @@ broken-packages:
|
||||
- typed-process-effectful # failure in job https://hydra.nixos.org/build/236684332 at 2023-10-04
|
||||
- typedquery # failure in job https://hydra.nixos.org/build/233215307 at 2023-09-02
|
||||
- typed-session # failure in job https://hydra.nixos.org/build/270089993 at 2024-08-31
|
||||
- typed-session-state-algorithm # failure in job https://hydra.nixos.org/build/273462641 at 2024-10-01
|
||||
- typed-spreadsheet # failure in job https://hydra.nixos.org/build/233248967 at 2023-09-02
|
||||
- typed-time # failure in job https://hydra.nixos.org/build/233246930 at 2023-09-02
|
||||
- typed-wire # failure in job https://hydra.nixos.org/build/233237626 at 2023-09-02
|
||||
@ -6318,6 +6331,7 @@ broken-packages:
|
||||
- unboxed # failure in job https://hydra.nixos.org/build/233219555 at 2023-09-02
|
||||
- unboxed-references # failure in job https://hydra.nixos.org/build/233192713 at 2023-09-02
|
||||
- unbreak # failure in job https://hydra.nixos.org/build/233242560 at 2023-09-02
|
||||
- uncertain # failure in job https://hydra.nixos.org/build/273461304 at 2024-10-01
|
||||
- unescaping-print # failure in job https://hydra.nixos.org/build/252736030 at 2024-03-16
|
||||
- unfix-binders # failure in job https://hydra.nixos.org/build/233259262 at 2023-09-02
|
||||
- unfoldable # failure in job https://hydra.nixos.org/build/252721990 at 2024-03-16
|
||||
|
@ -34,8 +34,8 @@ default-package-overrides:
|
||||
- chs-cabal < 0.1.1.2 # Incompatible with Cabal < 3.12
|
||||
# 2024-08-17: Stackage doesn't contain hnix-store-core >= 0.8 yet, so we need to restrict hnix-store-remote
|
||||
- hnix-store-remote < 0.7
|
||||
# 2024-08-26: test failure for >= 2.9 https://github.com/ocharles/weeder/issues/176
|
||||
- weeder < 2.9.0
|
||||
# 2024-09-12: match xmonad 0.17.* from Stackage LTS
|
||||
- xmonad-contrib < 0.18.1
|
||||
|
||||
|
||||
extra-packages:
|
||||
|
@ -483,7 +483,6 @@ dont-distribute-packages:
|
||||
- ampersand
|
||||
- amqp-streamly
|
||||
- analyze-client
|
||||
- anansi
|
||||
- anansi-hscolour
|
||||
- anatomy
|
||||
- animate-example
|
||||
@ -572,6 +571,7 @@ dont-distribute-packages:
|
||||
- aviation-weight-balance
|
||||
- awesomium
|
||||
- awesomium-glut
|
||||
- aws-arn
|
||||
- aws-configuration-tools
|
||||
- aws-dynamodb-conduit
|
||||
- aws-dynamodb-streams
|
||||
@ -673,7 +673,6 @@ dont-distribute-packages:
|
||||
- bitmaps
|
||||
- bittorrent
|
||||
- bla
|
||||
- blacktip
|
||||
- blakesum-demo
|
||||
- blastxml
|
||||
- blatex
|
||||
@ -824,7 +823,6 @@ dont-distribute-packages:
|
||||
- chu2
|
||||
- chuchu
|
||||
- chunks
|
||||
- circuit-notation
|
||||
- citation-resolve
|
||||
- citeproc-hs-pandoc-filter
|
||||
- clac
|
||||
@ -832,17 +830,7 @@ dont-distribute-packages:
|
||||
- claferIG
|
||||
- claferwiki
|
||||
- clash
|
||||
- clash-ghc
|
||||
- clash-lib
|
||||
- clash-lib-hedgehog
|
||||
- clash-multisignal
|
||||
- clash-prelude-hedgehog
|
||||
- clash-prelude-quickcheck
|
||||
- clash-shake
|
||||
- clash-systemverilog
|
||||
- clash-verilog
|
||||
- clash-vhdl
|
||||
- clashilator
|
||||
- classify-frog
|
||||
- classy-effects
|
||||
- classy-effects-th
|
||||
@ -1144,7 +1132,6 @@ dont-distribute-packages:
|
||||
- direct-rocksdb
|
||||
- directory-contents
|
||||
- dirfiles
|
||||
- dirstream
|
||||
- discogs-haskell
|
||||
- discord-gateway
|
||||
- discord-hs
|
||||
@ -1440,6 +1427,8 @@ dont-distribute-packages:
|
||||
- frpnow-gtk
|
||||
- frpnow-gtk3
|
||||
- frpnow-vty
|
||||
- fs-api
|
||||
- fs-sim
|
||||
- ftdi
|
||||
- ftp-client-conduit
|
||||
- ftree
|
||||
@ -2280,7 +2269,6 @@ dont-distribute-packages:
|
||||
- hyperpublic
|
||||
- i
|
||||
- iException
|
||||
- ice40-prim
|
||||
- ide-backend
|
||||
- ide-backend-server
|
||||
- ideas-math
|
||||
@ -2337,6 +2325,7 @@ dont-distribute-packages:
|
||||
- introduction-test
|
||||
- intset
|
||||
- invertible-hlist
|
||||
- io-classes-mtl
|
||||
- ion
|
||||
- ipatch
|
||||
- ipc
|
||||
@ -2573,7 +2562,6 @@ dont-distribute-packages:
|
||||
- linnet-conduit
|
||||
- linux-ptrace
|
||||
- lio-eci11
|
||||
- lion
|
||||
- liquid-base
|
||||
- liquid-bytestring
|
||||
- liquid-containers
|
||||
@ -3157,7 +3145,7 @@ dont-distribute-packages:
|
||||
- poseidon
|
||||
- poseidon-postgis
|
||||
- postgresql-common-persistent
|
||||
- postgresql-libpq_0_10_2_0
|
||||
- postgresql-libpq_0_11_0_0
|
||||
- postgresql-pure
|
||||
- postgresql-simple-ltree
|
||||
- postgresql-simple-queue
|
||||
@ -3306,6 +3294,7 @@ dont-distribute-packages:
|
||||
- rc
|
||||
- rdf4h-vocab-activitystreams
|
||||
- rdioh
|
||||
- rds-data
|
||||
- react-flux-servant
|
||||
- reactive
|
||||
- reactive-banana-sdl
|
||||
@ -3403,8 +3392,6 @@ dont-distribute-packages:
|
||||
- restricted-workers
|
||||
- rethinkdb-model
|
||||
- rethinkdb-wereHamster
|
||||
- retroclash-lib
|
||||
- retroclash-sim
|
||||
- rewrite
|
||||
- rewriting
|
||||
- rezoom
|
||||
@ -3556,11 +3543,11 @@ dont-distribute-packages:
|
||||
- seqloc-datafiles
|
||||
- sequor
|
||||
- serdoc-binary
|
||||
- serial-test-generators
|
||||
- serpentine
|
||||
- serv
|
||||
- serv-wai
|
||||
- servant-aeson-generics-typescript
|
||||
- servant-auth-client_0_4_2_0
|
||||
- servant-auth-hmac
|
||||
- servant-auth-token
|
||||
- servant-auth-token-acid
|
||||
@ -4297,7 +4284,6 @@ dont-distribute-packages:
|
||||
- yesod-raml-bin
|
||||
- yesod-raml-docs
|
||||
- yesod-raml-mock
|
||||
- yesod-routes-flow
|
||||
- yesod-routes-typescript
|
||||
- yesod-session-redis
|
||||
- yesod-worker
|
||||
|
1932
pkgs/development/haskell-modules/hackage-packages.nix
generated
1932
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -184,6 +184,13 @@ rec {
|
||||
markBrokenVersion = version: drv: assert drv.version == version; markBroken drv;
|
||||
markUnbroken = overrideCabal (drv: { broken = false; });
|
||||
|
||||
/* disableParallelBuilding drops the -j<n> option from the GHC
|
||||
command line for the given package. This can be useful in rare
|
||||
situations where parallel building of a package causes GHC to
|
||||
fail for some reason.
|
||||
*/
|
||||
disableParallelBuilding = overrideCabal (drv: { enableParallelBuilding = false; });
|
||||
|
||||
enableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = true; });
|
||||
disableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = false; });
|
||||
|
||||
|
@ -176,6 +176,8 @@ rec {
|
||||
markBrokenVersion = compose.markBrokenVersion;
|
||||
markUnbroken = compose.markUnbroken;
|
||||
|
||||
disableParallelBuilding = compose.disableParallelBuilding;
|
||||
|
||||
enableLibraryProfiling = compose.enableLibraryProfiling;
|
||||
disableLibraryProfiling = compose.disableLibraryProfiling;
|
||||
|
||||
|
@ -17,6 +17,8 @@ self: super: {
|
||||
# from the latest master instead of the current version on Hackage.
|
||||
cabal2nix-unstable = self.callPackage ./cabal2nix-unstable.nix { };
|
||||
|
||||
ghc-settings-edit = self.callPackage ../tools/haskell/ghc-settings-edit { };
|
||||
|
||||
# https://github.com/channable/vaultenv/issues/1
|
||||
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
||||
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-BiRuPQEKVJYYgfUsglIuxrBoJBFiQ0ygQmAFrVvCz4Q=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
mesonBuildType = "release";
|
||||
|
||||
@ -32,13 +32,15 @@ stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeCheckInputs = [
|
||||
cmake
|
||||
libpng
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
zlib
|
||||
libpng
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "craft-application";
|
||||
version = "4.2.4";
|
||||
version = "4.2.5";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
@ -36,7 +36,7 @@ buildPythonPackage rec {
|
||||
owner = "canonical";
|
||||
repo = "craft-application";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-Z9jiIVPh/DozFHoE478VQWinpohOOQplkxFP2ZyAySE=";
|
||||
hash = "sha256-Y/Eci0ByE1HxUcxWhpQq0F2Ef1xkXZMBDGmUSIyPKII=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "edk2-pytool-library";
|
||||
version = "0.21.11";
|
||||
version = "0.21.12";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
owner = "tianocore";
|
||||
repo = "edk2-pytool-library";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-5d/IEa7IGbQ2FIAl6Y8tBJIzCNDPibmhy35CSpcWQ8A=";
|
||||
hash = "sha256-PIQ/OrZnm+WOlvTzCHb64/bj7/JGKBEbh6lHD0Pm0ro=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
@ -17,14 +17,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "imbalanced-learn";
|
||||
version = "0.12.3";
|
||||
version = "0.12.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-WwB5agFBnpECvUJeJ8MZ1Y0fbPLfp1HgLtf07fZ8PBs=";
|
||||
hash = "sha256-gVO6OF0pawfZfgkBomJKhsBrSMlML5LaOlNUgnaXt6M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools ];
|
||||
|
@ -1,52 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
boto3,
|
||||
cachecontrol,
|
||||
fetchFromGitHub,
|
||||
iso3166,
|
||||
python-dateutil,
|
||||
requests,
|
||||
responses,
|
||||
polyline,
|
||||
pytestCheckHook,
|
||||
uritemplate,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mapbox";
|
||||
version = "0.18.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mapbox";
|
||||
repo = "mapbox-sdk-py";
|
||||
rev = "0.18.0";
|
||||
sha256 = "123wsa4j11ps5pkjgylbmw4gnzh2vi22swgmvy50w26glkszh075";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
boto3
|
||||
cachecontrol
|
||||
iso3166
|
||||
python-dateutil
|
||||
requests
|
||||
polyline
|
||||
uritemplate
|
||||
];
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
responses
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/mapbox/mapbox-sdk-py";
|
||||
license = licenses.mit;
|
||||
description = "Mapbox SDK for Python";
|
||||
longDescription = "Low-level client API for Mapbox web services.";
|
||||
maintainers = with maintainers; [ ersin ];
|
||||
# ImportError: cannot import name 'Mapping' from 'collections'
|
||||
# and archived upstreamed
|
||||
broken = true;
|
||||
};
|
||||
}
|
@ -14,14 +14,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "oelint-parser";
|
||||
version = "5.0.0";
|
||||
version = "5.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "priv-kweihmann";
|
||||
repo = "oelint-parser";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-7LEjo/Z9mk2gx2vzDKz5cFR5bDTDgjIVVOquj0o/+0I=";
|
||||
hash = "sha256-0cCcbnipijQgWH+08eZbE6Cqcx5cenrb+bQlf3h04tw=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "regex" ];
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "optree";
|
||||
version = "0.12.1";
|
||||
version = "0.13.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "metaopt";
|
||||
repo = "optree";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-4GvB9Z7qnEjsUSl+x5wd8czV80F50MwJdlNdylUU0zY=";
|
||||
hash = "sha256-HuzfQ1arAF/DbJd9MF0jAxfzWvOHtAfkEMUF+aPfaII=";
|
||||
};
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "twilio";
|
||||
version = "9.3.2";
|
||||
version = "9.3.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -29,7 +29,7 @@ buildPythonPackage rec {
|
||||
owner = "twilio";
|
||||
repo = "twilio-python";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-XAJmAdwBF6HM0E89gAP4AOg1vepumJ8O39V0lKr9iDw=";
|
||||
hash = "sha256-Yb5eeg8m21gjx9ZS7Z/N46p7LGfIBCdrmGoHpD+B+as=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "uvcclient";
|
||||
version = "0.12.1";
|
||||
version = "0.12.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kk7ds";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ilZTRoSuoJMWlyRfvY/PpTBbr+d6wx+T3cVyW3ZkXlY=";
|
||||
hash = "sha256-V7xIvZ9vIXHPpkEeJZ6QedWk+4ZVNwCzj5ffLyixFz4=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
@ -14,21 +14,21 @@ let
|
||||
|
||||
channels = {
|
||||
stable = {
|
||||
version = "2.14.3";
|
||||
version = "2.15.1";
|
||||
hash = {
|
||||
x86_64-linux = "sha256-CDQmixywYDLj3ABqTEnaUftITSFGA/wGAfe0IFoU64g=";
|
||||
x86_64-darwin = "sha256-TDpoby2lBw8W6zJrHgF/AQFQL+j9dv3d21VLsiSd1sk=";
|
||||
aarch64-linux = "sha256-L+2YOMgH1cCl4o1VFZk1dC258/XStgiH9lr9PEQOPSo=";
|
||||
aarch64-darwin = "sha256-hG3HsJ+DIjwB5ehT+Hd3EZduvjNXYTZLYbAYCRWWiQ8=";
|
||||
x86_64-linux = "sha256-DB/3iUkgWzAI+3DEQB8heYkG6apUARDulQ4lKDAPN1I=";
|
||||
x86_64-darwin = "sha256-62tjAC3WtWC8eIkh9dPi2Exksp2gDHyXEU2tCavKZ4Q=";
|
||||
aarch64-linux = "sha256-957GdH5sDjbjxEt8LXKPBM7vht7T6JizVwYYhbitdpw=";
|
||||
aarch64-darwin = "sha256-ckcd1u9dgg9LKhr47Yw8dJKkR7hawPie4QNyySH8vyM=";
|
||||
};
|
||||
};
|
||||
mainline = {
|
||||
version = "2.15.0";
|
||||
version = "2.16.0";
|
||||
hash = {
|
||||
x86_64-linux = "sha256-zM5l3vkLKuDdZHTgVTYfvfYTGLCpDnA2GZDh5PLQ9rs=";
|
||||
x86_64-darwin = "sha256-AbW92RMaPfusve5DxRaT3npeN2zVzrBOBL3XGN8235I=";
|
||||
aarch64-linux = "sha256-13FZc1zMmaxfDp0bXBFzf2gcO6wkiA932C5m9oon2GQ=";
|
||||
aarch64-darwin = "sha256-UP08DncRvM1NjtMOfanDnXGySK1RrCUta5lbIvJ7vto=";
|
||||
x86_64-linux = "sha256-Uk9oGiLSHBCINAzQg88tlHyMw/OGfdmCw2/NXJs5wbQ=";
|
||||
x86_64-darwin = "sha256-Bbayv00NDJGUA4M4KyG4XCXIiaQSf4JSgy5VvLSVmAM=";
|
||||
aarch64-linux = "sha256-nV02uO+UkNNvQDIkh2G+9H8gvk9DOSYyIu4O3nwkYXk=";
|
||||
aarch64-darwin = "sha256-C9Nm8dW3V25D7J/3ABO5oLGL4wcSCsAXtQNZABwVpWs=";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "clickhouse-backup";
|
||||
version = "2.6.1";
|
||||
version = "2.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Altinity";
|
||||
repo = "clickhouse-backup";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-IaRM0wxG/8O12SuCls9MAtiobPHhuDFoFDaT3ZOn2Hk=";
|
||||
hash = "sha256-t9sRhcNKFvTTysornYf/7JQ7mkasTunnzKR4pYCAOk0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-n3rlijycZ5qZtR/e+Z/UPCcr47p4wN3kFgfWr+73WAQ=";
|
||||
|
@ -35,6 +35,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ jre ];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase =
|
||||
let addJars = dir: ''
|
||||
for jar in ${dir}/*.jar; do
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "google-java-format";
|
||||
version = "1.23.0";
|
||||
version = "1.24.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/google/google-java-format/releases/download/v${version}/google-java-format-${version}-all-deps.jar";
|
||||
sha256 = "sha256-fGN1rCS0glvmu+YZAOi1ixo+iUShNnqDYyEPntLQhXA=";
|
||||
sha256 = "sha256-gS+AX1gRJGDt8BvyAqjmHQ/R81wNT6vVQiBkB3bsV6E=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -0,0 +1,2 @@
|
||||
import Distribution.Simple
|
||||
main = defaultMain
|
31
pkgs/development/tools/haskell/ghc-settings-edit/default.nix
Normal file
31
pkgs/development/tools/haskell/ghc-settings-edit/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
mkDerivation,
|
||||
base,
|
||||
containers,
|
||||
lib,
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
pname = "ghc-settings-edit";
|
||||
version = "0.1.0";
|
||||
src = lib.fileset.toSource {
|
||||
root = ./.;
|
||||
fileset = lib.fileset.unions [
|
||||
./Setup.hs
|
||||
./ghc-settings-edit.lhs
|
||||
./ghc-settings-edit.cabal
|
||||
];
|
||||
};
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
base
|
||||
containers
|
||||
];
|
||||
license = [
|
||||
lib.licenses.mit
|
||||
lib.licenses.bsd3
|
||||
];
|
||||
description = "Tool for editing GHC's settings file";
|
||||
mainProgram = "ghc-settings-edit";
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
cabal-version: 2.2
|
||||
name: ghc-settings-edit
|
||||
version: 0.1.0
|
||||
synopsis: Tool for editing GHC's settings file
|
||||
-- TODO: description for hackage
|
||||
-- TODO: category for hackage
|
||||
license: MIT AND BSD-3-Clause
|
||||
author: sternenseemann
|
||||
-- FIXME: must be email for potential Hackage upload
|
||||
maintainer: @NixOS/haskell
|
||||
copyright: © 2024 The Nixpkgs/NixOS contributors
|
||||
stability: experimental
|
||||
build-type: Simple
|
||||
bug-reports: https://github.com/NixOS/nixpkgs/issues
|
||||
|
||||
executable ghc-settings-edit
|
||||
default-language: Haskell2010
|
||||
-- TODO: bounds for hackage
|
||||
build-depends: base
|
||||
, containers
|
||||
main-is: ghc-settings-edit.lhs
|
||||
hs-source-dirs: .
|
@ -0,0 +1,109 @@
|
||||
ghc-settings-edit is a small tool for changing certain fields in the settings
|
||||
file that is part of every GHC installation (usually located at
|
||||
lib/ghc-$version/lib/settings or lib/ghc-$version/settings). This is sometimes
|
||||
necessary because GHC's build process leaks the tools used at build time into
|
||||
the final settings file. This is fine, as long as the build and host platform
|
||||
of the GHC build is the same since it will be possible to execute the tools
|
||||
used at build time at run time. In case we are cross compiling GHC itself,
|
||||
the settings file needs to be changed so that the correct tools are used in the
|
||||
final installation. The GHC build system itself doesn't allow for this due to
|
||||
its somewhat peculiar bootstrapping mechanism.
|
||||
|
||||
This tool was originally written by sternenseemann and is licensed under the MIT
|
||||
license (as is nixpkgs) as well as the BSD 3 Clause license since it incorporates
|
||||
some code from GHC. It is primarily intended for use in nixpkgs, so it should be
|
||||
considered unstable: No guarantees about the stability of its command line
|
||||
interface are made at this time.
|
||||
|
||||
> -- SPDX-License-Identifier: MIT AND BSD-3-Clause
|
||||
> {-# LANGUAGE LambdaCase #-}
|
||||
> module Main where
|
||||
|
||||
ghc-settings-edit requires no additional dependencies to the ones already
|
||||
required to bootstrap GHC. This means that it only depends on GHC and core
|
||||
libraries shipped with the compiler (base and containers). This property should
|
||||
be preserved going forward as to not needlessly complicate bootstrapping GHC
|
||||
in nixpkgs. Additionally, a wide range of library versions and thus GHC versions
|
||||
should be supported (via CPP if necessary).
|
||||
|
||||
> import Control.Monad (foldM)
|
||||
> import qualified Data.Map.Lazy as Map
|
||||
> import System.Environment (getArgs, getProgName)
|
||||
> import Text.Read (readEither)
|
||||
|
||||
Note that the containers dependency is needed to represent the contents of the
|
||||
settings file. In theory, [(String, String)] (think lookup) would suffice, but
|
||||
base doesn't provide any facilities for updating such lists. To avoid needlessly
|
||||
reinventing the wheel here, we depend on an extra core library.
|
||||
|
||||
> type SettingsMap = Map.Map String String
|
||||
|
||||
ghc-settings-edit accepts the following arguments:
|
||||
|
||||
- The path to the settings file which is edited in place.
|
||||
- For every field in the settings file to be updated, two arguments need to be
|
||||
passed: the name of the field and its new value. Any number of these pairs
|
||||
may be provided. If a field is missing from the given settings file,
|
||||
it won't be added (see also below).
|
||||
|
||||
> usage :: String -> String
|
||||
> usage name = "Usage: " ++ name ++ " FILE [KEY NEWVAL [KEY2 NEWVAL2 ...]]"
|
||||
|
||||
The arguments and the contents of the settings file are fed into the performEdits
|
||||
function which implements the main logic of ghc-settings-edit (except IO).
|
||||
|
||||
> performEdits :: [String] -> String -> Either String String
|
||||
> performEdits editArgs settingsString = do
|
||||
|
||||
First, the settings file is parsed and read into the SettingsMap structure. For
|
||||
parsing, we can simply rely read, as GHC uses the familiar Read/Show format
|
||||
(plus some formatting) for storing its settings. This is the main reason
|
||||
ghc-settings-edit is written in Haskell: We don't need to roll our own parser.
|
||||
|
||||
> settingsMap <- Map.fromList <$> readEither settingsString
|
||||
|
||||
We also need to parse the remaining command line arguments (after the path)
|
||||
which means splitting them into pairs of arguments describing the individual
|
||||
edits. We use the chunkList utility function from GHC for this which is vendored
|
||||
below. Since it doesn't guarantee that all sublists have the exact length given,
|
||||
we'll have to check the length of the returned “pairs” later.
|
||||
|
||||
> let edits = chunkList 2 editArgs
|
||||
|
||||
Since each edit is a transformation of the SettingsMap, we use a fold to go
|
||||
through the edits. The Either monad allows us to bail out if one is malformed.
|
||||
The use of Map.adjust ensures that fields that aren't present in the original
|
||||
settings file aren't added since the corresponding GHC installation wouldn't
|
||||
understand them. Note that this is done silently which may be suboptimal:
|
||||
It could be better to fail.
|
||||
|
||||
> show . Map.toList <$> foldM applyEdit settingsMap edits
|
||||
> where
|
||||
> applyEdit :: SettingsMap -> [String] -> Either String SettingsMap
|
||||
> applyEdit m [key, newValue] = Right $ Map.adjust (const newValue) key m
|
||||
> applyEdit _ _ = Left "Uneven number of edit arguments provided"
|
||||
|
||||
main just wraps performEdits and takes care of reading from and writing to the
|
||||
given file.
|
||||
|
||||
> main :: IO ()
|
||||
> main =
|
||||
> getArgs >>= \case
|
||||
> (settingsFile:edits) -> do
|
||||
> orig <- readFile settingsFile
|
||||
> case performEdits edits orig of
|
||||
> Right edited -> writeFile settingsFile edited
|
||||
> Left errorMsg -> error errorMsg
|
||||
> _ -> do
|
||||
> name <- getProgName
|
||||
> error $ usage name
|
||||
|
||||
As mentioned, chunkList is taken from GHC, specifically GHC.Utils.Misc of GHC
|
||||
verson 9.8.2. We don't depend on the ghc library directly (which would be
|
||||
possible in theory) since there are no stability guarantees or deprecation
|
||||
windows for the ghc's public library.
|
||||
|
||||
> -- | Split a list into chunks of /n/ elements
|
||||
> chunkList :: Int -> [a] -> [[a]]
|
||||
> chunkList _ [] = []
|
||||
> chunkList n xs = as : chunkList n bs where (as,bs) = splitAt n xs
|
@ -39,15 +39,17 @@ let
|
||||
hash = "sha256-4T0j2ctHmgWOSCmFG2PZCLJS57nIa5MxmJBpMYzy9FI=";
|
||||
};
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
comment = meta.description;
|
||||
desktopName = nameApp;
|
||||
genericName = "Java Profiler Tool";
|
||||
categories = [ "Development" ];
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
comment = meta.description;
|
||||
desktopName = nameApp;
|
||||
genericName = "Java Profiler Tool";
|
||||
categories = [ "Development" ];
|
||||
})
|
||||
];
|
||||
|
||||
linux = stdenv.mkDerivation {
|
||||
inherit pname version src desktopItems;
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.118.0";
|
||||
version = "0.119.0";
|
||||
pname = "jbang";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
|
||||
sha256 = "sha256-W3vjKZd2Qh/P652im9U9QWCzBHW1uIM8t5nYIjwkfI8=";
|
||||
sha256 = "sha256-ebwBRzgpYEomboY+hMok8KmOaNR4hRaPy7SxjHbLeYU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "minizinc";
|
||||
version = "2.8.6";
|
||||
version = "2.8.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MiniZinc";
|
||||
repo = "libminizinc";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-mWbkCm6nfN4rJpiCfVPo2K29oV2fInMGbFv4J8NDbaw=";
|
||||
sha256 = "sha256-2JCTOgnzGeh106YBkLPM46MgnB4XHZmdMXNn1P0OBqA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ bison cmake flex jq ];
|
||||
|
@ -84,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# not need to know binutils' BINDIR at all. It's an absolute path
|
||||
# where libraries are stored.
|
||||
./plugins-no-BINDIR.patch
|
||||
] ++ lib.optionals buildPlatform.isDarwin [
|
||||
] ++ lib.optionals hostPlatform.isDarwin [
|
||||
# Note: Conditional to avoid Linux rebuilds on staging-next. Remove the conditional with the next update.
|
||||
# ld64 needs `-undefined dynamic_lookup` to link `libctf-nobfd.dylib`, but the Darwin
|
||||
# version detection in `libtool.m4` fails to detect the Darwin version correctly.
|
||||
@ -122,7 +122,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
++ lib.optionals targetPlatform.isVc4 [ flex ]
|
||||
;
|
||||
|
||||
buildInputs = [ zlib gettext ] ++ lib.optionals buildPlatform.isDarwin [ CoreServices ];
|
||||
buildInputs = [ zlib gettext ] ++ lib.optionals hostPlatform.isDarwin [ CoreServices ];
|
||||
|
||||
inherit noSysDirs;
|
||||
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pyenv";
|
||||
version = "2.4.13";
|
||||
version = "2.4.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pyenv";
|
||||
repo = "pyenv";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-PwM/CFWAmWM3cairzWh76NXeD/iZHVKZsaaQjv/HLGI=";
|
||||
hash = "sha256-SOCXr/btqub4affamyBH04rIXFb0oh3Hizpn1pFjfTA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "qc";
|
||||
version = "0.5.1";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qownnotes";
|
||||
repo = "qc";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SrvcRF2yRGGPTk835ykG+NH9WPoc/bXO5tSj43Q7T3g=";
|
||||
hash = "sha256-+Mkg8x9f6oqPqPrk6iCHH69+k0jhQGfjtbJwJPLc7Dw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7t5rQliLm6pMUHhtev/kNrQ7AOvmA/rR93SwNQhov6o=";
|
||||
vendorHash = "sha256-Cg1Op/4okIi2UTtqWnR0N3iMWzrYEaYxmXzvWIibftg=";
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w" "-X=github.com/qownnotes/qc/cmd.version=${version}"
|
||||
|
@ -18,15 +18,17 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = [ "--with-gtk" "--with--board3d" ];
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
desktopName = "GNU Backgammon";
|
||||
name = pname;
|
||||
genericName = "Backgammon";
|
||||
comment = meta.description;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
categories = [ "Game" "GTK" "StrategyGame" ];
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
desktopName = "GNU Backgammon";
|
||||
name = pname;
|
||||
genericName = "Backgammon";
|
||||
comment = meta.description;
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
categories = [ "Game" "GTK" "StrategyGame" ];
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib;
|
||||
{ description = "World class backgammon application";
|
||||
|
@ -48,14 +48,16 @@ stdenv.mkDerivation rec {
|
||||
libXi
|
||||
]));
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = "vintagestory";
|
||||
desktopName = "Vintage Story";
|
||||
exec = "vintagestory";
|
||||
icon = "vintagestory";
|
||||
comment = "Innovate and explore in a sandbox world";
|
||||
categories = [ "Game" ];
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "vintagestory";
|
||||
desktopName = "Vintage Story";
|
||||
exec = "vintagestory";
|
||||
icon = "vintagestory";
|
||||
comment = "Innovate and explore in a sandbox world";
|
||||
categories = [ "Game" ];
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
@ -1,33 +1,34 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, nixosTests
|
||||
, boost
|
||||
, yaml-cpp
|
||||
, libsodium
|
||||
, sqlite
|
||||
, protobuf
|
||||
, openssl
|
||||
, systemd
|
||||
, mariadb-connector-c
|
||||
, postgresql
|
||||
, lua
|
||||
, openldap
|
||||
, geoip
|
||||
, curl
|
||||
, unixODBC
|
||||
, lmdb
|
||||
, tinycdb
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
pkg-config,
|
||||
nixosTests,
|
||||
boost,
|
||||
yaml-cpp,
|
||||
libsodium,
|
||||
sqlite,
|
||||
protobuf,
|
||||
openssl,
|
||||
systemd,
|
||||
mariadb-connector-c,
|
||||
postgresql,
|
||||
lua,
|
||||
openldap,
|
||||
geoip,
|
||||
curl,
|
||||
unixODBC,
|
||||
lmdb,
|
||||
tinycdb,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pdns";
|
||||
version = "4.9.1";
|
||||
version = "4.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.powerdns.com/releases/pdns-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-MNlnG48IR3Tby6IPWlOjE00IIqsu3D75aNoDDmMN0Jo=";
|
||||
hash = "sha256-9XBkBCcEH0xcVHDRbv+VGnA4w1PdxGGydQKQzpmy48I=";
|
||||
};
|
||||
# redact configure flags from version output to reduce closure size
|
||||
patches = [ ./version.patch ];
|
||||
@ -52,34 +53,38 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
tinycdb
|
||||
];
|
||||
|
||||
# Configure phase requires 64-bit time_t even on 32-bit platforms.
|
||||
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.hostPlatform.is32bit [
|
||||
"-D_TIME_BITS=64"
|
||||
"-D_FILE_OFFSET_BITS=64"
|
||||
]);
|
||||
|
||||
configureFlags = [
|
||||
"--disable-silent-rules"
|
||||
"--enable-dns-over-tls"
|
||||
"--enable-unit-tests"
|
||||
"--enable-reproducible"
|
||||
"--enable-tools"
|
||||
"--enable-ixfrdist"
|
||||
"--enable-systemd"
|
||||
"--with-libsodium"
|
||||
"--with-sqlite3"
|
||||
"--with-libcrypto=${openssl.dev}"
|
||||
(lib.enableFeature stdenv.hostPlatform.is32bit "experimental-64bit-time_t-support-on-glibc")
|
||||
(lib.enableFeature false "silent-rules")
|
||||
(lib.enableFeature true "dns-over-tls")
|
||||
(lib.enableFeature true "unit-tests")
|
||||
(lib.enableFeature true "reproducible")
|
||||
(lib.enableFeature true "tools")
|
||||
(lib.enableFeature true "ixfrdist")
|
||||
(lib.enableFeature true "systemd")
|
||||
(lib.withFeature true "libsodium")
|
||||
(lib.withFeature true "sqlite3")
|
||||
(lib.withFeatureAs true "libcrypto" (lib.getDev openssl))
|
||||
(lib.withFeatureAs true "modules" "")
|
||||
(lib.withFeatureAs true "dynmodules" (
|
||||
lib.concatStringsSep " " [
|
||||
"bind"
|
||||
"geoip"
|
||||
"gmysql"
|
||||
"godbc"
|
||||
"gpgsql"
|
||||
"gsqlite3"
|
||||
"ldap"
|
||||
"lmdb"
|
||||
"lua2"
|
||||
"pipe"
|
||||
"remote"
|
||||
"tinydns"
|
||||
]
|
||||
))
|
||||
"sysconfdir=/etc/pdns"
|
||||
];
|
||||
|
||||
# nix destroy with-modules arguments, when using configureFlags
|
||||
preConfigure = ''
|
||||
configureFlagsArray+=(
|
||||
"--with-modules="
|
||||
"--with-dynmodules=bind geoip gmysql godbc gpgsql gsqlite3 ldap lmdb lua2 pipe remote tinydns"
|
||||
)
|
||||
'';
|
||||
|
||||
# We want the various utilities to look for the powerdns config in
|
||||
# /etc/pdns, but to actually install the sample config file in
|
||||
# $out
|
||||
@ -92,12 +97,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nixos = nixosTests.powerdns;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Authoritative DNS server";
|
||||
homepage = "https://www.powerdns.com";
|
||||
platforms = platforms.unix;
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ mic92 disassembler nickcao ];
|
||||
maintainers = with maintainers; [
|
||||
mic92
|
||||
disassembler
|
||||
nickcao
|
||||
];
|
||||
};
|
||||
})
|
||||
|
@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mtail";
|
||||
version = "3.0.8";
|
||||
version = "3.0.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "mtail";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Rnpf0RgGltSrUPHra5LbvVmS9jftcimYM2Zc39xoxDk=";
|
||||
hash = "sha256-ZyQpTxWBCU+pmulEXi/Y2PimbNMsUlbEFj8r+gTOTA0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-30V+SS+fl1qmK/0i7eB4OGI6pv232kNIMPclRyTNWww=";
|
||||
vendorHash = "sha256-96r2UWM5HUF69BOGW6buV6juJEDYoiBPmR5iGNmI5WA=";
|
||||
|
||||
ldflags = [
|
||||
"-X=main.Branch=main"
|
||||
|
@ -71,6 +71,7 @@ rustPlatform.buildRustPackage rec {
|
||||
--replace-fail '.with_protos' '.with_includes(&["."]).with_protos'
|
||||
substituteInPlace ./quickwit-proto/build.rs \
|
||||
--replace-fail '.with_protos' '.with_includes(&["."]).with_protos'
|
||||
cp /build/cargo-vendor-dir/Cargo.lock /build/source/quickwit/Cargo.lock
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/quickwit";
|
||||
@ -96,10 +97,6 @@ rustPlatform.buildRustPackage rec {
|
||||
};
|
||||
};
|
||||
|
||||
cargoPatches =[
|
||||
./update-time-for-rust-1.80.patch
|
||||
];
|
||||
|
||||
CARGO_PROFILE_RELEASE_LTO = "fat";
|
||||
CARGO_PROFILE_RELEASE_CODEGEN_UNITS = "1";
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index db5e22e6..6d48db37 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -8225,9 +8225,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
-version = "0.3.34"
|
||||
+version = "0.3.36"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
|
||||
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"itoa",
|
||||
@@ -8258,9 +8258,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
-version = "0.2.17"
|
||||
+version = "0.2.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
|
||||
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
|
||||
dependencies = [
|
||||
"num-conv",
|
||||
"time-core",
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "nu_scripts";
|
||||
version = "0-unstable-2024-09-26";
|
||||
version = "0-unstable-2024-10-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nushell";
|
||||
repo = pname;
|
||||
rev = "e10ffbaaa7dc8c9ecd300e72d5f0b6c7e6691175";
|
||||
hash = "sha256-CT4CI/oKidy7nwiqEbDJxKDuinrcjGQBke9bwwOcD8A=";
|
||||
rev = "743ccc08ee9b46703b1afaf4d77b59bf723a6d41";
|
||||
hash = "sha256-4vGUZtDkywHIc1sgu5jU+95rQfl9B2eoGWzfH7xSMac=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -146,6 +146,8 @@ let
|
||||
pkgs.pkgsCross.mips64el-linux-gnuabi64.stdenv
|
||||
pkgs.pkgsCross.mips64el-linux-gnuabin32.stdenv
|
||||
pkgs.pkgsCross.mingwW64.stdenv
|
||||
# Uses the expression that is used by the most cross-compil_ed_ GHCs
|
||||
pkgs.pkgsCross.riscv64.haskell.compiler.native-bignum.ghc948
|
||||
|
||||
] ++ lib.optionals (with pkgs.stdenv.buildPlatform; isx86_64 && isLinux) [
|
||||
# Musl-to-glibc cross on the same architecture tends to turn up
|
||||
|
@ -9,14 +9,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "s3ql";
|
||||
version = "5.2.1";
|
||||
version = "5.2.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "s3ql";
|
||||
repo = "s3ql";
|
||||
rev = "refs/tags/s3ql-${version}";
|
||||
hash = "sha256-85J0ymGe9V6f95Ycdq84dY+UiybhPdFXZzuIBb1nD5c=";
|
||||
hash = "sha256-D+fUl9UpJ7vxoVzB6MlrgnyAqEYbUkc+0w6iepYuZnk=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [ setuptools ];
|
||||
|
@ -51,13 +51,15 @@ buildPythonApplication rec {
|
||||
tinycss2
|
||||
];
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = "gaphor";
|
||||
icon = "gaphor";
|
||||
comment = meta.description;
|
||||
desktopName = "Gaphor";
|
||||
};
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = pname;
|
||||
exec = "gaphor";
|
||||
icon = "gaphor";
|
||||
comment = meta.description;
|
||||
desktopName = "Gaphor";
|
||||
})
|
||||
];
|
||||
|
||||
# Disable automatic wrapGAppsHook3 to prevent double wrapping
|
||||
dontWrapGApps = true;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user