Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
K900
2025-02-03 19:02:14 +03:00
13 changed files with 212 additions and 198 deletions
+6
View File
@@ -1295,6 +1295,12 @@
githubId = 153175;
name = "Andrew Marshall";
};
ambossmann = {
email = "timogottszky+git@gmail.com";
github = "Ambossmann";
githubId = 68373395;
name = "Timo Gottszky";
};
ambroisie = {
email = "bruno.nixpkgs@belanyi.fr";
github = "ambroisie";
+16 -5
View File
@@ -1,8 +1,16 @@
# flatpak service.
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.flatpak;
in {
in
{
meta = {
doc = ./flatpak.md;
maintainers = pkgs.flatpak.meta.maintainers;
@@ -17,17 +25,20 @@ in {
};
};
###### implementation
config = lib.mkIf cfg.enable {
assertions = [
{ assertion = (config.xdg.portal.enable == true);
{
assertion = (config.xdg.portal.enable == true);
message = "To use Flatpak you must enable XDG Desktop Portals with xdg.portal.enable.";
}
];
environment.systemPackages = [ cfg.package ];
environment.systemPackages = [
cfg.package
pkgs.fuse3
];
security.polkit.enable = true;
+7 -6
View File
@@ -1,22 +1,23 @@
diff --git a/session-helper/flatpak-session-helper.c b/session-helper/flatpak-session-helper.c
index 5dd7629e..ddc71a4c 100644
index 31e94384..2c297551 100644
--- a/session-helper/flatpak-session-helper.c
+++ b/session-helper/flatpak-session-helper.c
@@ -693,7 +693,7 @@ start_p11_kit_server (const char *flatpak_dir)
@@ -698,7 +698,7 @@ start_p11_kit_server (const char *flatpak_dir)
g_auto(GStrv) stdout_lines = NULL;
int i;
char *p11_argv[] = {
const char * const p11_argv[] = {
- "p11-kit", "server",
+ "@p11kit@", "server",
/* We explicitly request --sh here, because we then fail on earlier versions that doesn't support
* this flag. This is good, because those earlier versions did not properly daemonize and caused
* the spawn_sync to hang forever, waiting for the pipe to close.
@@ -836,7 +836,7 @@ main (int argc,
@@ -852,8 +852,7 @@ main (int argc,
exit (1);
}
- if (g_find_program_in_path ("p11-kit"))
- pk11_program = g_find_program_in_path ("p11-kit");
- if (pk11_program)
+ if (TRUE)
start_p11_kit_server (flatpak_dir);
else
g_debug ("p11-kit not found");
g_info ("p11-kit not found");
+123 -141
View File
@@ -1,33 +1,28 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
runCommand,
appstream,
autoreconfHook,
bison,
bubblewrap,
buildPackages,
bzip2,
coreutils,
curl,
dbus,
dconf,
desktop-file-utils,
docbook_xml_dtd_45,
docbook-xsl-nons,
docbook_xml_dtd_45,
fetchurl,
fuse3,
gdk-pixbuf,
gettext,
glib,
glib-networking,
gobject-introspection,
gpgme,
gsettings-desktop-schemas,
gtk3,
gtk-doc,
gtk3,
hicolor-icon-theme,
intltool,
json-glib,
libarchive,
libcap,
@@ -35,50 +30,60 @@
libseccomp,
libxml2,
libxslt,
malcontent,
meson,
ninja,
nix-update-script,
nixosTests,
nixos-icons,
ostree,
p11-kit,
pkg-config,
polkit,
pkgsCross,
python3,
runCommand,
shared-mime-info,
socat,
replaceVars,
systemd,
testers,
valgrind,
which,
validatePkgConfig,
wayland,
wayland-protocols,
wayland-scanner,
wrapGAppsNoGuiHook,
xdg-dbus-proxy,
xmlto,
xorg,
xz,
zstd,
withAutoSideloading ? false,
withDocbookDocs ? true,
withGtkDoc ? stdenv.buildPlatform.canExecute stdenv.hostPlatform,
withMan ? true,
withSELinuxModule ? false,
withSystemd ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "flatpak";
version = "1.14.10";
version = "1.16.0";
# TODO: split out lib once we figure out what to do with triggerdir
outputs = [
"out"
"dev"
"man"
"doc"
"devdoc"
"installedTests"
];
separateDebugInfo = true;
outputs =
[
"out"
"dev"
]
++ lib.optionals (withDocbookDocs || withGtkDoc) [
"devdoc"
"doc"
]
++ lib.optional finalAttrs.doCheck "installedTests"
++ lib.optional withMan "man";
src = fetchurl {
url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz";
hash = "sha256-a73HkIEnNQrYWkpH1wKSyi9MRul3sysf0jHCpxnYIc0=";
hash = "sha256-ywrFZa3LYhJ8bRHtUO5wRNaoNvppw1Sy9LZAoiv6Syo=";
};
patches = [
@@ -88,97 +93,97 @@ stdenv.mkDerivation (finalAttrs: {
inherit
coreutils
gettext
socat
gtk3
socat
;
smi = shared-mime-info;
dfu = desktop-file-utils;
hicolorIconTheme = hicolor-icon-theme;
smi = shared-mime-info;
})
# Hardcode paths used by Flatpak itself.
(replaceVars ./fix-paths.patch {
p11kit = "${p11-kit.bin}/bin/p11-kit";
p11kit = lib.getExe p11-kit;
})
# Allow gtk-doc to find schemas using XML_CATALOG_FILES environment variable.
# Patch taken from gtk-doc expression.
./respect-xml-catalog-files-var.patch
# Nix environment hacks should not leak into the apps.
# https://github.com/NixOS/nixpkgs/issues/53441
./unset-env-vars.patch
# Use flatpak from PATH to avoid references to `/nix/store` in `/desktop` files.
# Applications containing `DBusActivatable` entries should be able to find the flatpak binary.
# https://github.com/NixOS/nixpkgs/issues/138956
./binary-path.patch
# The icon validator needs to access the gdk-pixbuf loaders in the Nix store
# and cannot bind FHS paths since those are not available on NixOS.
finalAttrs.passthru.icon-validator-patch
# Try mounting fonts and icons from NixOS locations if FHS locations don't exist.
# https://github.com/NixOS/nixpkgs/issues/119433
./fix-fonts-icons.patch
# TODO: Remove when updating to 1.16
# Ensure flatpak uses the system's zoneinfo from $TZDIR
# https://github.com/NixOS/nixpkgs/issues/238386
(fetchpatch {
url = "https://github.com/flatpak/flatpak/pull/5850/commits/a8a35bf4d9fc3d76e1a5049a6a591faec04a42fd.patch";
hash = "sha256-JqkPbnzgZNZq/mplZqohhHFdjRrvYFjE4C02pI3feBo=";
})
(fetchpatch {
url = "https://github.com/flatpak/flatpak/pull/5850/commits/5ea13b09612215559081c27b60df4fb720cb08d5.patch";
hash = "sha256-BWbyQ2en3RtN4Ec5n62CULAhvywlQLhcl3Fmd4fsR1s=";
})
(fetchpatch {
url = "https://github.com/flatpak/flatpak/pull/5850/commits/7c8a81f08908019bbf69358de199748a9bcb29e3.patch";
hash = "sha256-RiG2jPmG+Igskxv8oQquOUYsG4srgdMXWe34ojMXslo=";
})
# Nix environment hacks should not leak into the apps.
# https://github.com/NixOS/nixpkgs/issues/53441
./unset-env-vars.patch
# The icon validator needs to access the gdk-pixbuf loaders in the Nix store
# and cannot bind FHS paths since those are not available on NixOS.
finalAttrs.passthru.icon-validator-patch
];
nativeBuildInputs = [
autoreconfHook
libxml2
docbook_xml_dtd_45
docbook-xsl-nons
which
gobject-introspection
gtk-doc
intltool
libxslt
pkg-config
xmlto
bison
wrapGAppsNoGuiHook
];
# Fixup shebangs in some scripts
#
# Don't prefix the already absolute `man` directory with the install prefix
postPatch = ''
patchShebangs buildutil/ tests/
patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler
buildInputs = [
appstream
bubblewrap
bzip2
curl
dbus
dconf
gpgme
json-glib
libarchive
libcap
libseccomp
libxml2
xz
zstd
polkit
python3
systemd
xorg.libXau
fuse3
gsettings-desktop-schemas
glib-networking
librsvg # for flatpak-validate-icon
] ++ lib.optionals withGtkDoc [ gtk-doc ];
substituteInPlace doc/meson.build \
--replace-fail '$MESON_INSTALL_DESTDIR_PREFIX/@1@/@2@' '@1@/@2@'
'';
strictDeps = true;
nativeBuildInputs =
[
(python3.pythonOnBuildForHost.withPackages (p: [ p.pyparsing ]))
bison
gobject-introspection
meson
ninja
pkg-config
validatePkgConfig
wrapGAppsNoGuiHook
]
++ lib.optional withGtkDoc gtk-doc
++ lib.optional withMan libxslt
++ lib.optional withSELinuxModule bzip2
++ lib.optionals withDocbookDocs [
docbook-xsl-nons
docbook_xml_dtd_45
xmlto
];
buildInputs =
[
appstream
curl
dconf
fuse3
gdk-pixbuf
glib-networking
gpgme
gsettings-desktop-schemas
json-glib
libarchive
libcap
librsvg # for flatpak-validate-icon
libseccomp
libxml2
malcontent
polkit
python3
wayland
wayland-protocols
wayland-scanner
xorg.libXau
zstd
]
++ lib.optional withGtkDoc gtk-doc
++ lib.optional withSystemd systemd;
# Required by flatpak.pc
propagatedBuildInputs = [
@@ -186,63 +191,37 @@ stdenv.mkDerivation (finalAttrs: {
ostree
];
nativeCheckInputs = [ valgrind ];
mesonFlags = [
(lib.mesonBool "auto_sideloading" withAutoSideloading)
(lib.mesonBool "installed_tests" finalAttrs.finalPackage.doCheck)
(lib.mesonBool "tests" finalAttrs.finalPackage.doCheck)
(lib.mesonEnable "selinux_module" withSELinuxModule)
(lib.mesonOption "dbus_config_dir" (placeholder "out" + "/share/dbus-1/system.d"))
(lib.mesonOption "profile_dir" (placeholder "out" + "/etc/profile.d"))
(lib.mesonOption "system_bubblewrap" (lib.getExe bubblewrap))
(lib.mesonOption "system_dbus_proxy" (lib.getExe xdg-dbus-proxy))
(lib.mesonOption "system_fusermount" "/run/wrappers/bin/fusermount3")
(lib.mesonOption "system_install_dir" "/var/lib/flatpak")
];
# TODO: some issues with temporary files
nativeCheckInputs = [
polkit
socat
valgrind
];
# TODO: Many issues with temporary files, FHS environments, timeouts, and our current patches
doCheck = false;
strictDeps = true;
NIX_LDFLAGS = "-lpthread";
enableParallelBuilding = true;
configureFlags = [
"--with-curl"
"--with-system-bubblewrap=${lib.getExe bubblewrap}"
"--with-system-dbus-proxy=${lib.getExe xdg-dbus-proxy}"
"--with-dbus-config-dir=${placeholder "out"}/share/dbus-1/system.d"
"--with-profile-dir=${placeholder "out"}/etc/profile.d"
"--localstatedir=/var"
"--sysconfdir=/etc"
"--enable-gtk-doc=${if withGtkDoc then "yes" else "no"}"
"--enable-installed-tests"
"--enable-selinux-module=no"
];
makeFlags = [
"installed_testdir=${placeholder "installedTests"}/libexec/installed-tests/flatpak"
"installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/flatpak"
];
postPatch =
let
vsc-py = python3.pythonOnBuildForHost.withPackages (pp: [ pp.pyparsing ]);
in
''
patchShebangs buildutil
patchShebangs tests
PATH=${lib.makeBinPath [ vsc-py ]}:$PATH patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler
substituteInPlace configure.ac \
--replace-fail '$BWRAP --' ${
lib.escapeShellArg (stdenv.hostPlatform.emulator buildPackages + " $BWRAP --")
} \
--replace-fail '$DBUS_PROXY --' ${
lib.escapeShellArg (stdenv.hostPlatform.emulator buildPackages + " $DBUS_PROXY --")
}
'';
separateDebugInfo = true;
passthru = {
icon-validator-patch = replaceVars ./fix-icon-validation.patch {
inherit (builtins) storeDir;
};
updateScript = nix-update-script { };
tests = {
cross = pkgsCross.aarch64-multiplatform.flatpak;
installedTests = nixosTests.installed-tests.flatpak;
pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
validate-icon = runCommand "test-icon-validation" { } ''
${finalAttrs.finalPackage}/libexec/flatpak-validate-icon \
@@ -254,6 +233,8 @@ stdenv.mkDerivation (finalAttrs: {
version = testers.testVersion { package = finalAttrs.finalPackage; };
};
updateScript = nix-update-script { };
};
meta = {
@@ -264,5 +245,6 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [ getchoo ];
mainProgram = "flatpak";
platforms = lib.platforms.linux;
pkgConfigModules = [ "flatpak" ];
};
})
@@ -1,15 +0,0 @@
diff --git a/acinclude.m4 b/acinclude.m4
index 92ec3985..b3fccf1d 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
- if $jh_found_xmlcatalog && \
- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+ # empty argument forces libxml to use XML_CATALOG_FILES variable
+ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl
+2 -2
View File
@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication rec {
pname = "github-backup";
version = "0.48.0";
version = "0.49.0";
pyproject = true;
src = fetchFromGitHub {
owner = "josegonzalez";
repo = "python-github-backup";
tag = version;
hash = "sha256-vJD+dzKHYgiDme+wXklbxkbOPKwbilOWfJknsS37+vw=";
hash = "sha256-RoRRuFXgykifdpcq3uBAARc54YTfzn0NiGcGkwcmcbc=";
};
build-system = with python3Packages; [
+34
View File
@@ -0,0 +1,34 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "godotpcktool";
version = "2.1";
src = fetchFromGitHub {
owner = "hhyyrylainen";
repo = "GodotPckTool";
tag = "v${finalAttrs.version}";
hash = "sha256-jQ6LypQEz7r04lS4Zmu0EvpV/IYM79pmUlaykVUd+po=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Standalone tool for extracting and creating Godot .pck files";
homepage = "https://github.com/hhyyrylainen/GodotPckTool";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ambossmann ];
mainProgram = "godotpcktool";
platforms = lib.platforms.linux;
};
})
+3 -3
View File
@@ -6,16 +6,16 @@
}:
buildGoModule rec {
pname = "jjui";
version = "0.2";
version = "0.3";
src = fetchFromGitHub {
owner = "idursun";
repo = "jjui";
tag = "v${version}";
hash = "sha256-V2HwVpZ7K7mYoZECOc+dfXuvBlRsN5OgRHasdpX+kFw=";
hash = "sha256-J6Bw7/OtKuQ28gUxc7h+gdKmt98TmNqj5XZ6kLzvg3o=";
};
vendorHash = "sha256-pzbOFXSlEebc4fCyNyQSdeVqar+HfEjsSyJo+mHkQeg=";
vendorHash = "sha256-czUD0+1ZJJBpp+vYYEBBuWro6InokiPriKFyKvLSGD0=";
postFixup = ''
mv $out/bin/cmd $out/bin/jjui
+1
View File
@@ -96,5 +96,6 @@ stdenv.mkDerivation rec {
];
platforms = platforms.all;
license = licenses.bsd3;
mainProgram = "p11-kit";
};
}
+3 -3
View File
@@ -6,18 +6,18 @@
buildGoModule rec {
pname = "storj-uplink";
version = "1.120.4";
version = "1.121.3";
src = fetchFromGitHub {
owner = "storj";
repo = "storj";
rev = "v${version}";
hash = "sha256-Ze3eQCySw3S6sKXwJCW6M+UV1FWp47syCWxIQdKttOs=";
hash = "sha256-Q/iQUgXeYvGDBuVL8hhHU7SK+sNVQtXCDBoRYFO+N9Y=";
};
subPackages = [ "cmd/uplink" ];
vendorHash = "sha256-kLXrKFJ/g2xenYTZ13loaZ7XAgRhmo2Iwen7P4esBIs=";
vendorHash = "sha256-XgHTzE982POxbCzlfSt05y+h8DJb/3fiFV5l/Fu8vGg=";
ldflags = [
"-s"
@@ -3,12 +3,12 @@
stdenv,
buildPythonPackage,
pytestCheckHook,
pythonOlder,
fetchFromGitLab,
replaceVars,
bubblewrap,
exiftool,
ffmpeg,
setuptools,
wrapGAppsHook3,
gdk-pixbuf,
gobject-introspection,
@@ -18,32 +18,29 @@
pygobject3,
pycairo,
dolphinIntegration ? false,
plasma5Packages,
kdePackages,
}:
buildPythonPackage rec {
pname = "mat2";
version = "0.13.4";
disabled = pythonOlder "3.5";
format = "setuptools";
version = "0.13.5";
pyproject = true;
src = fetchFromGitLab {
domain = "0xacab.org";
owner = "jvoisin";
repo = "mat2";
rev = version;
hash = "sha256-SuN62JjSb5O8gInvBH+elqv/Oe7j+xjCo+dmPBU7jEY=";
tag = version;
hash = "sha256-ivFgH/88DBucZRaO/OMsLlwJCjv/VQXb6AiKWhZ8XH0=";
};
patches =
[
# hardcode paths to some binaries
(replaceVars ./paths.patch {
exiftool = "${exiftool}/bin/exiftool";
ffmpeg = "${ffmpeg}/bin/ffmpeg";
kdialog = if dolphinIntegration then "${plasma5Packages.kdialog}/bin/kdialog" else null;
exiftool = lib.getExe exiftool;
ffmpeg = lib.getExe ffmpeg;
kdialog = if dolphinIntegration then lib.getExe kdePackages.kdialog else null;
# replaced in postPatch
mat2 = null;
mat2svg = null;
@@ -55,17 +52,18 @@ buildPythonPackage rec {
]
++ lib.optionals (stdenv.hostPlatform.isLinux) [
(replaceVars ./bubblewrap-path.patch {
bwrap = "${bubblewrap}/bin/bwrap";
bwrap = lib.getExe bubblewrap;
})
];
postPatch = ''
rm pyproject.toml
substituteInPlace dolphin/mat2.desktop \
--replace "@mat2@" "$out/bin/mat2" \
--replace "@mat2svg@" "$out/share/icons/hicolor/scalable/apps/mat2.svg"
'';
build-system = [ setuptools ];
nativeBuildInputs = [
gobject-introspection
wrapGAppsHook3
@@ -77,7 +75,7 @@ buildPythonPackage rec {
poppler_gi
];
propagatedBuildInputs = [
dependencies = [
mutagen
pygobject3
pycairo
@@ -94,11 +92,6 @@ buildPythonPackage rec {
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = [
# libmat2.pdf.cairo.MemoryError: out of memory
"test_all"
];
meta = with lib; {
description = "Handy tool to trash your metadata";
homepage = "https://0xacab.org/jvoisin/mat2";
+1
View File
@@ -1,4 +1,5 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kdialog";
meta.mainProgram = "kdialog";
}
@@ -6,18 +6,18 @@
buildNpmPackage rec {
pname = "universal-remote-card";
version = "4.3.7";
version = "4.3.8";
src = fetchFromGitHub {
owner = "Nerwyn";
repo = "android-tv-card";
rev = version;
hash = "sha256-UIQZT1fzZvBHpFRsj508F2pyCQAt0vLMSj1H5qwRBXc=";
hash = "sha256-fu+0O5WXzsy/HN2j7M2zBg8YgPUcSuzeOhOf1akATes=";
};
patches = [ ./dont-call-git.patch ];
npmDepsHash = "sha256-BV00u+/OvC3dmz7BvqygSUuwf+jsfuKNZDOO6d5nATk=";
npmDepsHash = "sha256-AwJmFsVFOV6rapnLm9Y660TFiX9HIOIU4049EIyWWuM=";
installPhase = ''
runHook preInstall