Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-03-02 12:06:04 +00:00
committed by GitHub
24 changed files with 584 additions and 71 deletions

View File

@@ -10171,6 +10171,11 @@
githubId = 88038050;
name = "Souvik Sen";
};
io12 = {
github = "io12";
githubId = 7348004;
name = "Benjamin Levy";
};
iogamaster = {
email = "iogamastercode+nixpkgs@gmail.com";
name = "IogaMaster";

View File

@@ -221,7 +221,7 @@ let
brokenPlugins = fetchurl {
url = "https://web.archive.org/web/20250224030717if_/https://downloads.marketplace.jetbrains.com/files/brokenPlugins.json";
hash = "sha256-l3qy9ixYsHqZZ9kk1r2fA4GomaJsLaM/T48VaL5ZJr8=";
hash = "sha256-wQO+qmFfBn32F//bs/a5Q/H4Kpc171jKA9EMmeatc6w=";
};
in

View File

@@ -11,13 +11,13 @@
buildPythonApplication rec {
pname = "git-machete";
version = "3.32.1";
version = "3.33.0";
src = fetchFromGitHub {
owner = "virtuslab";
repo = pname;
rev = "v${version}";
hash = "sha256-G62KCL0l1WTJoSXfJoQd1HXWleKPC8OjX39AD9NOgV0=";
hash = "sha256-kzMjMyqaf4F/cRJ6+r9Ne+NUlG98iubKYqAm+NpmRtM=";
};
nativeBuildInputs = [ installShellFiles ];

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "conmon";
version = "2.1.12";
version = "2.1.13";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = "v${version}";
hash = "sha256-iSC1Q7fdf+4YH4vLFPOscRWxNv/xygYx872u8msmMmc=";
hash = "sha256-XsVWcJsUc0Fkn7qGRJDG5xrQAsJr6KN7zMy3AtPuMTo=";
};
nativeBuildInputs = [ pkg-config ];

View File

@@ -10,7 +10,8 @@
}:
let
version = "1.0.0";
version = "1.0.1";
filterVersion = "1.0.2";
in
stdenv.mkDerivation {
@@ -20,10 +21,10 @@ stdenv.mkDerivation {
src = fetchurl {
# NOTE: Don't forget to update the webarchive link too!
urls = [
"https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm"
"https://web.archive.org/web/https://download.ebz.epson.net/dsc/op/stable/SRPMS/epson-inkjet-printer-201207w-${version}-1lsb3.2.src.rpm"
"https://download3.ebz.epson.net/dsc/f/03/00/15/64/87/25d34a13841e5e95d80266e6fd8dfcdf67c95634/epson-inkjet-printer-201207w-1.0.1-1.src.rpm"
"https://web.archive.org/web/https://download3.ebz.epson.net/dsc/f/03/00/15/64/87/25d34a13841e5e95d80266e6fd8dfcdf67c95634/epson-inkjet-printer-201207w-1.0.1-1.src.rpm"
];
sha256 = "1ixnhn2dk83nh9v8sdivzgc2bm9z2phvsbx8bc6ainbjq6vn7lns";
sha256 = "0icbsd3m8ij1zm55q8vms81dxd79nf5m33i2g4knddljsfv7nxdc";
};
nativeBuildInputs = [
@@ -40,12 +41,12 @@ stdenv.mkDerivation {
unpackPhase = ''
rpmextract $src
tar -zxf epson-inkjet-printer-201207w-${version}.tar.gz
tar -zxf epson-inkjet-printer-filter-${version}.tar.gz
tar -zxf epson-inkjet-printer-filter-${filterVersion}.tar.gz
for ppd in epson-inkjet-printer-201207w-${version}/ppds/*; do
substituteInPlace $ppd --replace "/opt/epson-inkjet-printer-201207w" "$out"
substituteInPlace $ppd --replace "/cups/lib" "/lib/cups"
done
cd epson-inkjet-printer-filter-${version}
cd epson-inkjet-printer-filter-${filterVersion}
'';
preConfigure = ''
@@ -86,7 +87,7 @@ stdenv.mkDerivation {
};
'';
license = with licenses; [
lgpl21
lgpl21Plus
epson
];
maintainers = [ maintainers.romildo ];

View File

@@ -67,16 +67,23 @@ stdenv'.mkDerivation rec {
boost
]
++ lib.optionals (backend == "eigen") [ eigen ]
++ lib.optionals (backend == "cuda") [
cudaPackages.cuda_cudart
cudaPackages.cudnn
cudaPackages.cudatoolkit
]
++ lib.optionals (backend == "tensorrt") [
cudaPackages.cuda_cudart
cudaPackages.cudatoolkit
cudaPackages.tensorrt
]
++ lib.optionals (backend == "cuda") (
with cudaPackages;
[
cuda_cccl
cuda_cudart
cuda_nvcc
cudnn
libcublas
]
)
++ lib.optionals (backend == "tensorrt") (
with cudaPackages;
[
cuda_cudart
tensorrt
]
)
++ lib.optionals (backend == "opencl") [
opencl-headers
ocl-icd
@@ -103,7 +110,7 @@ stdenv'.mkDerivation rec {
cd cpp/
''
+ lib.optionalString (backend == "cuda" || backend == "tensorrt") ''
export CUDA_PATH="${cudaPackages.cudatoolkit}"
export CUDA_PATH="${cudaPackages.cuda_nvcc}"
export EXTRA_LDFLAGS="-L/run/opengl-driver/lib"
'';

View File

@@ -1,39 +1,68 @@
{ lib
, stdenv
, fetchFromGitHub
, ffmpeg
, fftwFloat
, chafa
, freeimage
, glib
, pkg-config
{
lib,
stdenv,
fetchFromGitHub,
fftwFloat,
chafa,
glib,
libopus,
opusfile,
libvorbis,
taglib,
faad2,
libogg,
pkg-config,
versionCheckHook,
gitUpdater,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "kew";
version = "1.5.2";
version = "3.0.3";
src = fetchFromGitHub {
owner = "ravachol";
repo = "kew";
rev = "v${version}";
hash = "sha256-Om7v8eTlYxXQYf1MG+L0I5ICQ2LS7onouhPGosuK8NM=";
tag = "v${finalAttrs.version}";
hash = "sha256-DzJ+7PanA15A9nIbFPWZ/tdxq4aDyParJORcuqHV7jc=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ffmpeg freeimage fftwFloat chafa glib ];
buildInputs = [
fftwFloat.dev
chafa
glib.dev
libopus
opusfile
libvorbis
taglib
faad2
libogg
];
installFlags = [
"MAN_DIR=${placeholder "out"}/share/man"
"PREFIX=${placeholder "out"}"
];
meta = with lib; {
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru = {
updateScript = gitUpdater { };
};
meta = {
description = "Command-line music player for Linux";
homepage = "https://github.com/ravachol/kew";
platforms = platforms.linux;
license = licenses.gpl2Only;
maintainers = with maintainers; [ demine ];
platforms = lib.platforms.unix;
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [
demine
matteopacini
];
mainProgram = "kew";
};
}
})

View File

@@ -0,0 +1,60 @@
{
lib,
maven,
fetchFromGitHub,
jre,
makeWrapper,
}:
let
lastVersion = "2.5.2";
in
maven.buildMavenPackage {
pname = "mmj2";
# The latest stable version is from 2017 and doesn't include the mmj2jar/mmj2
# wrapper script, so use the unstable one for now
version = "${lastVersion}-unstable-2023-06-27";
src = fetchFromGitHub {
owner = "digama0";
repo = "mmj2";
fetchSubmodules = true;
rev = "1cd95c1fe4435899c8575644fccb412dd77d79e4";
hash = "sha256-WYBrLY04+bJGzjRMs8LgHnI6lMRhQKyz15DIoLeiE2s=";
};
mvnHash = "sha256-fu/q6CTvSllrfgnKNX6aIuPO65H/q0IPCHFuWmOFOvM=";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
local jar=$out/share/$pname/$pname.jar
local bin=$out/bin/$pname
install -Dm644 target/$pname-${lastVersion}-SNAPSHOT-jar-with-dependencies.jar $jar
install -Dm744 mmj2jar/$pname $bin
wrapProgram $bin \
--set MMJ2_JAR $jar \
--set JAVA ${jre}/bin/java
runHook postInstall
'';
meta = with lib; {
description = "GUI Proof Assistant for the Metamath project";
longDescription = ''
mmj2 is a proof assistant for the Metamath language. Metamath is a
language that lets you express mathematical axioms and theorems. The proof
assistant includes a GUI for creating proofs, proof verification tools,
and grammatical/syntax analysis.
'';
homepage = "https://github.com/digama0/mmj2";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ io12 ];
platforms = platforms.linux;
mainProgram = "mmj2";
};
}

View File

@@ -20,11 +20,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nbdkit";
version = "1.40.4";
version = "1.42.0";
src = fetchurl {
url = "https://download.libguestfs.org/nbdkit/${lib.versions.majorMinor finalAttrs.version}-stable/nbdkit-${finalAttrs.version}.tar.gz";
hash = "sha256-hGoc34F7eAvHjdQHxcquNJhpwpL5CLfv2DBZKVmpcpw=";
hash = "sha256-m5IzOExW2otMTVEBp989W4mN9Fx529p3MoGKw0GPSJo=";
};
prePatch = ''

View File

@@ -4,7 +4,7 @@
fetchFromGitHub,
meson,
ninja,
wlroots_0_17,
wlroots_0_18,
scdoc,
pkg-config,
wayland,
@@ -21,13 +21,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "scenefx";
version = "0.1";
version = "0.2.1";
src = fetchFromGitHub {
owner = "wlrfx";
repo = "scenefx";
tag = finalAttrs.version;
hash = "sha256-vBmunqXwGbMNiGRd372TdMU4siWhIVYn5RVYne9C7uQ=";
hash = "sha256-BLIADMQwPJUtl6hFBhh5/xyYwLFDnNQz0RtgWO/Ua8s=";
};
strictDeps = true;
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
pixman
wayland
wayland-protocols
wlroots_0_17
wlroots_0_18
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;

View File

@@ -97,8 +97,9 @@ buildFHSEnv {
inherit (package) pname version meta;
runScript = "${package.outPath}/bin/stm32cubemx";
extraInstallCommands = ''
mkdir -p $out/share/applications
mkdir -p $out/share/{applications,icons}
ln -sf ${package.outPath}/share/applications/* $out/share/applications/
ln -sf ${package.outPath}/share/icons/* $out/share/icons/
'';
targetPkgs =
pkgs: with pkgs; [

View File

@@ -25,7 +25,7 @@
scenefx,
wayland-scanner,
xcbutilwm,
wlroots_0_17,
wlroots_0_18,
testers,
nixosTests,
# Used by the NixOS module:
@@ -33,7 +33,6 @@
enableXWayland ? true,
systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd,
trayEnabled ? systemdSupport,
fetchpatch2,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -45,25 +44,19 @@ stdenv.mkDerivation (finalAttrs: {
;
pname = "swayfx-unwrapped";
version = "0.4";
version = "0.5";
src = fetchFromGitHub {
owner = "WillPower3309";
repo = "swayfx";
tag = finalAttrs.version;
hash = "sha256-VT+JjQPqCIdtaLeSnRiZ3rES0KgDJR7j5Byxr+d6oRg=";
hash = "sha256-gdab7zkjp/S7YVCP1t/OfOdUXZRwNvNSuRFGWEJScF8=";
};
patches =
[
./load-configuration-from-etc.patch
(fetchpatch2 {
# fix missing switch statement for newer libinput
url = "https://github.com/swaywm/sway/pull/8470.patch?full_index=1";
hash = "sha256-UTZ2DNEsGi5RYrgZThHkYz3AnnIl/KxieinA1WUZRq4=";
})
(replaceVars ./fix-paths.patch {
inherit swaybg;
})
@@ -105,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
scenefx
wayland
wayland-protocols
(wlroots_0_17.override { inherit (finalAttrs) enableXWayland; })
(wlroots_0_18.override { inherit (finalAttrs) enableXWayland; })
] ++ lib.optionals finalAttrs.enableXWayland [ xcbutilwm ];
mesonFlags =
@@ -122,7 +115,6 @@ stdenv.mkDerivation (finalAttrs: {
in
[
(mesonOption "sd-bus-provider" sd-bus-provider)
(mesonEnable "xwayland" finalAttrs.enableXWayland)
(mesonEnable "tray" finalAttrs.trayEnabled)
];

View File

@@ -74,7 +74,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
name = "TeamSpeak";
exec = "TeamSpeak";
icon = "teamspeak6-client";
desktopName = "teamspeak6-client";
desktopName = "TeamSpeak";
comment = "TeamSpeak Voice Communication Client";
categories = [
"Audio"

View File

@@ -22,18 +22,18 @@
}:
llvmPackages.stdenv.mkDerivation rec {
pname = "waypipe";
version = "0.10.2";
version = "0.10.3";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "mstoeckl";
repo = "waypipe";
tag = "v${version}";
hash = "sha256-MTh3it+sJxd+vOTi9fVOxvlqlkgJAK56wel3xX0IzJE=";
hash = "sha256-E0NJTOK8wf42dXgBtsOmCKlfSLC/zEuUxLKVxwcb9Ig=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-M1PTlkmZu1+F14kAO5yH9Oa7/hJlYiG9ACncRaz30Q8=";
hash = "sha256-T2/su0DQt8KZ8diHTNz3jzeMZaW3cGcAFA6MYs1Qn3k=";
};
strictDeps = true;

View File

@@ -0,0 +1,256 @@
{
lib,
stdenv,
fetchurl,
dpkg,
autoPatchelfHook,
makeWrapper,
nss,
xorg,
desktop-file-utils,
libpulseaudio,
libgcrypt,
dbus,
systemd,
udev,
libGL,
fontconfig,
freetype,
openssl,
wayland,
libdrm,
harfbuzz,
openldap,
curl,
nghttp2,
libunwind,
alsa-lib,
libidn2,
rtmpdump,
libpsl,
libkrb5,
xkeyboard_config,
libsForQt5,
pkg-config,
fetchFromGitHub,
cmake,
ninja,
wireplumber,
libportal,
xdg-desktop-portal,
opencv4WithoutCuda,
pipewire,
fetchgit,
}:
let
wemeet-wayland-screenshare = stdenv.mkDerivation {
pname = "wemeet-wayland-screenshare";
version = "0-unstable-2025-01-06";
src = fetchFromGitHub {
owner = "xuwd1";
repo = "wemeet-wayland-screenshare";
rev = "ab226c63380c4233e2f490ba17e6ea8f393999e2";
hash = "sha256-nBkbyy0VGOaPNVsEA02bSlTI6eQoVr/QVpEEpCuFdUw=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
ninja
pkg-config
];
buildInputs = [
wireplumber
libportal
xdg-desktop-portal
libsForQt5.qtwayland
libsForQt5.xwaylandvideobridge
opencv4WithoutCuda
pipewire
xorg.libXdamage
xorg.libXrandr
xorg.libX11
];
dontWrapQtApps = true;
meta = {
description = "Hooked WeMeet that enables screenshare on Wayland";
homepage = "https://github.com/xuwd1/wemeet-wayland-screenshare";
license = lib.licenses.mit;
};
};
libwemeetwrap = stdenv.mkDerivation {
# for mitigating file transfer crashes
pname = "libwemeetwrap";
version = "0-unstable-2023-12-14";
src = fetchgit {
url = "https://aur.archlinux.org/wemeet-bin.git";
rev = "8f03fbc4d5ae263ed7e670473886cfa1c146aecc";
hash = "sha256-ExzLCIoLu4KxaoeWNhMXixdlDTIwuPiYZkO+XVK8X10=";
};
dontWrapQtApps = true;
nativeBuildInputs = [
pkg-config
];
buildInputs = [
openssl
libpulseaudio
xorg.libX11
];
buildPhase = ''
runHook preBuild
read -ra openssl_args < <(pkg-config --libs openssl)
read -ra libpulse_args < <(pkg-config --cflags --libs libpulse)
# Comment out `-D WRAP_FORCE_SINK_HARDWARE` to disable the patch that forces wemeet detects sink as hardware sink
$CC $CFLAGS -Wall -Wextra -fPIC -shared \
"''${openssl_args[@]}" "''${libpulse_args[@]}" \
-o libwemeetwrap.so wrap.c -D WRAP_FORCE_SINK_HARDWARE
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm755 ./libwemeetwrap.so $out/lib/libwemeetwrap.so
runHook postInstall
'';
meta.license = lib.licenses.unfree;
};
selectSystem =
attrs:
attrs.${stdenv.hostPlatform.system}
or (throw "wemeet: ${stdenv.hostPlatform.system} is not supported");
in
stdenv.mkDerivation {
pname = "wemeet";
version = "3.19.2.400";
src = selectSystem {
x86_64-linux = fetchurl {
url = "https://updatecdn.meeting.qq.com/cos/fb7464ffb18b94a06868265bed984007/TencentMeeting_0300000000_3.19.2.400_x86_64_default.publish.officialwebsite.deb";
hash = "sha256-PSGc4urZnoBxtk1cwwz/oeXMwnI02Mv1pN2e9eEf5kE=";
};
aarch64-linux = fetchurl {
url = "https://updatecdn.meeting.qq.com/cos/867a8a2e99a215dcd4f60fe049dbe6cf/TencentMeeting_0300000000_3.19.2.400_arm64_default.publish.officialwebsite.deb";
hash = "sha256-avN+PHKKC58lMC5wd0yVLD0Ct7sbb4BtXjovish0ULU=";
};
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
makeWrapper
];
buildInputs = [
nss
xorg.libX11
xorg.libSM
xorg.libICE
xorg.libXtst
desktop-file-utils
libpulseaudio
libgcrypt
dbus
systemd
udev
libGL
fontconfig
freetype
openssl
wayland
libdrm
harfbuzz
openldap
curl
nghttp2
libunwind
alsa-lib
libidn2
rtmpdump
libpsl
libkrb5
xkeyboard_config
];
installPhase = ''
runHook preInstall
mkdir -p $out/app
cp -r opt/wemeet $out/app/wemeet
cp -r usr/share $out/share
rm -f $out/app/wemeet/lib/libcurl.so
substituteInPlace $out/share/applications/wemeetapp.desktop \
--replace-fail "/opt/wemeet/wemeetapp.sh" "wemeet" \
--replace-fail "/opt/wemeet/wemeet.svg" "wemeet"
substituteInPlace $out/app/wemeet/bin/qt.conf \
--replace-fail "Prefix = ../" "Prefix = $out/app/wemeet/lib"
cp -r $out/app/wemeet/icons $out/share/icons || true
install -Dm0644 $out/app/wemeet/wemeet.svg $out/share/icons/hicolor/scalable/apps/wemeet.svg
ln -s $out/app/wemeet/bin/raw/xcast.conf $out/app/wemeet/bin/xcast.conf
ln -s $out/app/wemeet/plugins $out/app/wemeet/lib/plugins
ln -s $out/app/wemeet/resources $out/app/wemeet/lib/resources
mkdir -p $out/app/wemeet/lib/translations
ln -s $out/app/wemeet/translations/qtwebengine_locales $out/app/wemeet/lib/translations/qtwebengine_locales
runHook postInstall
'';
# set LP_NUM_THREADS limit the number of cores used by rendering
# set XDG_SESSION_TYPE; unset WAYLAND_DISPLAY getting border shadows to work
# set QT_STYLE_OVERRIDE solve the color of the font is not visible when using the included Qt
# set IBUS_USE_PORTAL fix ibus
preFixup =
let
baseWrapperArgs = [
"--set LP_NUM_THREADS 2"
"--set QT_STYLE_OVERRIDE fusion"
"--set IBUS_USE_PORTAL 1"
"--set XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb"
"--prefix LD_LIBRARY_PATH : $out/lib:$out/translations:${xorg.libXext}/lib:${xorg.libXdamage}/lib:${opencv4WithoutCuda}/lib:${xorg.libXrandr}/lib"
"--prefix PATH : $out/bin"
"--prefix QT_PLUGIN_PATH : $out/plugins"
];
commonWrapperArgs = baseWrapperArgs ++ [
"--prefix LD_PRELOAD : ${libwemeetwrap}/lib/libwemeetwrap.so"
"--run 'if [[ $XDG_SESSION_TYPE == \"wayland\" ]]; then export LD_PRELOAD=${wemeet-wayland-screenshare}/lib/wemeet/libhook.so\${LD_PRELOAD:+:$LD_PRELOAD}; fi'"
];
xwaylandWrapperArgs = baseWrapperArgs ++ [
"--set XDG_SESSION_TYPE x11"
"--unset WAYLAND_DISPLAY"
"--prefix LD_PRELOAD : ${libwemeetwrap}/lib/libwemeetwrap.so:${wemeet-wayland-screenshare}/lib/wemeet/libhook.so"
];
in
''
makeWrapper $out/app/wemeet/bin/wemeetapp $out/bin/wemeet \
${lib.concatStringsSep " " commonWrapperArgs}
makeWrapper $out/app/wemeet/bin/wemeetapp $out/bin/wemeet-xwayland \
${lib.concatStringsSep " " xwaylandWrapperArgs}
'';
meta = {
description = "Tencent Video Conferencing";
homepage = "https://wemeet.qq.com";
license = lib.licenses.unfree;
mainProgram = "wemeet";
platforms = [
"x86_64-linux"
"aarch64-linux"
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ wrvsrx ];
};
}

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchurl,
jre,
makeWrapper,
makeDesktopItem,
copyDesktopItems,
gnused,
}:
stdenv.mkDerivation rec {
pname = "worldpainter";
version = "2.23.2";
src = fetchurl {
url = "https://www.worldpainter.net/files/${pname}_${version}.tar.gz";
hash = "sha256-FhrfI2/mBeIZAg26Q8x8T2YU2ANwAkoC3h9Tgw6ggoY=";
};
nativeBuildInputs = [
makeWrapper
copyDesktopItems
gnused
];
outputs = [ "out" ];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib,.install4j/user}
install -Dm644 bin/* "$out/bin/"
install -Dm644 lib/* "$out/lib/"
install -Dm644 *.vmoptions "$out/"
install -Dm755 worldpainter "$out/bin"
install -Dm755 wpscript "$out/bin"
find .install4j/ -maxdepth 1 -type f -exec install -Dm644 {} "$out/.install4j/" \;
find .install4j/user/ -maxdepth 1 -type f -exec install -Dm644 {} "$out/.install4j/user/" \;
mkdir -p $out/share/{pixmaps,applications}
install -Dm644 .install4j/i4j_extf_8_jed6s0_1y6kkxa.png "$out/share/pixmaps/worldpainter.png"
runHook postInstall
'';
postInstall = ''
sed -i 's/app_home=\./app_home=../' $out/bin/worldpainter
sed -i 's/app_home=\./app_home=../' $out/bin/wpscript
wrapProgram $out/bin/worldpainter --prefix PATH : "${jre}/bin"
wrapProgram $out/bin/wpscript --prefix PATH : "${jre}/bin"
'';
desktopItems = [
(makeDesktopItem {
name = pname;
desktopName = pname;
exec = pname;
icon = pname;
terminal = false;
type = "Application";
startupWMClass = pname;
comment = "Paint your own Minecraft worlds";
categories = [ "Game" ];
})
];
meta = {
homepage = "https://www.worldpainter.net/";
description = "Interactive map generator for Minecraft";
longDescription = "WorldPainter is an interactive map generator for Minecraft. It allows you to \"paint\" landscapes using similar tools as a regular paint program. Sculpt and mould the terrain, paint materials, trees, snow and ice, etc. onto it, and much more";
license = with lib.licenses; [ gpl3 ];
maintainers = with lib.maintainers; [ eymeric ];
platforms = lib.platforms.linux;
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
};
}

View File

@@ -57,7 +57,8 @@ let
in
"[${lib.concatStringsSep "," options}]";
LC_ALL = "C.UTF-8";
LANG = if stdenv.isLinux then "C.UTF-8" else "C";
LC_CTYPE = if stdenv.isLinux then "C.UTF-8" else "UTF-8";
# add to ERL_LIBS so other modules can find at runtime.
# http://erlang.org/doc/man/code.html#code-path

View File

@@ -134,7 +134,8 @@ stdenv.mkDerivation (
in
"[${lib.concatStringsSep "," options}]";
LC_ALL = "C.UTF-8";
LANG = if stdenv.isLinux then "C.UTF-8" else "C";
LC_CTYPE = if stdenv.isLinux then "C.UTF-8" else "UTF-8";
postUnpack =
''

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libphonenumber";
version = "8.13.53";
version = "8.13.55";
src = fetchFromGitHub {
owner = "google";
repo = "libphonenumber";
rev = "v${finalAttrs.version}";
hash = "sha256-JYz/R8vS9sJ8cv/GRPwrA31Hb1ofZvW3OQBNp5lDlg8=";
hash = "sha256-tCompIUKBEHLVF+yBIhu2IFJJLSuMO+Awhp3uWHCvZM=";
};
patches = [

View File

@@ -30,14 +30,14 @@
buildPythonPackage rec {
pname = "craft-application";
version = "4.9.1";
version = "4.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "canonical";
repo = "craft-application";
tag = version;
hash = "sha256-Jg+8C16qCr8HGUGtTi3eDhEFhoiR+0EFjLaUtPvXCW8=";
hash = "sha256-9M49/XQuWwKuQqseleTeZYcrwd/S16lNCljvlVsoXbs=";
};
postPatch = ''

View File

@@ -0,0 +1,37 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
}:
buildPythonPackage rec {
pname = "urlmatch";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jessepollak";
repo = "urlmatch";
tag = "v${version}";
hash = "sha256-vNt3SdIIno1XPO9zrTHXw6YSrE1oOWdkN3fszQnR8I0=";
};
build-system = [
setuptools
];
pythonImportsCheck = [ "urlmatch" ];
# The only test fails with:
# ImportError: cannot import name 'BadMatchPattern' from 'urlmatch' (/private/tmp/nix-build-python3.12-urlmatch-1.0.0.drv-0/source/urlmatch/__init__.py)
doCheck = false;
meta = {
description = "Python library for easily pattern matching wildcard URLs";
changelog = "https://github.com/jessepollak/urlmatch/releases/tag/v${version}/CHANGELOG.md";
homepage = "https://github.com/jessepollak/urlmatch";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ethancedwards8 ];
};
}

View File

@@ -57,6 +57,7 @@ lib.makeExtensible (self: {
};
alternatives = callPackage ./plugins/alternatives.nix { beets = self.beets-minimal; };
audible = callPackage ./plugins/audible.nix { beets = self.beets-minimal; };
copyartifacts = callPackage ./plugins/copyartifacts.nix { beets = self.beets-minimal; };
extrafiles = throw "extrafiles is unmaintained since 2020 and broken since beets 2.0.0";

View File

@@ -0,0 +1,45 @@
{
beets,
fetchFromGitHub,
lib,
nix-update-script,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "beets-audible";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Neurrone";
repo = "beets-audible";
rev = "v${version}";
hash = "sha256-m955KPtYfjmtm9kHhkZLWoMYzVq0THOwvKCJYiVna7k=";
};
pythonRelaxDeps = true;
build-system = with python3Packages; [
hatchling
];
dependencies =
[ beets ]
++ (with python3Packages; [
markdownify
natsort
tldextract
]);
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Beets-audible: Organize Your Audiobook Collection With Beets";
homepage = "https://github.com/Neurrone/beets-audible";
platforms = with lib.platforms; linux ++ darwin ++ windows;
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ jwillikers ];
};
}

View File

@@ -17976,6 +17976,8 @@ self: super: with self; {
urlman = callPackage ../development/python-modules/urlman { };
urlmatch = callPackage ../development/python-modules/urlmatch { };
urlpy = callPackage ../development/python-modules/urlpy { };
urwid = callPackage ../development/python-modules/urwid { };