Merge staging-next into staging
This commit is contained in:
commit
5c718e11ea
@ -1076,6 +1076,9 @@ benchmark component.
|
|||||||
`disableLibraryProfiling drv`
|
`disableLibraryProfiling drv`
|
||||||
: Sets the `enableLibraryProfiling` argument to `false` for `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}
|
#### 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
|
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
|
# _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
|
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 '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
|
checkConfigError 'please only import the modules that make up the configuration' config ./import-configuration.nix
|
||||||
|
|
||||||
|
@ -23800,6 +23800,13 @@
|
|||||||
githubId = 1108325;
|
githubId = 1108325;
|
||||||
name = "Théo Zimmermann";
|
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 = {
|
zlepper = {
|
||||||
name = "Rasmus Hansen";
|
name = "Rasmus Hansen";
|
||||||
github = "zlepper";
|
github = "zlepper";
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
let
|
let
|
||||||
cfg = config.boot.initrd.systemd;
|
cfg = config.boot.initrd.systemd;
|
||||||
in
|
in
|
||||||
lib.mkIf cfg.tpm2.enable {
|
lib.mkIf (cfg.enable && cfg.tpm2.enable) {
|
||||||
boot.initrd.systemd.additionalUpstreamUnits = [
|
boot.initrd.systemd.additionalUpstreamUnits = [
|
||||||
"tpm2.target"
|
"tpm2.target"
|
||||||
"systemd-tpm2-setup-early.service"
|
"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
|
gm convert $src/GalaxyBudsClient/Resources/icon_white.ico $out/share/icons/hicolor/256x256/apps/${meta.mainProgram}.png
|
||||||
'';
|
'';
|
||||||
|
|
||||||
desktopItems = makeDesktopItem {
|
desktopItems = [
|
||||||
name = meta.mainProgram;
|
(makeDesktopItem {
|
||||||
exec = meta.mainProgram;
|
name = meta.mainProgram;
|
||||||
icon = meta.mainProgram;
|
exec = meta.mainProgram;
|
||||||
desktopName = meta.mainProgram;
|
icon = meta.mainProgram;
|
||||||
genericName = "Galaxy Buds Client";
|
desktopName = meta.mainProgram;
|
||||||
comment = meta.description;
|
genericName = "Galaxy Buds Client";
|
||||||
type = "Application";
|
comment = meta.description;
|
||||||
categories = [ "Settings" ];
|
type = "Application";
|
||||||
startupNotify = true;
|
categories = [ "Settings" ];
|
||||||
};
|
startupNotify = true;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
mainProgram = "GalaxyBudsClient";
|
mainProgram = "GalaxyBudsClient";
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "texstudio";
|
pname = "texstudio";
|
||||||
version = "4.8.3";
|
version = "4.8.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "texstudio-org";
|
owner = "texstudio-org";
|
||||||
repo = "texstudio";
|
repo = "texstudio";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-/8Y8hz/rqKc5yZ/pdfy6gikufoSx0au3niv2r7o5cRc=";
|
hash = "sha256-gGL9eM0OsUg34GXFsz5LJ738WSl8L8mGfOcZZPNceT4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
dbus,
|
dbus,
|
||||||
embree,
|
embree,
|
||||||
fetchgit,
|
fetchgit,
|
||||||
|
fetchpatch2,
|
||||||
fetchzip,
|
fetchzip,
|
||||||
ffmpeg,
|
ffmpeg,
|
||||||
fftw,
|
fftw,
|
||||||
@ -132,7 +133,17 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
sourceRoot = "source";
|
sourceRoot = "source";
|
||||||
|
|
||||||
patches = [ ./draco.patch ] ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin.patch;
|
patches = [
|
||||||
|
./draco.patch
|
||||||
|
(fetchpatch2 {
|
||||||
|
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/raw/4b6214600e11851d7793256e2f6846a594e6f223/ffmpeg-7-1.patch";
|
||||||
|
hash = "sha256-YXXqP/+79y3f41n3cJ3A1RBzgdoYqfKZD/REqmWYdgQ=";
|
||||||
|
})
|
||||||
|
(fetchpatch2 {
|
||||||
|
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/raw/4b6214600e11851d7793256e2f6846a594e6f223/ffmpeg-7-2.patch";
|
||||||
|
hash = "sha256-mF6IA/dbHdNEkBN5XXCRcLIZ/8kXoirNwq7RDuLRAjw=";
|
||||||
|
})
|
||||||
|
] ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin.patch;
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
(lib.optionalString stdenv.hostPlatform.isDarwin ''
|
(lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
|
@ -11,18 +11,20 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
|
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
|
||||||
|
|
||||||
desktopItems = makeDesktopItem {
|
desktopItems = [
|
||||||
type = "Application";
|
(makeDesktopItem {
|
||||||
name = pname;
|
type = "Application";
|
||||||
desktopName = "Conduktor";
|
name = pname;
|
||||||
genericName = meta.description;
|
desktopName = "Conduktor";
|
||||||
exec = pname;
|
genericName = meta.description;
|
||||||
icon = fetchurl {
|
exec = pname;
|
||||||
url = "https://github.com/conduktor/builds/raw/v${version}/.github/resources/Conduktor.png";
|
icon = fetchurl {
|
||||||
sha256 = "0s7p74qclvac8xj2m22gfxx5m2c7cf0nqpk5sb049p2wvryhn2j4";
|
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";
|
};
|
||||||
};
|
comment = "A beautiful and fully-featured desktop client for Apache Kafka";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
@ -9,16 +9,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "wthrr";
|
pname = "wthrr";
|
||||||
version = "1.2.0";
|
version = "1.2.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ttytm";
|
owner = "ttytm";
|
||||||
repo = "wthrr-the-weathercrab";
|
repo = "wthrr-the-weathercrab";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-3bWO2Gl8/B2p4k/6QhlT46RvyMJJs7WkVcX35vWN2Fk=";
|
hash = "sha256-8o84FFdcEPRtbsxWCc97tTGGownxlhpIM71GiBRT6uM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-8Uy+8UpCQyLaLsulpgC1w2XI9aqj2P5ebBlXqpuDIc4=";
|
cargoHash = "sha256-gHvPz8DZ6wSfMCzh8vx7Wv8pfP3P7p5EeRCTo4b30cw=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
|
@ -50,7 +50,7 @@ let
|
|||||||
# https://mozilla.github.io/policy-templates/
|
# https://mozilla.github.io/policy-templates/
|
||||||
, extraPolicies ? {}
|
, extraPolicies ? {}
|
||||||
, extraPoliciesFiles ? []
|
, 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
|
, nixExtensions ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
, rnnoise
|
, rnnoise
|
||||||
, microsoft-gsl
|
, microsoft-gsl
|
||||||
, boost
|
, boost
|
||||||
, wayland
|
|
||||||
, libicns
|
, libicns
|
||||||
, darwin
|
, darwin
|
||||||
}:
|
}:
|
||||||
@ -46,13 +45,13 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kotatogram-desktop";
|
pname = "kotatogram-desktop";
|
||||||
version = "0-unstable-2024-09-01";
|
version = "0-unstable-2024-09-27";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kotatogram";
|
owner = "kotatogram";
|
||||||
repo = "kotatogram-desktop";
|
repo = "kotatogram-desktop";
|
||||||
rev = "e30c1857bf38c354467f4e6a2a37b1252b4e28e6";
|
rev = "0581eb6219343b3cfcbb81124b372df1039b7568";
|
||||||
hash = "sha256-kmJeqaDAVKhMWwcazy+gGB+55Kao67RJrlLvZQ+AtqY=";
|
hash = "sha256-rvn8GZmHdMkVutLUe/LmUNIawlb9VgU3sYhPwZ2MWsI=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -114,7 +113,6 @@ stdenv.mkDerivation rec {
|
|||||||
libpulseaudio
|
libpulseaudio
|
||||||
hunspell
|
hunspell
|
||||||
jemalloc
|
jemalloc
|
||||||
wayland
|
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
|
] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
|
||||||
Cocoa
|
Cocoa
|
||||||
CoreFoundation
|
CoreFoundation
|
||||||
|
@ -20,14 +20,14 @@
|
|||||||
let
|
let
|
||||||
pname = "qownnotes";
|
pname = "qownnotes";
|
||||||
appname = "QOwnNotes";
|
appname = "QOwnNotes";
|
||||||
version = "24.9.7";
|
version = "24.9.8";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
||||||
hash = "sha256-n5Il8DnEK6emZANv6IMUpaEsHZ/hoPl4jNaXCuo7X5g=";
|
hash = "sha256-G5PLz1GzjfPM5tj3rtwJt4hR3v+oSq2bVr/llTSFbNk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -1,17 +1,29 @@
|
|||||||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, intltool
|
{
|
||||||
, gtk3, glib, curl, goocanvas2, gpsd
|
lib,
|
||||||
, hamlib, wrapGAppsHook3
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchpatch,
|
||||||
|
pkg-config,
|
||||||
|
intltool,
|
||||||
|
autoreconfHook,
|
||||||
|
gtk3,
|
||||||
|
glib,
|
||||||
|
curl,
|
||||||
|
goocanvas2,
|
||||||
|
gpsd,
|
||||||
|
hamlib,
|
||||||
|
wrapGAppsHook3,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation rec {
|
||||||
version = "2.2.1";
|
|
||||||
in stdenv.mkDerivation {
|
|
||||||
pname = "gpredict";
|
pname = "gpredict";
|
||||||
inherit version;
|
version = "2.2.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/csete/gpredict/releases/download/v${version}/gpredict-${version}.tar.bz2";
|
owner = "csete";
|
||||||
sha256 = "0hwf97kng1zy8rxyglw04x89p0bg07zq30hgghm20yxiw2xc8ng7";
|
repo = "gpredict";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-+hgjImfT3nWMBYwde7+KC/hzd84pwQbpoJvaJSNG4E8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -22,12 +34,32 @@ in stdenv.mkDerivation {
|
|||||||
url = "https://github.com/csete/gpredict/commit/c565bb3d48777bfe17114b5d01cd81150521f056.patch";
|
url = "https://github.com/csete/gpredict/commit/c565bb3d48777bfe17114b5d01cd81150521f056.patch";
|
||||||
sha256 = "1jhy9hpqlachq32bkij60q3dxkgi1kkr80rm29jjxqpmambf406a";
|
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 ];
|
nativeBuildInputs = [
|
||||||
buildInputs = [ curl glib gtk3 goocanvas2 gpsd hamlib ];
|
pkg-config
|
||||||
|
intltool
|
||||||
|
wrapGAppsHook3
|
||||||
|
autoreconfHook
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
curl
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
goocanvas2
|
||||||
|
gpsd
|
||||||
|
hamlib
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Real time satellite tracking and orbit prediction";
|
description = "Real time satellite tracking and orbit prediction";
|
||||||
mainProgram = "gpredict";
|
mainProgram = "gpredict";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
@ -37,9 +69,12 @@ in stdenv.mkDerivation {
|
|||||||
well. Gpredict uses the SGP4/SDP4 algorithms, which are compatible with the
|
well. Gpredict uses the SGP4/SDP4 algorithms, which are compatible with the
|
||||||
NORAD Keplerian elements.
|
NORAD Keplerian elements.
|
||||||
'';
|
'';
|
||||||
license = licenses.gpl2Only;
|
license = lib.licenses.gpl2Only;
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
homepage = "http://gpredict.oz9aec.net/";
|
homepage = "http://gpredict.oz9aec.net/";
|
||||||
maintainers = [ maintainers.markuskowa maintainers.cmcdragonkai ];
|
maintainers = with lib.maintainers; [
|
||||||
|
markuskowa
|
||||||
|
cmcdragonkai
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -26,13 +26,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "stellarium";
|
pname = "stellarium";
|
||||||
version = "24.2";
|
version = "24.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Stellarium";
|
owner = "Stellarium";
|
||||||
repo = "stellarium";
|
repo = "stellarium";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-tqyLwlf8hugixZSsFCZPTtchO3VXk3m/nX1kuDoLOAY=";
|
hash = "sha256-shDp2tCOynMiEuTSx4TEK8V9h3EsMDq+kkZFhldrinM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -33,14 +33,16 @@ stdenv.mkDerivation rec {
|
|||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
desktopItems = makeDesktopItem {
|
desktopItems = [
|
||||||
name = pname;
|
(makeDesktopItem {
|
||||||
exec = pname;
|
name = pname;
|
||||||
icon = pname;
|
exec = pname;
|
||||||
comment = "iNavFlight configuration tool";
|
icon = pname;
|
||||||
desktopName = "iNav Configurator";
|
comment = "iNavFlight configuration tool";
|
||||||
genericName = "Flight controller configuration tool";
|
desktopName = "iNav Configurator";
|
||||||
};
|
genericName = "Flight controller configuration tool";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "INav flight control system configuration tool";
|
description = "INav flight control system configuration tool";
|
||||||
|
@ -112,8 +112,13 @@ rustPlatform.buildRustPackage rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
tests = {
|
tests = {
|
||||||
test = nixosTests.terminal-emulators.rio;
|
|
||||||
version = testers.testVersion { package = 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 {
|
buildGoModule rec {
|
||||||
pname = "ghorg";
|
pname = "ghorg";
|
||||||
version = "1.10.0";
|
version = "1.11.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gabrie30";
|
owner = "gabrie30";
|
||||||
repo = "ghorg";
|
repo = "ghorg";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-MZGpH8fvSERSMUxGa1JX4mb8d/p3aDztgRH1FQA8f/Y=";
|
sha256 = "sha256-tsR7cBpDa311rLI1CTXD2LLl3j2PxkBeQsjkUP99iIo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -8,16 +8,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "git-cliff";
|
pname = "git-cliff";
|
||||||
version = "2.6.0";
|
version = "2.6.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "orhun";
|
owner = "orhun";
|
||||||
repo = "git-cliff";
|
repo = "git-cliff";
|
||||||
rev = "v${version}";
|
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
|
# attempts to run the program on .git in src which is not deterministic
|
||||||
doCheck = false;
|
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",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "anes"
|
||||||
|
version = "0.1.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anstream"
|
name = "anstream"
|
||||||
version = "0.6.14"
|
version = "0.6.14"
|
||||||
@ -231,11 +237,13 @@ dependencies = [
|
|||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
"cc",
|
"cc",
|
||||||
|
"criterion",
|
||||||
"cxx",
|
"cxx",
|
||||||
"cxx-build",
|
"cxx-build",
|
||||||
"digest",
|
"digest",
|
||||||
"displaydoc",
|
"displaydoc",
|
||||||
"ed25519-compact",
|
"ed25519-compact",
|
||||||
|
"fastcdc",
|
||||||
"futures",
|
"futures",
|
||||||
"hex",
|
"hex",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
@ -250,7 +258,6 @@ dependencies = [
|
|||||||
"sha2",
|
"sha2",
|
||||||
"tempfile",
|
"tempfile",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-test",
|
|
||||||
"version-compare",
|
"version-compare",
|
||||||
"wildmatch",
|
"wildmatch",
|
||||||
"xdg",
|
"xdg",
|
||||||
@ -309,7 +316,6 @@ dependencies = [
|
|||||||
"digest",
|
"digest",
|
||||||
"displaydoc",
|
"displaydoc",
|
||||||
"enum-as-inner",
|
"enum-as-inner",
|
||||||
"fastcdc",
|
|
||||||
"futures",
|
"futures",
|
||||||
"hex",
|
"hex",
|
||||||
"http-body-util",
|
"http-body-util",
|
||||||
@ -327,7 +333,6 @@ dependencies = [
|
|||||||
"serde_with",
|
"serde_with",
|
||||||
"sha2",
|
"sha2",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-test",
|
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"toml",
|
"toml",
|
||||||
"tower-http",
|
"tower-http",
|
||||||
@ -1050,6 +1055,12 @@ dependencies = [
|
|||||||
"either",
|
"either",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cast"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cc"
|
name = "cc"
|
||||||
version = "1.1.13"
|
version = "1.1.13"
|
||||||
@ -1088,6 +1099,33 @@ dependencies = [
|
|||||||
"windows-targets 0.52.5",
|
"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]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "4.5.4"
|
version = "4.5.4"
|
||||||
@ -1307,6 +1345,44 @@ dependencies = [
|
|||||||
"cfg-if",
|
"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]]
|
[[package]]
|
||||||
name = "crossbeam-channel"
|
name = "crossbeam-channel"
|
||||||
version = "0.5.13"
|
version = "0.5.13"
|
||||||
@ -1316,6 +1392,25 @@ dependencies = [
|
|||||||
"crossbeam-utils",
|
"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]]
|
[[package]]
|
||||||
name = "crossbeam-queue"
|
name = "crossbeam-queue"
|
||||||
version = "0.3.11"
|
version = "0.3.11"
|
||||||
@ -1331,6 +1426,12 @@ version = "0.8.20"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
|
checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "crunchy"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crypto-bigint"
|
name = "crypto-bigint"
|
||||||
version = "0.4.9"
|
version = "0.4.9"
|
||||||
@ -1698,6 +1799,11 @@ name = "fastcdc"
|
|||||||
version = "3.1.0"
|
version = "3.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a71061d097bfa9a5a4d2efdec57990d9a88745020b365191d37e48541a1628f2"
|
checksum = "a71061d097bfa9a5a4d2efdec57990d9a88745020b365191d37e48541a1628f2"
|
||||||
|
dependencies = [
|
||||||
|
"async-stream",
|
||||||
|
"tokio",
|
||||||
|
"tokio-stream",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fastrand"
|
name = "fastrand"
|
||||||
@ -1956,6 +2062,16 @@ dependencies = [
|
|||||||
"tracing",
|
"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]]
|
[[package]]
|
||||||
name = "hashbrown"
|
name = "hashbrown"
|
||||||
version = "0.12.3"
|
version = "0.12.3"
|
||||||
@ -2388,12 +2504,32 @@ version = "2.9.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
|
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]]
|
[[package]]
|
||||||
name = "is_terminal_polyfill"
|
name = "is_terminal_polyfill"
|
||||||
version = "1.70.0"
|
version = "1.70.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
|
checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itertools"
|
||||||
|
version = "0.10.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itertools"
|
name = "itertools"
|
||||||
version = "0.12.1"
|
version = "0.12.1"
|
||||||
@ -2642,8 +2778,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nix-base32"
|
name = "nix-base32"
|
||||||
version = "0.1.2-alpha.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/zhaofengli/nix-base32.git?rev=b850c6e9273d1c39bd93abb704a53345f5be92eb#b850c6e9273d1c39bd93abb704a53345f5be92eb"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d2628953ed836273ee4262e3708a8ef63ca38bd8a922070626eef7f9e5d8d536"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nom"
|
name = "nom"
|
||||||
@ -2776,6 +2913,12 @@ version = "1.19.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "oorandom"
|
||||||
|
version = "11.1.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openssl-probe"
|
name = "openssl-probe"
|
||||||
version = "0.1.5"
|
version = "0.1.5"
|
||||||
@ -3002,6 +3145,34 @@ version = "0.3.30"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
|
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]]
|
[[package]]
|
||||||
name = "portable-atomic"
|
name = "portable-atomic"
|
||||||
version = "1.6.0"
|
version = "1.6.0"
|
||||||
@ -3088,7 +3259,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
|
checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"itertools",
|
"itertools 0.12.1",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.66",
|
"syn 2.0.66",
|
||||||
@ -3168,6 +3339,26 @@ dependencies = [
|
|||||||
"getrandom",
|
"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]]
|
[[package]]
|
||||||
name = "redox_syscall"
|
name = "redox_syscall"
|
||||||
version = "0.4.1"
|
version = "0.4.1"
|
||||||
@ -4069,7 +4260,7 @@ version = "0.2.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
|
checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"itertools",
|
"itertools 0.12.1",
|
||||||
"nom",
|
"nom",
|
||||||
"unicode_categories",
|
"unicode_categories",
|
||||||
]
|
]
|
||||||
@ -4459,6 +4650,16 @@ dependencies = [
|
|||||||
"time-core",
|
"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]]
|
[[package]]
|
||||||
name = "tinyvec"
|
name = "tinyvec"
|
||||||
version = "1.6.0"
|
version = "1.6.0"
|
||||||
@ -4546,19 +4747,6 @@ dependencies = [
|
|||||||
"tokio",
|
"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]]
|
[[package]]
|
||||||
name = "tokio-util"
|
name = "tokio-util"
|
||||||
version = "0.7.11"
|
version = "0.7.11"
|
||||||
|
@ -11,13 +11,13 @@
|
|||||||
}:
|
}:
|
||||||
rustPlatform.buildRustPackage {
|
rustPlatform.buildRustPackage {
|
||||||
pname = "attic";
|
pname = "attic";
|
||||||
version = "0-unstable-2024-08-19";
|
version = "0-unstable-2024-10-04";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zhaofengli";
|
owner = "zhaofengli";
|
||||||
repo = "attic";
|
repo = "attic";
|
||||||
rev = "acf3c351f8de47c6857f31948ab253f9c7ce2a6f";
|
rev = "61ebdef2e263c091f24807b07701be5cb8068dea";
|
||||||
hash = "sha256-jcY81r8PdMQ9dCGhT0YLZzxPj3kQJXyWCmvQLXbR1EI=";
|
hash = "sha256-whgxjoDF7aey3xWy2b9Dp+NHsszK6By+raEbygcSU6w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -34,9 +34,6 @@ rustPlatform.buildRustPackage {
|
|||||||
|
|
||||||
cargoLock = {
|
cargoLock = {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
outputHashes = {
|
|
||||||
"nix-base32-0.1.2-alpha.0" = "sha256-wtPWGOamy3+ViEzCxMSwBcoR4HMMD0t8eyLwXfCDFdo=";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
cargoBuildFlags = lib.concatMapStrings (c: "-p ${c} ") crates;
|
cargoBuildFlags = lib.concatMapStrings (c: "-p ${c} ") crates;
|
||||||
|
|
||||||
@ -56,6 +53,8 @@ rustPlatform.buildRustPackage {
|
|||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = ./update.sh;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Multi-tenant Nix Binary Cache";
|
description = "Multi-tenant Nix Binary Cache";
|
||||||
homepage = "https://github.com/zhaofengli/attic";
|
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
|
let
|
||||||
changeVersion = overrideFunc: version: hash: overrideFunc (oldAttrs: rec {
|
changeVersion =
|
||||||
inherit version;
|
overrideFunc: version: hash:
|
||||||
src = oldAttrs.src.override {
|
overrideFunc (oldAttrs: rec {
|
||||||
inherit version hash;
|
inherit version;
|
||||||
};
|
src = oldAttrs.src.override {
|
||||||
});
|
inherit version hash;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
localPython = python3.override {
|
localPython = python3.override {
|
||||||
self = localPython;
|
self = localPython;
|
||||||
@ -33,16 +40,9 @@ localPython.pkgs.buildPythonApplication rec {
|
|||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# https://github.com/aws/aws-elastic-beanstalk-cli/pull/469
|
# 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; [
|
propagatedBuildInputs = with localPython.pkgs; [
|
||||||
blessed
|
blessed
|
||||||
botocore
|
botocore
|
||||||
@ -95,7 +95,7 @@ localPython.pkgs.buildPythonApplication rec {
|
|||||||
homepage = "https://aws.amazon.com/elasticbeanstalk/";
|
homepage = "https://aws.amazon.com/elasticbeanstalk/";
|
||||||
description = "Command line interface for Elastic Beanstalk";
|
description = "Command line interface for Elastic Beanstalk";
|
||||||
changelog = "https://github.com/aws/aws-elastic-beanstalk-cli/blob/${version}/CHANGES.rst";
|
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;
|
license = licenses.asl20;
|
||||||
mainProgram = "eb";
|
mainProgram = "eb";
|
||||||
};
|
};
|
@ -12,13 +12,13 @@
|
|||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "blockbench";
|
pname = "blockbench";
|
||||||
version = "4.11.0";
|
version = "4.11.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "JannisX11";
|
owner = "JannisX11";
|
||||||
repo = "blockbench";
|
repo = "blockbench";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-SmG8JMHdFTGkxLCTTbD1IhjQgmsRMvxQsB4rluHy6yI=";
|
hash = "sha256-a+55seE5tFxTmdTn4qDFWWW6C6FzO8Vgjvfow/tBqf0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
@ -28,7 +28,7 @@ buildNpmPackage rec {
|
|||||||
copyDesktopItems
|
copyDesktopItems
|
||||||
];
|
];
|
||||||
|
|
||||||
npmDepsHash = "sha256-vbwoKijDt7TbXfU8Il5dwnfyGc2HsbLdAJhQzYuq6eo=";
|
npmDepsHash = "sha256-0hS+AjfYvkdxyM6CtXYgvjt49GmcCvyAdEFWfK8uaHc=";
|
||||||
|
|
||||||
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
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 {
|
buildGoModule rec {
|
||||||
pname = "civo";
|
pname = "civo";
|
||||||
version = "1.0.91";
|
version = "1.1.91";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "civo";
|
owner = "civo";
|
||||||
repo = "cli";
|
repo = "cli";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-xqDElK3/pkE4tobFurXQd1lVyp3hgmlBjjSD6CN90jU=";
|
hash = "sha256-1RemtyaIyL5OqAfl+njL/DeFXPMUT5vghXwHOjmsgl0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-oXwtMMclkU1hunMCMBGvN8xbNtmYBEnCvGBUKhlfv3g=";
|
vendorHash = "sha256-dzhSfC864ievkbM0Mt6itlAzlk3211tQmpFrCYFR0s8=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
@ -7,16 +7,16 @@
|
|||||||
}:
|
}:
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "cloudflare-dynamic-dns";
|
pname = "cloudflare-dynamic-dns";
|
||||||
version = "4.3.3";
|
version = "4.3.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zebradil";
|
owner = "zebradil";
|
||||||
repo = "cloudflare-dynamic-dns";
|
repo = "cloudflare-dynamic-dns";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-zmcNr1r0lx5RclZtc5LX6v07IjhFAKaNnIOeDTWhfVQ=";
|
hash = "sha256-9WJeWWgI96+LjMFl7TkDc7udsLvi54eAN3Y9iv2e+F4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-L2XtIZE5D1ehoEE45Ig/IMcQS/JgKSxFmMALkNwWDCA=";
|
vendorHash = "sha256-KtTZcFYzJOH2qwoeHYfksXN7sDVV9ERCFVrrqzdh3M0=";
|
||||||
|
|
||||||
subPackages = ".";
|
subPackages = ".";
|
||||||
|
|
||||||
|
@ -8,16 +8,16 @@
|
|||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "dotenvx";
|
pname = "dotenvx";
|
||||||
version = "1.14.1";
|
version = "1.14.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dotenvx";
|
owner = "dotenvx";
|
||||||
repo = "dotenvx";
|
repo = "dotenvx";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-PdX8picIFqeZZCMP0ABoWpySERSy0leAvp0XyjTW1Rc=";
|
hash = "sha256-SlZ18ToGbC+c5ffuYFGeOy30w90ukBO0qKxD+HNVt3E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
npmDepsHash = "sha256-lo+R0YP50FIN+syj6VqCeEBFr7EZ6NSVXAhafG5JsI0=";
|
npmDepsHash = "sha256-KaqSCtraMmQHe7Tcs/2CVaQcmazgHkV5K4T64lHEVP4=";
|
||||||
|
|
||||||
dontNpmBuild = true;
|
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
|
# 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
|
# and https://github.com/ente-io/ente/blob/main/auth/linux/packaging/ente_auth.appdata.xml
|
||||||
desktopItems = makeDesktopItem {
|
desktopItems = [
|
||||||
name = "ente_auth";
|
(makeDesktopItem {
|
||||||
exec = "ente_auth";
|
name = "ente_auth";
|
||||||
icon = "ente-auth";
|
exec = "ente_auth";
|
||||||
desktopName = "Ente Auth";
|
icon = "ente-auth";
|
||||||
genericName = "Ente Authentication";
|
desktopName = "Ente Auth";
|
||||||
comment = "Open source 2FA authenticator, with end-to-end encrypted backups";
|
genericName = "Ente Authentication";
|
||||||
categories = [ "Utility" ];
|
comment = "Open source 2FA authenticator, with end-to-end encrypted backups";
|
||||||
keywords = [
|
categories = [ "Utility" ];
|
||||||
"Authentication"
|
keywords = [
|
||||||
"2FA"
|
"Authentication"
|
||||||
];
|
"2FA"
|
||||||
mimeTypes = [ "x-scheme-handler/enteauth" ];
|
];
|
||||||
startupNotify = false;
|
mimeTypes = [ "x-scheme-handler/enteauth" ];
|
||||||
};
|
startupNotify = false;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
FAV=$out/app/data/flutter_assets/assets/icons/auth-icon.png
|
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 {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "lxgw-neoxihei";
|
pname = "lxgw-neoxihei";
|
||||||
version = "1.206";
|
version = "1.207";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
|
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
|
||||||
hash = "sha256-jsLQLD5dfzguFkk7Q3oHe5Jd6h+XA/Qkg9MqyqHQ8v4=";
|
hash = "sha256-voFR2qkomj1CRv4OWtrYJmpVxoUl6db/HnkaobCmBzY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
@ -1,16 +1,18 @@
|
|||||||
{ lib
|
{
|
||||||
, rustPlatform
|
lib,
|
||||||
, fetchFromGitHub
|
rustPlatform,
|
||||||
, fetchNpmDeps
|
fetchFromGitHub,
|
||||||
, npmHooks
|
fetchNpmDeps,
|
||||||
, nodejs
|
npmHooks,
|
||||||
, python3
|
nodejs,
|
||||||
, pkg-config
|
python3,
|
||||||
, sqlite
|
pkg-config,
|
||||||
, zstd
|
sqlite,
|
||||||
, stdenv
|
zstd,
|
||||||
, darwin
|
stdenv,
|
||||||
, open-policy-agent
|
darwin,
|
||||||
|
open-policy-agent,
|
||||||
|
cctools,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
@ -27,8 +29,8 @@ rustPlatform.buildRustPackage rec {
|
|||||||
cargoLock = {
|
cargoLock = {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
"sea-query-0.32.0-rc.1" = "sha256-Q/NFiIBu8L5rQj4jwcIo8ACmAhLBy4HSTcJv06UdK8E=";
|
"sea-query-0.32.0-rc.1" = "sha256-Q/NFiIBu8L5rQj4jwcIo8ACmAhLBy4HSTcJv06UdK8E=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
npmDeps = fetchNpmDeps {
|
npmDeps = fetchNpmDeps {
|
||||||
@ -45,16 +47,18 @@ rustPlatform.buildRustPackage rec {
|
|||||||
npmHooks.npmConfigHook
|
npmHooks.npmConfigHook
|
||||||
nodejs
|
nodejs
|
||||||
(python3.withPackages (ps: [ ps.setuptools ])) # Used by gyp
|
(python3.withPackages (ps: [ ps.setuptools ])) # Used by gyp
|
||||||
];
|
] ++ lib.optional stdenv.isDarwin cctools; # libtool used by gyp;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs =
|
||||||
sqlite
|
[
|
||||||
zstd
|
sqlite
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
zstd
|
||||||
darwin.apple_sdk_11_0.frameworks.CoreFoundation
|
]
|
||||||
darwin.apple_sdk_11_0.frameworks.Security
|
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
darwin.apple_sdk_11_0.frameworks.SystemConfiguration
|
darwin.apple_sdk_11_0.frameworks.CoreFoundation
|
||||||
];
|
darwin.apple_sdk_11_0.frameworks.Security
|
||||||
|
darwin.apple_sdk_11_0.frameworks.SystemConfiguration
|
||||||
|
];
|
||||||
|
|
||||||
env = {
|
env = {
|
||||||
ZSTD_SYS_USE_PKG_CONFIG = true;
|
ZSTD_SYS_USE_PKG_CONFIG = true;
|
||||||
@ -95,5 +99,8 @@ rustPlatform.buildRustPackage rec {
|
|||||||
license = lib.licenses.agpl3Only;
|
license = lib.licenses.agpl3Only;
|
||||||
maintainers = with lib.maintainers; [ teutat3s ];
|
maintainers = with lib.maintainers; [ teutat3s ];
|
||||||
mainProgram = "mas-cli";
|
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" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -11,9 +11,11 @@
|
|||||||
runCommand,
|
runCommand,
|
||||||
pijul,
|
pijul,
|
||||||
nixVersions,
|
nixVersions,
|
||||||
|
nixOverride ? null,
|
||||||
nix-plugin-pijul,
|
nix-plugin-pijul,
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
let nix = if nixOverride != null then nixOverride else nixVersions.nix_2_18;
|
||||||
|
in stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "nix-plugin-pijul";
|
pname = "nix-plugin-pijul";
|
||||||
version = "0.1.4";
|
version = "0.1.4";
|
||||||
|
|
||||||
@ -30,12 +32,12 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
boost
|
boost
|
||||||
howard-hinnant-date
|
howard-hinnant-date
|
||||||
nixVersions.nix_2_18
|
nix
|
||||||
];
|
];
|
||||||
|
|
||||||
passthru.tests = let
|
passthru.tests = let
|
||||||
localRepoCheck = nix:
|
localRepoCheck = nixOverride:
|
||||||
runCommand "localRepoCheck-${nix.name}"
|
runCommand "localRepoCheck-${nixOverride.name}"
|
||||||
{
|
{
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pijul
|
pijul
|
||||||
@ -56,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
output=$(
|
output=$(
|
||||||
nix \
|
nix \
|
||||||
--option plugin-files ${nix-plugin-pijul.override {inherit nix;}}/lib/nix/plugins/pijul.so \
|
--option plugin-files ${nix-plugin-pijul.override {inherit nixOverride;}}/lib/nix/plugins/pijul.so \
|
||||||
--extra-experimental-features 'nix-command flakes' \
|
--extra-experimental-features 'nix-command flakes' \
|
||||||
eval --impure --raw --expr "builtins.readFile ((builtins.fetchTree \"pijul+file://$PWD\") + \"/foo\")"
|
eval --impure --raw --expr "builtins.readFile ((builtins.fetchTree \"pijul+file://$PWD\") + \"/foo\")"
|
||||||
)
|
)
|
||||||
|
@ -7,16 +7,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "openapi-tui";
|
pname = "openapi-tui";
|
||||||
version = "0.9.4";
|
version = "0.10.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zaghaghi";
|
owner = "zaghaghi";
|
||||||
repo = "openapi-tui";
|
repo = "openapi-tui";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-y8A43FV3PfYHaMMHE3uGRBaftga/pVSivCfV4iwUROA=";
|
hash = "sha256-EUWL16cHgPF88CoCD9sqnxLOlmWoe1tu5ps01AYwwzc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-I1eTJDtQM9WKluOZJGfQT4Wn9TFyTu6ZcPFuh8wZIWI=";
|
cargoHash = "sha256-sINwuMgBbc/Xn73Gy+Wwb0QtIHGGB02fVyz/K/tg5Ys=";
|
||||||
|
|
||||||
OPENSSL_NO_VENDOR = true;
|
OPENSSL_NO_VENDOR = true;
|
||||||
|
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
pname = "plasma-plugin-blurredwallpaper";
|
pname = "plasma-plugin-blurredwallpaper";
|
||||||
version = "3.1.0";
|
version = "3.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bouteillerAlan";
|
owner = "bouteillerAlan";
|
||||||
repo = "blurredwallpaper";
|
repo = "blurredwallpaper";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-+MjnVsGHqitQytxiAH39Kx9SXuTEFfIC14Ayzu4yE4I=";
|
hash = "sha256-P/N7g/cl2K0R4NKebfqZnr9WQkHPSvHNbKbWiOxs76k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -35,11 +35,11 @@ let
|
|||||||
in
|
in
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
pname = "PortfolioPerformance";
|
pname = "PortfolioPerformance";
|
||||||
version = "0.71.1";
|
version = "0.71.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/buchen/portfolio/releases/download/${finalAttrs.version}/PortfolioPerformance-${finalAttrs.version}-linux.gtk.x86_64.tar.gz";
|
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 = [
|
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 {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "protols";
|
pname = "protols";
|
||||||
version = "0.6.0";
|
version = "0.6.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "coder3101";
|
owner = "coder3101";
|
||||||
repo = "protols";
|
repo = "protols";
|
||||||
rev = "refs/tags/${version}";
|
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 = {
|
meta = {
|
||||||
description = "Protocol Buffers language server written in Rust";
|
description = "Protocol Buffers language server written in Rust";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, buildDotnetModule
|
, buildDotnetModule
|
||||||
, dotnetCorePackages
|
, dotnetCorePackages
|
||||||
, fetchFromGitHub
|
, fetchzip
|
||||||
, libX11
|
, libX11
|
||||||
, libgdiplus
|
, libgdiplus
|
||||||
, ffmpeg
|
, ffmpeg
|
||||||
@ -27,10 +27,8 @@ buildDotnetModule rec {
|
|||||||
pname = "ryujinx";
|
pname = "ryujinx";
|
||||||
version = "1.1.1401"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
version = "1.1.1401"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchzip {
|
||||||
owner = "Ryujinx";
|
url = "https://archive.org/download/ryujinx-5dbba-07e-33e-83c-9047dcbb-701c-9655edbbe-89086.tar/Ryujinx-5dbba07e33e83c9047dcbb701c9655edbbe89086.tar.gz";
|
||||||
repo = "Ryujinx";
|
|
||||||
rev = "5dbba07e33e83c9047dcbb701c9655edbbe89086";
|
|
||||||
hash = "sha256-UeJ3KE5e5H9crqroAxjmxYTf/Z4cbj41a6/1HW2nLcA=";
|
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
|
# See upstream issue for rocksdb 9.X support
|
||||||
# https://github.com/stalwartlabs/mail-server/issues/407
|
# https://github.com/stalwartlabs/mail-server/issues/407
|
||||||
rocksdb = rocksdb_8_11;
|
rocksdb = rocksdb_8_11;
|
||||||
version = "0.10.0";
|
version = "0.10.2";
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage {
|
rustPlatform.buildRustPackage {
|
||||||
pname = "stalwart-mail";
|
pname = "stalwart-mail";
|
||||||
@ -36,21 +36,11 @@ rustPlatform.buildRustPackage {
|
|||||||
owner = "stalwartlabs";
|
owner = "stalwartlabs";
|
||||||
repo = "mail-server";
|
repo = "mail-server";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-9qk7+LJntEmCIuxp0707OOHBVkywlAJA1QmWllR9ZHg=";
|
hash = "sha256-wH26uwaYzfqiamiJ/oosVEiTfCOItwVGbHdRh6Ykpgk=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-O1LuEHH5VD/6875Psfp5N/oWYlo1cuTlHzwcgG9RrpI=";
|
cargoHash = "sha256-1AFDyZpkcvFzWBczMAPfajmhBmVl4ou4JdKnrK2KlQI=";
|
||||||
|
|
||||||
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=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
@ -58,22 +48,31 @@ rustPlatform.buildRustPackage {
|
|||||||
rustPlatform.bindgenHook
|
rustPlatform.bindgenHook
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs =
|
||||||
bzip2
|
[
|
||||||
openssl
|
bzip2
|
||||||
sqlite
|
openssl
|
||||||
zstd
|
sqlite
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
zstd
|
||||||
foundationdb
|
]
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
++ lib.optionals stdenv.hostPlatform.isLinux [ foundationdb ]
|
||||||
darwin.apple_sdk.frameworks.CoreFoundation
|
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
darwin.apple_sdk.frameworks.Security
|
darwin.apple_sdk.frameworks.CoreFoundation
|
||||||
darwin.apple_sdk.frameworks.SystemConfiguration
|
darwin.apple_sdk.frameworks.Security
|
||||||
];
|
darwin.apple_sdk.frameworks.SystemConfiguration
|
||||||
|
];
|
||||||
|
|
||||||
# skip defaults on darwin because foundationdb is not available
|
# skip defaults on darwin because foundationdb is not available
|
||||||
buildNoDefaultFeatures = stdenv.hostPlatform.isDarwin;
|
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 = {
|
env = {
|
||||||
OPENSSL_NO_VENDOR = true;
|
OPENSSL_NO_VENDOR = true;
|
||||||
@ -154,11 +153,16 @@ rustPlatform.buildRustPackage {
|
|||||||
tests.stalwart-mail = nixosTests.stalwart-mail;
|
tests.stalwart-mail = nixosTests.stalwart-mail;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Secure & Modern All-in-One Mail Server (IMAP, JMAP, SMTP)";
|
description = "Secure & Modern All-in-One Mail Server (IMAP, JMAP, SMTP)";
|
||||||
homepage = "https://github.com/stalwartlabs/mail-server";
|
homepage = "https://github.com/stalwartlabs/mail-server";
|
||||||
changelog = "https://github.com/stalwartlabs/mail-server/blob/${version}/CHANGELOG";
|
changelog = "https://github.com/stalwartlabs/mail-server/blob/main/CHANGELOG.md";
|
||||||
license = licenses.agpl3Only;
|
license = lib.licenses.agpl3Only;
|
||||||
maintainers = with maintainers; [ happysalada onny oddlama ];
|
maintainers = with lib.maintainers; [
|
||||||
|
happysalada
|
||||||
|
onny
|
||||||
|
oddlama
|
||||||
|
pandapip1
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "stc";
|
pname = "stc";
|
||||||
version = "1.5";
|
version = "1.5.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tenox7";
|
owner = "tenox7";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Hv8md27LUB/d1MNqNEw7UX7r3tMYdguuGP3xOI2LWBk=";
|
sha256 = "sha256-QdU480at8VvuHpYmEKagnBotjM7ikOsVLJeedJ2qtjw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-TnWCviLstm6kS34cNkrVGS9RZ21cVX/jmx8d+KytB0c=";
|
vendorHash = "sha256-TnWCviLstm6kS34cNkrVGS9RZ21cVX/jmx8d+KytB0c=";
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "tippecanoe";
|
pname = "tippecanoe";
|
||||||
version = "2.62.4";
|
version = "2.64.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "felt";
|
owner = "felt";
|
||||||
repo = "tippecanoe";
|
repo = "tippecanoe";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-mHeBzXJ4d60tJ1xAN8YldP94GCE8Ch1cvJqMD0ZaV34=";
|
hash = "sha256-5HMyqUdoNFwZccXlsFms4C+jyfMVLCiCcFapC6y7e+M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ sqlite zlib ];
|
buildInputs = [ sqlite zlib ];
|
||||||
|
@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec {
|
|||||||
pname = "typos-lsp";
|
pname = "typos-lsp";
|
||||||
# Please update the corresponding VSCode extension too.
|
# Please update the corresponding VSCode extension too.
|
||||||
# See pkgs/applications/editors/vscode/extensions/tekumara.typos-vscode/default.nix
|
# See pkgs/applications/editors/vscode/extensions/tekumara.typos-vscode/default.nix
|
||||||
version = "0.1.26";
|
version = "0.1.27";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tekumara";
|
owner = "tekumara";
|
||||||
repo = "typos-lsp";
|
repo = "typos-lsp";
|
||||||
rev = "refs/tags/v${version}";
|
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
|
# fix for compilation on aarch64
|
||||||
# see https://github.com/NixOS/nixpkgs/issues/145726
|
# see https://github.com/NixOS/nixpkgs/issues/145726
|
||||||
|
@ -49,23 +49,23 @@ let
|
|||||||
# and often with different versions. We write them on three lines
|
# and often with different versions. We write them on three lines
|
||||||
# like this (rather than using {}) so that the updater script can
|
# like this (rather than using {}) so that the updater script can
|
||||||
# find where to edit them.
|
# find where to edit them.
|
||||||
versions.aarch64-darwin = "6.2.0.40111";
|
versions.aarch64-darwin = "6.2.3.40682";
|
||||||
versions.x86_64-darwin = "6.2.0.40111";
|
versions.x86_64-darwin = "6.2.3.40682";
|
||||||
versions.x86_64-linux = "6.2.0.1855";
|
versions.x86_64-linux = "6.2.3.2056";
|
||||||
|
|
||||||
srcs = {
|
srcs = {
|
||||||
aarch64-darwin = fetchurl {
|
aarch64-darwin = fetchurl {
|
||||||
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
||||||
name = "zoomusInstallerFull.pkg";
|
name = "zoomusInstallerFull.pkg";
|
||||||
hash = "sha256-/oi10pi9Xykmfo0UA1cDPzlB4xUQxAr8rkEoUpp1fQM=";
|
hash = "sha256-kpncl6ZVs/O2TXtBhZ/2049jJuUdYlIaxtLX3wIfpVE=";
|
||||||
};
|
};
|
||||||
x86_64-darwin = fetchurl {
|
x86_64-darwin = fetchurl {
|
||||||
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
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 {
|
x86_64-linux = fetchurl {
|
||||||
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
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: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
pname = "dbip-country-lite";
|
pname = "dbip-country-lite";
|
||||||
version = "2024-09";
|
version = "2024-10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz";
|
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;
|
dontUnpack = true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"commit": "4670ba3f52eae6737137ddcb817182f3daad4f26",
|
"commit": "5d97d9c05e76d8cecb68f1e9063afb39ca0fb26b",
|
||||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/4670ba3f52eae6737137ddcb817182f3daad4f26.tar.gz",
|
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/5d97d9c05e76d8cecb68f1e9063afb39ca0fb26b.tar.gz",
|
||||||
"sha256": "18q5shdmh12147502135q6132rmzp29qfjhwrcjwidl0pi9ki70i",
|
"sha256": "1ic4wn5immv06m1m2cq6mzrrgrxbidxmj39licxlkmnm9jlwzjwr",
|
||||||
"msg": "Update from Hackage at 2024-08-19T17:17:03Z"
|
"msg": "Update from Hackage at 2024-09-03T10:29:19Z"
|
||||||
}
|
}
|
||||||
|
@ -9,16 +9,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "erg";
|
pname = "erg";
|
||||||
version = "0.6.44";
|
version = "0.6.45";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "erg-lang";
|
owner = "erg-lang";
|
||||||
repo = "erg";
|
repo = "erg";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Pw6q3qmYehTPnB3MyDi8Q5tC018H3zLsZAXWuc+abjE=";
|
hash = "sha256-P6AIe3IadY64ydGShlRmgZ1pITiAA8G59Oe8P2ktDqM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-uO+j1kmoCLy00P0QHGy30XVPyG1tH4FU6YvTfWxxvWE=";
|
cargoHash = "sha256-5h/0MqaRmjFkeg50Y7WpEDl+VWpR0d4NnqIzoZHeKZ8=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
makeWrapper
|
makeWrapper
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages
|
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, buildPackages, targetPackages
|
||||||
|
|
||||||
# build-tools
|
# build-tools
|
||||||
, bootPkgs
|
, bootPkgs
|
||||||
@ -32,14 +32,19 @@
|
|||||||
, # If enabled, use -fPIC when compiling static libs.
|
, # If enabled, use -fPIC when compiling static libs.
|
||||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
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
|
, # Whether to build dynamic libs for the standard library (on the target
|
||||||
# platform). Static libs are always built.
|
# platform). Static libs are always built.
|
||||||
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
|
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
|
||||||
|
|
||||||
, # Whether to build terminfo.
|
, # 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
|
, # What flavour to build. An empty string indicates no
|
||||||
# specific flavour and falls back to ghc default values.
|
# specific flavour and falls back to ghc default values.
|
||||||
@ -55,25 +60,31 @@
|
|||||||
|
|
||||||
, enableHaddockProgram ?
|
, enableHaddockProgram ?
|
||||||
# Disabled for cross; see note [HADDOCK_DOCS].
|
# 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
|
, # 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/
|
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||||
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
|
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:
|
}@args:
|
||||||
|
|
||||||
assert !enableIntegerSimple -> gmp != null;
|
assert !enableIntegerSimple -> gmp != null;
|
||||||
|
|
||||||
# Cross cannot currently build the `haddock` program for silly reasons,
|
# Cross cannot currently build the `haddock` program for silly reasons,
|
||||||
# see note [HADDOCK_DOCS].
|
# 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
|
let
|
||||||
libffi_name = if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then "libffi" else "libffi_3_3";
|
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
inherit (bootPkgs) ghc;
|
|
||||||
|
|
||||||
# TODO(@Ericson2314) Make unconditional
|
# TODO(@Ericson2314) Make unconditional
|
||||||
targetPrefix = lib.optionalString
|
targetPrefix = lib.optionalString
|
||||||
(targetPlatform != hostPlatform)
|
(targetPlatform != hostPlatform)
|
||||||
@ -86,6 +97,8 @@ let
|
|||||||
endif
|
endif
|
||||||
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
|
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
|
||||||
BUILD_SPHINX_PDF = NO
|
BUILD_SPHINX_PDF = NO
|
||||||
|
|
||||||
|
WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"}
|
||||||
'' +
|
'' +
|
||||||
# Note [HADDOCK_DOCS]:
|
# Note [HADDOCK_DOCS]:
|
||||||
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
|
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
|
||||||
@ -134,7 +147,9 @@ let
|
|||||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||||
|
|
||||||
|
buildCC = buildPackages.stdenv.cc;
|
||||||
targetCC = builtins.head toolsForTarget;
|
targetCC = builtins.head toolsForTarget;
|
||||||
|
installCC = pkgsHostTarget.targetPackages.stdenv.cc;
|
||||||
|
|
||||||
# toolPath calculates the absolute path to the name tool associated with a
|
# 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
|
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||||
@ -145,12 +160,13 @@ let
|
|||||||
tools = {
|
tools = {
|
||||||
"cc" = cc;
|
"cc" = cc;
|
||||||
"c++" = cc;
|
"c++" = cc;
|
||||||
as = cc.bintools.bintools;
|
as = cc.bintools;
|
||||||
|
|
||||||
ar = cc.bintools.bintools;
|
ar = cc.bintools;
|
||||||
ranlib = cc.bintools.bintools;
|
ranlib = cc.bintools;
|
||||||
nm = cc.bintools.bintools;
|
nm = cc.bintools;
|
||||||
readelf = cc.bintools.bintools;
|
readelf = cc.bintools;
|
||||||
|
objdump = cc.bintools;
|
||||||
|
|
||||||
ld = cc.bintools;
|
ld = cc.bintools;
|
||||||
"ld.gold" = cc.bintools;
|
"ld.gold" = cc.bintools;
|
||||||
@ -169,6 +185,9 @@ let
|
|||||||
if stdenv.targetPlatform.isDarwin
|
if stdenv.targetPlatform.isDarwin
|
||||||
then cc.bintools
|
then cc.bintools
|
||||||
else cc.bintools.bintools;
|
else cc.bintools.bintools;
|
||||||
|
|
||||||
|
# clang is used as an assembler on darwin with the LLVM backend
|
||||||
|
clang = cc;
|
||||||
}.${name};
|
}.${name};
|
||||||
in
|
in
|
||||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||||
@ -185,14 +204,40 @@ let
|
|||||||
(lib.optionalString enableIntegerSimple "-integer-simple")
|
(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
|
# These libraries are library dependencies of the standard libraries bundled
|
||||||
# the resulting GHC's settings file and used at runtime. This means that we are
|
# by GHC (core libs) users will link their compiled artifacts again. Thus,
|
||||||
# currently only able to build GHC if hostPlatform == buildPlatform.
|
# they should be taken from targetPackages.
|
||||||
assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
|
#
|
||||||
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
|
# We need to use pkgsHostTarget if we are cross compiling a native GHC compiler,
|
||||||
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
|
# 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 {
|
stdenv.mkDerivation (rec {
|
||||||
version = "8.10.7";
|
version = "8.10.7";
|
||||||
@ -277,6 +322,8 @@ stdenv.mkDerivation (rec {
|
|||||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||||
export "''${env#TARGET_}=''${!env}"
|
export "''${env#TARGET_}=''${!env}"
|
||||||
done
|
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
|
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||||
# the *host* tools.
|
# the *host* tools.
|
||||||
export CC="${toolPath "cc" targetCC}"
|
export CC="${toolPath "cc" targetCC}"
|
||||||
@ -289,6 +336,7 @@ stdenv.mkDerivation (rec {
|
|||||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||||
export READELF="${toolPath "readelf" targetCC}"
|
export READELF="${toolPath "readelf" targetCC}"
|
||||||
export STRIP="${toolPath "strip" targetCC}"
|
export STRIP="${toolPath "strip" targetCC}"
|
||||||
|
export OBJDUMP="${toolPath "objdump" targetCC}"
|
||||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||||
export OTOOL="${toolPath "otool" targetCC}"
|
export OTOOL="${toolPath "otool" targetCC}"
|
||||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" 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"
|
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||||
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
'' + 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
|
# 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
|
echo -n "${buildMK}" > mk/build.mk
|
||||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||||
@ -329,21 +391,26 @@ stdenv.mkDerivation (rec {
|
|||||||
done
|
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.
|
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||||
configurePlatforms = [ "build" "host" ]
|
configurePlatforms = [ "build" ]
|
||||||
++ lib.optional (targetPlatform != hostPlatform) "target";
|
++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target";
|
||||||
|
|
||||||
# `--with` flags for libraries needed for RTS linker
|
# `--with` flags for libraries needed for RTS linker
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--datadir=$doc/share/doc/ghc"
|
"--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) [
|
] ++ lib.optionals (args.${libffi_name} != null) [
|
||||||
"--with-system-libffi"
|
"--with-system-libffi"
|
||||||
"--with-ffi-includes=${targetPackages.${libffi_name}.dev}/include"
|
"--with-ffi-includes=${targetLibs.libffi.dev}/include"
|
||||||
"--with-ffi-libraries=${targetPackages.${libffi_name}.out}/lib"
|
"--with-ffi-libraries=${targetLibs.libffi.out}/lib"
|
||||||
] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
||||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
"--with-gmp-includes=${targetLibs.gmp.dev}/include"
|
||||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
"--with-gmp-libraries=${targetLibs.gmp.out}/lib"
|
||||||
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||||
"--with-iconv-includes=${libiconv}/include"
|
"--with-iconv-includes=${libiconv}/include"
|
||||||
"--with-iconv-libraries=${libiconv}/lib"
|
"--with-iconv-libraries=${libiconv}/lib"
|
||||||
@ -355,6 +422,8 @@ stdenv.mkDerivation (rec {
|
|||||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||||
] ++ lib.optionals (disableLargeAddressSpace) [
|
] ++ lib.optionals (disableLargeAddressSpace) [
|
||||||
"--disable-large-address-space"
|
"--disable-large-address-space"
|
||||||
|
] ++ lib.optionals enableUnregisterised [
|
||||||
|
"--enable-unregisterised"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||||
@ -365,17 +434,35 @@ stdenv.mkDerivation (rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
perl autoreconfHook autoconf automake m4 python3
|
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) [
|
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
||||||
autoSignDarwinBinariesHook
|
autoSignDarwinBinariesHook
|
||||||
] ++ lib.optionals enableDocs [
|
] ++ lib.optionals enableDocs [
|
||||||
sphinx
|
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
|
# For building runtime libs
|
||||||
depsBuildTarget = toolsForTarget;
|
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);
|
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||||
@ -402,6 +489,39 @@ stdenv.mkDerivation (rec {
|
|||||||
requiredSystemFeatures = [ "big-parallel" ];
|
requiredSystemFeatures = [ "big-parallel" ];
|
||||||
|
|
||||||
postInstall = ''
|
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 the bash completion file.
|
||||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||||
'';
|
'';
|
||||||
@ -427,7 +547,8 @@ stdenv.mkDerivation (rec {
|
|||||||
guibou
|
guibou
|
||||||
] ++ lib.teams.haskell.members;
|
] ++ lib.teams.haskell.members;
|
||||||
timeout = 24 * 3600;
|
timeout = 24 * 3600;
|
||||||
inherit (ghc.meta) license platforms;
|
platforms = lib.platforms.all;
|
||||||
|
inherit (bootPkgs.ghc.meta) license;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
, stdenv
|
, stdenv
|
||||||
, pkgsBuildTarget
|
, pkgsBuildTarget
|
||||||
, pkgsHostTarget
|
, pkgsHostTarget
|
||||||
|
, buildPackages
|
||||||
, targetPackages
|
, targetPackages
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
|
|
||||||
@ -58,15 +59,23 @@
|
|||||||
, # If enabled, use -fPIC when compiling static libs.
|
, # If enabled, use -fPIC when compiling static libs.
|
||||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
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
|
, # Whether to build dynamic libs for the standard library (on the target
|
||||||
# platform). Static libs are always built.
|
# platform). Static libs are always built.
|
||||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic && !isGhcjs
|
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic && !isGhcjs
|
||||||
|
|
||||||
, # Whether to build terminfo.
|
, # 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
|
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
|
, # Libdw.c only supports x86_64, i686 and s390x as of 2022-08-04
|
||||||
enableDwarf ? (stdenv.targetPlatform.isx86 ||
|
enableDwarf ? (stdenv.targetPlatform.isx86 ||
|
||||||
@ -117,9 +126,8 @@
|
|||||||
-- no way to set this via the command line
|
-- no way to set this via the command line
|
||||||
finalStage :: Stage
|
finalStage :: Stage
|
||||||
finalStage = ${
|
finalStage = ${
|
||||||
# Always build the stage 2 compiler if possible. Note we can currently
|
# Always build the stage 2 compiler if possible.
|
||||||
# assume hostPlatform == buildPlatform.
|
# TODO(@sternensemann): unify condition with make-built GHCs
|
||||||
# TODO(@sternenseemann): improve this condition when we can cross-compile GHC
|
|
||||||
if stdenv.hostPlatform.canExecute stdenv.targetPlatform
|
if stdenv.hostPlatform.canExecute stdenv.targetPlatform
|
||||||
then "Stage2" # native compiler or “native” cross e.g. pkgsStatic
|
then "Stage2" # native compiler or “native” cross e.g. pkgsStatic
|
||||||
else "Stage1" # cross compiler
|
else "Stage1" # cross compiler
|
||||||
@ -178,6 +186,15 @@
|
|||||||
hash = "sha256-MpvTmFFsNiPDoOp9BhZyWeapeibQ77zgEV+xzZ1UAXs=";
|
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) [
|
++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
|
||||||
# Prevent the paths module from emitting symbols that we don't use
|
# Prevent the paths module from emitting symbols that we don't use
|
||||||
# when building with separate outputs.
|
# when building with separate outputs.
|
||||||
@ -222,15 +239,25 @@
|
|||||||
, # Whether to disable the large address space allocator
|
, # 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/
|
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||||
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
|
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;
|
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
|
let
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
inherit (bootPkgs) ghc;
|
|
||||||
|
|
||||||
# TODO(@Ericson2314) Make unconditional
|
# TODO(@Ericson2314) Make unconditional
|
||||||
targetPrefix = lib.optionalString
|
targetPrefix = lib.optionalString
|
||||||
(targetPlatform != hostPlatform)
|
(targetPlatform != hostPlatform)
|
||||||
@ -265,7 +292,12 @@ let
|
|||||||
else pkgsBuildTarget.targetPackages.stdenv.cc)
|
else pkgsBuildTarget.targetPackages.stdenv.cc)
|
||||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||||
|
|
||||||
|
buildCC = buildPackages.stdenv.cc;
|
||||||
targetCC = builtins.head toolsForTarget;
|
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
|
# 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
|
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||||
@ -276,12 +308,13 @@ let
|
|||||||
tools = {
|
tools = {
|
||||||
"cc" = cc;
|
"cc" = cc;
|
||||||
"c++" = cc;
|
"c++" = cc;
|
||||||
as = cc.bintools.bintools;
|
as = cc.bintools;
|
||||||
|
|
||||||
ar = cc.bintools.bintools;
|
ar = cc.bintools;
|
||||||
ranlib = cc.bintools.bintools;
|
ranlib = cc.bintools;
|
||||||
nm = cc.bintools.bintools;
|
nm = cc.bintools;
|
||||||
readelf = cc.bintools.bintools;
|
readelf = cc.bintools;
|
||||||
|
objdump = cc.bintools;
|
||||||
|
|
||||||
ld = cc.bintools;
|
ld = cc.bintools;
|
||||||
"ld.gold" = cc.bintools;
|
"ld.gold" = cc.bintools;
|
||||||
@ -300,6 +333,9 @@ let
|
|||||||
if stdenv.targetPlatform.isDarwin
|
if stdenv.targetPlatform.isDarwin
|
||||||
then cc.bintools
|
then cc.bintools
|
||||||
else cc.bintools.bintools;
|
else cc.bintools.bintools;
|
||||||
|
|
||||||
|
# clang is used as an assembler on darwin with the LLVM backend
|
||||||
|
clang = cc;
|
||||||
}.${name};
|
}.${name};
|
||||||
in
|
in
|
||||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||||
@ -316,14 +352,34 @@ let
|
|||||||
(lib.optionalString enableNativeBignum "-native-bignum")
|
(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
|
# Our Cabal compiler name
|
||||||
# the resulting GHC's settings file and used at runtime. This means that we are
|
haskellCompilerName = "ghc-${version}";
|
||||||
# currently only able to build GHC if hostPlatform == buildPlatform.
|
|
||||||
assert !targetPlatform.isGhcjs -> targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
|
in
|
||||||
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
|
|
||||||
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
|
|
||||||
|
|
||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
pname = "${targetPrefix}ghc${variantSuffix}";
|
pname = "${targetPrefix}ghc${variantSuffix}";
|
||||||
@ -346,6 +402,13 @@ stdenv.mkDerivation ({
|
|||||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||||
export "''${env#TARGET_}=''${!env}"
|
export "''${env#TARGET_}=''${!env}"
|
||||||
done
|
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
|
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||||
# the *host* tools.
|
# the *host* tools.
|
||||||
export CC="${toolPath "cc" targetCC}"
|
export CC="${toolPath "cc" targetCC}"
|
||||||
@ -358,6 +421,7 @@ stdenv.mkDerivation ({
|
|||||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||||
export READELF="${toolPath "readelf" targetCC}"
|
export READELF="${toolPath "readelf" targetCC}"
|
||||||
export STRIP="${toolPath "strip" targetCC}"
|
export STRIP="${toolPath "strip" targetCC}"
|
||||||
|
export OBJDUMP="${toolPath "objdump" targetCC}"
|
||||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||||
export OTOOL="${toolPath "otool" targetCC}"
|
export OTOOL="${toolPath "otool" targetCC}"
|
||||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}"
|
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" targetCC}"
|
||||||
@ -366,7 +430,17 @@ stdenv.mkDerivation ({
|
|||||||
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||||
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
'' + 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
|
# 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") ''
|
lib.optionalString (stdenv.hostPlatform.isLinux && hostPlatform.libc == "glibc") ''
|
||||||
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
|
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
|
||||||
@ -433,14 +507,16 @@ stdenv.mkDerivation ({
|
|||||||
# `--with` flags for libraries needed for RTS linker
|
# `--with` flags for libraries needed for RTS linker
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--datadir=$doc/share/doc/ghc"
|
"--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) [
|
] ++ lib.optionals (libffi != null && !targetPlatform.isGhcjs) [
|
||||||
"--with-system-libffi"
|
"--with-system-libffi"
|
||||||
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
"--with-ffi-includes=${targetLibs.libffi.dev}/include"
|
||||||
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
"--with-ffi-libraries=${targetLibs.libffi.out}/lib"
|
||||||
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
||||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
"--with-gmp-includes=${targetLibs.gmp.dev}/include"
|
||||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
"--with-gmp-libraries=${targetLibs.gmp.out}/lib"
|
||||||
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||||
"--with-iconv-includes=${libiconv}/include"
|
"--with-iconv-includes=${libiconv}/include"
|
||||||
"--with-iconv-libraries=${libiconv}/lib"
|
"--with-iconv-libraries=${libiconv}/lib"
|
||||||
@ -454,14 +530,16 @@ stdenv.mkDerivation ({
|
|||||||
"--disable-large-address-space"
|
"--disable-large-address-space"
|
||||||
] ++ lib.optionals enableDwarf [
|
] ++ lib.optionals enableDwarf [
|
||||||
"--enable-dwarf-unwind"
|
"--enable-dwarf-unwind"
|
||||||
"--with-libdw-includes=${lib.getDev targetPackages.elfutils}/include"
|
"--with-libdw-includes=${lib.getDev targetLibs.elfutils}/include"
|
||||||
"--with-libdw-libraries=${lib.getLib targetPackages.elfutils}/lib"
|
"--with-libdw-libraries=${lib.getLib targetLibs.elfutils}/lib"
|
||||||
] ++ lib.optionals targetPlatform.isDarwin [
|
] ++ lib.optionals targetPlatform.isDarwin [
|
||||||
# Darwin uses llvm-ar. GHC will try to use `-L` with `ar` when it is `llvm-ar`
|
# 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:
|
# but it doesn’t currently work because Cabal never uses `-L` on Darwin. See:
|
||||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/23188
|
# https://gitlab.haskell.org/ghc/ghc/-/issues/23188
|
||||||
# https://github.com/haskell/cabal/issues/8882
|
# https://github.com/haskell/cabal/issues/8882
|
||||||
"fp_cv_prog_ar_supports_dash_l=no"
|
"fp_cv_prog_ar_supports_dash_l=no"
|
||||||
|
] ++ lib.optionals enableUnregisterised [
|
||||||
|
"--enable-unregisterised"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||||
@ -471,11 +549,13 @@ stdenv.mkDerivation ({
|
|||||||
dontAddExtraLibs = true;
|
dontAddExtraLibs = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
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 and friends are necessary for hadrian to create the bindist
|
||||||
autoconf automake m4
|
autoconf automake m4
|
||||||
# Python is used in a few scripts invoked by hadrian to generate e.g. rts headers.
|
# Python is used in a few scripts invoked by hadrian to generate e.g. rts headers.
|
||||||
python3
|
python3
|
||||||
|
# Tool used to update GHC's settings file in postInstall
|
||||||
|
bootPkgs.ghc-settings-edit
|
||||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
||||||
autoSignDarwinBinariesHook
|
autoSignDarwinBinariesHook
|
||||||
] ++ lib.optionals enableDocs [
|
] ++ lib.optionals enableDocs [
|
||||||
@ -484,8 +564,25 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
# For building runtime libs
|
# For building runtime libs
|
||||||
depsBuildTarget = toolsForTarget;
|
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);
|
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||||
@ -553,19 +650,49 @@ stdenv.mkDerivation ({
|
|||||||
# leave bindist directory
|
# leave bindist directory
|
||||||
popd
|
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 the bash completion file.
|
||||||
install -Dm 644 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
install -Dm 644 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit bootPkgs targetPrefix;
|
inherit bootPkgs targetPrefix haskellCompilerName;
|
||||||
|
|
||||||
inherit llvmPackages;
|
inherit llvmPackages;
|
||||||
inherit enableShared;
|
inherit enableShared;
|
||||||
|
|
||||||
# Our Cabal compiler name
|
|
||||||
haskellCompilerName = "ghc-${version}";
|
|
||||||
|
|
||||||
# Expose hadrian used for bootstrapping, for debugging purposes
|
# Expose hadrian used for bootstrapping, for debugging purposes
|
||||||
inherit hadrian;
|
inherit hadrian;
|
||||||
|
|
||||||
@ -581,7 +708,8 @@ stdenv.mkDerivation ({
|
|||||||
guibou
|
guibou
|
||||||
] ++ lib.teams.haskell.members;
|
] ++ lib.teams.haskell.members;
|
||||||
timeout = 24 * 3600;
|
timeout = 24 * 3600;
|
||||||
inherit (ghc.meta) license platforms;
|
platforms = lib.platforms.all;
|
||||||
|
inherit (bootPkgs.ghc.meta) license;
|
||||||
};
|
};
|
||||||
|
|
||||||
dontStrip = targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm;
|
dontStrip = targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
, url ? "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz"
|
, 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
|
# build-tools
|
||||||
, bootPkgs
|
, bootPkgs
|
||||||
@ -35,14 +35,19 @@
|
|||||||
, # If enabled, use -fPIC when compiling static libs.
|
, # If enabled, use -fPIC when compiling static libs.
|
||||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
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
|
, # Whether to build dynamic libs for the standard library (on the target
|
||||||
# platform). Static libs are always built.
|
# platform). Static libs are always built.
|
||||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
|
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
|
||||||
|
|
||||||
, # Whether to build terminfo.
|
, # 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
|
, # What flavour to build. An empty string indicates no
|
||||||
# specific flavour and falls back to ghc default values.
|
# specific flavour and falls back to ghc default values.
|
||||||
@ -58,24 +63,33 @@
|
|||||||
|
|
||||||
, enableHaddockProgram ?
|
, enableHaddockProgram ?
|
||||||
# Disabled for cross; see note [HADDOCK_DOCS].
|
# 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
|
, # 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/
|
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||||
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
|
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;
|
assert !enableNativeBignum -> gmp != null;
|
||||||
|
|
||||||
# Cross cannot currently build the `haddock` program for silly reasons,
|
# Cross cannot currently build the `haddock` program for silly reasons,
|
||||||
# see note [HADDOCK_DOCS].
|
# 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
|
let
|
||||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
inherit (bootPkgs) ghc;
|
|
||||||
|
|
||||||
# TODO(@Ericson2314) Make unconditional
|
# TODO(@Ericson2314) Make unconditional
|
||||||
targetPrefix = lib.optionalString
|
targetPrefix = lib.optionalString
|
||||||
(targetPlatform != hostPlatform)
|
(targetPlatform != hostPlatform)
|
||||||
@ -88,6 +102,8 @@ let
|
|||||||
endif
|
endif
|
||||||
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
|
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
|
||||||
BUILD_SPHINX_PDF = NO
|
BUILD_SPHINX_PDF = NO
|
||||||
|
|
||||||
|
WITH_TERMINFO = ${if enableTerminfo then "YES" else "NO"}
|
||||||
'' +
|
'' +
|
||||||
# Note [HADDOCK_DOCS]:
|
# Note [HADDOCK_DOCS]:
|
||||||
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
|
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
|
||||||
@ -134,7 +150,9 @@ let
|
|||||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||||
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
|
||||||
|
|
||||||
|
buildCC = buildPackages.stdenv.cc;
|
||||||
targetCC = builtins.head toolsForTarget;
|
targetCC = builtins.head toolsForTarget;
|
||||||
|
installCC = pkgsHostTarget.targetPackages.stdenv.cc;
|
||||||
|
|
||||||
# toolPath calculates the absolute path to the name tool associated with a
|
# 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
|
# given `stdenv.cc` derivation, i.e. it picks the correct derivation to take
|
||||||
@ -145,12 +163,13 @@ let
|
|||||||
tools = {
|
tools = {
|
||||||
"cc" = cc;
|
"cc" = cc;
|
||||||
"c++" = cc;
|
"c++" = cc;
|
||||||
as = cc.bintools.bintools;
|
as = cc.bintools;
|
||||||
|
|
||||||
ar = cc.bintools.bintools;
|
ar = cc.bintools;
|
||||||
ranlib = cc.bintools.bintools;
|
ranlib = cc.bintools;
|
||||||
nm = cc.bintools.bintools;
|
nm = cc.bintools;
|
||||||
readelf = cc.bintools.bintools;
|
readelf = cc.bintools;
|
||||||
|
objdump = cc.bintools;
|
||||||
|
|
||||||
ld = cc.bintools;
|
ld = cc.bintools;
|
||||||
"ld.gold" = cc.bintools;
|
"ld.gold" = cc.bintools;
|
||||||
@ -169,6 +188,9 @@ let
|
|||||||
if stdenv.targetPlatform.isDarwin
|
if stdenv.targetPlatform.isDarwin
|
||||||
then cc.bintools
|
then cc.bintools
|
||||||
else cc.bintools.bintools;
|
else cc.bintools.bintools;
|
||||||
|
|
||||||
|
# clang is used as an assembler on darwin with the LLVM backend
|
||||||
|
clang = cc;
|
||||||
}.${name};
|
}.${name};
|
||||||
in
|
in
|
||||||
"${tools}/bin/${tools.targetPrefix}${name}";
|
"${tools}/bin/${tools.targetPrefix}${name}";
|
||||||
@ -185,14 +207,30 @@ let
|
|||||||
(lib.optionalString enableNativeBignum "-native-bignum")
|
(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
|
in
|
||||||
# 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;
|
|
||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
pname = "${targetPrefix}ghc${variantSuffix}";
|
pname = "${targetPrefix}ghc${variantSuffix}";
|
||||||
@ -282,6 +320,8 @@ stdenv.mkDerivation (rec {
|
|||||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||||
export "''${env#TARGET_}=''${!env}"
|
export "''${env#TARGET_}=''${!env}"
|
||||||
done
|
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
|
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||||
# the *host* tools.
|
# the *host* tools.
|
||||||
export CC="${toolPath "cc" targetCC}"
|
export CC="${toolPath "cc" targetCC}"
|
||||||
@ -294,6 +334,7 @@ stdenv.mkDerivation (rec {
|
|||||||
export RANLIB="${toolPath "ranlib" targetCC}"
|
export RANLIB="${toolPath "ranlib" targetCC}"
|
||||||
export READELF="${toolPath "readelf" targetCC}"
|
export READELF="${toolPath "readelf" targetCC}"
|
||||||
export STRIP="${toolPath "strip" targetCC}"
|
export STRIP="${toolPath "strip" targetCC}"
|
||||||
|
export OBJDUMP="${toolPath "objdump" targetCC}"
|
||||||
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
|
||||||
export OTOOL="${toolPath "otool" targetCC}"
|
export OTOOL="${toolPath "otool" targetCC}"
|
||||||
export INSTALL_NAME_TOOL="${toolPath "install_name_tool" 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"
|
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
|
||||||
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
|
'' + 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
|
# 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
|
echo -n "${buildMK}" > mk/build.mk
|
||||||
''
|
''
|
||||||
+ lib.optionalString (lib.versionOlder version "9.2" || lib.versionAtLeast version "9.4") ''
|
+ lib.optionalString (lib.versionOlder version "9.2" || lib.versionAtLeast version "9.4") ''
|
||||||
@ -346,21 +402,26 @@ stdenv.mkDerivation (rec {
|
|||||||
'MinBootGhcVersion="8.10"'
|
'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.
|
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||||
configurePlatforms = [ "build" "host" ]
|
configurePlatforms = [ "build" ]
|
||||||
++ lib.optional (targetPlatform != hostPlatform) "target";
|
++ lib.optional (buildPlatform != hostPlatform || targetPlatform != hostPlatform) "target";
|
||||||
|
|
||||||
# `--with` flags for libraries needed for RTS linker
|
# `--with` flags for libraries needed for RTS linker
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--datadir=$doc/share/doc/ghc"
|
"--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) [
|
] ++ lib.optionals (libffi != null) [
|
||||||
"--with-system-libffi"
|
"--with-system-libffi"
|
||||||
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
"--with-ffi-includes=${targetLibs.libffi.dev}/include"
|
||||||
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
"--with-ffi-libraries=${targetLibs.libffi.out}/lib"
|
||||||
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
||||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
"--with-gmp-includes=${targetLibs.gmp.dev}/include"
|
||||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
"--with-gmp-libraries=${targetLibs.gmp.out}/lib"
|
||||||
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||||
"--with-iconv-includes=${libiconv}/include"
|
"--with-iconv-includes=${libiconv}/include"
|
||||||
"--with-iconv-libraries=${libiconv}/lib"
|
"--with-iconv-libraries=${libiconv}/lib"
|
||||||
@ -372,6 +433,8 @@ stdenv.mkDerivation (rec {
|
|||||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||||
] ++ lib.optionals (disableLargeAddressSpace) [
|
] ++ lib.optionals (disableLargeAddressSpace) [
|
||||||
"--disable-large-address-space"
|
"--disable-large-address-space"
|
||||||
|
] ++ lib.optionals enableUnregisterised [
|
||||||
|
"--enable-unregisterised"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||||
@ -382,7 +445,8 @@ stdenv.mkDerivation (rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
perl autoconf automake m4 python3
|
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) [
|
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
|
||||||
autoSignDarwinBinariesHook
|
autoSignDarwinBinariesHook
|
||||||
] ++ lib.optionals enableDocs [
|
] ++ lib.optionals enableDocs [
|
||||||
@ -393,10 +457,27 @@ stdenv.mkDerivation (rec {
|
|||||||
xattr
|
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
|
# For building runtime libs
|
||||||
depsBuildTarget = toolsForTarget;
|
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);
|
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
|
||||||
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
|
||||||
@ -423,6 +504,39 @@ stdenv.mkDerivation (rec {
|
|||||||
requiredSystemFeatures = [ "big-parallel" ];
|
requiredSystemFeatures = [ "big-parallel" ];
|
||||||
|
|
||||||
postInstall = ''
|
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 the bash completion file.
|
||||||
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||||
'';
|
'';
|
||||||
@ -448,7 +562,8 @@ stdenv.mkDerivation (rec {
|
|||||||
guibou
|
guibou
|
||||||
] ++ lib.teams.haskell.members;
|
] ++ lib.teams.haskell.members;
|
||||||
timeout = 24 * 3600;
|
timeout = 24 * 3600;
|
||||||
inherit (ghc.meta) license platforms;
|
platforms = lib.platforms.all;
|
||||||
|
inherit (bootPkgs.ghc.meta) license;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||||
|
@ -43,14 +43,16 @@ mkCoqDerivation rec {
|
|||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
desktopItems = makeDesktopItem {
|
desktopItems = [
|
||||||
name = "coqide";
|
(makeDesktopItem {
|
||||||
exec = "coqide";
|
name = "coqide";
|
||||||
icon = "coq";
|
exec = "coqide";
|
||||||
desktopName = "CoqIDE";
|
icon = "coq";
|
||||||
comment = "Graphical interface for the Coq proof assistant";
|
desktopName = "CoqIDE";
|
||||||
categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
|
comment = "Graphical interface for the Coq proof assistant";
|
||||||
};
|
categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://coq.inria.fr";
|
homepage = "https://coq.inria.fr";
|
||||||
|
@ -185,6 +185,13 @@ self: super: {
|
|||||||
http-api-data = doJailbreak super.http-api-data;
|
http-api-data = doJailbreak super.http-api-data;
|
||||||
tasty-discover = doJailbreak super.tasty-discover;
|
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.*
|
# Allow aeson == 2.1.*
|
||||||
# https://github.com/hdgarrood/aeson-better-errors/issues/23
|
# https://github.com/hdgarrood/aeson-better-errors/issues/23
|
||||||
aeson-better-errors = lib.pipe super.aeson-better-errors [
|
aeson-better-errors = lib.pipe super.aeson-better-errors [
|
||||||
@ -404,7 +411,7 @@ self: super: {
|
|||||||
name = "git-annex-${super.git-annex.version}-src";
|
name = "git-annex-${super.git-annex.version}-src";
|
||||||
url = "git://git-annex.branchable.com/";
|
url = "git://git-annex.branchable.com/";
|
||||||
rev = "refs/tags/" + super.git-annex.version;
|
rev = "refs/tags/" + super.git-annex.version;
|
||||||
sha256 = "1h0vbz95jgj8c380rpy688frnbwind5c2y3ylaw06l2l3j6gdaq3";
|
sha256 = "0j037sis64gnrll7ajg48cvzzvxqsrhj7vnhiwcqv8wbmbfv0avn";
|
||||||
# delete android and Android directories which cause issues on
|
# delete android and Android directories which cause issues on
|
||||||
# darwin (case insensitive directory). Since we don't need them
|
# darwin (case insensitive directory). Since we don't need them
|
||||||
# during the build process, we can delete it to prevent a hash
|
# during the build process, we can delete it to prevent a hash
|
||||||
@ -1461,6 +1468,11 @@ self: super: {
|
|||||||
'';
|
'';
|
||||||
}) super.hledger-flow;
|
}) 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 needs and compiles some modules from Chart itself
|
||||||
Chart-tests = overrideCabal (old: {
|
Chart-tests = overrideCabal (old: {
|
||||||
# https://github.com/timbod7/haskell-chart/issues/233
|
# https://github.com/timbod7/haskell-chart/issues/233
|
||||||
@ -2048,6 +2060,11 @@ self: super: {
|
|||||||
tls = self.tls_2_0_6;
|
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
|
# Need https://github.com/obsidiansystems/cli-extras/pull/12 and more
|
||||||
cli-extras = doJailbreak super.cli-extras;
|
cli-extras = doJailbreak super.cli-extras;
|
||||||
|
|
||||||
@ -2445,9 +2462,7 @@ self: super: {
|
|||||||
# See: https://gitlab.haskell.org/ghc/ghc/-/issues/17188
|
# See: https://gitlab.haskell.org/ghc/ghc/-/issues/17188
|
||||||
#
|
#
|
||||||
# Overwrite the build cores
|
# Overwrite the build cores
|
||||||
raaz = overrideCabal (drv: {
|
raaz = disableParallelBuilding super.raaz;
|
||||||
enableParallelBuilding = false;
|
|
||||||
}) super.raaz;
|
|
||||||
|
|
||||||
# https://github.com/andreymulik/sdp/issues/3
|
# https://github.com/andreymulik/sdp/issues/3
|
||||||
sdp = disableLibraryProfiling super.sdp;
|
sdp = disableLibraryProfiling super.sdp;
|
||||||
@ -2552,8 +2567,9 @@ self: super: {
|
|||||||
relative = "dependent-sum-template";
|
relative = "dependent-sum-template";
|
||||||
}) super.dependent-sum-template;
|
}) super.dependent-sum-template;
|
||||||
|
|
||||||
# Too strict bounds on chell: https://github.com/fpco/haskell-filesystem/issues/24
|
# doJailbreak: too strict bounds on chell: https://github.com/fpco/haskell-filesystem/issues/24
|
||||||
system-fileio = doJailbreak super.system-fileio;
|
# 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
|
# 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;
|
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 = addExtraLibrary pkgs.libiconv super.with-utf8;
|
||||||
with-utf8_1_1_0_0 = addExtraLibrary pkgs.libiconv super.with-utf8_1_1_0_0;
|
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: {
|
git-annex = overrideCabal (drv: {
|
||||||
# We can't use testFlags since git-annex side steps the Cabal test mechanism
|
# We can't use testFlags since git-annex side steps the Cabal test mechanism
|
||||||
preCheck = drv.preCheck or "" + ''
|
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
|
hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82
|
||||||
http-api-data = doJailbreak super.http-api-data;
|
http-api-data = doJailbreak super.http-api-data;
|
||||||
persistent-sqlite = dontCheck super.persistent-sqlite;
|
persistent-sqlite = dontCheck super.persistent-sqlite;
|
||||||
system-fileio = dontCheck super.system-fileio; # avoid dependency on broken "patience"
|
|
||||||
unicode-transforms = dontCheck super.unicode-transforms;
|
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
|
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
|
RSA = dontCheck super.RSA; # https://github.com/GaloisInc/RSA/issues/14
|
||||||
|
@ -5,7 +5,6 @@ with haskellLib;
|
|||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
disableParallelBuilding = haskellLib.overrideCabal (drv: { enableParallelBuilding = false; });
|
|
||||||
in
|
in
|
||||||
|
|
||||||
self: super: {
|
self: super: {
|
||||||
@ -55,9 +54,6 @@ self: super: {
|
|||||||
unix = null;
|
unix = null;
|
||||||
xhtml = null;
|
xhtml = null;
|
||||||
|
|
||||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/23392
|
|
||||||
gi-gtk = disableParallelBuilding super.gi-gtk;
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Version upgrades
|
# Version upgrades
|
||||||
#
|
#
|
||||||
@ -67,14 +63,18 @@ self: super: {
|
|||||||
aeson = doDistribute self.aeson_2_2_3_0;
|
aeson = doDistribute self.aeson_2_2_3_0;
|
||||||
apply-refact = doDistribute self.apply-refact_0_14_0_0;
|
apply-refact = doDistribute self.apply-refact_0_14_0_0;
|
||||||
attoparsec-aeson = doDistribute self.attoparsec-aeson_2_2_2_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;
|
extensions = doDistribute self.extensions_0_1_0_2;
|
||||||
fourmolu = doDistribute self.fourmolu_0_16_2_0;
|
fourmolu = doDistribute self.fourmolu_0_16_2_0;
|
||||||
hashable = doDistribute self.hashable_1_4_7_0;
|
hashable = doDistribute self.hashable_1_4_7_0;
|
||||||
integer-conversion = doDistribute self.integer-conversion_0_1_1;
|
integer-conversion = doDistribute self.integer-conversion_0_1_1;
|
||||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_1_20240511;
|
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;
|
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;
|
lens = doDistribute self.lens_5_3_2;
|
||||||
lukko = doDistribute self.lukko_0_1_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;
|
ormolu = doDistribute self.ormolu_0_7_7_0;
|
||||||
primitive = doDistribute (dontCheck self.primitive_0_9_0_0); # tests introduce a recursive dependency via hspec
|
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;
|
quickcheck-instances = doDistribute self.quickcheck-instances_0_3_31;
|
||||||
@ -82,6 +82,7 @@ self: super: {
|
|||||||
rerebase = doDistribute self.rerebase_1_21_1;
|
rerebase = doDistribute self.rerebase_1_21_1;
|
||||||
scientific = doDistribute self.scientific_0_3_8_0;
|
scientific = doDistribute self.scientific_0_3_8_0;
|
||||||
semirings = doDistribute self.semirings_0_7;
|
semirings = doDistribute self.semirings_0_7;
|
||||||
|
time-manager = super.time-manager_0_1_0;
|
||||||
th-abstraction = doDistribute self.th-abstraction_0_7_0_0;
|
th-abstraction = doDistribute self.th-abstraction_0_7_0_0;
|
||||||
uuid-types = doDistribute self.uuid-types_1_0_6;
|
uuid-types = doDistribute self.uuid-types_1_0_6;
|
||||||
|
|
||||||
@ -101,9 +102,11 @@ self: super: {
|
|||||||
#
|
#
|
||||||
base64 = doJailbreak super.base64; # base <4.20
|
base64 = doJailbreak super.base64; # base <4.20
|
||||||
commutative-semigroups = doJailbreak super.commutative-semigroups; # 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
|
floskell = doJailbreak super.floskell; # base <4.20
|
||||||
lucid = doJailbreak super.lucid; # base <4.20
|
lucid = doJailbreak super.lucid; # base <4.20
|
||||||
tar = doJailbreak super.tar; # 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
|
tree-diff = doJailbreak super.tree-diff; # base <4.20
|
||||||
time-compat = doJailbreak super.time-compat; # 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.*
|
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.*
|
resolv = dontCheck super.resolv; # doesn't compile with filepath ==1.5.*
|
||||||
primitive-unlifted = dontCheck super.primitive-unlifted; # doesn't compile with primitive ==0.9.*
|
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;})));
|
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
|
let
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
|
||||||
disableParallelBuilding = haskellLib.overrideCabal (drv: { enableParallelBuilding = false; });
|
|
||||||
in
|
in
|
||||||
|
|
||||||
self: super: {
|
self: super: {
|
||||||
@ -53,6 +52,4 @@ self: super: {
|
|||||||
unix = null;
|
unix = null;
|
||||||
xhtml = 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";
|
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);
|
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
|
in
|
||||||
|
|
||||||
self: super: {
|
self: super: {
|
||||||
@ -109,9 +107,6 @@ self: super: {
|
|||||||
package-version # doctest <0.21, tasty-hedgehog <1.4
|
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
|
# Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327
|
||||||
gtk = doJailbreak super.gtk;
|
gtk = doJailbreak super.gtk;
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ with haskellLib;
|
|||||||
let
|
let
|
||||||
inherit (pkgs.stdenv.hostPlatform) isDarwin;
|
inherit (pkgs.stdenv.hostPlatform) isDarwin;
|
||||||
|
|
||||||
disableParallelBuilding = haskellLib.overrideCabal (drv: { enableParallelBuilding = false; });
|
|
||||||
in
|
in
|
||||||
|
|
||||||
self: super: {
|
self: super: {
|
||||||
@ -146,7 +145,4 @@ self: super: {
|
|||||||
sha256 = "sha256-umjwgdSKebJdRrXjwHhsi8HBqotx1vFibY9ttLkyT/0=";
|
sha256 = "sha256-umjwgdSKebJdRrXjwHhsi8HBqotx1vFibY9ttLkyT/0=";
|
||||||
}) super.reflex;
|
}) super.reflex;
|
||||||
|
|
||||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/23392
|
|
||||||
gi-gtk = disableParallelBuilding super.gi-gtk;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
with haskellLib;
|
with haskellLib;
|
||||||
|
|
||||||
let
|
|
||||||
disableParallelBuilding = overrideCabal (drv: {
|
|
||||||
enableParallelBuilding = false;
|
|
||||||
});
|
|
||||||
in
|
|
||||||
|
|
||||||
# cabal2nix doesn't properly add dependencies conditional on arch(javascript)
|
# cabal2nix doesn't properly add dependencies conditional on arch(javascript)
|
||||||
|
|
||||||
(self: super: {
|
(self: super: {
|
||||||
|
@ -158,6 +158,7 @@ broken-packages:
|
|||||||
- amqp-conduit # failure in job https://hydra.nixos.org/build/233228080 at 2023-09-02
|
- 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
|
- 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
|
- 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
|
- 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-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
|
- 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
|
- 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
|
- 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
|
- 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-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-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
|
- 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
|
- 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
|
- 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
|
- 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-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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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-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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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-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
|
- 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
|
- 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-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-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
|
- 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
|
- 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
|
- 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
|
- 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-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-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-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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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 # 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-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-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
|
- 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 # 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
- 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
|
# 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
|
- hnix-store-remote < 0.7
|
||||||
# 2024-08-26: test failure for >= 2.9 https://github.com/ocharles/weeder/issues/176
|
# 2024-09-12: match xmonad 0.17.* from Stackage LTS
|
||||||
- weeder < 2.9.0
|
- xmonad-contrib < 0.18.1
|
||||||
|
|
||||||
|
|
||||||
extra-packages:
|
extra-packages:
|
||||||
|
@ -483,7 +483,6 @@ dont-distribute-packages:
|
|||||||
- ampersand
|
- ampersand
|
||||||
- amqp-streamly
|
- amqp-streamly
|
||||||
- analyze-client
|
- analyze-client
|
||||||
- anansi
|
|
||||||
- anansi-hscolour
|
- anansi-hscolour
|
||||||
- anatomy
|
- anatomy
|
||||||
- animate-example
|
- animate-example
|
||||||
@ -572,6 +571,7 @@ dont-distribute-packages:
|
|||||||
- aviation-weight-balance
|
- aviation-weight-balance
|
||||||
- awesomium
|
- awesomium
|
||||||
- awesomium-glut
|
- awesomium-glut
|
||||||
|
- aws-arn
|
||||||
- aws-configuration-tools
|
- aws-configuration-tools
|
||||||
- aws-dynamodb-conduit
|
- aws-dynamodb-conduit
|
||||||
- aws-dynamodb-streams
|
- aws-dynamodb-streams
|
||||||
@ -673,7 +673,6 @@ dont-distribute-packages:
|
|||||||
- bitmaps
|
- bitmaps
|
||||||
- bittorrent
|
- bittorrent
|
||||||
- bla
|
- bla
|
||||||
- blacktip
|
|
||||||
- blakesum-demo
|
- blakesum-demo
|
||||||
- blastxml
|
- blastxml
|
||||||
- blatex
|
- blatex
|
||||||
@ -824,7 +823,6 @@ dont-distribute-packages:
|
|||||||
- chu2
|
- chu2
|
||||||
- chuchu
|
- chuchu
|
||||||
- chunks
|
- chunks
|
||||||
- circuit-notation
|
|
||||||
- citation-resolve
|
- citation-resolve
|
||||||
- citeproc-hs-pandoc-filter
|
- citeproc-hs-pandoc-filter
|
||||||
- clac
|
- clac
|
||||||
@ -832,17 +830,7 @@ dont-distribute-packages:
|
|||||||
- claferIG
|
- claferIG
|
||||||
- claferwiki
|
- claferwiki
|
||||||
- clash
|
- clash
|
||||||
- clash-ghc
|
|
||||||
- clash-lib
|
|
||||||
- clash-lib-hedgehog
|
- clash-lib-hedgehog
|
||||||
- clash-multisignal
|
|
||||||
- clash-prelude-hedgehog
|
|
||||||
- clash-prelude-quickcheck
|
|
||||||
- clash-shake
|
|
||||||
- clash-systemverilog
|
|
||||||
- clash-verilog
|
|
||||||
- clash-vhdl
|
|
||||||
- clashilator
|
|
||||||
- classify-frog
|
- classify-frog
|
||||||
- classy-effects
|
- classy-effects
|
||||||
- classy-effects-th
|
- classy-effects-th
|
||||||
@ -1144,7 +1132,6 @@ dont-distribute-packages:
|
|||||||
- direct-rocksdb
|
- direct-rocksdb
|
||||||
- directory-contents
|
- directory-contents
|
||||||
- dirfiles
|
- dirfiles
|
||||||
- dirstream
|
|
||||||
- discogs-haskell
|
- discogs-haskell
|
||||||
- discord-gateway
|
- discord-gateway
|
||||||
- discord-hs
|
- discord-hs
|
||||||
@ -1440,6 +1427,8 @@ dont-distribute-packages:
|
|||||||
- frpnow-gtk
|
- frpnow-gtk
|
||||||
- frpnow-gtk3
|
- frpnow-gtk3
|
||||||
- frpnow-vty
|
- frpnow-vty
|
||||||
|
- fs-api
|
||||||
|
- fs-sim
|
||||||
- ftdi
|
- ftdi
|
||||||
- ftp-client-conduit
|
- ftp-client-conduit
|
||||||
- ftree
|
- ftree
|
||||||
@ -2280,7 +2269,6 @@ dont-distribute-packages:
|
|||||||
- hyperpublic
|
- hyperpublic
|
||||||
- i
|
- i
|
||||||
- iException
|
- iException
|
||||||
- ice40-prim
|
|
||||||
- ide-backend
|
- ide-backend
|
||||||
- ide-backend-server
|
- ide-backend-server
|
||||||
- ideas-math
|
- ideas-math
|
||||||
@ -2337,6 +2325,7 @@ dont-distribute-packages:
|
|||||||
- introduction-test
|
- introduction-test
|
||||||
- intset
|
- intset
|
||||||
- invertible-hlist
|
- invertible-hlist
|
||||||
|
- io-classes-mtl
|
||||||
- ion
|
- ion
|
||||||
- ipatch
|
- ipatch
|
||||||
- ipc
|
- ipc
|
||||||
@ -2573,7 +2562,6 @@ dont-distribute-packages:
|
|||||||
- linnet-conduit
|
- linnet-conduit
|
||||||
- linux-ptrace
|
- linux-ptrace
|
||||||
- lio-eci11
|
- lio-eci11
|
||||||
- lion
|
|
||||||
- liquid-base
|
- liquid-base
|
||||||
- liquid-bytestring
|
- liquid-bytestring
|
||||||
- liquid-containers
|
- liquid-containers
|
||||||
@ -3157,7 +3145,7 @@ dont-distribute-packages:
|
|||||||
- poseidon
|
- poseidon
|
||||||
- poseidon-postgis
|
- poseidon-postgis
|
||||||
- postgresql-common-persistent
|
- postgresql-common-persistent
|
||||||
- postgresql-libpq_0_10_2_0
|
- postgresql-libpq_0_11_0_0
|
||||||
- postgresql-pure
|
- postgresql-pure
|
||||||
- postgresql-simple-ltree
|
- postgresql-simple-ltree
|
||||||
- postgresql-simple-queue
|
- postgresql-simple-queue
|
||||||
@ -3306,6 +3294,7 @@ dont-distribute-packages:
|
|||||||
- rc
|
- rc
|
||||||
- rdf4h-vocab-activitystreams
|
- rdf4h-vocab-activitystreams
|
||||||
- rdioh
|
- rdioh
|
||||||
|
- rds-data
|
||||||
- react-flux-servant
|
- react-flux-servant
|
||||||
- reactive
|
- reactive
|
||||||
- reactive-banana-sdl
|
- reactive-banana-sdl
|
||||||
@ -3403,8 +3392,6 @@ dont-distribute-packages:
|
|||||||
- restricted-workers
|
- restricted-workers
|
||||||
- rethinkdb-model
|
- rethinkdb-model
|
||||||
- rethinkdb-wereHamster
|
- rethinkdb-wereHamster
|
||||||
- retroclash-lib
|
|
||||||
- retroclash-sim
|
|
||||||
- rewrite
|
- rewrite
|
||||||
- rewriting
|
- rewriting
|
||||||
- rezoom
|
- rezoom
|
||||||
@ -3556,11 +3543,11 @@ dont-distribute-packages:
|
|||||||
- seqloc-datafiles
|
- seqloc-datafiles
|
||||||
- sequor
|
- sequor
|
||||||
- serdoc-binary
|
- serdoc-binary
|
||||||
- serial-test-generators
|
|
||||||
- serpentine
|
- serpentine
|
||||||
- serv
|
- serv
|
||||||
- serv-wai
|
- serv-wai
|
||||||
- servant-aeson-generics-typescript
|
- servant-aeson-generics-typescript
|
||||||
|
- servant-auth-client_0_4_2_0
|
||||||
- servant-auth-hmac
|
- servant-auth-hmac
|
||||||
- servant-auth-token
|
- servant-auth-token
|
||||||
- servant-auth-token-acid
|
- servant-auth-token-acid
|
||||||
@ -4297,7 +4284,6 @@ dont-distribute-packages:
|
|||||||
- yesod-raml-bin
|
- yesod-raml-bin
|
||||||
- yesod-raml-docs
|
- yesod-raml-docs
|
||||||
- yesod-raml-mock
|
- yesod-raml-mock
|
||||||
- yesod-routes-flow
|
|
||||||
- yesod-routes-typescript
|
- yesod-routes-typescript
|
||||||
- yesod-session-redis
|
- yesod-session-redis
|
||||||
- yesod-worker
|
- 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;
|
markBrokenVersion = version: drv: assert drv.version == version; markBroken drv;
|
||||||
markUnbroken = overrideCabal (drv: { broken = false; });
|
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; });
|
enableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = true; });
|
||||||
disableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = false; });
|
disableLibraryProfiling = overrideCabal (drv: { enableLibraryProfiling = false; });
|
||||||
|
|
||||||
|
@ -176,6 +176,8 @@ rec {
|
|||||||
markBrokenVersion = compose.markBrokenVersion;
|
markBrokenVersion = compose.markBrokenVersion;
|
||||||
markUnbroken = compose.markUnbroken;
|
markUnbroken = compose.markUnbroken;
|
||||||
|
|
||||||
|
disableParallelBuilding = compose.disableParallelBuilding;
|
||||||
|
|
||||||
enableLibraryProfiling = compose.enableLibraryProfiling;
|
enableLibraryProfiling = compose.enableLibraryProfiling;
|
||||||
disableLibraryProfiling = compose.disableLibraryProfiling;
|
disableLibraryProfiling = compose.disableLibraryProfiling;
|
||||||
|
|
||||||
|
@ -17,6 +17,8 @@ self: super: {
|
|||||||
# from the latest master instead of the current version on Hackage.
|
# from the latest master instead of the current version on Hackage.
|
||||||
cabal2nix-unstable = self.callPackage ./cabal2nix-unstable.nix { };
|
cabal2nix-unstable = self.callPackage ./cabal2nix-unstable.nix { };
|
||||||
|
|
||||||
|
ghc-settings-edit = self.callPackage ../tools/haskell/ghc-settings-edit { };
|
||||||
|
|
||||||
# https://github.com/channable/vaultenv/issues/1
|
# https://github.com/channable/vaultenv/issues/1
|
||||||
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "sha256-BiRuPQEKVJYYgfUsglIuxrBoJBFiQ0ygQmAFrVvCz4Q=";
|
sha256 = "sha256-BiRuPQEKVJYYgfUsglIuxrBoJBFiQ0ygQmAFrVvCz4Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||||
|
|
||||||
mesonBuildType = "release";
|
mesonBuildType = "release";
|
||||||
|
|
||||||
@ -32,13 +32,15 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
cmake
|
cmake
|
||||||
libpng
|
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
zlib
|
zlib
|
||||||
|
libpng
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "craft-application";
|
pname = "craft-application";
|
||||||
version = "4.2.4";
|
version = "4.2.5";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.10";
|
disabled = pythonOlder "3.10";
|
||||||
@ -36,7 +36,7 @@ buildPythonPackage rec {
|
|||||||
owner = "canonical";
|
owner = "canonical";
|
||||||
repo = "craft-application";
|
repo = "craft-application";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-Z9jiIVPh/DozFHoE478VQWinpohOOQplkxFP2ZyAySE=";
|
hash = "sha256-Y/Eci0ByE1HxUcxWhpQq0F2Ef1xkXZMBDGmUSIyPKII=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "edk2-pytool-library";
|
pname = "edk2-pytool-library";
|
||||||
version = "0.21.11";
|
version = "0.21.12";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.10";
|
disabled = pythonOlder "3.10";
|
||||||
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
|||||||
owner = "tianocore";
|
owner = "tianocore";
|
||||||
repo = "edk2-pytool-library";
|
repo = "edk2-pytool-library";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-5d/IEa7IGbQ2FIAl6Y8tBJIzCNDPibmhy35CSpcWQ8A=";
|
hash = "sha256-PIQ/OrZnm+WOlvTzCHb64/bj7/JGKBEbh6lHD0Pm0ro=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [
|
build-system = [
|
||||||
|
@ -17,14 +17,14 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "imbalanced-learn";
|
pname = "imbalanced-learn";
|
||||||
version = "0.12.3";
|
version = "0.12.4";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-WwB5agFBnpECvUJeJ8MZ1Y0fbPLfp1HgLtf07fZ8PBs=";
|
hash = "sha256-gVO6OF0pawfZfgkBomJKhsBrSMlML5LaOlNUgnaXt6M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools ];
|
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 {
|
buildPythonPackage rec {
|
||||||
pname = "oelint-parser";
|
pname = "oelint-parser";
|
||||||
version = "5.0.0";
|
version = "5.1.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "priv-kweihmann";
|
owner = "priv-kweihmann";
|
||||||
repo = "oelint-parser";
|
repo = "oelint-parser";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-7LEjo/Z9mk2gx2vzDKz5cFR5bDTDgjIVVOquj0o/+0I=";
|
hash = "sha256-0cCcbnipijQgWH+08eZbE6Cqcx5cenrb+bQlf3h04tw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonRelaxDeps = [ "regex" ];
|
pythonRelaxDeps = [ "regex" ];
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "optree";
|
pname = "optree";
|
||||||
version = "0.12.1";
|
version = "0.13.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
|||||||
owner = "metaopt";
|
owner = "metaopt";
|
||||||
repo = "optree";
|
repo = "optree";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-4GvB9Z7qnEjsUSl+x5wd8czV80F50MwJdlNdylUU0zY=";
|
hash = "sha256-HuzfQ1arAF/DbJd9MF0jAxfzWvOHtAfkEMUF+aPfaII=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUseCmakeConfigure = true;
|
dontUseCmakeConfigure = true;
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "twilio";
|
pname = "twilio";
|
||||||
version = "9.3.2";
|
version = "9.3.3";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
@ -29,7 +29,7 @@ buildPythonPackage rec {
|
|||||||
owner = "twilio";
|
owner = "twilio";
|
||||||
repo = "twilio-python";
|
repo = "twilio-python";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-XAJmAdwBF6HM0E89gAP4AOg1vepumJ8O39V0lKr9iDw=";
|
hash = "sha256-Yb5eeg8m21gjx9ZS7Z/N46p7LGfIBCdrmGoHpD+B+as=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
@ -11,14 +11,14 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "uvcclient";
|
pname = "uvcclient";
|
||||||
version = "0.12.1";
|
version = "0.12.2";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kk7ds";
|
owner = "kk7ds";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-ilZTRoSuoJMWlyRfvY/PpTBbr+d6wx+T3cVyW3ZkXlY=";
|
hash = "sha256-V7xIvZ9vIXHPpkEeJZ6QedWk+4ZVNwCzj5ffLyixFz4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ poetry-core ];
|
build-system = [ poetry-core ];
|
||||||
|
@ -14,21 +14,21 @@ let
|
|||||||
|
|
||||||
channels = {
|
channels = {
|
||||||
stable = {
|
stable = {
|
||||||
version = "2.14.3";
|
version = "2.15.1";
|
||||||
hash = {
|
hash = {
|
||||||
x86_64-linux = "sha256-CDQmixywYDLj3ABqTEnaUftITSFGA/wGAfe0IFoU64g=";
|
x86_64-linux = "sha256-DB/3iUkgWzAI+3DEQB8heYkG6apUARDulQ4lKDAPN1I=";
|
||||||
x86_64-darwin = "sha256-TDpoby2lBw8W6zJrHgF/AQFQL+j9dv3d21VLsiSd1sk=";
|
x86_64-darwin = "sha256-62tjAC3WtWC8eIkh9dPi2Exksp2gDHyXEU2tCavKZ4Q=";
|
||||||
aarch64-linux = "sha256-L+2YOMgH1cCl4o1VFZk1dC258/XStgiH9lr9PEQOPSo=";
|
aarch64-linux = "sha256-957GdH5sDjbjxEt8LXKPBM7vht7T6JizVwYYhbitdpw=";
|
||||||
aarch64-darwin = "sha256-hG3HsJ+DIjwB5ehT+Hd3EZduvjNXYTZLYbAYCRWWiQ8=";
|
aarch64-darwin = "sha256-ckcd1u9dgg9LKhr47Yw8dJKkR7hawPie4QNyySH8vyM=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
mainline = {
|
mainline = {
|
||||||
version = "2.15.0";
|
version = "2.16.0";
|
||||||
hash = {
|
hash = {
|
||||||
x86_64-linux = "sha256-zM5l3vkLKuDdZHTgVTYfvfYTGLCpDnA2GZDh5PLQ9rs=";
|
x86_64-linux = "sha256-Uk9oGiLSHBCINAzQg88tlHyMw/OGfdmCw2/NXJs5wbQ=";
|
||||||
x86_64-darwin = "sha256-AbW92RMaPfusve5DxRaT3npeN2zVzrBOBL3XGN8235I=";
|
x86_64-darwin = "sha256-Bbayv00NDJGUA4M4KyG4XCXIiaQSf4JSgy5VvLSVmAM=";
|
||||||
aarch64-linux = "sha256-13FZc1zMmaxfDp0bXBFzf2gcO6wkiA932C5m9oon2GQ=";
|
aarch64-linux = "sha256-nV02uO+UkNNvQDIkh2G+9H8gvk9DOSYyIu4O3nwkYXk=";
|
||||||
aarch64-darwin = "sha256-UP08DncRvM1NjtMOfanDnXGySK1RrCUta5lbIvJ7vto=";
|
aarch64-darwin = "sha256-C9Nm8dW3V25D7J/3ABO5oLGL4wcSCsAXtQNZABwVpWs=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -7,13 +7,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "clickhouse-backup";
|
pname = "clickhouse-backup";
|
||||||
version = "2.6.1";
|
version = "2.6.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Altinity";
|
owner = "Altinity";
|
||||||
repo = "clickhouse-backup";
|
repo = "clickhouse-backup";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-IaRM0wxG/8O12SuCls9MAtiobPHhuDFoFDaT3ZOn2Hk=";
|
hash = "sha256-t9sRhcNKFvTTysornYf/7JQ7mkasTunnzKR4pYCAOk0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-n3rlijycZ5qZtR/e+Z/UPCcr47p4wN3kFgfWr+73WAQ=";
|
vendorHash = "sha256-n3rlijycZ5qZtR/e+Z/UPCcr47p4wN3kFgfWr+73WAQ=";
|
||||||
|
@ -35,6 +35,8 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
buildInputs = [ jre ];
|
buildInputs = [ jre ];
|
||||||
|
|
||||||
|
sourceRoot = ".";
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
let addJars = dir: ''
|
let addJars = dir: ''
|
||||||
for jar in ${dir}/*.jar; do
|
for jar in ${dir}/*.jar; do
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "google-java-format";
|
pname = "google-java-format";
|
||||||
version = "1.23.0";
|
version = "1.24.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/google/google-java-format/releases/download/v${version}/google-java-format-${version}-all-deps.jar";
|
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;
|
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=";
|
hash = "sha256-4T0j2ctHmgWOSCmFG2PZCLJS57nIa5MxmJBpMYzy9FI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopItems = makeDesktopItem {
|
desktopItems = [
|
||||||
name = pname;
|
(makeDesktopItem {
|
||||||
exec = pname;
|
name = pname;
|
||||||
icon = pname;
|
exec = pname;
|
||||||
comment = meta.description;
|
icon = pname;
|
||||||
desktopName = nameApp;
|
comment = meta.description;
|
||||||
genericName = "Java Profiler Tool";
|
desktopName = nameApp;
|
||||||
categories = [ "Development" ];
|
genericName = "Java Profiler Tool";
|
||||||
};
|
categories = [ "Development" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
linux = stdenv.mkDerivation {
|
linux = stdenv.mkDerivation {
|
||||||
inherit pname version src desktopItems;
|
inherit pname version src desktopItems;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
|
{ stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.118.0";
|
version = "0.119.0";
|
||||||
pname = "jbang";
|
pname = "jbang";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
|
url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
|
||||||
sha256 = "sha256-W3vjKZd2Qh/P652im9U9QWCzBHW1uIM8t5nYIjwkfI8=";
|
sha256 = "sha256-ebwBRzgpYEomboY+hMok8KmOaNR4hRaPy7SxjHbLeYU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "minizinc";
|
pname = "minizinc";
|
||||||
version = "2.8.6";
|
version = "2.8.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "MiniZinc";
|
owner = "MiniZinc";
|
||||||
repo = "libminizinc";
|
repo = "libminizinc";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
sha256 = "sha256-mWbkCm6nfN4rJpiCfVPo2K29oV2fInMGbFv4J8NDbaw=";
|
sha256 = "sha256-2JCTOgnzGeh106YBkLPM46MgnB4XHZmdMXNn1P0OBqA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ bison cmake flex jq ];
|
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
|
# not need to know binutils' BINDIR at all. It's an absolute path
|
||||||
# where libraries are stored.
|
# where libraries are stored.
|
||||||
./plugins-no-BINDIR.patch
|
./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.
|
# 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
|
# 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.
|
# version detection in `libtool.m4` fails to detect the Darwin version correctly.
|
||||||
@ -122,7 +122,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
++ lib.optionals targetPlatform.isVc4 [ flex ]
|
++ lib.optionals targetPlatform.isVc4 [ flex ]
|
||||||
;
|
;
|
||||||
|
|
||||||
buildInputs = [ zlib gettext ] ++ lib.optionals buildPlatform.isDarwin [ CoreServices ];
|
buildInputs = [ zlib gettext ] ++ lib.optionals hostPlatform.isDarwin [ CoreServices ];
|
||||||
|
|
||||||
inherit noSysDirs;
|
inherit noSysDirs;
|
||||||
|
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pyenv";
|
pname = "pyenv";
|
||||||
version = "2.4.13";
|
version = "2.4.14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pyenv";
|
owner = "pyenv";
|
||||||
repo = "pyenv";
|
repo = "pyenv";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-PwM/CFWAmWM3cairzWh76NXeD/iZHVKZsaaQjv/HLGI=";
|
hash = "sha256-SOCXr/btqub4affamyBH04rIXFb0oh3Hizpn1pFjfTA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "qc";
|
pname = "qc";
|
||||||
version = "0.5.1";
|
version = "0.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "qownnotes";
|
owner = "qownnotes";
|
||||||
repo = "qc";
|
repo = "qc";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-SrvcRF2yRGGPTk835ykG+NH9WPoc/bXO5tSj43Q7T3g=";
|
hash = "sha256-+Mkg8x9f6oqPqPrk6iCHH69+k0jhQGfjtbJwJPLc7Dw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-7t5rQliLm6pMUHhtev/kNrQ7AOvmA/rR93SwNQhov6o=";
|
vendorHash = "sha256-Cg1Op/4okIi2UTtqWnR0N3iMWzrYEaYxmXzvWIibftg=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s" "-w" "-X=github.com/qownnotes/qc/cmd.version=${version}"
|
"-s" "-w" "-X=github.com/qownnotes/qc/cmd.version=${version}"
|
||||||
|
@ -18,15 +18,17 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
configureFlags = [ "--with-gtk" "--with--board3d" ];
|
configureFlags = [ "--with-gtk" "--with--board3d" ];
|
||||||
|
|
||||||
desktopItems = makeDesktopItem {
|
desktopItems = [
|
||||||
desktopName = "GNU Backgammon";
|
(makeDesktopItem {
|
||||||
name = pname;
|
desktopName = "GNU Backgammon";
|
||||||
genericName = "Backgammon";
|
name = pname;
|
||||||
comment = meta.description;
|
genericName = "Backgammon";
|
||||||
exec = pname;
|
comment = meta.description;
|
||||||
icon = pname;
|
exec = pname;
|
||||||
categories = [ "Game" "GTK" "StrategyGame" ];
|
icon = pname;
|
||||||
};
|
categories = [ "Game" "GTK" "StrategyGame" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib;
|
meta = with lib;
|
||||||
{ description = "World class backgammon application";
|
{ description = "World class backgammon application";
|
||||||
|
@ -48,14 +48,16 @@ stdenv.mkDerivation rec {
|
|||||||
libXi
|
libXi
|
||||||
]));
|
]));
|
||||||
|
|
||||||
desktopItems = makeDesktopItem {
|
desktopItems = [
|
||||||
name = "vintagestory";
|
(makeDesktopItem {
|
||||||
desktopName = "Vintage Story";
|
name = "vintagestory";
|
||||||
exec = "vintagestory";
|
desktopName = "Vintage Story";
|
||||||
icon = "vintagestory";
|
exec = "vintagestory";
|
||||||
comment = "Innovate and explore in a sandbox world";
|
icon = "vintagestory";
|
||||||
categories = [ "Game" ];
|
comment = "Innovate and explore in a sandbox world";
|
||||||
};
|
categories = [ "Game" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
@ -1,33 +1,34 @@
|
|||||||
{ lib
|
{
|
||||||
, stdenv
|
lib,
|
||||||
, fetchurl
|
stdenv,
|
||||||
, pkg-config
|
fetchurl,
|
||||||
, nixosTests
|
pkg-config,
|
||||||
, boost
|
nixosTests,
|
||||||
, yaml-cpp
|
boost,
|
||||||
, libsodium
|
yaml-cpp,
|
||||||
, sqlite
|
libsodium,
|
||||||
, protobuf
|
sqlite,
|
||||||
, openssl
|
protobuf,
|
||||||
, systemd
|
openssl,
|
||||||
, mariadb-connector-c
|
systemd,
|
||||||
, postgresql
|
mariadb-connector-c,
|
||||||
, lua
|
postgresql,
|
||||||
, openldap
|
lua,
|
||||||
, geoip
|
openldap,
|
||||||
, curl
|
geoip,
|
||||||
, unixODBC
|
curl,
|
||||||
, lmdb
|
unixODBC,
|
||||||
, tinycdb
|
lmdb,
|
||||||
|
tinycdb,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "pdns";
|
pname = "pdns";
|
||||||
version = "4.9.1";
|
version = "4.9.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.powerdns.com/releases/pdns-${finalAttrs.version}.tar.bz2";
|
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
|
# redact configure flags from version output to reduce closure size
|
||||||
patches = [ ./version.patch ];
|
patches = [ ./version.patch ];
|
||||||
@ -52,34 +53,38 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
tinycdb
|
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 = [
|
configureFlags = [
|
||||||
"--disable-silent-rules"
|
(lib.enableFeature stdenv.hostPlatform.is32bit "experimental-64bit-time_t-support-on-glibc")
|
||||||
"--enable-dns-over-tls"
|
(lib.enableFeature false "silent-rules")
|
||||||
"--enable-unit-tests"
|
(lib.enableFeature true "dns-over-tls")
|
||||||
"--enable-reproducible"
|
(lib.enableFeature true "unit-tests")
|
||||||
"--enable-tools"
|
(lib.enableFeature true "reproducible")
|
||||||
"--enable-ixfrdist"
|
(lib.enableFeature true "tools")
|
||||||
"--enable-systemd"
|
(lib.enableFeature true "ixfrdist")
|
||||||
"--with-libsodium"
|
(lib.enableFeature true "systemd")
|
||||||
"--with-sqlite3"
|
(lib.withFeature true "libsodium")
|
||||||
"--with-libcrypto=${openssl.dev}"
|
(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"
|
"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
|
# We want the various utilities to look for the powerdns config in
|
||||||
# /etc/pdns, but to actually install the sample config file in
|
# /etc/pdns, but to actually install the sample config file in
|
||||||
# $out
|
# $out
|
||||||
@ -92,12 +97,18 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
nixos = nixosTests.powerdns;
|
nixos = nixosTests.powerdns;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
__structuredAttrs = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Authoritative DNS server";
|
description = "Authoritative DNS server";
|
||||||
homepage = "https://www.powerdns.com";
|
homepage = "https://www.powerdns.com";
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
broken = stdenv.hostPlatform.isDarwin;
|
broken = stdenv.hostPlatform.isDarwin;
|
||||||
license = licenses.gpl2Only;
|
license = licenses.gpl2Only;
|
||||||
maintainers = with maintainers; [ mic92 disassembler nickcao ];
|
maintainers = with maintainers; [
|
||||||
|
mic92
|
||||||
|
disassembler
|
||||||
|
nickcao
|
||||||
|
];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -6,16 +6,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "mtail";
|
pname = "mtail";
|
||||||
version = "3.0.8";
|
version = "3.0.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = "mtail";
|
repo = "mtail";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Rnpf0RgGltSrUPHra5LbvVmS9jftcimYM2Zc39xoxDk=";
|
hash = "sha256-ZyQpTxWBCU+pmulEXi/Y2PimbNMsUlbEFj8r+gTOTA0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-30V+SS+fl1qmK/0i7eB4OGI6pv232kNIMPclRyTNWww=";
|
vendorHash = "sha256-96r2UWM5HUF69BOGW6buV6juJEDYoiBPmR5iGNmI5WA=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-X=main.Branch=main"
|
"-X=main.Branch=main"
|
||||||
|
@ -71,6 +71,7 @@ rustPlatform.buildRustPackage rec {
|
|||||||
--replace-fail '.with_protos' '.with_includes(&["."]).with_protos'
|
--replace-fail '.with_protos' '.with_includes(&["."]).with_protos'
|
||||||
substituteInPlace ./quickwit-proto/build.rs \
|
substituteInPlace ./quickwit-proto/build.rs \
|
||||||
--replace-fail '.with_protos' '.with_includes(&["."]).with_protos'
|
--replace-fail '.with_protos' '.with_includes(&["."]).with_protos'
|
||||||
|
cp /build/cargo-vendor-dir/Cargo.lock /build/source/quickwit/Cargo.lock
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sourceRoot = "${src.name}/quickwit";
|
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_LTO = "fat";
|
||||||
CARGO_PROFILE_RELEASE_CODEGEN_UNITS = "1";
|
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 {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "nu_scripts";
|
pname = "nu_scripts";
|
||||||
version = "0-unstable-2024-09-26";
|
version = "0-unstable-2024-10-03";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nushell";
|
owner = "nushell";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "e10ffbaaa7dc8c9ecd300e72d5f0b6c7e6691175";
|
rev = "743ccc08ee9b46703b1afaf4d77b59bf723a6d41";
|
||||||
hash = "sha256-CT4CI/oKidy7nwiqEbDJxKDuinrcjGQBke9bwwOcD8A=";
|
hash = "sha256-4vGUZtDkywHIc1sgu5jU+95rQfl9B2eoGWzfH7xSMac=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -146,6 +146,8 @@ let
|
|||||||
pkgs.pkgsCross.mips64el-linux-gnuabi64.stdenv
|
pkgs.pkgsCross.mips64el-linux-gnuabi64.stdenv
|
||||||
pkgs.pkgsCross.mips64el-linux-gnuabin32.stdenv
|
pkgs.pkgsCross.mips64el-linux-gnuabin32.stdenv
|
||||||
pkgs.pkgsCross.mingwW64.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) [
|
] ++ lib.optionals (with pkgs.stdenv.buildPlatform; isx86_64 && isLinux) [
|
||||||
# Musl-to-glibc cross on the same architecture tends to turn up
|
# Musl-to-glibc cross on the same architecture tends to turn up
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user