Merge staging-next into staging

This commit is contained in:
github-actions[bot]
2024-06-16 06:01:20 +00:00
committed by GitHub
28 changed files with 3865 additions and 176 deletions
+6
View File
@@ -13933,6 +13933,12 @@
githubId = 7831184;
name = "John Mercier";
};
modderme123 = {
email = "modderme123@gmail.com";
github = "modderme123";
githubId = 14153763;
name = "modderme123";
};
modulistic = {
email = "modulistic@gmail.com";
github = "modulistic";
@@ -19,7 +19,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "komikku";
version = "1.47.0";
version = "1.48.1";
format = "other";
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "valos";
repo = "Komikku";
rev = "v${version}";
hash = "sha256-ZYQjH3NUPeq5XgCZ6L78lJpgbK69ZMf2AzztbCgbYBo=";
hash = "sha256-U4MmVK75tPYJStJ0RRjfbzSbpGLJ07rJg6ClHI+tAfM=";
};
nativeBuildInputs = [
@@ -62,6 +62,7 @@ python3.pkgs.buildPythonApplication rec {
natsort
piexif
pillow
pillow-heif
curl-cffi
pygobject3
python-magic
@@ -1,11 +1,11 @@
{
stable = {
chromedriver = {
hash_darwin = "sha256-a1gUAyNx0gKNZRKpQrsG3neKIy+xPquKUrzmcVbfQ54=";
hash_darwin = "sha256-OvRkO/mBXOk3IqZtvjKzOsBPBaZzq+YOb//SsXtgB9k=";
hash_darwin_aarch64 =
"sha256-8OzxncQs/pXIo7dVLCgOlyO5jjTKRdTMoMaQsAiJeO8=";
hash_linux = "sha256-lpYxCCjPacqZKiRMQrKdEaZJ8DO3jpbUK/6/j1i95a8=";
version = "126.0.6478.55";
"sha256-ODR4fFW24yh4vIGcWjBVH+mfK+LECU/LXlWVq+NBNlI=";
hash_linux = "sha256-7vWid5i9bOyuGL2v9kdzv2yW2ZqWNNZDQScSDriaxxM=";
version = "126.0.6478.61";
};
deps = {
gn = {
@@ -15,8 +15,8 @@
version = "2024-05-13";
};
};
hash = "sha256-nXRzISkU37TIgV8rjO0qgnhq8uM37M6IpMoGHdsOGIM=";
version = "126.0.6478.55";
hash = "sha256-cB2jrasrtaFWM8tpG9leuC+jUAvoU8g5977cn4r7rbw=";
version = "126.0.6478.61";
};
ungoogled-chromium = {
deps = {
+34
View File
@@ -0,0 +1,34 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "batmon";
version = "0.0.1";
src = fetchFromGitHub {
owner = "6543";
repo = "batmon";
rev = "refs/tags/v${version}";
hash = "sha256-+kjDNQKlaoI5fQ5FqYF6IPCKeE92WKxIhVCKafqfE0o=";
};
cargoSha256 = "sha256-DJpWBset6SW7Ahg60+Tu1VpH34LcVOyrEs9suKyTE9g=";
meta = with lib; {
description = "Interactive batteries viewer";
longDescription = ''
An interactive viewer, similar to top, htop and other *top utilities,
but about the batteries installed in your notebook.
'';
homepage = "https://github.com/6543/batmon/";
changelog = "https://github.com/6543/batmon/releases/tag/v${version}";
license = licenses.asl20;
mainProgram = "batmon";
platforms = with platforms; unix ++ windows;
broken = stdenv.isDarwin && stdenv.isAarch64;
maintainers = with maintainers; [ _6543 ];
};
}
+4 -4
View File
@@ -1,13 +1,13 @@
{ lib, buildNpmPackage, fetchFromGitHub, runCommand, jq }:
let
version = "1.1.366";
version = "1.1.367";
src = fetchFromGitHub {
owner = "Microsoft";
repo = "pyright";
rev = "${version}";
hash = "sha256-xs93PnDTtDsdi9YeZk0nyinCs4+eJJNFg7NagHF15rI=";
hash = "sha256-ILhY6O5B38P5PYdCK1DeuvQzTU5SbhL3F4X0KFne9UM=";
};
patchedPackageJSON = runCommand "package.json" { } ''
@@ -37,7 +37,7 @@ let
pname = "pyright-internal";
inherit version src;
sourceRoot = "${src.name}/packages/pyright-internal";
npmDepsHash = "sha256-jGLzsrf5RuqfyI3BJpmVsqijxtNlFexsub0186cUR+8=";
npmDepsHash = "sha256-MskvUwzlREmTR8qmLlWGxNWVlveIIyHhihigkQ+5seY=";
dontNpmBuild = true;
installPhase = ''
runHook preInstall
@@ -51,7 +51,7 @@ buildNpmPackage rec {
inherit version src;
sourceRoot = "${src.name}/packages/pyright";
npmDepsHash = "sha256-8d3gRx93wfusvI3mov2B0jJuG+WpVaL8b+jdFzmqA3w=";
npmDepsHash = "sha256-kpqV81iafKWROtdPxLZqi6YVT0WJf82salTFl46Iu24=";
postPatch = ''
chmod +w ../../
File diff suppressed because it is too large Load Diff
+34
View File
@@ -0,0 +1,34 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
}:
buildNpmPackage rec {
pname = "spoof";
version = "2.0.4";
src = fetchFromGitHub {
owner = "feross";
repo = "spoof";
rev = "v${version}";
hash = "sha256-oysURKLQ/rbGAvsy3K0OmDRHUqRKa8S8l5ihBjNqYXc=";
};
npmDepsHash = "sha256-jf0tcsftXoYy6K3PcXgSU+3PAb6Ux9BsVpOX79TI4/o=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
'';
npmFlags = [ "--ignore-scripts" ];
dontNpmBuild = true;
meta = {
description = "Easily spoof your MAC address in OS X & Linux";
homepage = "https://github.com/feross/spoof";
license = lib.licenses.mit;
mainProgram = "spoof";
maintainers = with lib.maintainers; [ modderme123 ];
};
}
+3 -3
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "uxn";
version = "1.0-unstable-2024-06-05";
version = "1.0-unstable-2024-06-14";
src = fetchFromSourcehut {
owner = "~rabbits";
repo = "uxn";
rev = "598846a1b820b398e820d53c060a360d5ead9e18";
hash = "sha256-6VaWFf3hXZ7hj7DbO+abyyDnNIpKo+9SDzJjBgmrhXc=";
rev = "07112d8f264ecb423a9cadf403c224a8a0eac3cb";
hash = "sha256-AMqMeiJsRsoZKOEZVLojgeaaUiyulacwiNFIKUCwhFk=";
};
outputs = [ "out" "projects" ];
+12 -5
View File
@@ -1,19 +1,26 @@
{ lib, buildGoModule, fetchFromGitHub }:
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "zfind";
version = "0.4.0";
version = "0.4.3";
src = fetchFromGitHub {
owner = "laktak";
repo = "zfind";
rev = "v${version}";
hash = "sha256-T0cTEjjF9GTe+knixsgnbNfACUvbx92PUbLE+wgZ7sk=";
hash = "sha256-Nc7C0aauv/SChChAtyA089y6qTuaC9ClVz/u5QgJLPk=";
};
vendorHash = "sha256-mmoJrqWRmJTAR2wkAB52mpYEEj3XD+jHvlVrw51vqys=";
vendorHash = "sha256-WF5jeTeTK99MRNrIW80jYuyH60Rc/EVBW6owUCIyosE=";
ldflags = [ "-X" "main.appVersion=${version}" ];
ldflags = [
"-X"
"main.appVersion=${version}"
];
meta = with lib; {
description = "CLI for file search with SQL like syntax.";
+43
View File
@@ -0,0 +1,43 @@
{
stdenvNoCC,
lib,
fetchzip,
}:
stdenvNoCC.mkDerivation rec {
pname = "catamaran";
version = "0-unstable-2024-03-02";
src = fetchzip {
url = "https://www.1001fonts.com/download/catamaran.zip";
stripRoot = false;
hash = "sha256-9s11lZSS4pYJZwl8Uk7qtdwfZ2bkoZkSIf1MkQlv7H4=";
};
stripRoot = false;
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/truetype
mv *.ttf $out/share/fonts/truetype/
runHook postInstall
'';
meta = with lib; {
homepage = "https://fonts.google.com/specimen/Catamaran";
description = "A stylish sans-serif Tamil and Latin typeface";
longDescription = ''
Catamaran is a Unicode-compliant Latin and Tamil text type family designed for the digital age.
The Tamil is monolinear and was designed alongside the sans serif Latin and Devanagari family Palanquin.
It currently comprises of 9 text weights, making it a versatile family that strikes a balance between typographic conventions and that bit of sparkle.
(A catamaran is a multihulled vessel consisting of two parallel hulls of equal size.
The catamaran concept is a relative newcomer for Western boat designers, been used since time immemorial among the Dravidian people, in South India.)
'';
license = licenses.ofl;
platforms = platforms.all;
maintainers = with maintainers; [wyred50];
};
}
@@ -41,9 +41,9 @@ buildGoModule rec {
];
postPatch = ''
sed -i 's|iniparser/||' */*.c
sed -i '1i#include <stdlib.h>\n#include <string.h>' tool/pwd_conf_update.c
substituteInPlace misc/{pkgconfig/libdeepin_pw_check.pc,system-services/org.deepin.dde.PasswdConf1.service} \
--replace "/usr" "$out"
--replace-fail "/usr" "$out"
'';
buildPhase = ''
+2 -10
View File
@@ -32,12 +32,12 @@
}:
let
version = "3.1.0";
version = "3.1.2";
src = fetchFromGitHub {
owner = "koka-lang";
repo = "koka";
rev = "v${version}";
sha256 = "sha256-Twm2Hr8BQ0xTdA30e2Az/57525jTUkmv2Zs/+SNiQns=";
sha256 = "sha256-BNkMtYf5maWtKEZzob+218ke1SIkrP7/nboQ2sZKkxI=";
fetchSubmodules = true;
};
kklib = stdenv.mkDerivation {
@@ -65,14 +65,6 @@ mkDerivation rec {
isLibrary = false;
isExecutable = true;
libraryToolDepends = [ hpack ];
patches = [
(fetchpatch {
name = "koka-stackage-22.patch";
url = "https://github.com/koka-lang/koka/commit/95f9b360544996e06d4bb33321a83a6b9605d092.patch";
sha256 = "1a1sv1r393wkhsnj56awsi8mqxakqdy86p7dg9i9xfv13q2g4h6x";
includes = [ "src/**" ];
})
];
executableHaskellDepends = [
aeson
array
@@ -1,51 +1,79 @@
{ lib, stdenv, fetchFromGitHub }:
{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, fetchFromGitHub
, substituteAll
, symlinkJoin
, cmake
, doxygen
, ruby
, validatePkgConfig
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "iniparser";
version = "4.1";
version = "4.2.3";
src = fetchFromGitHub {
owner = "ndevilla";
src = fetchFromGitLab {
owner = "iniparser";
repo = "iniparser";
rev = "v${version}";
sha256 = "0dhab6pad6wh816lr7r3jb6z273njlgw2vpw8kcfnmi7ijaqhnr5";
rev = "v${finalAttrs.version}";
hash = "sha256-rCp9whYPYmVd7saVFILmpdn041u6fYGqe1/Oqc7RaeA=";
};
patches = ./no-usr.patch;
patches = [
(fetchpatch {
name = "fix-paths-pkgconfig-file.patch";
url = "https://gitlab.com/iniparser/iniparser/-/commit/6a76cd5e97b32014b22d87039bf6f4ee425c79a2.patch";
hash = "sha256-KlTxeOzwBZiLNmuwbbem5c/xspxsflyYfeUaQnGyarI=";
})
] ++ lib.optionals finalAttrs.doCheck [
(substituteAll {
# Do not let cmake's fetchContent download unity
src = ./remove-fetchcontent-usage.patch;
unitySrc = symlinkJoin {
name = "unity-with-iniparser-config";
paths = [
(fetchFromGitHub {
owner = "throwtheswitch";
repo = "unity";
rev = "v2.6.0";
hash = "sha256-SCcUGNN/UJlu3ALJiZ9bQKxYRZey3cm9QG+NOehp6Ow=";
})
];
postBuild = ''
ln -s ${finalAttrs.src}/test/unity_config.h $out/src/unity_config.h
'';
};
})
];
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace Makefile \
--replace -Wl,-soname= -Wl,-install_name,
nativeBuildInputs = [ cmake doxygen validatePkgConfig ] ++ lib.optionals finalAttrs.doCheck [ ruby ];
cmakeFlags = [
"-DBUILD_TESTING=${if finalAttrs.doCheck then "ON" else "OFF"}"
];
doCheck = false;
postFixup = ''
ln -sv $out/include/iniparser/*.h $out/include/
'';
doCheck = true;
preCheck = "patchShebangs test/make-tests.sh";
installPhase = ''
mkdir -p $out/lib
mkdir -p $out/include
cp src/*.h $out/include
mkdir -p $out/share/doc/${pname}-${version}
for i in AUTHORS INSTALL LICENSE README.md; do
bzip2 -c -9 $i > $out/share/doc/${pname}-${version}/$i.bz2;
done;
cp -r html $out/share/doc/${pname}-${version}
cp libiniparser.a $out/lib
cp libiniparser.so.1 $out/lib
ln -s libiniparser.so.1 $out/lib/libiniparser.so
mkdir -p $out/lib/pkgconfig
substituteAll ${./iniparser.pc.in} $out/lib/pkgconfig/iniparser.pc
'';
passthru.tests = {
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
iniparser-with-tests = finalAttrs.overrideAttrs (_: { doCheck = true; });
};
meta = with lib; {
inherit (src.meta) homepage;
homepage = "https://gitlab.com/iniparser/iniparser";
description = "Free standalone ini file parsing library";
changelog = "https://gitlab.com/iniparser/iniparser/-/releases/v${finalAttrs.version}";
license = licenses.mit;
platforms = platforms.unix;
pkgConfigModules = [ "iniparser" ];
maintainers = [ maintainers.primeos ];
};
}
})
@@ -1,12 +0,0 @@
prefix=@out@
exec_prefix=@out@
libdir=${exec_prefix}/lib
includedir=${prefix}/include
datarootdir=${prefix}/share
datadir=${datarootdir}
Name: libiniparser
Description: Iniparser library
Version: @version@
Libs: -L${libdir} -liniparser
Cflags: -I${includedir}
@@ -1,13 +0,0 @@
--- a/Makefile 2017-10-20 20:30:41.494608284 +0200
+++ b/Makefile 2017-10-20 20:33:22.279212026 +0200
@@ -20,8 +20,8 @@
ARFLAGS = rcv
SHLD = ${CC} ${CFLAGS}
-LDSHFLAGS = -shared -Wl,-Bsymbolic
-LDFLAGS += -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib
+LDSHFLAGS = -shared
+LDFLAGS =
# .so.0 is for version 3.x, .so.1 is 4.x
SO_TARGET ?= libiniparser.so.1
@@ -0,0 +1,17 @@
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index b28d151..33a6bcf 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -28,10 +28,8 @@ set(FETCHCONTENT_QUIET OFF)
FetchContent_Declare(
unity
- GIT_REPOSITORY "https://github.com/throwtheswitch/unity.git"
- GIT_PROGRESS TRUE
- PATCH_COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_LIST_DIR}/unity_config.h ./src/)
+ SOURCE_DIR @unitySrc@
+)
FetchContent_MakeAvailable(unity)
target_compile_definitions(unity PUBLIC UNITY_INCLUDE_CONFIG_H)
@@ -9,13 +9,13 @@
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
stdenv.mkDerivation (finalAttrs: {
pname = "oneDNN";
version = "3.4.1";
version = "3.4.3";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "oneDNN";
rev = "v${finalAttrs.version}";
hash = "sha256-6iPcytsRWvDn2hg5tkSG6A3cv/aOhmEVd5rS2uOKCPk=";
hash = "sha256-Ak49oFZkWNVjt98KXKqBGwKh7nz13/FO5riY7MIDR8g=";
};
outputs = [ "out" "dev" "doc" ];
@@ -13,15 +13,15 @@
buildPythonPackage rec {
pname = "buienradar";
version = "1.0.5";
version = "1.0.6";
format = "setuptools";
src = fetchFromGitHub {
owner = "mjj4791";
repo = "python-buienradar";
# https://github.com/mjj4791/python-buienradar/issues/14
rev = "caa66ea855dbcc7cf6ee13291d9b2ed7ac01ef98";
hash = "sha256:0xz03xj5qjayriaah20adh0ycvlvb8jdvgh7w5gm236n64g6krj0";
rev = "6081a860e190eb59c2ea3ebdcb8a50f6133a0b53";
hash = "sha256-5bFGPR8StyQTMRcvECdHGC33oAR/9noeCbpwx3DSquQ=";
};
propagatedBuildInputs = [
@@ -9,12 +9,12 @@
buildPythonPackage rec {
pname = "hepunits";
version = "2.3.3";
version = "2.3.4";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-Z9fMd81U1ytpwmpo5e+teEK29o+ovGJ7uQ5BF3q+aUU=";
hash = "sha256-qEK4hqZ7oFY6NHFVJ3z9yPtnAggjNmG8urnyip34zWA=";
};
nativeBuildInputs = [
+7 -15
View File
@@ -3,33 +3,25 @@
python3, pam, popt, talloc, tdb, tevent, pkg-config, ldb, openldap,
pcre2, libkrb5, cifs-utils, glib, keyutils, dbus, fakeroot, libxslt, libxml2,
libuuid, systemd, nspr, check, cmocka, uid_wrapper, p11-kit,
nss_wrapper, ncurses, Po4a, http-parser, jansson, jose,
docbook_xsl, docbook_xml_dtd_44,
testers, nix-update-script, nixosTests, fetchpatch,
nss_wrapper, ncurses, Po4a, jansson, jose,
docbook_xsl, docbook_xml_dtd_45,
testers, nix-update-script, nixosTests,
withSudo ? false }:
let
docbookFiles = "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml:${docbook_xml_dtd_44}/xml/dtd/docbook/catalog.xml";
docbookFiles = "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml:${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
in
stdenv.mkDerivation (finalAttrs: {
pname = "sssd";
version = "2.9.4";
version = "2.9.5";
src = fetchFromGitHub {
owner = "SSSD";
repo = "sssd";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-VJXZndbmC6mAVxzvv5Wjb4adrQkP16Rt4cgjl4qGDIc=";
hash = "sha256-wr6qFgM5XN3aizYVquj0xF+mVRgrkLWWhA3/gQOK8hQ=";
};
patches = [
# Fix the build with Samba 4.20
(fetchpatch {
url = "https://github.com/SSSD/sssd/commit/1bf51929a48b84d62ac54f2a42f17e7fbffe1612.patch";
hash = "sha256-VLx04APEipp860iOJNIwTGywxZ7rIDdyh3te6m7Ymlo=";
})
];
postPatch = ''
patchShebangs ./sbus_generate.sh.in
'';
@@ -74,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
talloc tdb tevent ldb pam openldap pcre2 libkrb5
cifs-utils glib keyutils dbus fakeroot libxslt libxml2
libuuid python3.pkgs.python-ldap systemd nspr check cmocka uid_wrapper
nss_wrapper ncurses Po4a http-parser jansson jose ];
nss_wrapper ncurses Po4a jansson jose ];
makeFlags = [
"SGML_CATALOG_FILES=${docbookFiles}"
+5
View File
@@ -18,6 +18,11 @@ buildGoModule rec {
vendorHash = "sha256-IOkbbFtE6+tNKnglE/8ZuNxhPSnloqM2sLgTvagMmnc=";
patches = [
# backport of https://github.com/juanfont/headscale/pull/1697
./trim-oidc-secret-path.patch
];
ldflags = ["-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}"];
nativeBuildInputs = [installShellFiles];
@@ -0,0 +1,13 @@
diff --git a/hscontrol/config.go b/hscontrol/config.go
index 0e83a1c..71fbfb0 100644
--- a/hscontrol/config.go
+++ b/hscontrol/config.go
@@ -573,7 +573,7 @@ func GetHeadscaleConfig() (*Config, error) {
if err != nil {
return nil, err
}
- oidcClientSecret = string(secretBytes)
+ oidcClientSecret = strings.TrimSpace(string(secretBytes))
}
return &Config{
@@ -2,7 +2,7 @@
# Do not edit!
{
version = "2024.6.2";
version = "2024.6.3";
components = {
"3_day_blinds" = ps: with ps; [
];
+3 -3
View File
@@ -532,7 +532,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run update-component-packages.py after updating
hassVersion = "2024.6.2";
hassVersion = "2024.6.3";
in python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
@@ -550,13 +550,13 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = "refs/tags/${version}";
hash = "sha256-o37/Vfs9+0pxihfaInB6f8DI1uExbBcQse2841v6+Ec=";
hash = "sha256-hpKfdcTc9vddA/1EsfugDIKUPe0g3fPQnmwHLSEIF9w=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-eGlPcB5U6yJZd/771xzqKKY7REnCsniDypGndlsGo/E=";
hash = "sha256-lhTVAYwtYf7UzplAIHTWqgd0P7V93gjNbBUlMd3i3oQ=";
};
build-system = with python.pkgs; [
+2 -2
View File
@@ -4,7 +4,7 @@ buildPythonPackage rec {
# the frontend version corresponding to a specific home-assistant version can be found here
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
pname = "home-assistant-frontend";
version = "20240610.0";
version = "20240610.1";
format = "wheel";
src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-k4zUo439nfB71LVhv3Mfhj5mRD4Oduas+NHEyAqYBa4=";
hash = "sha256-6XSDKPL+rbtP/jGYbvzc5cakEZC94sDetmPuM7TQQ64=";
};
# there is nothing to strip in this package
@@ -21,13 +21,13 @@ in
buildGoModule rec {
pname = "evcc";
version = "0.127.0";
version = "0.127.1";
src = fetchFromGitHub {
owner = "evcc-io";
repo = "evcc";
rev = version;
hash = "sha256-Kvpi9HE7dr3StLEihJDF5z1fQELsOv0/5jLLmEEtOJ8=";
hash = "sha256-wyx0/exXi+LWC3w4VZa9AWpenSHkqn7R91HnTxO68HY=";
};
vendorHash = "sha256-MdfLJpPEi6Cr34W6eJSraKJwBPtR66HM2tJIbPE9mZs=";
+7
View File
@@ -64,6 +64,13 @@ stdenv.mkDerivation rec {
url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/8cb1c21a4240a5b6bf4aeeef51819639b4e0ad24.patch";
hash = "sha256-MZPP9QgYO4RFJ/vcjkpu7SVSo5Dh09ZdZjOwTopjdYQ=";
})
# Backport fix for segfault when linux-dmabuf device is not accessible
# FIXME: remove when merged
# Upstream PR: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1565
(fetchpatch {
url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/7605833315c05488eca30ed0a70a2a1430e89bbc.patch";
hash = "sha256-4/A6aOiOGouPe2v4wIYDQY9rWkuNZJwk0h4gpfrl6hI=";
})
];
depsBuildBuild = [
+117 -54
View File
@@ -1,23 +1,27 @@
{ stdenv
, lib
, fetchurl
, fetchpatch
, pkg-config
, autoreconfHook
, wrapGAppsHook3
, libgpg-error
, libassuan
, libsForQt5
, ncurses
, gtk2
, gcr
, withLibsecret ? true
, libsecret
{
stdenv,
lib,
fetchurl,
fetchpatch,
pkg-config,
autoreconfHook,
wrapGAppsHook3,
libgpg-error,
libassuan,
libsForQt5,
qt6,
ncurses,
gtk2,
gcr,
withLibsecret ? true,
libsecret,
}:
let
flavorInfo = {
tty = { flag = "tty"; };
tty = {
flag = "tty";
};
curses = {
flag = "curses";
buildInputs = [ ncurses ];
@@ -31,52 +35,70 @@ let
buildInputs = [ gcr ];
nativeBuildInputs = [ wrapGAppsHook3 ];
};
qt = {
flag = "qt";
buildInputs = [ libsForQt5.qtbase ];
qt5 = {
flag = "qt5";
buildInputs = [
libsForQt5.qtbase
libsForQt5.kwayland
libsForQt5.qtx11extras
];
nativeBuildInputs = [ libsForQt5.wrapQtAppsHook ];
};
emacs = { flag = "emacs"; };
qt = {
flag = "qt";
buildInputs = [
qt6.qtbase
qt6.qtwayland
];
nativeBuildInputs = [ qt6.wrapQtAppsHook ];
};
emacs = {
flag = "emacs";
};
};
buildPinentry = pinentryExtraPname: buildFlavors:
buildPinentry =
pinentryExtraPname: buildFlavors:
let
enableFeaturePinentry = f:
lib.enableFeature (lib.elem f buildFlavors) ("pinentry-" + flavorInfo.${f}.flag);
enableFeaturePinentry =
f: lib.enableFeature (lib.elem f buildFlavors) ("pinentry-" + flavorInfo.${f}.flag);
pinentryMkDerivation =
if (lib.elem "qt" buildFlavors)
then libsForQt5.mkDerivation
else stdenv.mkDerivation;
if (lib.elem "qt5" buildFlavors) then libsForQt5.mkDerivation else stdenv.mkDerivation;
in
pinentryMkDerivation rec {
pname = "pinentry-${pinentryExtraPname}";
version = "1.2.1";
version = "1.3.0";
src = fetchurl {
url = "mirror://gnupg/pinentry/pinentry-${version}.tar.bz2";
hash = "sha256-RXoYXlqFI4+5RalV3GNSq5YtyLSHILYvyfpIx1QKQGc=";
hash = "sha256-mzzVIm51l/L97TmaO8ZZkjNRU2VZ6dsIJpgbyjFklN4=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ]
++ lib.concatMap (f: flavorInfo.${f}.nativeBuildInputs or [ ]) buildFlavors;
nativeBuildInputs = [
pkg-config
autoreconfHook
] ++ lib.concatMap (f: flavorInfo.${f}.nativeBuildInputs or [ ]) buildFlavors;
buildInputs = [ libgpg-error libassuan ]
buildInputs =
[
libgpg-error
libassuan
]
++ lib.optional withLibsecret libsecret
++ lib.concatMap (f: flavorInfo.${f}.buildInputs or [ ]) buildFlavors;
dontWrapGApps = true;
dontWrapQtApps = true;
patches = [
./autoconf-ar.patch
] ++ lib.optionals (lib.elem "gtk2" buildFlavors) [
(fetchpatch {
url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd";
})
];
patches =
[ ./autoconf-ar.patch ]
++ lib.optionals (lib.elem "gtk2" buildFlavors) [
(fetchpatch {
url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd";
})
];
configureFlags = [
"--with-libgpg-error-prefix=${libgpg-error.dev}"
@@ -87,35 +109,76 @@ let
postInstall =
lib.optionalString (lib.elem "gnome3" buildFlavors) ''
wrapGApp $out/bin/pinentry-gnome3
'' + lib.optionalString (lib.elem "qt" buildFlavors) ''
''
+ lib.optionalString (lib.elem "qt5" buildFlavors) ''
wrapQtApp $out/bin/pinentry-qt5
ln -sf $out/bin/pinentry-qt5 $out/bin/pinentry-qt
''
+ lib.optionalString (lib.elem "qt" buildFlavors) ''
wrapQtApp $out/bin/pinentry-qt
'';
passthru = { flavors = buildFlavors; };
passthru = {
flavors = buildFlavors;
};
meta = with lib; {
meta = {
homepage = "https://gnupg.org/software/pinentry/index.html";
description = "GnuPGs interface to passphrase input";
license = licenses.gpl2Plus;
license = lib.licenses.gpl2Plus;
platforms =
if elem "gnome3" buildFlavors then platforms.linux else
if elem "qt" buildFlavors then (remove "aarch64-darwin" platforms.all) else
platforms.all;
if lib.elem "gnome3" buildFlavors then
lib.platforms.linux
else if (lib.elem "qt5" buildFlavors || lib.elem "qt" buildFlavors) then
(lib.remove "aarch64-darwin" lib.platforms.all)
else
lib.platforms.all;
longDescription = ''
Pinentry provides a console and (optional) GTK and Qt GUIs allowing users
to enter a passphrase when `gpg` or `gpg2` is run and needs it.
'';
maintainers = with maintainers; [ fpletz ];
maintainers = with lib.maintainers; [ fpletz ];
mainProgram = "pinentry";
};
};
in
{
pinentry-curses = buildPinentry "curses" [ "curses" "tty" ];
pinentry-emacs = buildPinentry "emacs" [ "emacs" "curses" "tty" ];
pinentry-gnome3 = buildPinentry "gnome3" [ "gnome3" "curses" "tty" ];
pinentry-gtk2 = buildPinentry "gtk2" [ "gtk2" "curses" "tty" ];
pinentry-qt = buildPinentry "qt" [ "qt" "curses" "tty" ];
pinentry-curses = buildPinentry "curses" [
"curses"
"tty"
];
pinentry-emacs = buildPinentry "emacs" [
"emacs"
"curses"
"tty"
];
pinentry-gnome3 = buildPinentry "gnome3" [
"gnome3"
"curses"
"tty"
];
pinentry-gtk2 = buildPinentry "gtk2" [
"gtk2"
"curses"
"tty"
];
pinentry-qt5 = buildPinentry "qt5" [
"qt5"
"curses"
"tty"
];
pinentry-qt = buildPinentry "qt" [
"qt"
"curses"
"tty"
];
pinentry-tty = buildPinentry "tty" [ "tty" ];
pinentry-all = buildPinentry "all" [ "curses" "tty" "gtk2" "gnome3" "qt" "emacs" ];
pinentry-all = buildPinentry "all" [
"curses"
"tty"
"gtk2"
"gnome3"
"qt"
"emacs"
];
}