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: ba0c64775b4f
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: c2c55c94c19b
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

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    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

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    tkerber Thomas Kerber
    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

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    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

    Verified

    This commit was signed with the committer’s verified signature.
    NeQuissimus Tim Steinbach
    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

    Verified

    This commit was signed with the committer’s verified signature.
    NeQuissimus Tim Steinbach
    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

    Verified

    This commit was signed with the committer’s verified signature.
    NeQuissimus Tim Steinbach
    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

    Verified

    This commit was signed with the committer’s verified signature.
    NeQuissimus Tim Steinbach
    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

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    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

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b79747e View commit details

Commits on Aug 13, 2020

  1. Copy the full SHA
    4fa7cc6 View commit details

Commits on Sep 5, 2020

  1. Copy the full SHA
    c0c2bbe View commit details
  2. Copy the full SHA
    c2c55c9 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 = {
4 changes: 2 additions & 2 deletions pkgs/development/compilers/vala/default.nix
Original file line number Diff line number Diff line change
@@ -116,8 +116,8 @@ in rec {
};

vala_0_46 = generic {
version = "0.46.5";
sha256 = "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s";
version = "0.46.12";
sha256 = "07izgziih72sr9cngrvybzq1b6l76wf9whi7ws9ap9za8rjrxadn";
};

vala = vala_0_46;
Original file line number Diff line number Diff line change
@@ -18,7 +18,14 @@ giDiscoverSelf() {
fi
}

preFixupHooks+=(giDiscoverSelf)
# gappsWrapperArgsHook expects GI_TYPELIB_PATH variable to be set by this.
# Until we have dependency mechanism in generic builder, we need to use this ugly hack.
if [[ " ${preFixupPhases:-} " =~ " gappsWrapperArgsHook " ]]; then
preFixupPhases+=" "
preFixupPhases="${preFixupPhases/ gappsWrapperArgsHook / giDiscoverSelf gappsWrapperArgsHook }"
else
preFixupPhases+=" giDiscoverSelf"
fi

_multioutMoveGlibGir() {
moveToOutput share/gir-1.0 "${!outputDev}"
4 changes: 2 additions & 2 deletions pkgs/servers/samba/4.x.nix
Original file line number Diff line number Diff line change
@@ -20,11 +20,11 @@ with lib;

stdenv.mkDerivation rec {
pname = "samba";
version = "4.11.9";
version = "4.11.11";

src = fetchurl {
url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
sha256 = "1k4dxjspl0xgabdl3nb3wyz714l3df89dj04bf1siwzk9hsyz35d";
sha256 = "0q7z0ykzrqk4pwjvg3cgx7qna09583wcz5abg2f2cd35jni0hzs5";
};

outputs = [ "out" "dev" "man" ];
Loading