Commit Graph

43 Commits

Author SHA1 Message Date
Bart Oostveen
d393b45c27 flatpak: 1.18.0 -> 1.18.1
Diff: https://github.com/flatpak/flatpak/compare/1.18.0...1.18.1

Changelog: https://github.com/flatpak/flatpak/releases/tag/1.18.1
2026-08-11 16:43:57 +02:00
Cabia Rangris
d2969e7e8f flatpak: include flatpak-spawn-env patch 2026-07-27 01:49:17 +04:00
Peder Bergebakken Sundt
a0d022d0f4 treewide: use finalAttrs.finalPackage.doCheck 2026-07-18 18:23:21 +02:00
Bart Oostveen
667699c78a flatpak: 1.16.6 -> 1.18.0
Changelog: https://github.com/flatpak/flatpak/releases/tag/1.18.0
Full diff: https://github.com/flatpak/flatpak/compare/1.16.6...1.18.0

IMHO we should backport this.
2026-06-08 15:41:14 +02:00
Christopher Kaster
4c6e3a214f flatpak: 1.16.4 -> 1.16.6 2026-04-10 20:12:36 +02:00
Bart Oostveen
d8b310de38 flatpak: 1.16.3 -> 1.16.4 2026-04-08 00:38:49 +02:00
NilaTheDragon
719c0c76fd flatpak: 1.16.2 -> 1.16.3 2026-02-14 01:56:28 +01:00
Andreas Rammhold
ab616b9ef8 flatpak: Fix segfault in NixOS custom font mounting code
On my systems there is a path in the fonts list that looks like
/nix/store/<hash>-<font>.ttf. The previous code assumed that every font path
contains at least one more slash which isn't the case here.

The code matched on the / after the $out path of the derivation:

/nix/store/<hash>-<name>/share/X11/fonts/...
                        ^

That slash only exists if the font lives in a subdirectory, which
isn't strictly required. In my case I've a few font files that are
located at /nix/store/<hash>-<name>.ttf and are assembled into a
folder as symlinks. (See example below)

Any attempt at calling realpath(3) on them (potentially recursively)
will result in the single file entry in the store being returned.

Whenever that font is being loaded flatpak segfaulted like so:

```
(gdb) bt
#0  0x00005583b3673763 in get_nix_closure ()
#1  0x00005583b3673711 in get_nix_closure ()
#2  0x00005583b36737dc in add_nix_store_symlink_targets ()
#3  0x00005583b36749a8 in add_font_path_args ()
#4  0x00005583b367b3f4 in flatpak_run_app ()
#5  0x00005583b35e4f08 in flatpak_builtin_run ()
#6  0x00005583b35a5970 in main ()
(gdb) x/5i $rip
=> 0x5583b3673763 <get_nix_closure+307>:	movb   $0x0,(%rax)
   0x5583b3673766 <get_nix_closure+310>:	call   0x5583b35a46a0 <g_hash_table_add@plt>
   0x5583b367376b <get_nix_closure+315>:	jmp    0x5583b3673699 <get_nix_closure+105>
   0x5583b3673770 <get_nix_closure+320>:	xor    %edi,%edi
   0x5583b3673772 <get_nix_closure+322>:	lea    0x30475(%rip),%rsi        # 0x5583b36a3bee
(gdb) x/s $rsi
0x5583e92d2180:	"/nix/store/<hash>-A.ttf"
(gdb) print $rax
$1 = 0
```

RAX pointing to 0 here corresponds to the pointer `p` in the source
code. So the code attempted to dereference a null pointer as no further
slash (the return value of strchr(3)) could be found.

The modification in this commit ensures that we check for `p != 0` so
we don't run into this situation again.

Adding the path to the closure will still be done, even if no further
slash can be found, as that still points to a valid store path.

----

Nix code for custom fonts:

```nix
let
  files = [
    ./A.ttf
    ./B.ttf
  ];
in
runCommandNoCC "custom-fonts" {} ''
  mkdir -p $out/share/fonts/truetype
  cd $out/share/fonts/truetype
  ${ lib.concatStringsSep "\n" (map (file: "ln -s ${file} ${baseNameOf file}") files)}
''
```
2026-02-03 11:56:15 +01:00
quantenzitrone
7d8132a92c treewide: remove references to the xorg namespace in pkgs (automated)
this creates some eval errors that will be fixed in the next commit

done with the following script:

```fish
\#!/usr/bin/env fish

set packagesjson (nix eval --impure --json --expr '
let
  lib = import ./lib;
in
import pkgs/servers/x11/xorg/default.nix (lib.mapAttrs (
  name: _:
  if name == "lib" then
    lib
  else if name == "config" then
    { allowAliases = false; }
  else
    name
) (__functionArgs (import pkgs/servers/x11/xorg/default.nix))) { }
' | jq)

set one (grep '^    [A-Za-z0-9_-]*$' pkgs/servers/x11/xorg/default.nix | string trim | string replace -r '$' Z | sort | string sub -e -1)
set two (grep '^  [A-Za-z0-9_-]* = [A-Za-z0-9_-]*;$' pkgs/servers/x11/xorg/default.nix | cut -d= -f1 | string trim | string replace -r '$' Z | sort | string sub -e -1)

for arg in $one $two
    set oname $arg
    set nname (echo $packagesjson | jq -r .$oname)

    if test $nname = null
        echo (set_color red)warn:(set_color normal) unknown package xorg.$oname >&2
        continue
    end

    echo $oname "->" $nname

    # replace basic xorg.$name references
    for file in (rg -F "xorg.$oname" --files-with-matches pkgs)
        # special cases
        sd -F "$oname = xorg.$oname;" "$nname = $nname;" $file

        # replace
        sd -F "xorg.$oname" "$nname" $file

        # fixup function arguments

        # prevent duplicate function args
        if grep -E " ($oname|$nname),\$" $file >/dev/null
            continue
        end

        if grep 'xorg\..' $file >/dev/null # case1: there is more so we can't just remove the function arg

            if grep ' xorg,$' $file >/dev/null
                sd ' xorg,$' " xorg,
                $nname," $file

            else if grep ' xorg ? .*,$' $file >/dev/null
                sd 'xorg( ? .*),$' "xorg\$1,
                $nname," $file

            else
                sd -F 'xorg,' "$nname,
                xorg," $file
            end

        else # case there is no more xorg..* so we can just replace the function arg
            sd 'xorg(| ? .*),.*$' "$nname," $file
        end
    end
end

nix fmt
```
2026-01-25 22:28:09 +01:00
Dyego Aurélio
ea443042a9 flatpak: 1.16.1 -> 1.16.2
Changes: https://github.com/flatpak/flatpak/releases/tag/1.16.2
2026-01-13 09:13:12 -03:00
Masum Reza
03a84ca29a flatpak: patch trigger paths (#453115) 2025-11-02 09:30:49 +00:00
Sirn Thanabulpong
075b9f9373 flatpak: patch trigger paths 2025-10-25 16:53:40 +09:00
Alyssa Ross
8d747abaec flatpak: set sysconfdir
Otherwise, flatpak looks for configuration files inside the Nix store:

	$ flatpak list --installation=test -v
	F: No installations directory in /nix/store/gb76s3h00k2r95snjdxs3840sn3ab22f-flatpak-1.16.1/etc/flatpak/installations.d. Skipping
	error: Could not find installation test

This was previously fixed in 01189fb832 ("flatpak: fix config
location") but lost in the conversion to Meson in
ae96b31920 ("flatpak: 1.14.10 -> 1.16.0").
2025-10-19 16:18:27 +02:00
Wolfgang Walther
5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Sergei Trofimovich
65c2222c22 flatpak: 1.16.0 -> 1.16.1
Changes: https://github.com/flatpak/flatpak/releases/tag/1.16.1
2025-05-20 06:29:27 +01:00
Alyssa Ross
750c376688 flatpak: fix static 2025-02-16 18:30:38 +01:00
Alyssa Ross
33df34994e flatpak: remove gtk-doc build input
Apparently this was previously used as a runtime library[1], but it
certainly doesn't seem to be any more.

Link: https://github.com/NixOS/nixpkgs/pull/334324#issuecomment-2289960336 [1]
2025-02-16 17:41:54 +01:00
Alyssa Ross
057dd40779 flatpak: fix cross 2025-02-16 17:41:54 +01:00
Alyssa Ross
a7459efbbb flatpak: fix building with with{DocbookDocs,GtkDoc} = false 2025-02-16 17:41:54 +01:00
Alyssa Ross
554ca40fdb flatpak: fix building with withMan = false 2025-02-16 17:41:54 +01:00
Seth Flynn
cfaa3edae7 flatpak: add pkgsCross.aarch64-multiplatform build to passthru.tests
This was accidentally removed
2025-02-11 01:11:40 -05:00
K900
a1c5ba6f4b Merge remote-tracking branch 'origin/master' into staging-next 2025-02-03 19:02:14 +03:00
seth
ae96b31920 flatpak: 1.14.10 -> 1.16.0
Diff: https://github.com/flatpak/flatpak/compare/1.14.10...1.16.0

Changelog: https://github.com/flatpak/flatpak/releases/tag/1.16.0
2025-02-02 15:41:17 -05:00
Wolfgang Walther
b12e9707e0 treewide: replace substituteAll with replaceVars (part 3)
Driving #237216 forward.
2025-01-19 13:31:23 +01:00
Jordan Williams
696ff47378 flatpak: set meta.mainProgram 2024-11-25 08:00:16 -06:00
Alyssa Ross
c6e6d1edd6 flatpak: enable debug info 2024-10-28 08:34:29 +01:00
claes
a9dcd648d5 flatpak: Don't propagate /etc/zoneinfo into sandbox 2024-09-22 19:11:23 +02:00
seth
801d1d4450 flatpak: use $TZDIR for zoneinfo
Fixes #238386
2024-09-21 17:45:02 -04:00
Sandro
3b925a4fea flatpak: fix icon validation test (#337458) 2024-08-27 14:09:53 +02:00
Sandro Jäckel
86a8ce4817 flatpak: fix icon validation test
Probably flatpak doesn't recognise inkscape SVGs but I didn't look
deeper into that.
2024-08-26 13:54:28 +02:00
Colin
09a29769d5 flatpak: fix cross compilation, add cross check to passthru.tests
The 1.14.8 -> 1.14.10 update broke cross compilation, because the upstream
build script now invokes runtime dependencies for feature detection.
<5a2503f1e8/configure.ac (L178)>

It seems the package will be more robust against changes if we simply
emulate these checks rather than attempt to patch them out individually.
2024-08-26 11:15:41 +02:00
Sandro
6fdb0c9e45 Merge pull request #334324 from uninsane/pr-flatpak-cross
flatpak: support cross compilation
2024-08-18 15:44:04 +02:00
Colin
ed69a27320 flatpak: support cross compilation 2024-08-16 22:19:11 +00:00
Sandro Jäckel
d6898a6bda flatpak: 1.14.8 -> 1.14.10
Fixes CVE-2024-42472

Changelog: https://github.com/flatpak/flatpak/releases/tag/1.14.10
2024-08-14 21:32:33 +02:00
seth
81bce575de flatpak: 1.14.6 -> 1.14.8
1.14.8 is identical to 1.14.7, with the exception of mismatching
submodule versions in the release tarball being fixed

Changelog: https://github.com/flatpak/flatpak/releases/tag/1.14.7
2024-06-25 14:20:21 -04:00
seth
0949980cd2 flatpak: reorganize arguments 2024-06-22 06:57:45 -04:00
seth
85338a0427 flatpak: use nixos-icons for validate-icon test 2024-06-22 06:57:45 -04:00
seth
619dd38e9f flatpak: add updateScript 2024-06-22 06:57:45 -04:00
seth
ceb3b7ee26 flatpak: add version test 2024-06-22 06:57:45 -04:00
seth
cda85c65be flatpak: modernize
https://github.com/NixOS/nixpkgs/issues/208242
2024-06-22 06:57:44 -04:00
seth
feeae371ef flatpak: adopt 2024-06-22 06:57:44 -04:00
seth
2ef5b8fb85 flatpak: format with nixfmt 2024-06-22 06:57:44 -04:00
seth
b18e7b3e1c flatpak: migrate to by-name 2024-06-22 06:57:40 -04:00