Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-06-29 06:05:22 +00:00
committed by GitHub
25 changed files with 434 additions and 110 deletions
+6
View File
@@ -24349,6 +24349,12 @@
githubId = 52673095;
name = "Syed Ahkam";
};
sylonin = {
email = "syl@sperg.net";
github = "Sylonin";
githubId = 89575562;
name = "Sylonin";
};
symphorien = {
email = "symphorien_nixpkgs@xlumurb.eu";
matrix = "@symphorien:xlumurb.eu";
+1 -1
View File
@@ -810,7 +810,7 @@ in
mariadb-galera = handleTest ./mysql/mariadb-galera.nix { };
marytts = runTest ./marytts.nix;
mastodon = pkgs.recurseIntoAttrs (handleTest ./web-apps/mastodon { inherit handleTestOn; });
pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; });
pixelfed = import ./web-apps/pixelfed { inherit runTestOn; };
mate = runTest ./mate.nix;
mate-wayland = runTest ./mate-wayland.nix;
matter-server = runTest ./matter-server.nix;
+2 -4
View File
@@ -1,14 +1,12 @@
{
system ? builtins.currentSystem,
handleTestOn,
runTestOn,
}:
let
supportedSystems = [
"x86_64-linux"
"i686-linux"
];
in
{
standard = handleTestOn supportedSystems ./standard.nix { inherit system; };
standard = runTestOn supportedSystems ./standard.nix;
}
+1 -1
View File
@@ -1,4 +1,4 @@
import ../../make-test-python.nix {
{
name = "pixelfed-standard";
meta.maintainers = [ ];
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "cbonsai";
version = "1.3.1";
version = "1.4.2";
src = fetchFromGitLab {
owner = "jallbrit";
repo = "cbonsai";
rev = "v${version}";
hash = "sha256-XFK6DiIb8CzVubTnEMkqRW8xZkX/SWjUsrfS+I7LOs8=";
hash = "sha256-TZb/5DBdWcl54GoZXxz2xYy9dXq5lmJQsOA3C26tjEU=";
};
nativeBuildInputs = [
+18 -2
View File
@@ -9,19 +9,23 @@
gobject-introspection,
wrapGAppsHook4,
blueprint-compiler,
pkg-config,
libadwaita,
libportal-gtk4,
gnome,
librsvg,
libavif,
}:
python3Packages.buildPythonApplication rec {
pname = "gradia";
version = "1.4.3";
version = "1.5.0";
pyproject = false;
src = fetchFromGitHub {
owner = "AlexanderVanhee";
repo = "Gradia";
tag = "v${version}";
hash = "sha256-cH8aL1nvDNAnvN+TYAtGez5Ot5DmwpmxugBPS36rY+Q=";
hash = "sha256-IamiF3mn3rVmDJrEOl0Ji+7muo8e8kunOxAZJTBNjM8=";
};
nativeBuildInputs = [
@@ -32,6 +36,7 @@ python3Packages.buildPythonApplication rec {
gobject-introspection
wrapGAppsHook4
blueprint-compiler
pkg-config
];
buildInputs = [
@@ -44,6 +49,17 @@ python3Packages.buildPythonApplication rec {
pillow
];
postInstall = ''
export GDK_PIXBUF_MODULE_FILE="${
gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
extraLoaders = [
librsvg
libavif
];
}
}"
'';
dontWrapGApps = true;
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
+2 -2
View File
@@ -22,13 +22,13 @@
stdenv.mkDerivation rec {
pname = "lms";
version = "3.66.1";
version = "3.67.0";
src = fetchFromGitHub {
owner = "epoupon";
repo = "lms";
rev = "v${version}";
hash = "sha256-MKVO/jxLCjfWi17/XeTwBksOAw4Zd1i/6yMiAlSsYfY=";
hash = "sha256-jmdAZEtMIl2oLeNzgyceguCenPK/K6NJw5Yzv3T4pJs=";
};
strictDeps = true;
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "mihomo";
version = "1.19.10";
version = "1.19.11";
src = fetchFromGitHub {
owner = "MetaCubeX";
repo = "mihomo";
rev = "v${version}";
hash = "sha256-7zbJMwczbCHRrAbRC61Pjo58dyphTu+3WYkfi3iiwxw=";
hash = "sha256-nt2bnfKzGU+6gUaSqHfnbCnWLMDoAcISmlNYFeM4Xu8=";
};
vendorHash = "sha256-2hLI8R6hwam7/n8JRQ9Xs4ycWwdNxGRvFM+JhH7ExgM=";
vendorHash = "sha256-k/Zjnq07+Sg+dwwcAf+ziInaDvlXn3bEG+QuxZ5lcM8=";
excludedPackages = [ "./test" ];
+73 -55
View File
@@ -9,10 +9,12 @@
# nativeBuildInputs
blueprint-compiler,
cargo,
makeWrapper,
libxml2,
meson,
ninja,
pkg-config,
protobuf,
python3,
rustc,
wrapGAppsHook4,
@@ -28,22 +30,28 @@
glib,
graphene,
gtk4,
libGL,
libadwaita,
libdrm,
libgbm,
pango,
sqlite,
udev,
vulkan-loader,
wayland,
# magpie wrapper
libGL,
vulkan-loader,
versionCheckHook,
}:
# UPDATE PROCESS:
# 1) Get the nvtop commit hash (`source-url` in `nvtop.json`):
# https://gitlab.com/mission-center-devs/mission-center/-/blob/v<VERSION>/src/sys_info_v2/gatherer/3rdparty/nvtop/nvtop.json?ref_type=tags
# - Go to https://gitlab.com/mission-center-devs/mission-center/-/blob/v<VERSION>/subprojects
# - Click on magpie
# - Open platform-linux/3rdparty/nvtop/nvtop.json
# - The hash is in `source-url`
#
# 2) Update the version of the main derivation
# 3) Refresh all hashes:
# - main `src`
@@ -54,32 +62,67 @@ let
nvtop = fetchFromGitHub {
owner = "Syllo";
repo = "nvtop";
rev = "20ea55dbd1eeb4342ff0112fae3ee2a0bfe352ea";
hash = "sha256-8lNvxmNAqkmBPFeiYIGtpW0hYXA9N0l4HURew5loj+g=";
rev = "73291884d926445e499d6b9b71cb7a9bdbc7c393";
hash = "sha256-8iChT55L2NSnHg8tLIry0rgi/4966MffShE0ib+2ywc=";
};
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "mission-center";
version = "0.6.2";
version = "1.0.2";
src = fetchFromGitLab {
owner = "mission-center-devs";
repo = "mission-center";
rev = "v${version}";
hash = "sha256-PvHIvWyhGovlLaeHk2WMp3yRz4VxvvINzX1oqkFgVuQ=";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-TvrYwuJR03mvPc8oXBx6GClOLc+r5kblaOj0uaLwbwE=";
};
postPatch =
# Prevent platform-linux/build.rs from downloading nvtop
''
substituteInPlace src/magpie_client/client.rs \
--replace-fail \
'"missioncenter-magpie"' \
'"${placeholder "out"}/bin/missioncenter-magpie"'
SRC_DIR=$NIX_BUILD_TOP/source
SRC_MAGPIE_DIR=$SRC_DIR/subprojects/magpie
SRC_NVTOP_DIR=$SRC_MAGPIE_DIR/platform-linux/3rdparty/nvtop
# Patch references in nvtop.json to match the name we inject manually
substituteInPlace "$SRC_NVTOP_DIR/nvtop.json" \
--replace-fail "nvtop-${nvtop.rev}" "nvtop-src"
DEST_NVTOP_DIR=$SRC_DIR/build/subprojects/magpie/src/debug/build/native/nvtop-src
mkdir -p "$DEST_NVTOP_DIR"
cp -r --no-preserve=mode,ownership "${nvtop}"/* "$DEST_NVTOP_DIR"
pushd "$DEST_NVTOP_DIR"
mkdir -p include/libdrm
for patchfile in "$SRC_NVTOP_DIR"/patches/nvtop*.patch; do
patch -p1 < "$patchfile"
done
popd
''
# Patch the shebang of this python script called at build time
+ ''
patchShebangs $SRC_MAGPIE_DIR/platform-linux/hwdb/generate_hwdb.py
'';
cargoDeps = symlinkJoin {
name = "cargo-vendor-dir";
paths = [
(rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-Yd6PlsSo8/yHMF4YdYz1Io4uGniAMyIj2RKy3yK4byU=";
inherit (finalAttrs) pname version src;
hash = "sha256-1Bcxp0EuHbJrLQIb2STLNIL2BM2eOgL8ftx4g1o/JY4=";
})
(rustPlatform.fetchCargoVendor {
inherit pname version src;
sourceRoot = "${src.name}/src/sys_info_v2/gatherer";
hash = "sha256-oUAPJWNElj08jfmsdXz/o2bgzeBQsbm6nWHC8jGN2n0=";
pname = "${finalAttrs.pname}-magpie";
inherit (finalAttrs) version src;
sourceRoot = "${finalAttrs.src.name}/subprojects/magpie";
hash = "sha256-ouY9zSQ7csAqPzQrbWGtCTB9ECVBKOUX78K5SiqTTxg=";
})
];
};
@@ -88,14 +131,17 @@ stdenv.mkDerivation rec {
blueprint-compiler
cargo
libxml2
makeWrapper
meson
ninja
pkg-config
python3
protobuf # for protoc
rustPlatform.cargoSetupHook
rustc
wrapGAppsHook4
];
dontUseCmakeConfigure = true;
buildInputs = [
appstream-glib
@@ -109,64 +155,36 @@ stdenv.mkDerivation rec {
glib
graphene
gtk4
libGL
libadwaita
libdrm
libgbm
pango
sqlite
udev
vulkan-loader
wayland
];
postPatch = ''
substituteInPlace src/sys_info_v2/gatherer.rs \
--replace-fail '"missioncenter-gatherer"' '"${placeholder "out"}/bin/missioncenter-gatherer"'
SRC_GATHERER=$NIX_BUILD_TOP/source/src/sys_info_v2/gatherer
SRC_GATHERER_NVTOP=$SRC_GATHERER/3rdparty/nvtop
substituteInPlace $SRC_GATHERER_NVTOP/nvtop.json \
--replace-fail "nvtop-${nvtop.rev}" "nvtop-src"
GATHERER_BUILD_DEST=$NIX_BUILD_TOP/source/build/src/sys_info_v2/gatherer/src/debug/build/native
mkdir -p $GATHERER_BUILD_DEST
NVTOP_SRC=$GATHERER_BUILD_DEST/nvtop-src
cp -r --no-preserve=mode,ownership "${nvtop}" $NVTOP_SRC
pushd $NVTOP_SRC
mkdir -p include/libdrm
for patchfile in $(ls $SRC_GATHERER_NVTOP/patches/nvtop*.patch); do
patch -p1 < $patchfile
done
popd
patchShebangs data/hwdb/generate_hwdb.py
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgram = "${builtins.placeholder "out"}/bin/${meta.mainProgram}";
versionCheckProgram = "${builtins.placeholder "out"}/bin/missioncenter";
doInstallCheck = true;
env = {
# Make sure libGL and libvulkan can be found by dlopen()
RUSTFLAGS = toString (
map (flag: "-C link-arg=" + flag) [
"-Wl,--push-state,--no-as-needed"
"-lGL"
"-lvulkan"
"-Wl,--pop-state"
]
);
};
postFixup = ''
wrapProgram $out/bin/missioncenter-magpie \
--prefix LD_LIBRARY_PATH : "${
lib.makeLibraryPath [
# Make sure libGL libvulkan can be found by dlopen()
libGL
vulkan-loader
]
}"
'';
meta = {
description = "Monitor your CPU, Memory, Disk, Network and GPU usage";
homepage = "https://gitlab.com/mission-center-devs/mission-center";
changelog = "https://gitlab.com/mission-center-devs/mission-center/-/releases/v${version}";
changelog = "https://gitlab.com/mission-center-devs/mission-center/-/releases/v${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
GaetanLepage
@@ -175,4 +193,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
mainProgram = "missioncenter";
};
}
})
+4 -4
View File
@@ -7,13 +7,13 @@
}:
rustPlatform.buildRustPackage {
pname = "nufmt";
version = "0-unstable-2025-05-23";
version = "0-unstable-2025-06-19";
src = fetchFromGitHub {
owner = "nushell";
repo = "nufmt";
rev = "62fd38af2f6536bb19ecc78a4dd0f0e1245c0939";
hash = "sha256-JG8XCXEdjVERQ9f6ZsYCLXVGN85qPWCQhS2svJYW390=";
rev = "35962223fbd4c1a924b4ccfb8c7ad81fe2863b86";
hash = "sha256-2WgqKQBZRMqUyWq0qm+d8TUT/iAQ1LZjhllBKqimp+Q=";
};
nativeBuildInputs = [
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage {
useFetchCargoVendor = true;
cargoHash = "sha256-KDXC2/1GcJL6qH+L/FzzQCA7kJigtKOfxVDLv5qXYao=";
# NOTE: Patch follows similar intention upstream https://github.com/nushell/nufmt/commit/62fd38af2f6536bb19ecc78a4dd0f0e1245c0939
# NOTE: Patch follows similar intention upstream https://github.com/nushell/nufmt/commit/35962223fbd4c1a924b4ccfb8c7ad81fe2863b86
postPatch = ''
substituteInPlace tests/main.rs --replace-fail \
'const TEST_BINARY: &str = "target/debug/nufmt";' \
+3 -3
View File
@@ -9,13 +9,13 @@
buildGoModule rec {
pname = "slackdump";
version = "3.1.4";
version = "3.1.6";
src = fetchFromGitHub {
owner = "rusq";
repo = "slackdump";
tag = "v${version}";
hash = "sha256-unJe3hTIYmQMAvyY0N1S2JiyTtOSaKaJSqE2C9LqDh0=";
hash = "sha256-MoC1uLyAyLrHLjokDfg9UPUKQZKl8MdNQpFAzaea2Gs=";
};
nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin darwin.IOKitTools;
@@ -32,7 +32,7 @@ buildGoModule rec {
"-skip=^${builtins.concatStringsSep "$|^" skippedTests}$"
];
vendorHash = "sha256-Uy/l3eZSWqVeFKFr6Sc+0h8UVzLGmRXVF6sbX6tnXWA=";
vendorHash = "sha256-+4/F3CKFRLHB9aPUFVnnPmwIxZ608qMhrMHXE3Gskx0=";
__darwinAllowLocalNetworking = true;
+2 -2
View File
@@ -31,13 +31,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "swayimg";
version = "4.2";
version = "4.3";
src = fetchFromGitHub {
owner = "artemsen";
repo = "swayimg";
tag = "v${finalAttrs.version}";
hash = "sha256-/SKzdUjCcpwKRCFiFDFuRhLq0S1Z2kK+mpTOeG/JXc0=";
hash = "sha256-0MiIJVX1GKyvoGw1+DGVE1gJq/6sJiA79L16YF4USiQ=";
};
strictDeps = true;
+3 -3
View File
@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "terragrunt";
version = "0.81.8";
version = "0.82.3";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = "terragrunt";
tag = "v${finalAttrs.version}";
hash = "sha256-+f6rHS1ljj59wmR3NJwviJEBqeS6VzoMPfal4MuoyUE=";
hash = "sha256-qDzqJRjRcK0CIn1ARL+InnPtzRIqN/AIxPLE+J9pE1k=";
};
nativeBuildInputs = [
@@ -26,7 +26,7 @@ buildGoModule (finalAttrs: {
make generate-mocks
'';
vendorHash = "sha256-A8P0wJ/EUTnAeCIFfAECTBQmSaOcED6SDbeRnnTlcJ8=";
vendorHash = "sha256-d8h/mdcqnL7wkg+ZqWt2ywSLD37Oddb8ub59XGEmSWk=";
doCheck = false;
+43
View File
@@ -0,0 +1,43 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "tldx";
version = "1.2.4";
src = fetchFromGitHub {
owner = "brandonyoungdev";
repo = "tldx";
tag = "v${finalAttrs.version}";
hash = "sha256-inX/27nzju1ns6fKF3iFmgYOd8KpI/cLX+UM8LjeOVw=";
};
vendorHash = "sha256-gNU1YcvRXOvPsniZKE+XEQ7YaJTc5qjTRgCrnNMjfXw=";
ldflags = [
"-s"
"-w"
"-X github.com/brandonyoungdev/tldx/cmd.Version=${finalAttrs.version}"
];
passthru.updateScript = nix-update-script { };
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
meta = {
license = lib.licenses.asl20;
mainProgram = "tldx";
description = "Domain availability research tool";
homepage = "https://github.com/brandonyoungdev/tldx";
changelog = "https://github.com/brandonyoungdev/tldx/blob/main/CHANGELOG.md";
maintainers = with lib.maintainers; [ sylonin ];
};
})
+9
View File
@@ -40,6 +40,15 @@ python3Packages.buildPythonApplication rec {
wxpython
];
postInstall = ''
install -Dm644 trelby/resources/trelby.desktop $out/share/applications/trelby.desktop
install -Dm644 trelby/resources/icon256.png $out/share/icons/hicolor/256x256/apps/trelby.png
substituteInPlace $out/share/applications/trelby.desktop \
--replace-fail "Icon=trelby256" "Icon=trelby"
'';
meta = {
description = "Free, multiplatform, feature-rich screenwriting program";
homepage = "www.trelby.org";
@@ -0,0 +1,32 @@
{
lib,
fetchFromGitHub,
mkYaziPlugin,
}:
mkYaziPlugin {
pname = "wl-clipboard.yazi";
version = "0-unstable-2025-05-22";
installPhase = ''
runHook preInstall
cp -r . $out
mv $out/init.lua $out/main.lua
runHook postInstall
'';
src = fetchFromGitHub {
owner = "grappas";
repo = "wl-clipboard.yazi";
rev = "c4edc4f6adf088521f11d0acf2b70610c31924f0";
hash = "sha256-jlZgN93HjfK+7H27Ifk7fs0jJaIdnOyY1wKxHz1wX2c=";
};
meta = {
description = "Wayland implementation of a simple system clipboard for yazi file manager";
homepage = "https://github.com/grappas/wl-clipboard.yazi";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.felipe-9 ];
};
}
@@ -15,13 +15,13 @@
buildPythonApplication rec {
pname = "gnome-extensions-cli";
version = "0.10.5";
version = "0.10.6";
format = "pyproject";
src = fetchPypi {
pname = "gnome_extensions_cli";
inherit version;
hash = "sha256-Rli4gsxbD84SSyx6hdPz5MKHsYw4jX7XgAkAydg0lGI=";
hash = "sha256-REsdgsHPYBms+qbOF4ogV8D/xi5fC9ogl+HOvnsXi7o=";
};
nativeBuildInputs = [
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "meraki";
version = "2.0.2";
version = "2.0.3";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "meraki";
repo = "dashboard-api-python";
tag = version;
hash = "sha256-n2iSnxdjMZvYTG/GWU4NnaoA4+A0JIhHj49j4+T10sU=";
hash = "sha256-dAy295DB213TotVkVGvLYIzzHk1M9PycMNgyX+wD7ms=";
};
pythonRelaxDeps = [
@@ -0,0 +1,61 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
deprecation,
h2,
httpx,
poetry-core,
pydantic,
pytestCheckHook,
pythonPackages,
}:
buildPythonPackage rec {
pname = "postgrest-py";
version = "1.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "supabase";
repo = "postgrest-py";
tag = "v${version}";
hash = "sha256-WTS8J8XhHPSe6N1reY3j2QYHaRY1goiVoqQCUKSgbVY=";
};
build-system = [ poetry-core ];
dependencies = [
deprecation
httpx
pydantic
];
nativeCheckInputs = [
pytestCheckHook
h2
];
# Lots of tests fail without network access
disabledTestPaths = [
"tests/_async/test_client.py"
"tests/_async/test_filter_request_builder.py"
"tests/_async/test_filter_request_builder_integration.py"
"tests/_async/test_query_request_builder.py"
"tests/_async/test_request_builder.py"
"tests/_sync/test_filter_request_builder_integration.py"
];
disabledTests = [
"test_params_purged_after_execute"
];
pythonImportsCheck = [ "postgrest" ];
meta = {
description = "PostgREST client for Python, provides an ORM interface to PostgREST";
homepage = "https://github.com/supabase/postgrest-py";
changelog = "https://github.com/supabase/postgrest-py/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jherland ];
};
}
@@ -0,0 +1,48 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
freezegun,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "property-cached";
version = "1.6.4";
pyproject = true;
src = fetchFromGitHub {
owner = "althonos";
repo = "property-cached";
tag = "v${version}";
hash = "sha256-8kityZ++1TS22Ff7a5x5bQi0QBaHsNaP4E/Man8A28A=";
};
build-system = [ setuptools ];
nativeCheckInputs = [
pytestCheckHook
freezegun
];
disabledTestPaths = [
# https://github.com/althonos/property-cached/pull/118
"tests/test_coroutine_cached_property.py"
"tests/test_async_cached_property.py"
];
disabledTests = [
# https://github.com/pydanny/cached-property/issues/131
"test_threads_ttl_expiry"
];
pythonImportsCheck = [ "property_cached" ];
meta = {
description = "Decorator for caching properties in classes";
homepage = "https://github.com/althonos/property-cached";
changelog = "https://github.com/althonos/property-cached/blob/v${version}/CHANGELOG.rst";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jherland ];
};
}
@@ -0,0 +1,41 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pykerberos,
pytestCheckHook,
six,
}:
buildPythonPackage rec {
pname = "pure-sasl";
version = "0.6.2";
src = fetchFromGitHub {
owner = "thobbs";
repo = "pure-sasl";
tag = version;
hash = "sha256-AHoZ3QZLr0JLE8+a2zkB06v2wRknxhgm/tcEPXaJX/U=";
};
postPatch = ''
substituteInPlace tests/unit/test_mechanism.py \
--replace 'from mock import patch' 'from unittest.mock import patch'
'';
pythonImportsCheck = [ "puresasl" ];
nativeCheckInputs = [
pykerberos
pytestCheckHook
six
];
meta = {
description = "Reasonably high-level SASL client written in pure Python";
homepage = "http://github.com/thobbs/pure-sasl";
changelog = "https://github.com/thobbs/pure-sasl/blob/0.6.2/CHANGES.rst";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jherland ];
};
}
@@ -1,42 +1,76 @@
{
lib,
buildPythonPackage,
capnproto,
cython_0,
replaceVars,
fetchFromGitHub,
isPy27,
isPyPy,
fetchpatch2,
setuptools,
wheel,
capnproto,
cython,
pkgconfig,
pytest-asyncio,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "pycapnp";
version = "2.0.0";
format = "setuptools";
disabled = isPyPy || isPy27;
format = "pyproject";
src = fetchFromGitHub {
owner = "capnproto";
repo = "pycapnp";
tag = "v${version}";
sha256 = "sha256-SVeBRJMMR1Z8+S+QoiUKGRFGUPS/MlmWLi1qRcGcPoE=";
hash = "sha256-SVeBRJMMR1Z8+S+QoiUKGRFGUPS/MlmWLi1qRcGcPoE=";
};
nativeBuildInputs = [
cython_0
patches = [
# pycapnp hardcodes /usr/include and /usr/local/include as the paths to search
# for capnproto's built-in schemas in; replace them with the path to our copy of
# capnproto.
#
# Theoretically, this mechanism could also be used to load capnproto schemas
# exposed by other packages (e.g. capnproto-java), which we could support using
# a setup hook; but in practice nobody seems to use this mechanism for anything
# other than the builtin schemas (based on quick GitHub code search), so I don't
# think it's worthwhile.
(replaceVars ./include-paths.patch { inherit capnproto; })
(fetchpatch2 {
name = "cython-3.patch";
url = "https://github.com/capnproto/pycapnp/pull/334.diff?full_index=1";
hash = "sha256-we7v4RaL7c1tePWl+oYfzMHAfnvnpdMkQgVu9YLwC6Y=";
})
];
build-system = [
setuptools
wheel
cython
pkgconfig
];
buildInputs = [ capnproto ];
# Tests depend on schema_capnp which fails to generate
doCheck = false;
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];
__darwinAllowLocalNetworking = true;
# https://github.com/NixOS/nixpkgs/issues/255262
preCheck = ''
enabledTestPaths=$PWD/test
pushd "$out"
'';
postCheck = ''
popd
'';
pythonImportsCheck = [ "capnp" ];
meta = with lib; {
meta = {
description = "Cython wrapping of the C++ Cap'n Proto library";
homepage = "https://capnproto.github.io/pycapnp/";
maintainers = [ ];
license = licenses.bsd2;
changelog = "https://github.com/capnproto/pycapnp/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ Liamolucko ];
};
}
@@ -0,0 +1,14 @@
--- a/capnp/lib/capnp.pyx
+++ b/capnp/lib/capnp.pyx
@@ -4410,10 +4410,7 @@ def load(file_name, display_name=None, imports=[]):
# Automatically include the system and built-in capnp paths
# Highest priority at position 0
_capnp_paths = [
- # Common macOS brew location
- '/usr/local/include',
- # Common posix location
- '/usr/include',
+ '@capnproto@/include',
]
class _Loader:
@@ -5,29 +5,27 @@
poetry-core,
pytestCheckHook,
pythonOlder,
setuptools,
types-setuptools,
packaging,
}:
buildPythonPackage rec {
pname = "requirements-parser";
version = "0.11.0";
version = "0.13.0";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "madpah";
repo = "requirements-parser";
tag = "v${version}";
hash = "sha256-o9IriQXa2Pd7s16IENqcWgi73XZQoXsbXU471V1CFaI=";
hash = "sha256-AwsLcHjPfP+cYpKCQVgIcyzUhnqeIBJ92QLR48E6EtI=";
};
build-system = [ poetry-core ];
dependencies = [
setuptools
types-setuptools
packaging
];
nativeCheckInputs = [ pytestCheckHook ];
@@ -37,7 +35,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Pip requirements file parser";
homepage = "https://github.com/davidfischer/requirements-parser";
changelog = "https://github.com/madpah/requirements-parser/blob/v${version}/CHANGELOG.md";
changelog = "https://github.com/madpah/requirements-parser/blob/${src.tag}/CHANGELOG.md";
license = licenses.bsd2;
maintainers = [ ];
};
+6
View File
@@ -11703,6 +11703,8 @@ self: super: with self; {
posix-ipc = callPackage ../development/python-modules/posix-ipc { };
postgrest-py = callPackage ../development/python-modules/postgrest-py { };
posthog = callPackage ../development/python-modules/posthog { };
pot = callPackage ../development/python-modules/pot { };
@@ -11833,6 +11835,8 @@ self: super: with self; {
propcache = callPackage ../development/python-modules/propcache { };
property-cached = callPackage ../development/python-modules/property-cached { };
property-manager = callPackage ../development/python-modules/property-manager { };
prophet = callPackage ../development/python-modules/prophet { };
@@ -11995,6 +11999,8 @@ self: super: with self; {
callPackage ../development/python-modules/pure-python-adb-homeassistant
{ };
pure-sasl = callPackage ../development/python-modules/pure-sasl { };
puremagic = callPackage ../development/python-modules/puremagic { };
purepng = callPackage ../development/python-modules/purepng { };