Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-07-04 12:01:10 +00:00 committed by GitHub
commit 9cede82051
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
127 changed files with 4215 additions and 642 deletions

View File

@ -2278,13 +2278,6 @@
githubId = 19501722; githubId = 19501722;
keys = [ { fingerprint = "C593 27B5 9D0F 2622 23F6 1D03 C1C0 F299 52BC F558"; } ]; keys = [ { fingerprint = "C593 27B5 9D0F 2622 23F6 1D03 C1C0 F299 52BC F558"; } ];
}; };
bb010g = {
email = "me@bb010g.com";
matrix = "@bb010g:matrix.org";
github = "bb010g";
githubId = 340132;
name = "Brayden Banks";
};
bb2020 = { bb2020 = {
github = "bb2020"; github = "bb2020";
githubId = 19290397; githubId = 19290397;
@ -17580,6 +17573,12 @@
githubId = 70191398; githubId = 70191398;
name = "Ryan Cao"; name = "Ryan Cao";
}; };
ryand56 = {
email = "git@ryand.ca";
github = "ryand56";
githubId = 22267679;
name = "Ryan Omasta";
};
ryane = { ryane = {
email = "ryanesc@gmail.com"; email = "ryanesc@gmail.com";
github = "ryane"; github = "ryane";

View File

@ -55,6 +55,7 @@ let
PIDFile = "/run/${appName}.pid"; PIDFile = "/run/${appName}.pid";
Type = "notify"; Type = "notify";
NotifyAccess = "all"; #may not do anything... NotifyAccess = "all"; #may not do anything...
Slice = "system-samba.slice";
}; };
unitConfig.RequiresMountsFor = "/var/lib/samba"; unitConfig.RequiresMountsFor = "/var/lib/samba";
@ -216,6 +217,11 @@ in
wants = [ "network-online.target" ]; wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
}; };
slices.system-samba = {
description = "Samba slice";
};
# Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd # Refer to https://github.com/samba-team/samba/tree/master/packaging/systemd
# for correct use with systemd # for correct use with systemd
services = { services = {

View File

@ -7,11 +7,11 @@
melpaBuild rec { melpaBuild rec {
pname = "ebuild-mode"; pname = "ebuild-mode";
version = "1.71"; version = "1.72";
src = fetchzip { src = fetchzip {
url = "https://gitweb.gentoo.org/proj/ebuild-mode.git/snapshot/ebuild-mode-${version}.tar.bz2"; url = "https://gitweb.gentoo.org/proj/ebuild-mode.git/snapshot/ebuild-mode-${version}.tar.bz2";
hash = "sha256-HvaiH3I6hJMb1XFFf8FOw22X+47UayCIWAGuXAVP/ls="; hash = "sha256-GFEDWT88Boz/DxEcmFgf7u2NOoMjAN05yRiYwoYtvXc=";
}; };
# not used but needs to be set; why? # not used but needs to be set; why?

View File

@ -7,19 +7,21 @@
, makeDesktopItem , makeDesktopItem
, copyDesktopItems , copyDesktopItems
, runtimeShell , runtimeShell
, unzip
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fiji"; pname = "fiji";
version = "20201104-1356"; version = "20240614-2117";
src = fetchurl { src = fetchurl {
url = "https://downloads.imagej.net/${pname}/archive/${version}/${pname}-nojre.tar.gz"; url = "https://downloads.imagej.net/fiji/archive/${version}/fiji-nojre.zip";
sha256 = "1jv4wjjkpid5spr2nk5xlvq3hg687qx1n5zh8zlw48y1y09c4q7a"; sha256 = "sha256-OCNnN8CYniNEIfKRHRBoJ3Fo+u5AwXoPJAzUCc4P+f0=";
}; };
dontBuild = true; dontBuild = true;
nativeBuildInputs = [ autoPatchelfHook makeWrapper copyDesktopItems ]; nativeBuildInputs = [ autoPatchelfHook makeWrapper copyDesktopItems unzip ];
buildInputs = [ stdenv.cc.cc.lib ]; buildInputs = [ stdenv.cc.cc.lib ];
desktopItems = [ desktopItems = [
@ -46,10 +48,11 @@ stdenv.mkDerivation rec {
cp -R * $out/fiji cp -R * $out/fiji
rm -f $out/fiji/jars/imagej-updater-*.jar rm -f $out/fiji/jars/imagej-updater-*.jar
# Disgusting hack to stop a local desktop entry being created # Don't create a local desktop entry and avoid deprecated garbage
# collection option
cat <<EOF > $out/bin/.fiji-launcher-hack cat <<EOF > $out/bin/.fiji-launcher-hack
#!${runtimeShell} #!${runtimeShell}
exec \$($out/fiji/ImageJ-linux64 --dry-run "\$@") exec \$($out/fiji/ImageJ-linux64 --default-gc --dry-run "\$@")
EOF EOF
chmod +x $out/bin/.fiji-launcher-hack chmod +x $out/bin/.fiji-launcher-hack
@ -72,6 +75,6 @@ stdenv.mkDerivation rec {
binaryNativeCode binaryNativeCode
]; ];
license = with lib.licenses; [ gpl2Plus gpl3Plus bsd2 publicDomain ]; license = with lib.licenses; [ gpl2Plus gpl3Plus bsd2 publicDomain ];
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ davisrichard437 ];
}; };
} }

View File

@ -34,6 +34,7 @@
, kpurpose , kpurpose
, kdeclarative , kdeclarative
, wrapGAppsHook3 , wrapGAppsHook3
, glaxnimate
}: }:
let let
@ -80,15 +81,19 @@ mkDerivation {
kpurpose kpurpose
kdeclarative kdeclarative
wrapGAppsHook3 wrapGAppsHook3
glaxnimate
]; ];
# Both MLT and FFMpeg paths must be set or Kdenlive will complain that it # Both MLT and FFMpeg paths must be set or Kdenlive will complain that it
# doesn't find them. See: # doesn't find them. See:
# https://github.com/NixOS/nixpkgs/issues/83885 # https://github.com/NixOS/nixpkgs/issues/83885
patches = [ ./dependency-paths.patch ]; patches = [ ./dependency-paths.patch ./dependency-paths-glaxnimate.patch ];
inherit mediainfo; # Needed to replace @glaxnimate@ by its path
ffmpeg = ffmpeg-full; env = {
mlt = mlt-full; inherit mediainfo glaxnimate;
ffmpeg = ffmpeg-full;
mlt = mlt-full;
};
postPatch = postPatch =
# Module Qt5::Concurrent must be included in `find_package` before it is used. # Module Qt5::Concurrent must be included in `find_package` before it is used.

View File

@ -0,0 +1,13 @@
diff --git a/src/kdenlivesettings.kcfg b/src/kdenlivesettings.kcfg
index 86fa5ef..6aeccbe 100644
--- a/src/kdenlivesettings.kcfg
+++ b/src/kdenlivesettings.kcfg
@@ -657,7 +657,7 @@
<entry name="glaxnimatePath" type="String">
<label>Path to the Glaxnimate application.</label>
- <default></default>
+ <default>@glaxnimate@/bin/glaxnimate</default>
</entry>
<entry name="nice_tasks" type="Bool">

View File

@ -36,14 +36,14 @@ let
in in
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins; assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "4.3.3"; version = "4.3.4";
pname = "weechat"; pname = "weechat";
hardeningEnable = [ "pie" ]; hardeningEnable = [ "pie" ];
src = fetchurl { src = fetchurl {
url = "https://weechat.org/files/src/weechat-${version}.tar.xz"; url = "https://weechat.org/files/src/weechat-${version}.tar.xz";
hash = "sha256-VYfbbOoziVvaEBxGptCen8COD8p2/4rDsUTasysQXtg="; hash = "sha256-ytRYAi9GmRILfXLgYrNGxNDng1nMl4X6LhaG/XS6f2c=";
}; };
# Why is this needed? https://github.com/weechat/weechat/issues/2031 # Why is this needed? https://github.com/weechat/weechat/issues/2031

View File

@ -3,6 +3,7 @@
, tcl , tcl
, libiconv , libiconv
, fetchurl , fetchurl
, fetchpatch
, buildPackages , buildPackages
, zlib , zlib
, openssl , openssl
@ -17,11 +18,11 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "fossil"; pname = "fossil";
version = "2.23"; version = "2.24";
src = fetchurl { src = fetchurl {
url = "https://www.fossil-scm.org/home/tarball/version-${finalAttrs.version}/fossil-${finalAttrs.version}.tar.gz"; url = "https://www.fossil-scm.org/home/tarball/version-${finalAttrs.version}/fossil-${finalAttrs.version}.tar.gz";
hash = "sha256-dfgI6BNRAYqXFnRtnvGh/huxkEcz6LQYZDiB04GYhZM="; hash = "sha256-lc08F2g1vrm4lwdvpYFx/jCwspH2OHu1R0nvvfqWL0w=";
}; };
# required for build time tool `./tools/translate.c` # required for build time tool `./tools/translate.c`
@ -41,6 +42,27 @@ stdenv.mkDerivation (finalAttrs: {
lib.optional (!withInternalSqlite) "--disable-internal-sqlite" lib.optional (!withInternalSqlite) "--disable-internal-sqlite"
++ lib.optional withJson "--json"; ++ lib.optional withJson "--json";
patches = [
(fetchpatch {
url = "https://fossil-scm.org/home/vpatch?from=8be0372c10510437&to=5ad708085a90365f";
extraPrefix = "";
hash = "sha256-KxF40wiEY3R1RFM0/YOmdNiedQHzs+vyMXslnqLtqQ4=";
name = "fossil-disable-tests.patch";
})
(fetchpatch {
url = "https://fossil-scm.org/home/vpatch?from=fb4e90b662803e47&to=17c01c549e73c6b8";
extraPrefix = "";
hash = "sha256-b0JSDWEBTlLWFr5rO+g0biPzUfVsdeAw71DR7/WQKzU=";
name = "fossil-fix-json-test.patch";
})
(fetchpatch {
url = "https://fossil-scm.org/home/vpatch?from=5ad708085a90365f&to=fb4e90b662803e47";
extraPrefix = "";
hash = "sha256-bbWUrlhPxC/DQQDeC3gG0jGfxQ6F7YkxINqg3baf+j0=";
name = "fossil-comment-utf-tests.patch";
})
];
preBuild = '' preBuild = ''
export USER=nonexistent-but-specified-user export USER=nonexistent-but-specified-user
''; '';

View File

@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
description = "GIT utilities -- repo summary, repl, changelog population, author commit percentages and more"; description = "GIT utilities -- repo summary, repl, changelog population, author commit percentages and more";
license = licenses.mit; license = licenses.mit;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ cko SuperSandro2000 ]; maintainers = with maintainers; [ SuperSandro2000 ];
}; };
} }

View File

@ -1,30 +0,0 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "git-my";
version = "1.1.2";
src = fetchFromGitHub {
owner = "davidosomething";
repo = "git-my";
rev = version;
sha256 = "0jji5zw25jygj7g4f6f3k0p0s9g37r8iad8pa0s67cxbq2v4sc0v";
};
dontBuild = true;
installPhase = ''
install -Dm755 -t "$out"/bin ./git-my
'';
meta = with lib; {
description =
"List remote branches if they're merged and/or available locally";
homepage = "https://github.com/davidosomething/git-my";
license = licenses.free;
maintainers = with maintainers; [ bb010g ];
platforms = platforms.all;
mainProgram = "git-my";
};
}

View File

@ -0,0 +1,38 @@
{ lib
, fetchFromGitHub
, rustPlatform
, pkg-config
, alsa-lib
, libjack2
}:
rustPlatform.buildRustPackage rec {
pname = "asak";
version = "0.3.3";
src = fetchFromGitHub {
owner = "chaosprint";
repo = "asak";
rev = "v${version}";
hash = "sha256-yhR8xLCFSmTG2yqsbiP3w8vcvLz4dsn4cbMPFedzUFI=";
};
cargoHash = "sha256-ssHYQhx5rNkTH6KJuJh2wPcptIcIxP8BcDNriGj3btk=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsa-lib libjack2 ];
# There is no tests
doCheck = false;
meta = {
description = "A cross-platform audio recording/playback CLI tool with TUI, written in Rust";
homepage = "https://github.com/chaosprint/asak";
changelog = "https://github.com/chaosprint/asak/releases/tag/v${version}";
license = lib.licenses.mit;
mainProgram = "asak";
maintainers = with lib.maintainers; [ anas ];
platforms = with lib.platforms; unix ++ windows;
};
}

View File

@ -11,13 +11,13 @@
}: }:
let let
version = "1.13.1"; version = "1.13.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "detachhead"; owner = "detachhead";
repo = "basedpyright"; repo = "basedpyright";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-dIIYHVsDSNwhedWlPnLCvB5aGgVukGLs5K84WHqQyVM="; hash = "sha256-Qi5MYyNrEH56hNa2HHeSrnZQvJTkLXVIpCHUJCzOM+c=";
}; };
patchedPackageJSON = runCommand "package.json" { } '' patchedPackageJSON = runCommand "package.json" { } ''
@ -47,7 +47,7 @@ let
pname = "pyright-internal"; pname = "pyright-internal";
inherit version src; inherit version src;
sourceRoot = "${src.name}/packages/pyright-internal"; sourceRoot = "${src.name}/packages/pyright-internal";
npmDepsHash = "sha256-OZHCAJd/O6u1LhkJZ/TK9L8s4bcXMMNVlKF3If+Ms1A="; npmDepsHash = "sha256-eEBlX2F3B/njTb2sONXzDqe+a2TVddam7NDXt5s8QFs=";
dontNpmBuild = true; dontNpmBuild = true;
# FIXME: Remove this flag when TypeScript 5.5 is released # FIXME: Remove this flag when TypeScript 5.5 is released
npmFlags = [ "--legacy-peer-deps" ]; npmFlags = [ "--legacy-peer-deps" ];
@ -94,7 +94,7 @@ buildNpmPackage rec {
inherit version src; inherit version src;
sourceRoot = "${src.name}/packages/pyright"; sourceRoot = "${src.name}/packages/pyright";
npmDepsHash = "sha256-wjwF1OlR9ohrl8gWW7ctVpeCq2Fu2m1XdHOEkXt7zjA="; npmDepsHash = "sha256-JIpbef6ADktKILifRra4jrfdLHY1o/eFsdVkwQupMZw=";
postPatch = '' postPatch = ''
chmod +w ../../ chmod +w ../../

View File

@ -1,13 +1,17 @@
{ lib, stdenvNoCC, fetchFromGitHub }: {
fetchFromGitHub,
lib,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "betterdiscordctl"; pname = "betterdiscordctl";
version = "2.0.1"; version = "2.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bb010g"; owner = "bb010g";
repo = "betterdiscordctl"; repo = "betterdiscordctl";
rev = "v${version}"; rev = "v${finalAttrs.version}";
sha256 = "0p321rfcihz2779sdd6qfgpxgk5yd53d33vq5pvb50dbdgxww0bc"; sha256 = "0p321rfcihz2779sdd6qfgpxgk5yd53d33vq5pvb50dbdgxww0bc";
}; };
@ -19,9 +23,8 @@ stdenvNoCC.mkDerivation rec {
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p "$out/bin" "$out/share/doc/betterdiscordctl" install -Dm 755 -t "$out/bin" -- betterdiscordctl
install -Dm744 betterdiscordctl $out/bin/betterdiscordctl install -Dm 644 -t "$out/share/doc/betterdiscordctl" -- README.md
install -Dm644 README.md $out/share/doc/betterdiscordctl/README.md
runHook postInstall runHook postInstall
''; '';
@ -29,15 +32,19 @@ stdenvNoCC.mkDerivation rec {
doInstallCheck = true; doInstallCheck = true;
installCheckPhase = '' installCheckPhase = ''
$out/bin/betterdiscordctl --version runHook preInstallCheck
"$out/bin/betterdiscordctl" --version
runHook postInstallCheck
''; '';
meta = with lib; { meta = {
homepage = "https://github.com/bb010g/betterdiscordctl"; homepage = "https://github.com/bb010g/betterdiscordctl";
description = "Utility for managing BetterDiscord on Linux"; description = "Utility for managing BetterDiscord on Linux";
license = licenses.mit; license = lib.licenses.mit;
mainProgram = "betterdiscordctl"; mainProgram = "betterdiscordctl";
maintainers = with maintainers; [ bb010g ]; maintainers = [ ];
platforms = platforms.linux; platforms = lib.platforms.linux;
}; };
} })

View File

@ -0,0 +1,39 @@
{
bash,
fetchFromGitHub,
lib,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "git-my";
version = "1.1.2";
src = fetchFromGitHub {
owner = "davidosomething";
repo = "git-my";
rev = finalAttrs.version;
sha256 = "0jji5zw25jygj7g4f6f3k0p0s9g37r8iad8pa0s67cxbq2v4sc0v";
};
buildInputs = [ bash ];
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm 755 -t "$out/bin" -- git-my
runHook postInstall
'';
meta = {
description = "List remote branches if they're merged and/or available locally";
homepage = "https://github.com/davidosomething/git-my";
license = lib.licenses.free;
maintainers = [ ];
platforms = lib.platforms.all;
mainProgram = "git-my";
};
})

View File

@ -54,7 +54,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
''; '';
license = lib.licenses.asl20; license = lib.licenses.asl20;
mainProgram = "mvn"; mainProgram = "mvn";
maintainers = with lib.maintainers; [ cko ]; maintainers = with lib.maintainers; [ ];
inherit (jdk.meta) platforms; inherit (jdk.meta) platforms;
}; };
}) })

View File

@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "okolors"; pname = "okolors";
version = "0.7.0"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Ivordir"; owner = "Ivordir";
repo = "Okolors"; repo = "Okolors";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-xroiiDTm3B2sVC1sO7oe3deqh+j3URmiy/ctwqrvvkI="; sha256 = "sha256-U7rLynXZGHCeZjaXoXx2IRDgUFv7zOKfb4BPgDROzBc=";
}; };
cargoHash = "sha256-Ru7VZM+vLGkYeLqWilQvpWUnbNZqkJHn1D/Vo/KUmRk="; cargoHash = "sha256-xRCxpmIocvkg1ErYVqBLHb/jXV2eWeWHg4IO/QsnnF0=";
meta = with lib; { meta = with lib; {
description = "Generate a color palette from an image using k-means clustering in the Oklab color space"; description = "Generate a color palette from an image using k-means clustering in the Oklab color space";

View File

@ -6,16 +6,16 @@
php.buildComposerProject (finalAttrs: { php.buildComposerProject (finalAttrs: {
pname = "phpactor"; pname = "phpactor";
version = "2024.03.09.0"; version = "2024.06.30.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "phpactor"; owner = "phpactor";
repo = "phpactor"; repo = "phpactor";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-1QPBq8S3mOkSackXyCuFdoxfAdUQaRuUfoOfKOGuiR0="; hash = "sha256-QcKkkgpWWypapQPawK1hu+6tkF9c5ICPeEPWqCwrUBM=";
}; };
vendorHash = "sha256-9YN+fy+AvNnF0Astrirpewjmh/bSINAhW9fLvN5HGGI="; vendorHash = "sha256-onUhRO6d2osf7n5QlYY86eamlCCslQMVltAv1shskgI=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -0,0 +1,82 @@
{
lib,
buildGoModule,
fetchFromGitHub,
stdenv,
darwin,
copyDesktopItems,
makeDesktopItem,
xorg,
libGL,
gtk3,
pkg-config,
wrapGAppsHook3,
}:
buildGoModule rec {
pname = "picocrypt";
version = "1.34";
src = fetchFromGitHub {
owner = "Picocrypt";
repo = "Picocrypt";
rev = version;
hash = "sha256-TO72s8v0cpyKjvi0b74vux3+VzTfW540Drtr2bD5xVw=";
};
sourceRoot = "${src.name}/src";
vendorHash = "sha256-W982HiosXvDadMJJ0wP6AsalQ/uxklSbbmFp26XQEhM=";
ldflags = [
"-s"
"-w"
];
buildInputs = [
xorg.libX11
xorg.libXcursor
xorg.libXrandr
xorg.libXi
xorg.libXinerama
xorg.libXxf86vm
libGL.dev
gtk3
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Kernel
];
nativeBuildInputs = [
copyDesktopItems
pkg-config
wrapGAppsHook3
];
CGO_ENABLED = 1;
postInstall = ''
mv $out/bin/Picocrypt $out/bin/picocrypt-gui
install -Dm644 $src/images/key.svg $out/share/icons/hicolor/scalable/apps/picocrypt.svg
'';
desktopItems = [
(makeDesktopItem {
name = "Picocrypt";
exec = "picocrypt-gui";
icon = "picocrypt";
comment = meta.description;
desktopName = "Picocrypt";
categories = [ "Utility" ];
})
];
meta = {
description = "Very small, very simple, yet very secure encryption tool, written in Go";
homepage = "https://github.com/Picocrypt/Picocrypt";
changelog = "https://github.com/Picocrypt/Picocrypt/blob/main/Changelog.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ ryand56 ];
mainProgram = "picocrypt-gui";
};
}

3188
pkgs/by-name/po/polarity/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
{ lib
, fetchFromGitHub
, rustPlatform
}:
rustPlatform.buildRustPackage rec {
pname = "polarity";
version = "0-unstable-2024-06-28";
src = fetchFromGitHub {
owner = "polarity-lang";
repo = "polarity";
rev = "59bd7a2c3c3d0a61b25d3bb85b9d21f7b3fef343";
hash = "sha256-85uo2GAGxWAWwN2vyhUqwz28Ofb+2eOSuetzovAle+A=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = { "codespan-0.11.1" = "sha256-Wq99v77bqSGIOK/iyv+x/EG1563XSeaTDW5K2X3kSXU="; };
};
meta = {
description = "A Language with Dependent Data and Codata Types";
homepage = "https://polarity-lang.github.io/";
changelog = "https://github.com/polarity-lang/polarity/blob/${src.rev}/CHANGELOG.md";
license = with lib.licenses; [ mit asl20 ];
maintainers = [ lib.maintainers.mangoiv ];
mainProgram = "pol";
platforms = lib.platforms.all;
};
}

191
pkgs/by-name/se/segger-jlink/package.nix Executable file → Normal file
View File

@ -1,39 +1,23 @@
{ lib { lib
, stdenv , stdenv
, fetchurl , fetchurl
, callPackage
, autoPatchelfHook , autoPatchelfHook
, udev , udev
, config , config
, acceptLicense ? config.segger-jlink.acceptLicense or false , acceptLicense ? config.segger-jlink.acceptLicense or false
, fontconfig , headless ? false
, xorg
, makeDesktopItem , makeDesktopItem
, copyDesktopItems , copyDesktopItems
}: }:
let let
supported = { source = import ./source.nix;
x86_64-linux = { supported = removeAttrs source ["version"];
name = "x86_64";
hash = "sha256-UsDP+wMS7ZeWMQBObwv5RxbwuWU8nLnHes7LEXK6imE=";
};
i686-linux = {
name = "i386";
hash = "sha256-InNHXWAc6QZEWyEcTTUCRMDsKd0RtR8d7O0clWKuFo8=";
};
aarch64-linux = {
name = "arm64";
hash = "sha256-ueIGdqfuIRCuEwaPkgZMgghO9DU11IboLLMryg/mxQ8=";
};
armv7l-linux = {
name = "arm";
hash = "sha256-6nTQGQpkbqQntheQqiUAdVS4rp30nl2KRUn5Adsfeoo=";
};
};
platform = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}"); platform = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}");
version = "796b"; inherit (source) version;
url = "https://www.segger.com/downloads/jlink/JLink_Linux_V${version}_${platform.name}.tgz"; url = "https://www.segger.com/downloads/jlink/JLink_Linux_V${version}_${platform.name}.tgz";
@ -66,69 +50,7 @@ let
curlOpts = "--data accept_license_agreement=accepted"; curlOpts = "--data accept_license_agreement=accepted";
}; };
qt4-bundled = stdenv.mkDerivation { qt4-bundled = callPackage ./qt4-bundled.nix { inherit src version; };
pname = "segger-jlink-qt4";
inherit src version;
nativeBuildInputs = [
autoPatchelfHook
];
buildInputs = [
stdenv.cc.cc.lib
fontconfig
xorg.libXrandr
xorg.libXfixes
xorg.libXcursor
xorg.libSM
xorg.libICE
xorg.libX11
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
# Install libraries
mkdir -p $out/lib
mv libQt* $out/lib
runHook postInstall
'';
meta = with lib; {
description = "Bundled QT4 libraries for the J-Link Software and Documentation pack";
homepage = "https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack";
license = licenses.lgpl21;
maintainers = with maintainers; [ stargate01 ];
knownVulnerabilities = [
"This bundled version of Qt 4 has reached its end of life after 2015. See https://github.com/NixOS/nixpkgs/pull/174634"
"CVE-2023-43114"
"CVE-2023-38197"
"CVE-2023-37369"
"CVE-2023-34410"
"CVE-2023-32763"
"CVE-2023-32762"
"CVE-2023-32573"
"CVE-2022-25634"
"CVE-2020-17507"
"CVE-2020-0570"
"CVE-2018-21035"
"CVE-2018-19873"
"CVE-2018-19871"
"CVE-2018-19870"
"CVE-2018-19869"
"CVE-2015-1290"
"CVE-2014-0190"
"CVE-2013-0254"
"CVE-2012-6093"
"CVE-2012-5624"
"CVE-2009-2700"
];
};
};
in stdenv.mkDerivation { in stdenv.mkDerivation {
pname = "segger-jlink"; pname = "segger-jlink";
@ -136,10 +58,11 @@ in stdenv.mkDerivation {
nativeBuildInputs = [ nativeBuildInputs = [
autoPatchelfHook autoPatchelfHook
] ++ lib.optionals (!headless) [
copyDesktopItems copyDesktopItems
]; ];
buildInputs = [ buildInputs = lib.optionals (!headless) [
qt4-bundled qt4-bundled
]; ];
@ -151,55 +74,60 @@ in stdenv.mkDerivation {
dontConfigure = true; dontConfigure = true;
dontBuild = true; dontBuild = true;
desktopItems = map (entry: desktopItems = lib.optionals (!headless) (
(makeDesktopItem { map (entry:
name = entry; (makeDesktopItem {
exec = entry; name = entry;
icon = "applications-utilities"; exec = entry;
desktopName = entry; icon = "applications-utilities";
genericName = "SEGGER ${entry}"; desktopName = entry;
categories = [ "Development" ]; genericName = "SEGGER ${entry}";
type = "Application"; categories = [ "Development" ];
terminal = false; type = "Application";
startupNotify = false; terminal = false;
}) startupNotify = false;
) [ })
"JFlash" ) [
"JFlashLite" "JFlash"
"JFlashSPI" "JFlashLite"
"JLinkConfig" "JFlashSPI"
"JLinkGDBServer" "JLinkConfig"
"JLinkLicenseManager" "JLinkGDBServer"
"JLinkRTTViewer" "JLinkLicenseManager"
"JLinkRegistration" "JLinkRTTViewer"
"JLinkRemoteServer" "JLinkRegistration"
"JLinkSWOViewer" "JLinkRemoteServer"
"JLinkUSBWebServer" "JLinkSWOViewer"
"JMem" "JLinkUSBWebServer"
]; "JMem"
]
);
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
# Install binaries and runtime files into /opt/
mkdir -p $out/opt mkdir -p $out/opt
mv J* ETC GDBServer Firmwares $out/opt
# Link executables into /bin/ ${lib.optionalString (!headless) ''
mkdir -p $out/bin # Install binaries and runtime files into /opt/
for binr in $out/opt/*Exe; do mv J* ETC GDBServer Firmwares $out/opt
binrlink=''${binr#"$out/opt/"}
ln -s $binr $out/bin/$binrlink
# Create additional symlinks without "Exe" suffix
binrlink=''${binrlink/%Exe}
ln -s $binr $out/bin/$binrlink
done
# Copy special alias symlinks # Link executables into /bin/
for slink in $(find $out/opt/. -type l); do mkdir -p $out/bin
cp -P -n $slink $out/bin || true for binr in $out/opt/*Exe; do
rm $slink binrlink=''${binr#"$out/opt/"}
done ln -s $binr $out/bin/$binrlink
# Create additional symlinks without "Exe" suffix
binrlink=''${binrlink/%Exe}
ln -s $binr $out/bin/$binrlink
done
# Copy special alias symlinks
for slink in $(find $out/opt/. -type l); do
cp -P -n $slink $out/bin || true
rm $slink
done
''}
# Install libraries # Install libraries
install -Dm444 libjlinkarm.so* -t $out/lib install -Dm444 libjlinkarm.so* -t $out/lib
@ -218,11 +146,18 @@ in stdenv.mkDerivation {
runHook postInstall runHook postInstall
''; '';
passthru.updateScript = ./update.py;
meta = with lib; { meta = with lib; {
description = "J-Link Software and Documentation pack"; description = "J-Link Software and Documentation pack";
homepage = "https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack"; homepage = "https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack";
changelog = "https://www.segger.com/downloads/jlink/ReleaseNotes_JLink.html";
license = licenses.unfree; license = licenses.unfree;
platforms = attrNames supported; platforms = attrNames supported;
maintainers = with maintainers; [ FlorianFranzen stargate01 ]; maintainers = with maintainers; [
FlorianFranzen
h7x4
stargate01
];
}; };
} }

View File

@ -0,0 +1,74 @@
{
lib
, stdenv
, src
, version
, autoPatchelfHook
, fontconfig
, xorg
}:
stdenv.mkDerivation {
pname = "segger-jlink-qt4";
inherit src version;
nativeBuildInputs = [
autoPatchelfHook
];
buildInputs = [
stdenv.cc.cc.lib
fontconfig
xorg.libXrandr
xorg.libXfixes
xorg.libXcursor
xorg.libSM
xorg.libICE
xorg.libX11
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
# Install libraries
mkdir -p $out/lib
mv libQt* $out/lib
runHook postInstall
'';
meta = with lib; {
description = "Bundled QT4 libraries for the J-Link Software and Documentation pack";
homepage = "https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack";
license = licenses.lgpl21;
maintainers = with maintainers; [ stargate01 ];
knownVulnerabilities = [
"This bundled version of Qt 4 has reached its end of life after 2015. See https://github.com/NixOS/nixpkgs/pull/174634"
"CVE-2023-43114"
"CVE-2023-38197"
"CVE-2023-37369"
"CVE-2023-34410"
"CVE-2023-32763"
"CVE-2023-32762"
"CVE-2023-32573"
"CVE-2022-25634"
"CVE-2020-17507"
"CVE-2020-0570"
"CVE-2018-21035"
"CVE-2018-19873"
"CVE-2018-19871"
"CVE-2018-19870"
"CVE-2018-19869"
"CVE-2015-1290"
"CVE-2014-0190"
"CVE-2013-0254"
"CVE-2012-6093"
"CVE-2012-5624"
"CVE-2009-2700"
];
};
}

View File

@ -0,0 +1,19 @@
{
version = "796k";
x86_64-linux = {
name = "x86_64";
hash = "sha256-GDmdKjMD9nJLPl4Qaxgrb5+b9CsUdyNqNak1JG4ERjo=";
};
i686-linux = {
name = "i386";
hash = "sha256-8j2UkPtDyIA+mfXl4jIVp89CpGA+T4eU5IQ0GwROgwU=";
};
aarch64-linux = {
name = "arm64";
hash = "sha256-FIzg7vAPlhnjuKEm5uGa7a37srp1U0e4eqlG9C6q26s=";
};
armv7l-linux = {
name = "arm";
hash = "sha256-NceqkV54QVXEJr4pJ3nvY3zxSYb9Er0uQWQ4vaojkv8=";
};
}

View File

@ -0,0 +1,87 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python3 -p python3 python3Packages.beautifulsoup4 python3Packages.requests
import requests
import subprocess
from bs4 import BeautifulSoup
from pathlib import Path
from tempfile import NamedTemporaryFile
from textwrap import indent, dedent
ARCH_MAP = {
'x86_64-linux': 'x86_64',
'i686-linux': 'i386',
'aarch64-linux': 'arm64',
'armv7l-linux': 'arm',
}
def find_latest_jlink_version() -> str:
try:
response = requests.get('https://www.segger.com/downloads/jlink/')
response.raise_for_status()
except requests.RequestException as e:
raise RuntimeError(f"Error fetching J-Link version: {e}")
soup = BeautifulSoup(response.text, 'html.parser')
jlink_download_tile = soup.find(lambda tag: tag.name == 'tbody' and "J-Link Software and Documentation pack" in tag.text)
version_select = jlink_download_tile.find('select')
version = next(o.text for o in version_select.find_all('option'))
if version is None:
raise RuntimeError("Could not find the J-Link version on the download page.")
return version.removeprefix('V').replace('.', '')
def nar_hash(url: str) -> str:
try:
response = requests.post(url, data={'accept_license_agreement': 'accepted'})
response.raise_for_status()
except requests.RequestException as e:
raise RuntimeError(f"Error downloading file from {url}: {e}")
with NamedTemporaryFile() as tmpfile:
tmpfile.write(response.content)
tmpfile.flush()
output = subprocess.check_output([
"nix",
"--extra-experimental-features", "nix-command",
"hash", "file", "--sri", tmpfile.name
]).decode("utf8")
return output.strip()
def calculate_package_hashes(version: str) -> list[tuple[str, str, str]]:
result = []
for (arch_nix, arch_web) in ARCH_MAP.items():
url = f"https://www.segger.com/downloads/jlink/JLink_Linux_V{version}_{arch_web}.tgz";
nhash = nar_hash(url)
result.append((arch_nix, arch_web, nhash))
return result
def update_source(version: str, package_hashes: list[tuple[str, str, str]]):
content = f'version = "{version}";\n'
for arch_nix, arch_web, nhash in package_hashes:
content += dedent(f'''
{arch_nix} = {{
name = "{arch_web}";
hash = "{nhash}";
}};''').strip() + '\n'
content = '{\n' + indent(content, ' ') + '}\n'
with open(Path(__file__).parent / 'source.nix', 'w') as file:
file.write(content)
if __name__ == '__main__':
version = find_latest_jlink_version()
package_hashes = calculate_package_hashes(version)
update_source(version, package_hashes)

View File

@ -0,0 +1,155 @@
{
atk,
fetchzip,
glib,
gtk2,
jdk,
lib,
libGL,
libGLU,
libXt,
libXtst,
pkg-config,
stdenv,
stripJavaArchivesHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "swt";
version = "4.5";
fullVersion = "${finalAttrs.version}-201506032000";
hardeningDisable = [ "format" ];
passthru.srcMetadataByPlatform = {
x86_64-linux.platform = "gtk-linux-x86_64";
x86_64-linux.sha256 = "17frac2nsx22hfa72264as31rn35hfh9gfgy0n6wvc3knl5d2716";
i686-linux.platform = "gtk-linux-x86";
i686-linux.sha256 = "13ca17rga9yvdshqvh0sfzarmdcl4wv4pid0ls7v35v4844zbc8b";
x86_64-darwin.platform = "cocoa-macosx-x86_64";
x86_64-darwin.sha256 = "0wjyxlw7i9zd2m8syd6k1q85fj8pzhxlfsrl8fpgsj37p698bd0a";
};
passthru.srcMetadata =
finalAttrs.passthru.srcMetadataByPlatform.${stdenv.hostPlatform.system} or null;
# Alas, the Eclipse Project apparently doesn't produce source-only
# releases of SWT. So we just grab a binary release and extract
# "src.zip" from that.
src =
let
inherit (finalAttrs.passthru) srcMetadata;
in
assert srcMetadata != null;
fetchzip {
url = "https://archive.eclipse.org/eclipse/downloads/drops4/R-${finalAttrs.fullVersion}/swt-${finalAttrs.version}-${srcMetadata.platform}.zip";
inherit (srcMetadata) sha256;
stripRoot = false;
postFetch = ''
mkdir "$unpackDir"
cd "$unpackDir"
renamed="$TMPDIR/src.zip"
mv -- "$out/src.zip" "$renamed"
unpackFile "$renamed"
rm -r -- "$out"
mv -- "$unpackDir" "$out"
'';
};
nativeBuildInputs = [
stripJavaArchivesHook
pkg-config
];
buildInputs = [
atk
gtk2
jdk
libGL
libGLU
libXtst
] ++ lib.optionals (lib.hasPrefix "8u" jdk.version) [ libXt ];
patches = [
./awt-libs.patch
./gtk-libs.patch
];
prePatch = ''
# clear whitespace from makefiles (since we match on EOL later)
sed -i 's/ \+$//' ./*.mak
'';
postPatch =
let
makefile-sed = builtins.toFile "swt-makefile.sed" ''
# fix pkg-config invocations in CFLAGS/LIBS pairs.
#
# change:
# FOOCFLAGS = `pkg-config --cflags `foo bar`
# FOOLIBS = `pkg-config --libs-only-L foo` -lbaz
# into:
# FOOCFLAGS = `pkg-config --cflags foo bar`
# FOOLIBS = `pkg-config --libs foo bar`
#
# the latter works more consistently.
/^[A-Z0-9_]\+CFLAGS = `pkg-config --cflags [^`]\+`$/ {
N
s/${''
^\([A-Z0-9_]\+\)CFLAGS = `pkg-config --cflags \(.\+\)`\
\1LIBS = `pkg-config --libs-only-L .\+$''}/${''
\1CFLAGS = `pkg-config --cflags \2`\
\1LIBS = `pkg-config --libs \2`''}/
}
# fix WebKit libs not being there
s/\$(WEBKIT_LIB) \$(WEBKIT_OBJECTS)$/\0 `pkg-config --libs glib-2.0`/g
'';
in
''
declare -a makefiles=(./*.mak)
sed -i -f ${makefile-sed} "''${makefiles[@]}"
# assign Makefile variables eagerly & change backticks to `$(shell …)`
sed -i -e 's/ = `\([^`]\+\)`/ := $(shell \1)/' \
-e 's/`\([^`]\+\)`/$(shell \1)/' \
"''${makefiles[@]}"
'';
buildPhase = ''
runHook preBuild
export JAVA_HOME=${jdk}
./build.sh
mkdir out
find org/ -name '*.java' -type f -exec javac -d out/ {} +
runHook postBuild
'';
installPhase = ''
runHook preInstall
if [[ -n "$prefix" ]]; then
install -d -- "$prefix"
fi
install -Dm 644 -t "$out/lib" -- *.so
install -d -- "$out/jars"
install -m 644 -t out -- version.txt
(cd out && jar -c *) > "$out/jars/swt.jar"
runHook postInstall
'';
meta = {
homepage = "https://www.eclipse.org/swt/";
description = ''
A widget toolkit for Java to access the user-interface facilities of
the operating systems on which it is implemented.
'';
license = lib.licenses.epl10;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@ -113,6 +113,10 @@ rustPlatform.buildRustPackage rec {
] ]
); );
cargoBuildFlags = [
"--package=zed"
"--package=cli"
];
buildFeatures = [ "gpui/runtime_shaders" ]; buildFeatures = [ "gpui/runtime_shaders" ];
env = { env = {
@ -129,8 +133,8 @@ rustPlatform.buildRustPackage rec {
gpu-lib = if withGLES then libglvnd else vulkan-loader; gpu-lib = if withGLES then libglvnd else vulkan-loader;
postFixup = lib.optionalString stdenv.isLinux '' postFixup = lib.optionalString stdenv.isLinux ''
patchelf --add-rpath ${gpu-lib}/lib $out/bin/* patchelf --add-rpath ${gpu-lib}/lib $out/libexec/*
patchelf --add-rpath ${wayland}/lib $out/bin/* patchelf --add-rpath ${wayland}/lib $out/libexec/*
''; '';
checkFlags = lib.optionals stdenv.hostPlatform.isLinux [ checkFlags = lib.optionals stdenv.hostPlatform.isLinux [
@ -138,7 +142,13 @@ rustPlatform.buildRustPackage rec {
"--skip=test_open_paths_action" "--skip=test_open_paths_action"
]; ];
postInstall = '' installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/libexec
cp target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/zed $out/libexec/zed-editor
cp target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cli $out/bin/zed
install -D ${src}/crates/zed/resources/app-icon@2x.png $out/share/icons/hicolor/1024x1024@2x/apps/zed.png install -D ${src}/crates/zed/resources/app-icon@2x.png $out/share/icons/hicolor/1024x1024@2x/apps/zed.png
install -D ${src}/crates/zed/resources/app-icon.png $out/share/icons/hicolor/512x512/apps/zed.png install -D ${src}/crates/zed/resources/app-icon.png $out/share/icons/hicolor/512x512/apps/zed.png
@ -151,6 +161,8 @@ rustPlatform.buildRustPackage rec {
mkdir -p "$out/share/applications" mkdir -p "$out/share/applications"
${lib.getExe envsubst} < "crates/zed/resources/zed.desktop.in" > "$out/share/applications/zed.desktop" ${lib.getExe envsubst} < "crates/zed/resources/zed.desktop.in" > "$out/share/applications/zed.desktop"
) )
runHook postInstall
''; '';
passthru.updateScript = nix-update-script { passthru.updateScript = nix-update-script {

View File

@ -2,7 +2,7 @@
let let
themeName = "Dracula"; themeName = "Dracula";
version = "4.0.0-unstable-2024-06-19"; version = "4.0.0-unstable-2024-06-27";
in in
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation {
pname = "dracula-theme"; pname = "dracula-theme";
@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dracula"; owner = "dracula";
repo = "gtk"; repo = "gtk";
rev = "91b9c8572d7cfa06b24eee72d415cc8931c04934"; rev = "bc1414a938652d04b9305b1300f5ceefcf3a3d72";
hash = "sha256-WQsPn5s8xZ/wdVJUJb1aCTAjOskj/qthZ48HHDVIcNk="; hash = "sha256-QaMrcUuvHRisa58XaiNos6jpclp0jotFQJ3b375gKMU=";
}; };
propagatedUserEnvPkgs = [ propagatedUserEnvPkgs = [

View File

@ -1,34 +1,18 @@
{ lib, stdenv, cmake, python3, fetchFromGitHub, fetchpatch, emscripten, { lib, stdenv, cmake, python3, fetchFromGitHub, emscripten,
gtest, lit, nodejs, filecheck gtest, lit, nodejs, filecheck
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "binaryen"; pname = "binaryen";
version = "116"; version = "117";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "WebAssembly"; owner = "WebAssembly";
repo = "binaryen"; repo = "binaryen";
rev = "version_${version}"; rev = "version_${version}";
hash = "sha256-gMwbWiP+YDCVafQMBWhTuJGWmkYtnhEdn/oofKaUT08="; hash = "sha256-QYJkrvwcUWbFV5oQdP11JuVmfOTYaFWGQGksboQ1d58=";
}; };
# FIXME: remove for next release
patches = [
(fetchpatch {
name = "nodejs-20.patch";
url = "https://github.com/WebAssembly/binaryen/commit/889422e0c92552ff484659f9b41e777ba7ab35c1.patch";
hash = "sha256-acM8mytL9nhm4np9tpUbd1X0wJ7y308HV2fvgcAW1lY=";
})
# Fix fmin tests on gcc-13: https://github.com/WebAssembly/binaryen/pull/5994
(fetchpatch {
name = "gcc-13.patch";
url = "https://github.com/WebAssembly/binaryen/commit/1e17dfb695a19d5d41f1f88411fbcbc5f2408c8f.patch";
hash = "sha256-5JZh15CXkg5XdTG8eRJXPwO+zmymYeFjKbHutRPTmlU=";
})
];
nativeBuildInputs = [ cmake python3 ]; nativeBuildInputs = [ cmake python3 ];
preConfigure = '' preConfigure = ''

View File

@ -8,7 +8,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "emscripten"; pname = "emscripten";
version = "3.1.51"; version = "3.1.55";
llvmEnv = symlinkJoin { llvmEnv = symlinkJoin {
name = "emscripten-llvm-${version}"; name = "emscripten-llvm-${version}";
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
name = "emscripten-node-modules-${version}"; name = "emscripten-node-modules-${version}";
inherit pname version src; inherit pname version src;
npmDepsHash = "sha256-N7WbxzKvW6FljY6g3R//9RdNiezhXGEvKPbOSJgdA0g="; npmDepsHash = "sha256-7tZEZ7NN1jJBHa9G5sRz/ZpWJvgnTJj4i5EvQMsGQH4=";
dontBuild = true; dontBuild = true;
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "emscripten-core"; owner = "emscripten-core";
repo = "emscripten"; repo = "emscripten";
hash = "sha256-oXecS6B0u8YLeoybjxLwx5INGj/Kp/8GA6s3A1S0y4k="; hash = "sha256-3SqbkXI8xn4Zj3bDLCegxslYH5m/PkF6n/pPfm5z5VA=";
rev = version; rev = version;
}; };
@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
patches = [ patches = [
(substituteAll { (substituteAll {
src = ./0001-emulate-clang-sysroot-include-logic.patch; src = ./0001-emulate-clang-sysroot-include-logic.patch;
resourceDir = "${llvmEnv}/lib/clang/17/"; resourceDir = "${llvmEnv}/lib/clang/18/";
}) })
]; ];
@ -51,8 +51,8 @@ stdenv.mkDerivation rec {
patchShebangs . patchShebangs .
# emscripten 3.1.50 requires LLVM tip-of-tree instead of LLVM 17 # emscripten 3.1.55 requires LLVM tip-of-tree instead of LLVM 18
sed -i -e "s/EXPECTED_LLVM_VERSION = 18/EXPECTED_LLVM_VERSION = 17.0/g" tools/shared.py sed -i -e "s/EXPECTED_LLVM_VERSION = 19/EXPECTED_LLVM_VERSION = 18/g" tools/shared.py
# fixes cmake support # fixes cmake support
sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" emcc.py sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" emcc.py

View File

@ -237,7 +237,7 @@ in let
bintools = bintools'; bintools = bintools';
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ ] ++ lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [
targetLlvmLibraries.libunwind targetLlvmLibraries.libunwind
]; ];
extraBuildCommands = mkExtraBuildCommands cc; extraBuildCommands = mkExtraBuildCommands cc;
@ -246,12 +246,12 @@ in let
"-Wno-unused-command-line-argument" "-Wno-unused-command-line-argument"
"-B${targetLlvmLibraries.compiler-rt}/lib" "-B${targetLlvmLibraries.compiler-rt}/lib"
] ]
++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) "--unwindlib=libunwind"
++ lib.optional ++ lib.optional
(!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
"-lunwind" "-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [ "-L${targetLlvmLibraries.libunwind}/lib" ];
}; };
clangNoLibcxx = wrapCCWith rec { clangNoLibcxx = wrapCCWith rec {

View File

@ -279,7 +279,7 @@ in let
bintools = bintools'; bintools = bintools';
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ ] ++ lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [
targetLlvmLibraries.libunwind targetLlvmLibraries.libunwind
]; ];
extraBuildCommands = mkExtraBuildCommands cc; extraBuildCommands = mkExtraBuildCommands cc;
@ -288,12 +288,12 @@ in let
"-Wno-unused-command-line-argument" "-Wno-unused-command-line-argument"
"-B${targetLlvmLibraries.compiler-rt}/lib" "-B${targetLlvmLibraries.compiler-rt}/lib"
] ]
++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) "--unwindlib=libunwind"
++ lib.optional ++ lib.optional
(!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
"-lunwind" "-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [ "-L${targetLlvmLibraries.libunwind}/lib" ];
}; };
clangNoLibcxx = wrapCCWith rec { clangNoLibcxx = wrapCCWith rec {

View File

@ -280,7 +280,7 @@ in let
bintools = bintools'; bintools = bintools';
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ ] ++ lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [
targetLlvmLibraries.libunwind targetLlvmLibraries.libunwind
]; ];
extraBuildCommands = mkExtraBuildCommands cc; extraBuildCommands = mkExtraBuildCommands cc;
@ -289,12 +289,12 @@ in let
"-Wno-unused-command-line-argument" "-Wno-unused-command-line-argument"
"-B${targetLlvmLibraries.compiler-rt}/lib" "-B${targetLlvmLibraries.compiler-rt}/lib"
] ]
++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) "--unwindlib=libunwind"
++ lib.optional ++ lib.optional
(!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
"-lunwind" "-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [ "-L${targetLlvmLibraries.libunwind}/lib" ];
}; };
clangNoLibcxx = wrapCCWith rec { clangNoLibcxx = wrapCCWith rec {

View File

@ -272,7 +272,7 @@ in let
bintools = bintools'; bintools = bintools';
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ ] ++ lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [
targetLlvmLibraries.libunwind targetLlvmLibraries.libunwind
]; ];
extraBuildCommands = mkExtraBuildCommands cc; extraBuildCommands = mkExtraBuildCommands cc;
@ -281,12 +281,12 @@ in let
"-Wno-unused-command-line-argument" "-Wno-unused-command-line-argument"
"-B${targetLlvmLibraries.compiler-rt}/lib" "-B${targetLlvmLibraries.compiler-rt}/lib"
] ]
++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) "--unwindlib=libunwind"
++ lib.optional ++ lib.optional
(!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
"-lunwind" "-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [ "-L${targetLlvmLibraries.libunwind}/lib" ];
}; };
clangNoLibcxx = wrapCCWith rec { clangNoLibcxx = wrapCCWith rec {

View File

@ -263,7 +263,7 @@ in let
bintools = bintools'; bintools = bintools';
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ ] ++ lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [
targetLlvmLibraries.libunwind targetLlvmLibraries.libunwind
]; ];
extraBuildCommands = mkExtraBuildCommands cc; extraBuildCommands = mkExtraBuildCommands cc;
@ -272,12 +272,12 @@ in let
"-Wno-unused-command-line-argument" "-Wno-unused-command-line-argument"
"-B${targetLlvmLibraries.compiler-rt}/lib" "-B${targetLlvmLibraries.compiler-rt}/lib"
] ]
++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) "--unwindlib=libunwind"
++ lib.optional ++ lib.optional
(!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
"-lunwind" "-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [ "-L${targetLlvmLibraries.libunwind}/lib" ];
}; };
clangNoLibcxx = wrapCCWith rec { clangNoLibcxx = wrapCCWith rec {

View File

@ -79,9 +79,13 @@ let
"-DLIBCXX_HAS_MUSL_LIBC=1" "-DLIBCXX_HAS_MUSL_LIBC=1"
] ++ lib.optionals (lib.versionAtLeast release_version "18" && !useLLVM && stdenv.hostPlatform.libc == "glibc" && !stdenv.hostPlatform.isStatic) [ ] ++ lib.optionals (lib.versionAtLeast release_version "18" && !useLLVM && stdenv.hostPlatform.libc == "glibc" && !stdenv.hostPlatform.isStatic) [
"-DLIBCXX_ADDITIONAL_LIBRARIES=gcc_s" "-DLIBCXX_ADDITIONAL_LIBRARIES=gcc_s"
] ++ lib.optionals (lib.versionAtLeast release_version "18" && stdenv.hostPlatform.isFreeBSD) [
# Name and documentation claim this is for libc++abi, but its man effect is adding `-lunwind`
# to the libc++.so linker script. We want FreeBSD's so-called libgcc instead of libunwind.
"-DLIBCXXABI_USE_LLVM_UNWINDER=OFF"
] ++ lib.optionals useLLVM [ ] ++ lib.optionals useLLVM [
"-DLIBCXX_USE_COMPILER_RT=ON" "-DLIBCXX_USE_COMPILER_RT=ON"
] ++ lib.optionals (useLLVM && lib.versionAtLeast release_version "16") [ ] ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isFreeBSD && lib.versionAtLeast release_version "16") [
"-DLIBCXX_ADDITIONAL_LIBRARIES=unwind" "-DLIBCXX_ADDITIONAL_LIBRARIES=unwind"
] ++ lib.optionals stdenv.hostPlatform.isWasm [ ] ++ lib.optionals stdenv.hostPlatform.isWasm [
"-DLIBCXX_ENABLE_THREADS=OFF" "-DLIBCXX_ENABLE_THREADS=OFF"
@ -120,7 +124,7 @@ stdenv.mkDerivation (rec {
++ lib.optional (cxxabi != null) lndir; ++ lib.optional (cxxabi != null) lndir;
buildInputs = [ cxxabi ] buildInputs = [ cxxabi ]
++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm) [ libunwind ]; ++ lib.optionals (useLLVM && !stdenv.hostPlatform.isWasm && !stdenv.hostPlatform.isFreeBSD) [ libunwind ];
# libc++.so is a linker script which expands to multiple libraries, # libc++.so is a linker script which expands to multiple libraries,
# libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't # libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't

View File

@ -268,7 +268,7 @@ in let
bintools = bintools'; bintools = bintools';
extraPackages = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ ] ++ lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [
targetLlvmLibraries.libunwind targetLlvmLibraries.libunwind
]; ];
extraBuildCommands = mkExtraBuildCommands cc; extraBuildCommands = mkExtraBuildCommands cc;
@ -277,12 +277,12 @@ in let
"-Wno-unused-command-line-argument" "-Wno-unused-command-line-argument"
"-B${targetLlvmLibraries.compiler-rt}/lib" "-B${targetLlvmLibraries.compiler-rt}/lib"
] ]
++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) "--unwindlib=libunwind"
++ lib.optional ++ lib.optional
(!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD && stdenv.targetPlatform.useLLVM or false)
"-lunwind" "-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; nixSupport.cc-ldflags = lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [ "-L${targetLlvmLibraries.libunwind}/lib" ];
}; };
clangNoLibcxx = wrapCCWith rec { clangNoLibcxx = wrapCCWith rec {

View File

@ -1,154 +0,0 @@
{ lib
, stdenv
, stripJavaArchivesHook
, fetchzip
, pkg-config
, atk
, glib
, gtk2
, jdk
, libGL
, libGLU
, libXt
, libXtst
}:
let
platformMap = {
x86_64-linux =
{ platform = "gtk-linux-x86_64";
sha256 = "17frac2nsx22hfa72264as31rn35hfh9gfgy0n6wvc3knl5d2716"; };
i686-linux =
{ platform = "gtk-linux-x86";
sha256 = "13ca17rga9yvdshqvh0sfzarmdcl4wv4pid0ls7v35v4844zbc8b"; };
x86_64-darwin =
{ platform = "cocoa-macosx-x86_64";
sha256 = "0wjyxlw7i9zd2m8syd6k1q85fj8pzhxlfsrl8fpgsj37p698bd0a"; };
};
metadata = assert platformMap ? ${stdenv.hostPlatform.system};
platformMap.${stdenv.hostPlatform.system};
in stdenv.mkDerivation rec {
pname = "swt";
version = "4.5";
fullVersion = "${version}-201506032000";
hardeningDisable = [ "format" ];
# Alas, the Eclipse Project apparently doesn't produce source-only
# releases of SWT. So we just grab a binary release and extract
# "src.zip" from that.
src = fetchzip {
url = "https://archive.eclipse.org/eclipse/downloads/drops4/" +
"R-${fullVersion}/${pname}-${version}-${metadata.platform}.zip";
inherit (metadata) sha256;
stripRoot = false;
postFetch = ''
mkdir "$unpackDir"
cd "$unpackDir"
renamed="$TMPDIR/src.zip"
mv "$out/src.zip" "$renamed"
unpackFile "$renamed"
rm -r "$out"
mv "$unpackDir" "$out"
'';
};
nativeBuildInputs = [
stripJavaArchivesHook
pkg-config
];
buildInputs = [
atk
gtk2
jdk
libGL
libGLU
libXtst
] ++ lib.optionals (lib.hasPrefix "8u" jdk.version) [
libXt
];
patches = [ ./awt-libs.patch ./gtk-libs.patch ];
prePatch = ''
# clear whitespace from makefiles (since we match on EOL later)
sed -i 's/ \+$//' ./*.mak
'';
postPatch = let makefile-sed = builtins.toFile "swt-makefile.sed" (''
# fix pkg-config invocations in CFLAGS/LIBS pairs.
#
# change:
# FOOCFLAGS = `pkg-config --cflags `foo bar`
# FOOLIBS = `pkg-config --libs-only-L foo` -lbaz
# into:
# FOOCFLAGS = `pkg-config --cflags foo bar`
# FOOLIBS = `pkg-config --libs foo bar`
#
# the latter works more consistently.
/^[A-Z0-9_]\+CFLAGS = `pkg-config --cflags [^`]\+`$/ {
N
s'' +
"/" + ''
^\([A-Z0-9_]\+\)CFLAGS = `pkg-config --cflags \(.\+\)`\
\1LIBS = `pkg-config --libs-only-L .\+$'' +
"/" + ''
\1CFLAGS = `pkg-config --cflags \2`\
\1LIBS = `pkg-config --libs \2`'' +
"/\n" + ''
}
# fix WebKit libs not being there
s/\$(WEBKIT_LIB) \$(WEBKIT_OBJECTS)$/\0 `pkg-config --libs glib-2.0`/g
''); in ''
declare -a makefiles=(./*.mak)
sed -i -f ${makefile-sed} "''${makefiles[@]}"
# assign Makefile variables eagerly & change backticks to `$(shell …)`
sed -i -e 's/ = `\([^`]\+\)`/ := $(shell \1)/' \
-e 's/`\([^`]\+\)`/$(shell \1)/' \
"''${makefiles[@]}"
'';
buildPhase = ''
runHook preBuild
export JAVA_HOME=${jdk}
./build.sh
mkdir out
find org/ -name '*.java' -type f -exec javac -d out/ {} +
runHook postBuild
'';
installPhase = ''
runHook preInstall
if [ -n "$prefix" ]; then
mkdir -p "$prefix"
fi
mkdir -p "$out/lib"
cp -t "$out/lib" ./*.so
mkdir -p "$out/jars"
cp -t out/ version.txt
(cd out && jar -c *) > "$out/jars/swt.jar"
runHook postInstall
'';
meta = with lib; {
homepage = "https://www.eclipse.org/swt/";
description = ''
A widget toolkit for Java to access the user-interface facilities of
the operating systems on which it is implemented.
'';
license = licenses.epl10;
maintainers = with maintainers; [ bb010g ];
platforms = platforms.linux;
};
}

View File

@ -36,6 +36,8 @@
, enableSDL2 ? true , enableSDL2 ? true
, SDL2 , SDL2
, gitUpdater , gitUpdater
, enableGlaxnimate ? true
, libarchive
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -46,7 +48,11 @@ stdenv.mkDerivation rec {
owner = "mltframework"; owner = "mltframework";
repo = "mlt"; repo = "mlt";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-nQ9uRip6i9+/MziU4gQq1ah712J6f94cFQWTDYRjzyE="; hash = "sha256-rs02V6+9jMF0S78rCCXcDn3gzghqnOtWEHMo/491JxA=";
# The submodule contains glaxnimate code, since MLT uses internally some functions defined in glaxnimate.
# Since glaxnimate is not available as a library upstream, we cannot remove for now this dependency on
# submodules until upstream exports glaxnimate as a library: https://gitlab.com/mattbas/glaxnimate/-/issues/545
fetchSubmodules = true;
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -94,6 +100,8 @@ stdenv.mkDerivation rec {
SDL SDL
] ++ lib.optionals enableSDL2 [ ] ++ lib.optionals enableSDL2 [
SDL2 SDL2
] ++ lib.optionals enableGlaxnimate [
libarchive
]; ];
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -106,6 +114,8 @@ stdenv.mkDerivation rec {
"-DSWIG_PYTHON=ON" "-DSWIG_PYTHON=ON"
] ++ lib.optionals (qt != null) [ ] ++ lib.optionals (qt != null) [
"-DMOD_QT${lib.versions.major qt.qtbase.version}=ON" "-DMOD_QT${lib.versions.major qt.qtbase.version}=ON"
] ++ lib.optionals (qt != null && enableGlaxnimate) [
"-DMOD_GLAXNIMATE${if lib.versions.major qt.qtbase.version == "5" then "" else "_QT6"}=ON"
]; ];
preFixup = '' preFixup = ''

View File

@ -6,16 +6,16 @@
php.buildComposerProject (finalAttrs: { php.buildComposerProject (finalAttrs: {
pname = "phpstan"; pname = "phpstan";
version = "1.11.5"; version = "1.11.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "phpstan"; owner = "phpstan";
repo = "phpstan-src"; repo = "phpstan-src";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-J1y8+sY/amAhWQTL4odL+fe3t10KDNBIMV9Q92VzQcE="; hash = "sha256-WQnzw/Tjc6viReO45nkMCL1a2eooWZSB77pY3lm+6wA=";
}; };
vendorHash = "sha256-BRm1ih+NHQIet7OuuSqXheVV/ZMS2h2wkRjdJ+nam48="; vendorHash = "sha256-KkPeFTn2j9M0CcFpj9goecJEPBYcOoU1vkbvyaj2M94=";
composerStrictValidation = false; composerStrictValidation = false;
meta = { meta = {

View File

@ -34,6 +34,10 @@ buildPythonPackage rec {
poetry-core poetry-core
]; ];
makeWrapperArgs = [
"--prefix" "PYTHONPATH" ":" "$PYTHONPATH"
];
pythonRelaxDeps = [ pythonRelaxDeps = [
"cookiecutter" "cookiecutter"
"packaging" "packaging"

View File

@ -8,6 +8,7 @@
fetchFromGitHub, fetchFromGitHub,
jaxlib, jaxlib,
jaxlib-bin, jaxlib-bin,
jaxlib-build,
hypothesis, hypothesis,
lapack, lapack,
matplotlib, matplotlib,
@ -23,10 +24,6 @@
let let
usingMKL = blas.implementation == "mkl" || lapack.implementation == "mkl"; usingMKL = blas.implementation == "mkl" || lapack.implementation == "mkl";
# jaxlib is broken on aarch64-* as of 2023-03-05, but the binary wheels work
# fine. jaxlib is only used in the checkPhase, so switching backends does not
# impact package behavior. Get rid of this once jaxlib is fixed on aarch64-*.
jaxlib' = if jaxlib.meta.broken then jaxlib-bin else jaxlib;
in in
buildPythonPackage rec { buildPythonPackage rec {
pname = "jax"; pname = "jax";
@ -61,7 +58,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ nativeCheckInputs = [
hypothesis hypothesis
jaxlib' jaxlib
matplotlib matplotlib
pytestCheckHook pytestCheckHook
pytest-xdist pytest-xdist
@ -130,7 +127,11 @@ buildPythonPackage rec {
"testQdwhWithOnRankDeficientInput5" "testQdwhWithOnRankDeficientInput5"
]; ];
disabledTestPaths = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ disabledTestPaths = [
# Segmentation fault. See https://gist.github.com/zimbatm/e9b61891f3bcf5e4aaefd13f94344fba
"tests/linalg_test.py"
]
++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
# RuntimeWarning: invalid value encountered in cast # RuntimeWarning: invalid value encountered in cast
"tests/lax_test.py" "tests/lax_test.py"
]; ];
@ -147,7 +148,7 @@ buildPythonPackage rec {
# NIXPKGS_ALLOW_UNFREE=1 nixglhost -- nix run --impure .#python3Packages.jax.passthru.tests.test_cuda_jaxlibBin # NIXPKGS_ALLOW_UNFREE=1 nixglhost -- nix run --impure .#python3Packages.jax.passthru.tests.test_cuda_jaxlibBin
passthru.tests = { passthru.tests = {
test_cuda_jaxlibSource = callPackage ./test-cuda.nix { test_cuda_jaxlibSource = callPackage ./test-cuda.nix {
jaxlib = jaxlib.override { cudaSupport = true; }; jaxlib = jaxlib-build.override { cudaSupport = true; };
}; };
test_cuda_jaxlibBin = callPackage ./test-cuda.nix { test_cuda_jaxlibBin = callPackage ./test-cuda.nix {
jaxlib = jaxlib-bin.override { cudaSupport = true; }; jaxlib = jaxlib-bin.override { cudaSupport = true; };
@ -158,7 +159,11 @@ buildPythonPackage rec {
passthru.skipBulkUpdate = true; passthru.skipBulkUpdate = true;
meta = with lib; { meta = with lib; {
description = "Differentiate, compile, and transform Numpy code"; description = "Source-built JAX frontend: differentiate, compile, and transform Numpy code";
longDescription = ''
This is the JAX frontend package, it's meant to be used together with one of the jaxlib implementations,
e.g. `python3Packages.jaxlib`, `python3Packages.jaxlib-bin`, or `python3Packages.jaxlibWithCuda`.
'';
homepage = "https://github.com/google/jax"; homepage = "https://github.com/google/jax";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ samuela ]; maintainers = with maintainers; [ samuela ];

View File

@ -225,7 +225,7 @@ buildPythonPackage {
inherit (jaxlib-build) pythonImportsCheck; inherit (jaxlib-build) pythonImportsCheck;
meta = with lib; { meta = with lib; {
description = "XLA library for JAX"; description = "Prebuilt jaxlib backend from PyPi";
homepage = "https://github.com/google/jax"; homepage = "https://github.com/google/jax";
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.asl20; license = licenses.asl20;

View File

@ -67,16 +67,17 @@ let
effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv; effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv;
meta = with lib; { meta = with lib; {
description = "JAX is Autograd and XLA, brought together for high-performance machine learning research"; description = "Source-built JAX backend. JAX is Autograd and XLA, brought together for high-performance machine learning research";
homepage = "https://github.com/google/jax"; homepage = "https://github.com/google/jax";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ ndl ]; maintainers = with maintainers; [ ndl ];
platforms = platforms.unix;
# Make this platforms.unix once Darwin is supported.
# The top-level jaxlib now falls back to jaxlib-bin on unsupported platforms.
# aarch64-darwin is broken because of https://github.com/bazelbuild/rules_cc/pull/136 # aarch64-darwin is broken because of https://github.com/bazelbuild/rules_cc/pull/136
# however even with that fix applied, it doesn't work for everyone: # however even with that fix applied, it doesn't work for everyone:
# https://github.com/NixOS/nixpkgs/pull/184395#issuecomment-1207287129 # https://github.com/NixOS/nixpkgs/pull/184395#issuecomment-1207287129
# NOTE: We always build with NCCL; if it is unsupported, then our build is broken. platforms = platforms.linux;
broken = effectiveStdenv.isDarwin || nccl.meta.unsupported;
}; };
# Bazel wants a merged cudnn at configuration time # Bazel wants a merged cudnn at configuration time

View File

@ -35,7 +35,10 @@ stdenv.mkDerivation rec {
''; '';
passthru = { passthru = {
updateScript = nix-update-script { }; updateScript = nix-update-script {
# Skip non-release tags like `python-experimental`.
extraArgs = [ "--version-regex" "([0-9.]+)" ];
};
tests = { tests = {
inherit ninja php spamassassin; inherit ninja php spamassassin;
}; };

View File

@ -218,7 +218,7 @@ let
homepage = "https://nodejs.org"; homepage = "https://nodejs.org";
changelog = "https://github.com/nodejs/node/releases/tag/v${version}"; changelog = "https://github.com/nodejs/node/releases/tag/v${version}";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ goibhniu cko aduh95 ]; maintainers = with maintainers; [ goibhniu aduh95 ];
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
mainProgram = "node"; mainProgram = "node";
knownVulnerabilities = optional (versionOlder version "18") "This NodeJS release has reached its end of life. See https://nodejs.org/en/about/releases/."; knownVulnerabilities = optional (versionOlder version "18") "This NodeJS release has reached its end of life. See https://nodejs.org/en/about/releases/.";

View File

@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
description = "Free, open-source game of ancient warfare"; description = "Free, open-source game of ancient warfare";
homepage = "https://play0ad.com/"; homepage = "https://play0ad.com/";
license = with licenses; [ license = with licenses; [
gpl2 lgpl21 mit cc-by-sa-30 gpl2Plus lgpl21 mit cc-by-sa-30
licenses.zlib # otherwise masked by pkgs.zlib licenses.zlib # otherwise masked by pkgs.zlib
]; ];
maintainers = with maintainers; [ chvp ]; maintainers = with maintainers; [ chvp ];

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
description = "2d dogfighting game"; description = "2d dogfighting game";
mainProgram = "airstrike"; mainProgram = "airstrike";
homepage = "https://icculus.org/airstrike/"; homepage = "https://icculus.org/airstrike/";
license = licenses.gpl2; license = licenses.gpl2Only;
maintainers = with maintainers; [ pSub ]; maintainers = with maintainers; [ pSub ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Fast-paced, polished OpenGL demonstration by Excess"; description = "Fast-paced, polished OpenGL demonstration by Excess";
homepage = "https://packages.qa.debian.org/a/amoeba.html"; homepage = "https://packages.qa.debian.org/a/amoeba.html";
license = licenses.gpl2; # Engine is GPLv2, data files in amoeba-data nonfree license = licenses.gpl2Only; # Engine is GPLv2, data files in amoeba-data nonfree
maintainers = [ maintainers.dezgeg ]; maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Single-player roguelike dungeon exploration game"; description = "Single-player roguelike dungeon exploration game";
mainProgram = "angband"; mainProgram = "angband";
maintainers = [ maintainers.kenran ]; maintainers = [ maintainers.kenran ];
license = licenses.gpl2; license = licenses.gpl2Only;
platforms = platforms.unix; platforms = platforms.unix;
}; };
}) })

View File

@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
homepage = "http://atanks.sourceforge.net/"; homepage = "http://atanks.sourceforge.net/";
maintainers = [ maintainers.raskin ]; maintainers = [ maintainers.raskin ];
platforms = platforms.linux; platforms = platforms.linux;
license = licenses.gpl2; license = licenses.gpl2Plus;
}; };
} }

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/bderrly/braincurses"; homepage = "https://github.com/bderrly/braincurses";
description = "Version of the classic game Mastermind"; description = "Version of the classic game Mastermind";
mainProgram = "braincurses"; mainProgram = "braincurses";
license = licenses.gpl2; license = licenses.gpl2Only;
maintainers = with maintainers; [ dotlambda ]; maintainers = with maintainers; [ dotlambda ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "https://github.com/gerstrong/Commander-Genius"; homepage = "https://github.com/gerstrong/Commander-Genius";
maintainers = with maintainers; [ hce ]; maintainers = with maintainers; [ hce ];
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
description = "Fast-paced puzzle game inspired by the classic Super NES title Tetris Attack!"; description = "Fast-paced puzzle game inspired by the classic Super NES title Tetris Attack!";
mainProgram = "crack-attack"; mainProgram = "crack-attack";
homepage = "https://www.nongnu.org/crack-attack/"; homepage = "https://www.nongnu.org/crack-attack/";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
maintainers = [ ]; maintainers = [ ];
}; };

View File

@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
mainProgram = "crrcsim"; mainProgram = "crrcsim";
maintainers = with lib.maintainers; [ raskin ]; maintainers = with lib.maintainers; [ raskin ];
platforms = [ "i686-linux" "x86_64-linux" ]; platforms = [ "i686-linux" "x86_64-linux" ];
license = lib.licenses.gpl2; license = lib.licenses.gpl2Only;
}; };
} }

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation {
homepage = "http://doomseeker.drdteam.org/"; homepage = "http://doomseeker.drdteam.org/";
description = "Multiplayer server browser for many Doom source ports"; description = "Multiplayer server browser for many Doom source ports";
mainProgram = "doomseeker"; mainProgram = "doomseeker";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ ]; maintainers = [ ];
}; };

View File

@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga"; description = "Puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga";
mainProgram = "enigma"; mainProgram = "enigma";
license = with licenses; [ gpl2 free ]; # source + bundles libs + art license = with licenses; [ gpl2Plus free ]; # source + bundles libs + art
platforms = platforms.unix; platforms = platforms.unix;
broken = stdenv.hostPlatform.isDarwin; broken = stdenv.hostPlatform.isDarwin;
maintainers = with maintainers; [ iblech ]; maintainers = with maintainers; [ iblech ];

View File

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
homepage = "https://ezquake.com/"; homepage = "https://ezquake.com/";
description = "Modern QuakeWorld client focused on competitive online play"; description = "Modern QuakeWorld client focused on competitive online play";
mainProgram = "ezquake"; mainProgram = "ezquake";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ edwtjo ]; maintainers = with maintainers; [ edwtjo ];
}; };

View File

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ raskin ]; maintainers = with maintainers; [ raskin ];
platforms = platforms.linux; platforms = platforms.linux;
hydraPlatforms = []; # disabled from hydra because it's so big hydraPlatforms = []; # disabled from hydra because it's so big
license = licenses.gpl2; license = licenses.gpl2Plus;
mainProgram = "fgfs"; mainProgram = "fgfs";
}; };
} }

View File

@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
to the space age... to the space age...
''; '';
homepage = "http://www.freeciv.org"; # http only homepage = "http://www.freeciv.org"; # http only
license = lib.licenses.gpl2; license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ pierron ]; maintainers = with lib.maintainers; [ pierron ];
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
hydraPlatforms = lib.platforms.linux; # sdl-config times out on darwin hydraPlatforms = lib.platforms.linux; # sdl-config times out on darwin

View File

@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Free, open source, turn-based space empire and galactic conquest (4X) computer game"; description = "Free, open source, turn-based space empire and galactic conquest (4X) computer game";
homepage = "https://www.freeorion.org/"; homepage = "https://www.freeorion.org/";
license = with licenses; [ gpl2 cc-by-sa-30 ]; license = with licenses; [ gpl2Only cc-by-sa-30 ];
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ tex ]; maintainers = with maintainers; [ tex ];
}; };

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
description = "Console minesweeper-style game written in C for Unix-like systems"; description = "Console minesweeper-style game written in C for Unix-like systems";
mainProgram = "freesweep"; mainProgram = "freesweep";
homepage = "https://github.com/rwestlund/freesweep"; homepage = "https://github.com/rwestlund/freesweep";
license = licenses.gpl2; license = licenses.gpl2Only;
maintainers = with maintainers; [ kierdavis ]; maintainers = with maintainers; [ kierdavis ];
platforms = platforms.unix; platforms = platforms.unix;
}; };

View File

@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
mainProgram = "frotz"; mainProgram = "frotz";
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ nicknovitski ddelabru ]; maintainers = with maintainers; [ nicknovitski ddelabru ];
license = licenses.gpl2; license = licenses.gpl2Plus;
}; };
} }

View File

@ -31,7 +31,7 @@ perlPackages.buildPerlModule {
meta = { meta = {
description = "Puzzle with Bubbles"; description = "Puzzle with Bubbles";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ puckipedia ]; maintainers = with lib.maintainers; [ puckipedia ];
}; };
} }

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
mainProgram = "gl-117"; mainProgram = "gl-117";
homepage = "https://sourceforge.net/projects/gl-117"; homepage = "https://sourceforge.net/projects/gl-117";
maintainers = with maintainers; [ raskin ]; maintainers = with maintainers; [ raskin ];
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
description = "Bejeweled clone game"; description = "Bejeweled clone game";
mainProgram = "gweled"; mainProgram = "gweled";
homepage = "https://gweled.org"; homepage = "https://gweled.org";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ ]; maintainers = [ ];
}; };

View File

@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Turn-based strategy artillery game similar to Worms"; description = "Turn-based strategy artillery game similar to Worms";
homepage = "https://hedgewars.org/"; homepage = "https://hedgewars.org/";
license = licenses.gpl2; license = licenses.gpl2Plus;
longDescription = '' longDescription = ''
Each player controls a team of several hedgehogs. During the course of Each player controls a team of several hedgehogs. During the course of
the game, players take turns with one of their hedgehogs. They then use the game, players take turns with one of their hedgehogs. They then use

View File

@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
description = "A roguelike game set in hyperbolic geometry"; description = "A roguelike game set in hyperbolic geometry";
mainProgram = "hyperrogue"; mainProgram = "hyperrogue";
maintainers = with maintainers; [ rardiol ]; maintainers = with maintainers; [ rardiol ];
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Simple text adventure interpreter for Unix and Windows"; description = "Simple text adventure interpreter for Unix and Windows";
homepage = "https://instead.syscall.ru/"; homepage = "https://instead.syscall.ru/";
license = lib.licenses.gpl2; license = lib.licenses.mit;
platforms = with lib.platforms; linux; platforms = with lib.platforms; linux;
maintainers = with maintainers; [ pSub ]; maintainers = with maintainers; [ pSub ];
}; };

View File

@ -84,7 +84,7 @@ stdenv.mkDerivation {
description = "Dungeon management rogue-like"; description = "Dungeon management rogue-like";
mainProgram = "keeper"; mainProgram = "keeper";
homepage = "https://keeperrl.com/"; homepage = "https://keeperrl.com/";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ onny ]; maintainers = with maintainers; [ onny ];
# TODO: Add OS X # TODO: Add OS X
platforms = [ "i686-linux" "x86_64-linux" ]; platforms = [ "i686-linux" "x86_64-linux" ];

View File

@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
For the full experience, consider installing "koboredux" instead. For the full experience, consider installing "koboredux" instead.
''; '';
homepage = "https://olofson.itch.io/kobo-redux"; homepage = "https://olofson.itch.io/kobo-redux";
license = with licenses; if useProprietaryAssets then unfree else gpl2; license = with licenses; if useProprietaryAssets then unfree else gpl2Plus;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ fgaz ]; maintainers = with maintainers; [ fgaz ];
}; };

View File

@ -24,7 +24,7 @@ stdenv.mkDerivation {
homepage = "https://github.com/Kamal-Sadek/Liberal-Crime-Squad"; homepage = "https://github.com/Kamal-Sadek/Liberal-Crime-Squad";
maintainers = [ maintainers.rardiol ]; maintainers = [ maintainers.rardiol ];
mainProgram = "crimesquad"; mainProgram = "crimesquad";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -78,7 +78,7 @@ stdenv.mkDerivation {
meta = with lib; { meta = with lib; {
description = "City building game"; description = "City building game";
mainProgram = "lincity-ng"; mainProgram = "lincity-ng";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ raskin ]; maintainers = with maintainers; [ raskin ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
maintainers = [ ]; maintainers = [ ];
description = "Free OpenSource 2D MMORPG client"; description = "Free OpenSource 2D MMORPG client";
homepage = "https://manaplus.org/"; homepage = "https://manaplus.org/";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Plus;
broken = stdenv.isDarwin; broken = stdenv.isDarwin;
}; };
} }

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Simple character graphics game where you drive some kind of car across the moon's surface"; description = "Simple character graphics game where you drive some kind of car across the moon's surface";
mainProgram = "moon-buggy"; mainProgram = "moon-buggy";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Only;
maintainers = [ lib.maintainers.rybern ]; maintainers = [ lib.maintainers.rybern ];
platforms = lib.platforms.linux ++ lib.platforms.darwin; platforms = lib.platforms.linux ++ lib.platforms.darwin;
homepage = "https://www.seehuhn.de/pages/moon-buggy"; homepage = "https://www.seehuhn.de/pages/moon-buggy";

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation {
meta = with lib; { meta = with lib; {
description = "Free networked version of T*tris"; description = "Free networked version of T*tris";
mainProgram = "netris"; mainProgram = "netris";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ patryk27 ]; maintainers = with maintainers; [ patryk27 ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -87,7 +87,7 @@ in stdenv.mkDerivation {
meta = { meta = {
description = "Free fast-paced first-person shooter"; description = "Free fast-paced first-person shooter";
homepage = "http://www.alientrap.org/games/nexuiz"; homepage = "http://www.alientrap.org/games/nexuiz";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };
} }

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
description = "Space Invaders clone based on ncurses"; description = "Space Invaders clone based on ncurses";
mainProgram = "ninvaders"; mainProgram = "ninvaders";
homepage = "https://ninvaders.sourceforge.net/"; homepage = "https://ninvaders.sourceforge.net/";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ _1000101 ]; maintainers = with maintainers; [ _1000101 ];
platforms = platforms.all; platforms = platforms.all;
}; };

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
description = "Dune, Reinvented"; description = "Dune, Reinvented";
mainProgram = "opendune"; mainProgram = "opendune";
homepage = "https://github.com/OpenDUNE/OpenDUNE"; homepage = "https://github.com/OpenDUNE/OpenDUNE";
license = licenses.gpl2; license = licenses.gpl2Only;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];
}; };
} }

View File

@ -86,7 +86,7 @@ in stdenv.mkDerivation {
meta = with lib; { meta = with lib; {
description = "Open-source engine for Star Wars Jedi Academy game"; description = "Open-source engine for Star Wars Jedi Academy game";
homepage = "https://github.com/JACoders/OpenJK"; homepage = "https://github.com/JACoders/OpenJK";
license = licenses.gpl2; license = licenses.gpl2Only;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ tgunnoe ]; maintainers = with maintainers; [ tgunnoe ];
}; };

View File

@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "https://www.openttd.org/"; homepage = "https://www.openttd.org/";
changelog = "https://cdn.openttd.org/openttd-releases/${version}/changelog.txt"; changelog = "https://cdn.openttd.org/openttd-releases/${version}/changelog.txt";
license = licenses.gpl2; license = licenses.gpl2Only;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ jcumming fpletz ]; maintainers = with maintainers; [ jcumming fpletz ];
}; };

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Low-level (dis)assembler and linter for OpenTTD GRF files"; description = "Low-level (dis)assembler and linter for OpenTTD GRF files";
homepage = "http://openttd.org/"; homepage = "http://openttd.org/";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ ToxicFrog ]; maintainers = with maintainers; [ ToxicFrog ];
}; };
} }

View File

@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
homepage = "http://openttdcoop.org/"; homepage = "http://openttdcoop.org/";
description = "Compiler for OpenTTD NML files"; description = "Compiler for OpenTTD NML files";
mainProgram = "nmlc"; mainProgram = "nmlc";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ ToxicFrog ]; maintainers = with maintainers; [ ToxicFrog ];
}; };
} }

View File

@ -27,7 +27,7 @@ mkDerivation {
Chinese, "(Yi Go)" in Japanese, "(Baduk)" in Korean. Chinese, "(Yi Go)" in Japanese, "(Baduk)" in Korean.
''; '';
homepage = "https://github.com/pzorin/qgo"; homepage = "https://github.com/pzorin/qgo";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ zalakain ]; maintainers = with maintainers; [ zalakain ];
}; };

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
homepage = "https://qqwing.com"; homepage = "https://qqwing.com";
description = "Sudoku generating and solving software"; description = "Sudoku generating and solving software";
mainProgram = "qqwing"; mainProgram = "qqwing";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];
}; };

View File

@ -69,7 +69,7 @@ let
meta = with lib; { meta = with lib; {
description = "Yamagi Quake II client"; description = "Yamagi Quake II client";
homepage = "https://www.yamagi.org/quake2/"; homepage = "https://www.yamagi.org/quake2/";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ tadfisher ]; maintainers = with maintainers; [ tadfisher ];
}; };

View File

@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
homepage = "https://github.com/ec-/Quake3e"; homepage = "https://github.com/ec-/Quake3e";
description = "Improved Quake III Arena engine"; description = "Improved Quake III Arena engine";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ pmiddend ]; maintainers = with maintainers; [ pmiddend ];
}; };

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Quantum mechanics-based minigolf-like game"; description = "Quantum mechanics-based minigolf-like game";
mainProgram = "quantumminigolf"; mainProgram = "quantumminigolf";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ raskin ]; maintainers = with maintainers; [ raskin ];
platforms = platforms.linux; platforms = platforms.linux;
# never built on aarch64-linux since first introduction in nixpkgs # never built on aarch64-linux since first introduction in nixpkgs

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
homepage = "http://keldon.net/rftg/"; homepage = "http://keldon.net/rftg/";
description = "Implementation of the card game Race for the Galaxy, including an AI"; description = "Implementation of the card game Race for the Galaxy, including an AI";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.falsifian ]; maintainers = [ lib.maintainers.falsifian ];
}; };

View File

@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
description = "Scrolling tile-based arcade style puzzle game"; description = "Scrolling tile-based arcade style puzzle game";
mainProgram = "rocksndiamonds"; mainProgram = "rocksndiamonds";
homepage = "https://www.artsoft.org/rocksndiamonds/"; homepage = "https://www.artsoft.org/rocksndiamonds/";
license = licenses.gpl2; license = licenses.gpl2Only;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ orivej ]; maintainers = with maintainers; [ orivej ];
}; };

View File

@ -43,7 +43,7 @@ tcl.mkTclDerivation rec {
meta = with lib; { meta = with lib; {
description = "Chess database with play and training functionality"; description = "Chess database with play and training functionality";
homepage = "https://scidvspc.sourceforge.net/"; homepage = "https://scidvspc.sourceforge.net/";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Only;
maintainers = [ maintainers.paraseba ]; maintainers = [ maintainers.paraseba ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };

View File

@ -49,7 +49,7 @@ tcl.mkTclDerivation rec {
description = "Chess database with play and training functionality"; description = "Chess database with play and training functionality";
maintainers = with lib.maintainers; [ agbrooks ]; maintainers = with lib.maintainers; [ agbrooks ];
homepage = "https://scid.sourceforge.net/"; homepage = "https://scid.sourceforge.net/";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Only;
platforms = lib.platforms.all; platforms = lib.platforms.all;
}; };
} }

View File

@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
description = "Program to run certain classic graphical point-and-click adventure games (such as Monkey Island)"; description = "Program to run certain classic graphical point-and-click adventure games (such as Monkey Island)";
mainProgram = "scummvm"; mainProgram = "scummvm";
homepage = "https://www.scummvm.org/"; homepage = "https://www.scummvm.org/";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = [ maintainers.peterhoeg ]; maintainers = [ maintainers.peterhoeg ];
platforms = platforms.unix; platforms = platforms.unix;
}; };

View File

@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "https://davidgriffith.gitlab.io/frotz/"; homepage = "https://davidgriffith.gitlab.io/frotz/";
changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${version}/NEWS"; changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${version}/NEWS";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ ddelabru ]; maintainers = with maintainers; [ ddelabru ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -67,7 +67,7 @@ in stdenv.mkDerivation rec {
A fork of Sil that's still actively developed. A fork of Sil that's still actively developed.
''; '';
homepage = "https://github.com/sil-quirk/sil-q"; homepage = "https://github.com/sil-quirk/sil-q";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Only;
maintainers = [ lib.maintainers.kenran ]; maintainers = [ lib.maintainers.kenran ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };

View File

@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
Silmaril from Morgoths iron crown. Silmaril from Morgoths iron crown.
''; '';
homepage = "http://www.amirrorclear.net/flowers/game/sil/index.html"; homepage = "http://www.amirrorclear.net/flowers/game/sil/index.html";
license = lib.licenses.gpl2; license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ michaelpj kenran ]; maintainers = with lib.maintainers; [ michaelpj kenran ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
mainProgram = "sil"; mainProgram = "sil";

View File

@ -67,7 +67,7 @@ stdenv.mkDerivation {
meta = with lib; { meta = with lib; {
description = "Space Nerds In Space, a multi-player spaceship bridge simulator"; description = "Space Nerds In Space, a multi-player spaceship bridge simulator";
homepage = "https://smcameron.github.io/space-nerds-in-space/"; homepage = "https://smcameron.github.io/space-nerds-in-space/";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ alyaeanyx ]; maintainers = with maintainers; [ alyaeanyx ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -41,7 +41,7 @@ EOF
broken = stdenv.isDarwin; broken = stdenv.isDarwin;
description = "Space combat simulator"; description = "Space combat simulator";
mainProgram = "space-orbit"; mainProgram = "space-orbit";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Classic 2D jump'n run sidescroller game"; description = "Classic 2D jump'n run sidescroller game";
homepage = "https://supertux.github.io/"; homepage = "https://supertux.github.io/";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ pSub ]; maintainers = with maintainers; [ pSub ];
platforms = with platforms; linux; platforms = with platforms; linux;
mainProgram = "supertux2"; mainProgram = "supertux2";

Some files were not shown because too many files have changed in this diff Show More