push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
diff -ur a/configure.ac b/configure.ac
--- a/configure.ac 2019-09-14 11:30:11.584847746 +0000
+++ b/configure.ac 2019-09-14 11:31:26.692355265 +0000
@@ -81,6 +81,7 @@
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_RANLIB
+AC_CHECK_TOOL(AR, ar)
# We need to check for cplusplus here because we may not do the test
# for Qt and autoconf does does not allow that.
AC_PROG_CXX
diff -ur a/pinentry/Makefile.in b/pinentry/Makefile.in
--- a/pinentry/Makefile.in 2017-12-03 17:43:23.000000000 +0000
+++ b/pinentry/Makefile.in 2019-09-14 11:32:02.532000236 +0000
@@ -113,7 +113,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-AR = ar
+AR = @AR@
ARFLAGS = cru
AM_V_AR = $(am__v_AR_@AM_V@)
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
diff -ur a/secmem/Makefile.in b/secmem/Makefile.in
--- a/secmem/Makefile.in 2017-12-03 17:43:23.000000000 +0000
+++ b/secmem/Makefile.in 2019-09-14 11:31:58.764934552 +0000
@@ -113,7 +113,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-AR = ar
+AR = @AR@
ARFLAGS = cru
AM_V_AR = $(am__v_AR_@AM_V@)
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)

View File

@@ -0,0 +1,186 @@
{
stdenv,
lib,
fetchurl,
fetchpatch,
pkg-config,
autoreconfHook,
wrapGAppsHook3,
kdePackages,
libgpg-error,
libassuan,
libsForQt5,
qt6,
ncurses,
gtk2,
gcr,
withLibsecret ? true,
libsecret,
}:
let
flavorInfo = {
tty = {
flag = "tty";
};
curses = {
flag = "curses";
buildInputs = [ ncurses ];
};
gtk2 = {
flag = "gtk2";
buildInputs = [ gtk2 ];
};
gnome3 = {
flag = "gnome3";
buildInputs = [ gcr ];
nativeBuildInputs = [ wrapGAppsHook3 ];
};
qt5 = {
flag = "qt5";
buildInputs = [
libsForQt5.qtbase
libsForQt5.kwayland
libsForQt5.qtx11extras
];
nativeBuildInputs = [ libsForQt5.wrapQtAppsHook ];
};
qt = {
flag = "qt";
buildInputs = [
qt6.qtbase
qt6.qtwayland
kdePackages.kguiaddons
];
nativeBuildInputs = [ qt6.wrapQtAppsHook ];
};
emacs = {
flag = "emacs";
};
};
buildPinentry =
pinentryExtraPname: buildFlavors:
let
enableFeaturePinentry =
f: lib.enableFeature (lib.elem f buildFlavors) ("pinentry-" + flavorInfo.${f}.flag);
in
stdenv.mkDerivation rec {
pname = "pinentry-${pinentryExtraPname}";
version = "1.3.2";
src = fetchurl {
url = "mirror://gnupg/pinentry/pinentry-${version}.tar.bz2";
hash = "sha256-jphu2IVhtNpunv4MVPpMqJIwNcmSZN8LBGRJfF+5Tp4=";
};
nativeBuildInputs = [
pkg-config
autoreconfHook
]
++ lib.concatMap (f: flavorInfo.${f}.nativeBuildInputs or [ ]) buildFlavors;
buildInputs = [
libgpg-error
libassuan
]
++ lib.optional withLibsecret libsecret
++ lib.concatMap (f: flavorInfo.${f}.buildInputs or [ ]) buildFlavors;
dontWrapGApps = true;
dontWrapQtApps = true;
patches = [
./autoconf-ar.patch
./gettext-0.25.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}"
"--with-libassuan-prefix=${libassuan.dev}"
(lib.enableFeature withLibsecret "libsecret")
]
++ (map enableFeaturePinentry (lib.attrNames flavorInfo));
postInstall =
lib.optionalString (lib.elem "gnome3" buildFlavors) ''
wrapGApp $out/bin/pinentry-gnome3
''
+ 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;
};
meta = {
homepage = "https://gnupg.org/software/pinentry/index.html";
description = "GnuPGs interface to passphrase input";
license = lib.licenses.gpl2Plus;
platforms =
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 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-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"
];
}

View File

@@ -0,0 +1,21 @@
diff --git a/macosx/copyInfoPlist.sh b/macosx/copyInfoPlist.sh
index f366665153..dfd9511e79 100755
--- a/macosx/copyInfoPlist.sh
+++ b/macosx/copyInfoPlist.sh
@@ -20,9 +20,10 @@
cp "$1" "$dest" || exit 1
-/usr/libexec/PlistBuddy \
- -c "Set CommitHash '${COMMIT_HASH:--}'" \
- -c "Set BuildNumber '${BUILD_NUMBER:-0}'" \
- -c "Set CFBundleVersion '${BUILD_VERSION:-0n}'" \
- -c "Set CFBundleShortVersionString '$VERSION'" \
- "$dest" || exit 1
+PlistBuddy "$dest" <<EOF || exit 1
+ Set CommitHash "${COMMIT_HASH:--}"
+ Set BuildNumber "${BUILD_NUMBER:-0}"
+ Set CFBundleVersion "${BUILD_VERSION:-0n}"
+ Set CFBundleShortVersionString "$VERSION"
+ Save
+EOF

View File

@@ -0,0 +1,29 @@
diff --git a/configure.ac b/configure.ac
index 2a9f5d2..a3d9b79 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,6 +45,7 @@ m4_esyscmd([echo ]mym4_version[>VERSION])
AC_INIT([mym4_package],[mym4_version],[https://bugs.gnupg.org])
+AC_CONFIG_MACRO_DIRS([m4])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR(pinentry/pinentry.h)
@@ -329,13 +330,15 @@ if test "$pinentry_tty" = "yes"; then
[The TTY version of Pinentry is to be build])
fi
+AM_GNU_GETTEXT_VERSION([0.21])
+AM_GNU_GETTEXT([external])
+AM_ICONV
dnl
dnl Additional checks pinentry Curses.
dnl
if test "$pinentry_curses" = "yes" \
-o "$fallback_curses" = "yes" ; then
- AM_ICONV
if test "$am_cv_func_iconv" != "yes"; then
AC_MSG_ERROR([[
***

View File

@@ -0,0 +1,110 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
libassuan,
libgpg-error,
makeBinaryWrapper,
texinfo,
xcbuild,
common-updater-scripts,
writers,
}:
stdenv.mkDerivation rec {
pname = "pinentry-mac";
# NOTE: Don't update manually. Use passthru.updateScript on a Mac with XCode
# installed.
version = "1.1.1.1";
src = fetchFromGitHub {
owner = "GPGTools";
repo = "pinentry";
rev = "v${version}";
sha256 = "sha256-QnDuqFrI/U7aZ5WcOCp5vLE+w59LVvDGOFNQy9fSy70=";
};
patches = [
./gettext-0.25.patch
# Fix the build with xcbuilds inferior `PlistBuddy(8)`.
./fix-with-xcbuild-plistbuddy.patch
];
# use pregenerated nib files because generating them requires XCode
postPatch = ''
cp -r ${./mac/Main.nib} macosx/Main.nib
cp -r ${./mac/Pinentry.nib} macosx/Pinentry.nib
chmod -R u+w macosx/*.nib
# pinentry_mac requires updated macros to correctly detect v2 API support in libassuan 3.x.
cp '${lib.getDev libassuan}/share/aclocal/libassuan.m4' m4/libassuan.m4
'';
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
makeBinaryWrapper
texinfo
# for `PlistBuddy(8)`
xcbuild
];
configureFlags = [
"--enable-maintainer-mode"
"--disable-ncurses"
"--with-libgpg-error-prefix=${libgpg-error.dev}"
"--with-libassuan-prefix=${libassuan.dev}"
];
installPhase = ''
mkdir -p $out/Applications $out/bin
mv macosx/pinentry-mac.app $out/Applications
# Compatibility with `lib.getExe`
makeWrapper $out/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac $out/bin/pinentry-mac
'';
enableParallelBuilding = true;
passthru = {
binaryPath = "Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac";
updateScript = writers.writeBash "update-pinentry-mac" ''
set -euxo pipefail
main() {
tag="$(queryLatestTag)"
ver="$(expr "$tag" : 'v\(.*\)')"
${common-updater-scripts}/bin/update-source-version pinentry_mac "$ver"
cd ${lib.escapeShellArg ./.}
rm -rf mac
mkdir mac
srcDir="$(nix-build ../../../.. --no-out-link -A pinentry_mac.src)"
for path in "$srcDir"/macosx/*.xib; do
filename="''${path##*/}"
/usr/bin/ibtool --compile "mac/''${filename%.*}.nib" "$path"
done
}
queryLatestTag() {
curl -sS https://api.github.com/repos/GPGTools/pinentry/tags \
| jq -r '.[] | .name' | sort --version-sort | tail -1
}
main
'';
};
meta = {
description = "Pinentry for GPG on Mac";
license = lib.licenses.gpl2Plus;
homepage = "https://github.com/GPGTools/pinentry";
platforms = lib.platforms.darwin;
mainProgram = "pinentry-mac";
};
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.