Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 51d115ac89d6
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 42674051d125
Choose a head ref

Commits on Jul 23, 2020

  1. Merge pull request #92844 from mmilata/20.03/samba-4.11.11

    [20.03] samba: 4.11.9 -> 4.11.11
    mweinelt authored Jul 23, 2020
    Copy the full SHA
    afd465f View commit details

Commits on Aug 5, 2020

  1. Copy the full SHA
    37178a3 View commit details
  2. vala: 0.46.5 -> 0.46.12

    worldofpeace committed Aug 5, 2020
    Copy the full SHA
    bebdaa3 View commit details
  3. Copy the full SHA
    e78679e View commit details

Commits on Aug 11, 2020

  1. Merge pull request #94749 from worldofpeace/vala-update-20.03

    [20.03] vala: 0.46.5 -> 0.46.12
    worldofpeace authored Aug 11, 2020
    Copy the full SHA
    f2825d2 View commit details
  2. gobject-introspection: Ensure the giDiscoverSelf is run before gappsW…

    …rapperArgsHook
    
    gappsWrapperArgsHook tries to collect GI_TYPELIB_PATH environment variable so if we want it to see the path giDiscoverSelf adds, we need to force the order.
    
    (cherry picked from commit 8f7387f)
    jtojnar authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    4af94d3 View commit details
  3. wrapGAppsHook: move to a separate file

    (cherry picked from commit 69b8997)
    jtojnar authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    e1d83fc View commit details
  4. wrapGAppsHook: add tests

    (cherry picked from commit 49b89af)
    jtojnar authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    7293136 View commit details
  5. wrapGAppsHook: add comments

    (cherry picked from commit 0be3b18)
    jtojnar authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    572b49b View commit details
  6. ibus: fix generation of 00-upstream-settings

    (cherry picked from commit bd6c12b)
    symphorien authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    c61471d View commit details
  7. ibus: fix installation of dconf database

    Fixes this warning at ibus-daemon startup:
    
    (ibus-dconf:15691): dconf-WARNING **: 21:49:24.018: unable to open file '/etc/dconf/db/ibus': Failed to open file ?/etc/dconf/db/ibus?: open() failed: No such file or directory; expect degraded performance
    
    (cherry picked from commit a71dc0b)
    symphorien authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    3419ccb View commit details
  8. nixos/tests/ibus: fix test

    (cherry picked from commit 5b7ffe6)
    symphorien authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    2eda645 View commit details
  9. Revert "ibus: fix dconf db installation"

    (cherry picked from commit ee5cba2)
    worldofpeace committed Aug 11, 2020
    Copy the full SHA
    3e09a95 View commit details
  10. ibus: fix installation of dconf database

    Fixes this warning at ibus-daemon startup:
    
    (ibus-dconf:15691): dconf-WARNING **: 21:49:24.018: unable to open file '/etc/dconf/db/ibus': Failed to open file ?/etc/dconf/db/ibus?: open() failed: No such file or directory; expect degraded performance
    
    (cherry picked from commit 3dbd629)
    symphorien authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    0d34112 View commit details
  11. Revert "Revert "ibus: fix dconf db installation""

    This reverts commit ee5cba2.
    
    (cherry picked from commit 11d6318)
    symphorien authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    22fdd69 View commit details
  12. nixos/ibus: add ibus portal if portals are enabled

    (cherry picked from commit 76f7fc1)
    worldofpeace committed Aug 11, 2020
    Copy the full SHA
    6a0f658 View commit details
  13. nixos/ibus: fix evaluation

    Need to reference through `config` when checking what other modules have set.
    
    (cherry picked from commit c9d988b)
    hedning authored and worldofpeace committed Aug 11, 2020
    Copy the full SHA
    b79747e View commit details

Commits on Aug 13, 2020

  1. Copy the full SHA
    4fa7cc6 View commit details

Commits on Aug 24, 2020

  1. ghostscript: add patch for CVE-2020-15900

    (cherry picked from commit 9292dbf)
    risicle committed Aug 24, 2020
    Copy the full SHA
    6884c31 View commit details

Commits on Sep 5, 2020

  1. Merge pull request #96196 from risicle/ris-ghostscript-CVE-2020-15900-…

    …r20.03
    
    [20.03] ghostscript: add patch for CVE-2020-15900
    risicle authored Sep 5, 2020
    Copy the full SHA
    9fd2ed5 View commit details
  2. Copy the full SHA
    ba0c647 View commit details
  3. Copy the full SHA
    c0c2bbe View commit details
  4. Copy the full SHA
    c2c55c9 View commit details

Commits on Sep 6, 2020

  1. Copy the full SHA
    b0976a3 View commit details
  2. radare2: 4.5.0 -> 4.5.1

    (cherry picked from commit 4bdcea4)
    Mic92 committed Sep 6, 2020
    Copy the full SHA
    43a27ce View commit details

Commits on Sep 7, 2020

  1. pantheon.wingpanel-indicator-session: fix build with latest vala

    (cherry picked from commit 1e084a8)
    worldofpeace committed Sep 7, 2020
    Copy the full SHA
    e62f338 View commit details
  2. pantheon.gala: fix build with latest vala

    (cherry picked from commit 6df7a93)
    worldofpeace committed Sep 7, 2020
    Copy the full SHA
    4267405 View commit details
6 changes: 5 additions & 1 deletion nixos/modules/i18n/input-method/ibus.nix
Original file line number Diff line number Diff line change
@@ -64,7 +64,7 @@ in
# Without dconf enabled it is impossible to use IBus
programs.dconf.enable = true;

programs.dconf.profiles.ibus = "${ibusPackage}/etc/dconf/profile/ibus";
programs.dconf.packages = [ ibusPackage ];

services.dbus.packages = [
ibusAutostart
@@ -75,5 +75,9 @@ in
QT_IM_MODULE = "ibus";
XMODIFIERS = "@im=ibus";
};

xdg.portal.extraPortals = mkIf config.xdg.portal.enable [
ibusPackage
];
};
}
37 changes: 27 additions & 10 deletions nixos/modules/programs/dconf.nix
Original file line number Diff line number Diff line change
@@ -4,13 +4,24 @@ with lib;

let
cfg = config.programs.dconf;

mkDconfProfile = name: path:
{
name = "dconf/profile/${name}";
value.source = path;
};

cfgDir = pkgs.symlinkJoin {
name = "dconf-system-config";
paths = map (x: "${x}/etc/dconf") cfg.packages;
postBuild = ''
mkdir -p $out/profile
mkdir -p $out/db
'' + (
concatStringsSep "\n" (
mapAttrsToList (
name: path: ''
ln -s ${path} $out/profile/${name}
''
) cfg.profiles
)
) + ''
${pkgs.dconf}/bin/dconf update $out/db
'';
};
in
{
###### interface
@@ -22,18 +33,24 @@ in
profiles = mkOption {
type = types.attrsOf types.path;
default = {};
description = "Set of dconf profile files.";
description = "Set of dconf profile files, installed at <filename>/etc/dconf/profiles/<replaceable>name</replaceable></filename>.";
internal = true;
};

packages = mkOption {
type = types.listOf types.package;
default = [];
description = "A list of packages which provide dconf profiles and databases in <filename>/etc/dconf</filename>.";
};
};
};

###### implementation

config = mkIf (cfg.profiles != {} || cfg.enable) {
environment.etc = optionalAttrs (cfg.profiles != {})
(mapAttrs' mkDconfProfile cfg.profiles);
environment.etc.dconf = mkIf (cfg.profiles != {} || cfg.packages != []) {
source = cfgDir;
};

services.dbus.packages = [ pkgs.dconf ];

14 changes: 5 additions & 9 deletions nixos/tests/installed-tests/ibus.nix
Original file line number Diff line number Diff line change
@@ -5,16 +5,12 @@ makeInstalledTest {

testConfig = {
i18n.inputMethod.enabled = "ibus";
systemd.user.services.ibus-daemon = {
serviceConfig.ExecStart = "${pkgs.ibus}/bin/ibus-daemon --xim --verbose";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
};
};

preTestScript = ''
# ibus has ibus-desktop-testing-runner but it tries to manage desktop session so we just spawn ibus-daemon ourselves
machine.succeed("ibus-daemon --daemonize --verbose")
'';

withX11 = true;

# TODO: ibus-daemon is currently crashing or something
# maybe make ibus systemd service that auto-restarts?
meta.broken = true;
}
175 changes: 175 additions & 0 deletions pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
{ stdenv
, lib
, makeSetupHook
, makeWrapper
, gobject-introspection
, gtk3
, librsvg
, dconf
, callPackage
, wrapGAppsHook
, writeTextFile
}:

makeSetupHook {
deps = lib.optionals (!stdenv.isDarwin) [
# It is highly probable that a program will use GSettings,
# at minimum through GTK file chooser dialogue.
# Let’s add a GIO module for “dconf” GSettings backend
# to avoid falling back to “memory” backend. This is
# required for GSettings-based settings to be persisted.
# Unfortunately, it also requires the user to have dconf
# D-Bus service enabled globally (e.g. through a NixOS module).
dconf.lib
] ++ [
# TODO: remove this, packages should depend on GTK explicitly.
gtk3

# librsvg provides a module for gdk-pixbuf to allow rendering
# SVG icons. Most icon themes are SVG-based and so are some
# graphics in GTK (e.g. cross for closing window in window title bar)
# so it is pretty much required for applications using GTK.
librsvg

# We use the wrapProgram function.
makeWrapper
];
substitutions = {
passthru.tests = let
sample-project = ./tests/sample-project;

testLib = callPackage ./tests/lib.nix { };
inherit (testLib) expectSomeLineContainingYInFileXToMentionZ;
in rec {
# Simple derivation containing a program and a daemon.
basic = stdenv.mkDerivation {
name = "basic";

src = sample-project;

nativeBuildInputs = [ wrapGAppsHook ];

installFlags = [ "bin-foo" "libexec-bar" ];
};

# The wrapper for executable files should add path to dconf GIO module.
basic-contains-dconf = let
tested = basic;
in testLib.runTest "basic-contains-dconf" (
testLib.skip stdenv.isDarwin ''
${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GIO_EXTRA_MODULES=" "${dconf.lib}/lib/gio/modules"}
${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GIO_EXTRA_MODULES=" "${dconf.lib}/lib/gio/modules"}
''
);

# Simple derivation containing a gobject-introspection typelib.
typelib-Mahjong = stdenv.mkDerivation {
name = "typelib-Mahjong";

src = sample-project;

installFlags = [ "typelib-Mahjong" ];
};

# Simple derivation using a typelib.
typelib-user = stdenv.mkDerivation {
name = "typelib-user";

src = sample-project;

nativeBuildInputs = [
gobject-introspection
wrapGAppsHook
];

buildInputs = [
typelib-Mahjong
];

installFlags = [ "bin-foo" "libexec-bar" ];
};

# Testing cooperation with gobject-introspection setup hook,
# which should populate GI_TYPELIB_PATH variable with paths
# to typelibs among the derivation’s dependencies.
# The resulting GI_TYPELIB_PATH should be picked up by the wrapper.
typelib-user-has-gi-typelib-path = let
tested = typelib-user;
in testLib.runTest "typelib-user-has-gi-typelib-path" ''
${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-Mahjong}/lib/girepository-1.0"}
${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-Mahjong}/lib/girepository-1.0"}
'';

# Simple derivation containing a gobject-introspection typelib in lib output.
typelib-Bechamel = stdenv.mkDerivation {
name = "typelib-Bechamel";

outputs = [ "out" "lib" ];

src = sample-project;

makeFlags = [
"LIBDIR=${placeholder "lib"}/lib"
];

installFlags = [ "typelib-Bechamel" ];
};

# Simple derivation using a typelib from non-default output.
typelib-multiout-user = stdenv.mkDerivation {
name = "typelib-multiout-user";

src = sample-project;

nativeBuildInputs = [
gobject-introspection
wrapGAppsHook
];

buildInputs = [
typelib-Bechamel
];

installFlags = [ "bin-foo" "libexec-bar" ];
};

# Testing cooperation with gobject-introspection setup hook,
# which should populate GI_TYPELIB_PATH variable with paths
# to typelibs among the derivation’s dependencies,
# even when they are not in default output.
# The resulting GI_TYPELIB_PATH should be picked up by the wrapper.
typelib-multiout-user-has-gi-typelib-path = let
tested = typelib-multiout-user;
in testLib.runTest "typelib-multiout-user-has-gi-typelib-path" ''
${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
'';

# Simple derivation that contains a typelib as well as a program using it.
typelib-self-user = stdenv.mkDerivation {
name = "typelib-self-user";

src = sample-project;

nativeBuildInputs = [
gobject-introspection
wrapGAppsHook
];

installFlags = [ "typelib-Cow" "bin-foo" "libexec-bar" ];
};

# Testing cooperation with gobject-introspection setup hook,
# which should add the path to derivation’s own typelibs
# to GI_TYPELIB_PATH variable.
# The resulting GI_TYPELIB_PATH should be picked up by the wrapper.
# https://github.com/NixOS/nixpkgs/issues/85515
typelib-self-user-has-gi-typelib-path = let
tested = typelib-self-user;
in testLib.runTest "typelib-self-user-has-gi-typelib-path" ''
${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-self-user}/lib/girepository-1.0"}
${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-self-user}/lib/girepository-1.0"}
'';
};
};
} ./wrap-gapps-hook.sh
30 changes: 30 additions & 0 deletions pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{ runCommand
}:

rec {
runTest = name: body: runCommand name { } ''
set -o errexit
${body}
touch $out
'';

skip = cond: text:
if cond then ''
echo "Skipping test $name" > /dev/stderr
'' else text;

fail = text: ''
echo "FAIL: $name: ${text}" > /dev/stderr
exit 1
'';

expectSomeLineContainingYInFileXToMentionZ = file: filter: expected: ''
if ! cat "${file}" | grep "${filter}"; then
${fail "The file “${file}” should include a line containing “${filter}”."}
fi
if ! cat "${file}" | grep "${filter}" | grep ${expected}; then
${fail "The file “${file}” should include a line containing “${filter}” that also contains “${expected}”."}
fi
'';
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
PREFIX = $(out)
BINDIR = $(PREFIX)/bin
LIBEXECDIR = $(PREFIX)/libexec
LIBDIR = $(PREFIX)/lib
TYPELIBDIR = $(LIBDIR)/girepository-1.0

all:
echo "Compiling…"
install:
echo "Installing…"

bin:
mkdir -p $(BINDIR)
# Adds `bin-${foo}` targets, that install `${foo}` executable to `$(BINDIR)`.
bin-%: bin
touch $(BINDIR)/$(@:bin-%=%)
chmod +x $(BINDIR)/$(@:bin-%=%)

libexec:
mkdir -p $(LIBEXECDIR)
# Adds `libexec-${foo}` targets, that install `${foo}` executable to `$(LIBEXECDIR)`.
libexec-%: libexec
touch $(LIBEXECDIR)/$(@:libexec-%=%)
chmod +x $(LIBEXECDIR)/$(@:libexec-%=%)

typelib:
mkdir -p $(TYPELIBDIR)
# Adds `typelib-${foo}` targets, that install `${foo}-1.0.typelib` file to `$(TYPELIBDIR)`.
typelib-%: typelib
touch $(TYPELIBDIR)/$(@:typelib-%=%)-1.0.typelib
4 changes: 2 additions & 2 deletions pkgs/desktops/pantheon/apps/elementary-files/default.nix
Original file line number Diff line number Diff line change
@@ -30,7 +30,7 @@

stdenv.mkDerivation rec {
pname = "elementary-files";
version = "4.4.3";
version = "4.4.4";

repoName = "files";

@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "14i5icgpsy78mr7w6cav38p7shfk784b6nlxz9y72rbcxky036yc";
sha256 = "1hsh9kg30l90r2aqrrap1nfmgjf0la8mfd8h4xm6d7acailcnhmb";
};

passthru = {
8 changes: 8 additions & 0 deletions pkgs/desktops/pantheon/desktop/gala/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{ stdenv
, fetchFromGitHub
, fetchpatch
, pantheon
, pkgconfig
, meson
@@ -69,6 +70,13 @@ stdenv.mkDerivation rec {
];

patches = [
# https://github.com/elementary/gala/pull/869
# build failure in vala 0.48.7
# https://github.com/elementary/gala/pull/869#issuecomment-657147695
(fetchpatch {
url = "https://github.com/elementary/gala/commit/85d290c75eaa147b704ad34e6c67498071707ee8.patch";
sha256 = "19jkvmxidf453qfrxkvi35igxzfz2cm8srwkabvyn9wyd1yhiw0l";
})
./plugins-dir.patch
];

Loading