Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2020-02-06 19:44:01 +01:00
commit cd33d2aff4
78 changed files with 1180 additions and 1672 deletions

View File

@ -28,7 +28,8 @@ find . -type f | while read src; do
done done
cat >"$SRCS" <<EOF cat >"$SRCS" <<EOF
# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh # DO NOT EDIT! This file is generated automatically.
# Command: $0 $@
{ fetchurl, mirror }: { fetchurl, mirror }:
{ {

View File

@ -246,6 +246,23 @@ services.xserver.displayManager.defaultSession = "xfce+icewm";
upstream issue</link> for more information. upstream issue</link> for more information.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The <literal>roundcube</literal> module has been hardened.
<itemizedlist>
<listitem>
<para>
The password of the database is not written world readable in the store any more. If <literal>database.host</literal> is set to <literal>localhost</literal>, then a unix user of the same name as the database will be created and PostreSQL peer authentication will be used, removing the need for a password. Otherwise, a password is still needed and can be provided with the new option <literal>database.passwordFile</literal>, which should be set to the path of a file containing the password and readable by the user <literal>nginx</literal> only. The <literal>database.password</literal> option is insecure and deprecated. Usage of this option will print a warning.
</para>
</listitem>
<listitem>
<para>
A random <literal>des_key</literal> is set by default in the configuration of roundcube, instead of using the hardcoded and insecure default. To ensure a clean migration, all users will be logged out when you upgrade to this release.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The packages <literal>openobex</literal> and <literal>obexftp</literal> The packages <literal>openobex</literal> and <literal>obexftp</literal>

View File

@ -98,6 +98,7 @@
./programs/autojump.nix ./programs/autojump.nix
./programs/bandwhich.nix ./programs/bandwhich.nix
./programs/bash/bash.nix ./programs/bash/bash.nix
./programs/bash-my-aws.nix
./programs/bcc.nix ./programs/bcc.nix
./programs/browserpass.nix ./programs/browserpass.nix
./programs/captive-browser.nix ./programs/captive-browser.nix

View File

@ -0,0 +1,25 @@
{ config, pkgs, lib, ... }:
with lib;
let
prg = config.programs;
cfg = prg.bash-my-aws;
initScript = ''
eval $(${pkgs.bash-my-aws}/bin/bma-init)
'';
in
{
options = {
programs.bash-my-aws = {
enable = mkEnableOption "bash-my-aws";
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ bash-my-aws ];
programs.bash.interactiveShellInit = initScript;
};
}

View File

@ -29,8 +29,8 @@ let
listenInfo = unique (concatMap mkListenInfo vhosts); listenInfo = unique (concatMap mkListenInfo vhosts);
enableHttp2 = any (vhost: vhost.http2) vhosts;
enableSSL = any (listen: listen.ssl) listenInfo; enableSSL = any (listen: listen.ssl) listenInfo;
enableUserDir = any (vhost: vhost.enableUserDir) vhosts; enableUserDir = any (vhost: vhost.enableUserDir) vhosts;
# NOTE: generally speaking order of modules is very important # NOTE: generally speaking order of modules is very important
@ -44,6 +44,7 @@ let
"mpm_${cfg.multiProcessingModule}" "mpm_${cfg.multiProcessingModule}"
] ]
++ (if cfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ]) ++ (if cfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ])
++ optional enableHttp2 "http2"
++ optional enableSSL "ssl" ++ optional enableSSL "ssl"
++ optional enableUserDir "userdir" ++ optional enableUserDir "userdir"
++ optional cfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; } ++ optional cfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
@ -164,6 +165,7 @@ let
SSLCertificateFile ${sslServerCert} SSLCertificateFile ${sslServerCert}
SSLCertificateKeyFile ${sslServerKey} SSLCertificateKeyFile ${sslServerKey}
${optionalString (sslServerChain != null) "SSLCertificateChainFile ${sslServerChain}"} ${optionalString (sslServerChain != null) "SSLCertificateChainFile ${sslServerChain}"}
${optionalString hostOpts.http2 "Protocols h2 h2c http/1.1"}
${acmeChallenge} ${acmeChallenge}
${mkVHostCommonConf hostOpts} ${mkVHostCommonConf hostOpts}
</VirtualHost> </VirtualHost>

View File

@ -135,6 +135,15 @@ in
description = "Path to server SSL chain file."; description = "Path to server SSL chain file.";
}; };
http2 = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. <emphasis>However, if you use the prefork mpm, there will
be severe restrictions.</emphasis> Refer to <link xlink:href="https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config"/> for details.
'';
};
adminAddr = mkOption { adminAddr = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;

View File

@ -60,7 +60,7 @@ in
-e '/^toolBarFont=/ s/,Regular$//' -e '/^toolBarFont=/ s/,Regular$//'
fi fi
exec "${getBin plasma5.plasma-workspace}/bin/startkde" exec "${getBin plasma5.plasma-workspace}/bin/startplasma-x11"
''; '';
}; };
@ -137,6 +137,7 @@ in
libkscreen libkscreen
libksysguard libksysguard
milou milou
plasma-browser-integration
plasma-integration plasma-integration
polkit-kde-agent polkit-kde-agent
systemsettings systemsettings

View File

@ -786,6 +786,18 @@ in
''; '';
}; };
systemd.suppressedSystemUnits = mkOption {
default = [ ];
type = types.listOf types.str;
example = [ "systemd-backlight@.service" ];
description = ''
A list of units to suppress when generating system systemd configuration directory. This has
priority over upstream units, <option>systemd.units</option>, and
<option>systemd.additionalUpstreamSystemUnits</option>. The main purpose of this is to
suppress a upstream systemd unit with any modifications made to it by other NixOS modules.
'';
};
}; };
@ -818,8 +830,11 @@ in
done done
${concatStrings (mapAttrsToList (exec: target: "ln -s ${target} $out/${exec};\n") links)} ${concatStrings (mapAttrsToList (exec: target: "ln -s ${target} $out/${exec};\n") links)}
''; '';
enabledUpstreamSystemUnits = filter (n: ! elem n cfg.suppressedSystemUnits) upstreamSystemUnits;
enabledUnits = filterAttrs (n: v: ! elem n cfg.suppressedSystemUnits) cfg.units;
in ({ in ({
"systemd/system".source = generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants; "systemd/system".source = generateUnits "system" enabledUnits enabledUpstreamSystemUnits upstreamSystemWants;
"systemd/user".source = generateUnits "user" cfg.user.units upstreamUserUnits []; "systemd/user".source = generateUnits "user" cfg.user.units upstreamUserUnits [];

View File

@ -39,7 +39,7 @@ let
entrypoint = mkOption { entrypoint = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
description = "Overwrite the default entrypoint of the image."; description = "Override the default entrypoint of the image.";
default = null; default = null;
example = "/bin/my-app"; example = "/bin/my-app";
}; };
@ -145,7 +145,7 @@ let
Note that this is a list of <literal>"src:dst"</literal> strings to Note that this is a list of <literal>"src:dst"</literal> strings to
allow for <literal>src</literal> to refer to allow for <literal>src</literal> to refer to
<literal>/nix/store</literal> paths, which would difficult with an <literal>/nix/store</literal> paths, which would be difficult with an
attribute set. There are also a variety of mount options available attribute set. There are also a variety of mount options available
as a third field; please refer to the as a third field; please refer to the
<link xlink:href="https://docs.docker.com/engine/reference/run/#volume-shared-filesystems"> <link xlink:href="https://docs.docker.com/engine/reference/run/#volume-shared-filesystems">
@ -220,10 +220,9 @@ let
++ map escapeShellArg container.cmd ++ map escapeShellArg container.cmd
); );
ExecStartPre = ["-${pkgs.docker}/bin/docker rm -f ${name}" ExecStartPre =
"-${pkgs.docker}/bin/docker image prune -f"] ++ ["-${pkgs.docker}/bin/docker rm -f ${name}"] ++
(optional (container.imageFile != null) (optional (container.imageFile != null) "${pkgs.docker}/bin/docker load -i ${container.imageFile}");
["${pkgs.docker}/bin/docker load -i ${container.imageFile}"]);
ExecStop = ''${pkgs.bash}/bin/sh -c "[ $SERVICE_RESULT = success ] || ${pkgs.docker}/bin/docker stop ${name}"''; ExecStop = ''${pkgs.bash}/bin/sh -c "[ $SERVICE_RESULT = success ] || ${pkgs.docker}/bin/docker stop ${name}"'';
ExecStopPost = "-${pkgs.docker}/bin/docker rm -f ${name}"; ExecStopPost = "-${pkgs.docker}/bin/docker rm -f ${name}";

View File

@ -8,7 +8,7 @@
} }
}: }:
with import ../lib/testing.nix { inherit system pkgs; }; with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib; with pkgs.lib;
mapAttrs (channel: chromiumPkg: makeTest rec { mapAttrs (channel: chromiumPkg: makeTest rec {
@ -21,9 +21,11 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
enableOCR = true; enableOCR = true;
user = "alice";
machine.imports = [ ./common/user-account.nix ./common/x11.nix ]; machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
machine.virtualisation.memorySize = 2047; machine.virtualisation.memorySize = 2047;
machine.test-support.displayManager.auto.user = "alice"; machine.test-support.displayManager.auto.user = user;
machine.environment.systemPackages = [ chromiumPkg ]; machine.environment.systemPackages = [ chromiumPkg ];
startupHTML = pkgs.writeText "chromium-startup.html" '' startupHTML = pkgs.writeText "chromium-startup.html" ''
@ -47,155 +49,218 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
xdoScript = pkgs.writeText "${name}.xdo" text; xdoScript = pkgs.writeText "${name}.xdo" text;
in "${pkgs.xdotool}/bin/xdotool '${xdoScript}'"; in "${pkgs.xdotool}/bin/xdotool '${xdoScript}'";
in '' in ''
# Run as user alice import shlex
sub ru ($) { from contextlib import contextmanager, _GeneratorContextManager
my $esc = $_[0] =~ s/'/'\\${"'"}'/gr;
return "su - alice -c '$esc'";
}
sub createNewWin {
$machine->nest("creating a new Chromium window", sub { # Run as user alice
$machine->execute(ru "${xdo "new-window" '' def ru(cmd):
return "su - ${user} -c " + shlex.quote(cmd)
def create_new_win():
with machine.nested("Creating a new Chromium window"):
machine.execute(
ru(
"${xdo "new-window" ''
search --onlyvisible --name "startup done" search --onlyvisible --name "startup done"
windowfocus --sync windowfocus --sync
windowactivate --sync windowactivate --sync
''}"); ''}"
$machine->execute(ru "${xdo "new-window" '' )
)
machine.execute(
ru(
"${xdo "new-window" ''
key Ctrl+n key Ctrl+n
''}"); ''}"
}); )
} )
sub closeWin {
Machine::retry sub { def close_win():
$machine->execute(ru "${xdo "close-window" '' def try_close(_):
machine.execute(
ru(
"${xdo "close-window" ''
search --onlyvisible --name "new tab" search --onlyvisible --name "new tab"
windowfocus --sync windowfocus --sync
windowactivate --sync windowactivate --sync
''}"); ''}"
$machine->execute(ru "${xdo "close-window" '' )
)
machine.execute(
ru(
"${xdo "close-window" ''
key Ctrl+w key Ctrl+w
''}"); ''}"
for (1..20) { )
my ($status, $out) = $machine->execute(ru "${xdo "wait-for-close" '' )
for _ in range(1, 20):
status, out = machine.execute(
ru(
"${xdo "wait-for-close" ''
search --onlyvisible --name "new tab" search --onlyvisible --name "new tab"
''}"); ''}"
return 1 if $status != 0; )
$machine->sleep(1); )
} if status != 0:
} return True
} machine.sleep(1)
return False
sub waitForNewWin { retry(try_close)
my $ret = 0;
$machine->nest("waiting for new Chromium window to appear", sub {
for (1..20) { def wait_for_new_win():
my ($status, $out) = $machine->execute(ru "${xdo "wait-for-window" '' ret = False
with machine.nested("Waiting for new Chromium window to appear"):
for _ in range(1, 20):
status, out = machine.execute(
ru(
"${xdo "wait-for-window" ''
search --onlyvisible --name "new tab" search --onlyvisible --name "new tab"
windowfocus --sync windowfocus --sync
windowactivate --sync windowactivate --sync
''}"); ''}"
if ($status == 0) { )
$ret = 1; )
if status == 0:
ret = True
machine.sleep(10)
break
machine.sleep(1)
return ret
# XXX: Somehow Chromium is not accepting keystrokes for a few
# seconds after a new window has appeared, so let's wait a while.
$machine->sleep(10);
last; def create_and_wait_for_new_win():
} for _ in range(1, 3):
$machine->sleep(1); create_new_win()
} if wait_for_new_win():
}); return True
return $ret; assert False, "new window did not appear within 60 seconds"
}
sub createAndWaitForNewWin {
for (1..3) {
createNewWin;
return 1 if waitForNewWin;
}
die "new window didn't appear within 60 seconds";
}
sub testNewWin { @contextmanager
my ($desc, $code) = @_; def test_new_win(description):
createAndWaitForNewWin; create_and_wait_for_new_win()
subtest($desc, $code); with machine.nested(description):
closeWin; yield
} close_win()
$machine->waitForX;
my $url = "file://${startupHTML}"; machine.wait_for_x()
$machine->execute(ru "ulimit -c unlimited; chromium \"$url\" & disown");
$machine->waitForText(qr/startup done/); url = "file://${startupHTML}"
$machine->waitUntilSucceeds(ru "${xdo "check-startup" '' machine.succeed(ru(f'ulimit -c unlimited; chromium "{url}" & disown'))
machine.wait_for_text("startup done")
machine.wait_until_succeeds(
ru(
"${xdo "check-startup" ''
search --sync --onlyvisible --name "startup done" search --sync --onlyvisible --name "startup done"
# close first start help popup # close first start help popup
key -delay 1000 Escape key -delay 1000 Escape
windowfocus --sync windowfocus --sync
windowactivate --sync windowactivate --sync
''}"); ''}"
)
)
createAndWaitForNewWin; create_and_wait_for_new_win()
$machine->screenshot("empty_windows"); machine.screenshot("empty_windows")
closeWin; close_win()
$machine->screenshot("startup_done"); machine.screenshot("startup_done")
testNewWin "check sandbox", sub { with test_new_win("check sandbox"):
$machine->succeed(ru "${xdo "type-url" '' machine.succeed(
ru(
"${xdo "type-url" ''
search --sync --onlyvisible --name "new tab" search --sync --onlyvisible --name "new tab"
windowfocus --sync windowfocus --sync
type --delay 1000 "chrome://sandbox" type --delay 1000 "chrome://sandbox"
''}"); ''}"
)
)
$machine->succeed(ru "${xdo "submit-url" '' machine.succeed(
ru(
"${xdo "submit-url" ''
search --sync --onlyvisible --name "new tab" search --sync --onlyvisible --name "new tab"
windowfocus --sync windowfocus --sync
key --delay 1000 Return key --delay 1000 Return
''}"); ''}"
)
)
$machine->screenshot("sandbox_info"); machine.screenshot("sandbox_info")
$machine->succeed(ru "${xdo "find-window" '' machine.succeed(
ru(
"${xdo "find-window" ''
search --sync --onlyvisible --name "sandbox status" search --sync --onlyvisible --name "sandbox status"
windowfocus --sync windowfocus --sync
''}"); ''}"
$machine->succeed(ru "${xdo "copy-sandbox-info" '' )
)
machine.succeed(
ru(
"${xdo "copy-sandbox-info" ''
key --delay 1000 Ctrl+a Ctrl+c key --delay 1000 Ctrl+a Ctrl+c
''}"); ''}"
)
)
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o"); clipboard = machine.succeed(
die "sandbox not working properly: $clipboard" ru("${pkgs.xclip}/bin/xclip -o")
unless $clipboard =~ /layer 1 sandbox.*namespace/mi )
&& $clipboard =~ /pid namespaces.*yes/mi
&& $clipboard =~ /network namespaces.*yes/mi
&& $clipboard =~ /seccomp.*sandbox.*yes/mi
&& $clipboard =~ /you are adequately sandboxed/mi;
$machine->sleep(1); filters = [
$machine->succeed(ru "${xdo "find-window-after-copy" '' "layer 1 sandbox.*namespace",
"pid namespaces.*yes",
"network namespaces.*yes",
"seccomp.*sandbox.*yes",
"you are adequately sandboxed",
]
if not all(
re.search(filter, clipboard, flags=re.DOTALL | re.IGNORECASE)
for filter in filters
):
assert False, f"sandbox not working properly: {clipboard}"
machine.sleep(1)
machine.succeed(
ru(
"${xdo "find-window-after-copy" ''
search --onlyvisible --name "sandbox status" search --onlyvisible --name "sandbox status"
''}"); ''}"
)
)
my $clipboard = $machine->succeed(ru "echo void | ${pkgs.xclip}/bin/xclip -i"); clipboard = machine.succeed(
$machine->succeed(ru "${xdo "copy-sandbox-info" '' ru(
"echo void | ${pkgs.xclip}/bin/xclip -i"
)
)
machine.succeed(
ru(
"${xdo "copy-sandbox-info" ''
key --delay 1000 Ctrl+a Ctrl+c key --delay 1000 Ctrl+a Ctrl+c
''}"); ''}"
)
)
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o"); clipboard = machine.succeed(
die "copying twice in a row does not work properly: $clipboard" ru("${pkgs.xclip}/bin/xclip -o")
unless $clipboard =~ /layer 1 sandbox.*namespace/mi )
&& $clipboard =~ /pid namespaces.*yes/mi if not all(
&& $clipboard =~ /network namespaces.*yes/mi re.search(filter, clipboard, flags=re.DOTALL | re.IGNORECASE)
&& $clipboard =~ /seccomp.*sandbox.*yes/mi for filter in filters
&& $clipboard =~ /you are adequately sandboxed/mi; ):
assert False, f"copying twice in a row does not work properly: {clipboard}"
$machine->screenshot("afer_copy_from_chromium"); machine.screenshot("after_copy_from_chromium")
};
$machine->shutdown; machine.shutdown()
''; '';
}) channelMap }) channelMap

View File

@ -1,14 +1,13 @@
# Test printing via CUPS. # Test printing via CUPS.
import ./make-test.nix ({pkgs, ... }: import ./make-test-python.nix ({pkgs, ... }:
let let
printingServer = startWhenNeeded: { printingServer = startWhenNeeded: {
services.printing.enable = true; services.printing.enable = true;
services.printing.startWhenNeeded = startWhenNeeded; services.printing.startWhenNeeded = startWhenNeeded;
services.printing.listenAddresses = [ "*:631" ]; services.printing.listenAddresses = [ "*:631" ];
services.printing.defaultShared = true; services.printing.defaultShared = true;
services.printing.extraConf = services.printing.extraConf = ''
''
<Location /> <Location />
Order allow,deny Order allow,deny
Allow from all Allow from all
@ -34,9 +33,7 @@ let
hardware.printers.ensureDefaultPrinter = "DeskjetRemote"; hardware.printers.ensureDefaultPrinter = "DeskjetRemote";
}; };
in in {
{
name = "printing"; name = "printing";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ domenkozar eelco matthewbauer ]; maintainers = [ domenkozar eelco matthewbauer ];
@ -50,65 +47,91 @@ in
serviceClient = { ... }: (printingClient false); serviceClient = { ... }: (printingClient false);
}; };
testScript = testScript = ''
'' import os
startAll; import re
import sys
start_all()
with subtest("Make sure that cups is up on both sides"):
serviceServer.wait_for_unit("cups.service")
serviceClient.wait_for_unit("cups.service")
with subtest(
"Wait until cups is fully initialized and ensure-printers has "
"executed with 10s delay"
):
serviceClient.sleep(20)
socketActivatedClient.wait_until_succeeds(
"systemctl status ensure-printers | grep -q -E 'code=exited, status=0/SUCCESS'"
)
def test_printing(client, server):
assert "scheduler is running" in client.succeed("lpstat -r")
with subtest("UNIX socket is used for connections"):
assert "/var/run/cups/cups.sock" in client.succeed("lpstat -H")
with subtest("HTTP server is available too"):
client.succeed("curl --fail http://localhost:631/")
client.succeed(f"curl --fail http://{server.name}:631/")
server.fail(f"curl --fail --connect-timeout 2 http://{client.name}:631/")
with subtest("LP status checks"):
assert "DeskjetRemote accepting requests" in client.succeed("lpstat -a")
assert "DeskjetLocal accepting requests" in client.succeed(
f"lpstat -h {server.name}:631 -a"
)
client.succeed("cupsdisable DeskjetRemote")
out = client.succeed("lpq")
print(out)
assert re.search(
"DeskjetRemote is not ready.*no entries",
client.succeed("lpq"),
flags=re.DOTALL,
)
client.succeed("cupsenable DeskjetRemote")
assert re.match(
"DeskjetRemote is ready.*no entries", client.succeed("lpq"), flags=re.DOTALL
)
# Make sure that cups is up on both sides.
$serviceServer->waitForUnit("cups.service");
$serviceClient->waitForUnit("cups.service");
# wait until cups is fully initialized and ensure-printers has executed with 10s delay
$serviceClient->sleep(20);
$socketActivatedClient->waitUntilSucceeds("systemctl status ensure-printers | grep -q -E 'code=exited, status=0/SUCCESS'");
sub testPrinting {
my ($client, $server) = (@_);
my $clientHostname = $client->name();
my $serverHostname = $server->name();
$client->succeed("lpstat -r") =~ /scheduler is running/ or die;
# Test that UNIX socket is used for connections.
$client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die;
# Test that HTTP server is available too.
$client->succeed("curl --fail http://localhost:631/");
$client->succeed("curl --fail http://$serverHostname:631/");
$server->fail("curl --fail --connect-timeout 2 http://$clientHostname:631/");
# Do some status checks.
$client->succeed("lpstat -a") =~ /DeskjetRemote accepting requests/ or die;
$client->succeed("lpstat -h $serverHostname:631 -a") =~ /DeskjetLocal accepting requests/ or die;
$client->succeed("cupsdisable DeskjetRemote");
$client->succeed("lpq") =~ /DeskjetRemote is not ready.*no entries/s or die;
$client->succeed("cupsenable DeskjetRemote");
$client->succeed("lpq") =~ /DeskjetRemote is ready.*no entries/s or die;
# Test printing various file types. # Test printing various file types.
foreach my $file ("${pkgs.groff.doc}/share/doc/*/examples/mom/penguin.pdf", for file in [
"${pkgs.groff.doc}/share/doc/*/examples/mom/penguin.pdf",
"${pkgs.groff.doc}/share/doc/*/meref.ps", "${pkgs.groff.doc}/share/doc/*/meref.ps",
"${pkgs.cups.out}/share/doc/cups/images/cups.png", "${pkgs.cups.out}/share/doc/cups/images/cups.png",
"${pkgs.pcre.doc}/share/doc/pcre/pcre.txt") "${pkgs.pcre.doc}/share/doc/pcre/pcre.txt",
{ ]:
$file =~ /([^\/]*)$/; my $fn = $1; file_name = os.path.basename(file)
subtest "print $fn", sub { with subtest(f"print {file_name}"):
# Print the file on the client. # Print the file on the client.
$client->succeed("lp $file"); print(client.succeed("lpq"))
$client->waitUntilSucceeds("lpq | grep -q -E 'active.*root.*$fn'"); client.succeed(f"lp {file}")
client.wait_until_succeeds(
f"lpq; lpq | grep -q -E 'active.*root.*{file_name}'"
)
# Ensure that a raw PCL file appeared in the server's queue # Ensure that a raw PCL file appeared in the server's queue
# (showing that the right filters have been applied). Of # (showing that the right filters have been applied). Of
# course, since there is no actual USB printer attached, the # course, since there is no actual USB printer attached, the
# file will stay in the queue forever. # file will stay in the queue forever.
$server->waitForFile("/var/spool/cups/d*-001"); server.wait_for_file("/var/spool/cups/d*-001")
$server->waitUntilSucceeds("lpq -a | grep -q -E '$fn'"); server.wait_until_succeeds(f"lpq -a | grep -q -E '{file_name}'")
# Delete the job on the client. It should disappear on the # Delete the job on the client. It should disappear on the
# server as well. # server as well.
$client->succeed("lprm"); client.succeed("lprm")
$client->waitUntilSucceeds("lpq -a | grep -q -E 'no entries'"); client.wait_until_succeeds("lpq -a | grep -q -E 'no entries'")
Machine::retry sub {
return 1 if $server->succeed("lpq -a") =~ /no entries/; retry(lambda _: "no entries" in server.succeed("lpq -a"))
};
# The queue is empty already, so this should be safe. # The queue is empty already, so this should be safe.
# Otherwise, pairs of "c*"-"d*-001" files might persist. # Otherwise, pairs of "c*"-"d*-001" files might persist.
$server->execute("rm /var/spool/cups/*"); server.execute("rm /var/spool/cups/*")
};
}
} test_printing(serviceClient, serviceServer)
testPrinting($serviceClient, $serviceServer); test_printing(socketActivatedClient, socketActivatedServer)
testPrinting($socketActivatedClient, $socketActivatedServer);
''; '';
}) })

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "quilter"; pname = "quilter";
version = "2.0.5"; version = "2.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lainsce"; owner = "lainsce";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1gij5gqidzvwym7yq5fx0344n4fkydx5diwz8g8kwkcsz7z1w45a"; sha256 = "1756gp3f2pmxz2k4xg4cfdbdav848qb0vjglyiy1n2k9xc79dyxz";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,63 @@
{ lib
, pkgs
, python
}:
let
py = python.override {
packageOverrides = self: super: {
pyproj = super.pyproj.overridePythonAttrs (oldAttrs: rec {
version = "1.9.6";
src = pkgs.fetchFromGitHub {
owner = "pyproj4";
repo = "pyproj";
rev = "v${version}rel";
sha256 = "sha256:18v4h7jx4mcc0x2xy8y7dfjq9bzsyxs8hdb6v67cabvlz2njziqy";
};
nativeBuildInputs = with python.pkgs; [ cython ];
patches = [ ];
checkPhase = ''
runHook preCheck
pushd unittest # changing directory should ensure we're importing the global pyproj
${python.interpreter} test.py && ${python.interpreter} -c "import doctest, pyproj, sys; sys.exit(doctest.testmod(pyproj)[0])"
popd
runHook postCheck
'';
});
};
};
in
with py.pkgs;
buildPythonApplication rec {
pname = "MapProxy";
version = "1.12.0";
src = fetchPypi {
inherit pname version;
sha256 = "622e3a7796ef861ba21e42231b49c18d00d75f03eaf3f01a2b7687be7568e2ec";
};
prePatch = ''
substituteInPlace mapproxy/util/ext/serving.py --replace "args = [sys.executable] + sys.argv" "args = sys.argv"
'';
propagatedBuildInputs = [
pillow
pyyaml
pyproj
shapely
gdal
lxml
setuptools
];
# Tests are disabled:
# 1) Dependency list is huge.
# https://github.com/mapproxy/mapproxy/blob/master/requirements-tests.txt
#
# 2) There are security issues with package Riak
# https://github.com/NixOS/nixpkgs/issues/33876
# https://github.com/NixOS/nixpkgs/pull/56480
doCheck = false;
meta = with lib; {
description = "MapProxy is an open source proxy for geospatial data";
homepage = https://mapproxy.org/;
license = licenses.asl20;
maintainers = with maintainers; [ rakesh4g ];
};
}

View File

@ -15,13 +15,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "next"; pname = "next";
version = "1.3.4"; version = "1.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "atlas-engineer"; owner = "atlas-engineer";
repo = "next"; repo = "next";
rev = version; rev = version;
sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi"; sha256 = "1gkmr746rqqg94698a051gv79fblc8n9dq0zg04llba44adhpmjl";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
cl-annot cl-annot
cl-ansi-text cl-ansi-text
cl-css cl-css
cl-hooks
cl-json cl-json
cl-markup cl-markup
cl-ppcre cl-ppcre
@ -52,12 +51,15 @@ stdenv.mkDerivation rec {
lparallel lparallel
mk-string-metrics mk-string-metrics
parenscript parenscript
plump
quri quri
serapeum
sqlite sqlite
str str
swank swank
trivia trivia
trivial-clipboard trivial-clipboard
trivial-types
unix-opts unix-opts
]; ];

View File

@ -5,20 +5,20 @@ buildGoPackage rec {
/* Do not use "dev" as a version. If you do, Tilt will consider itself /* Do not use "dev" as a version. If you do, Tilt will consider itself
running in development environment and try to serve assets from the running in development environment and try to serve assets from the
source tree, which is not there once build completes. */ source tree, which is not there once build completes. */
version = "0.10.13"; version = "0.11.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "windmilleng"; owner = "windmilleng";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "02xlqgmmn1a7pz6sliharz8l9fbn2raxqkm75qxdqs1ncbvgc65k"; sha256 = "035czgr0rn6gcv24vnlr35n9yvy0fwq4spdzsc76gfxckcbcmzz0";
}; };
goPackagePath = "github.com/windmilleng/tilt"; goPackagePath = "github.com/windmilleng/tilt";
subPackages = [ "cmd/tilt" ]; subPackages = [ "cmd/tilt" ];
buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-10-04"); buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2020-01-25");
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production"; description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";

View File

@ -1,25 +1,27 @@
{ stdenv, fetchFromGitHub, makeWrapper { stdenv, fetchFromGitHub, makeWrapper
, python3, git, gnupg, less, cacert , python3, git, gnupg, less
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-repo"; pname = "git-repo";
version = "1.13.9.1"; version = "1.13.9.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "android"; owner = "android";
repo = "tools_repo"; repo = "tools_repo";
rev = "v${version}"; rev = "v${version}";
sha256 = "0yns7n8gpac33cbkm85slslcnfdb55ax9c0vpvmmfbgcgkvqlknb"; sha256 = "1a6vyj7a9qba9nidi6x3hkpvpzikskh5jsagzkx7m95p0hcvvb7v";
}; };
patches = [ ./import-ssl-module.patch ];
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ python3 ]; buildInputs = [ python3 ];
patchPhase = '' postPatch = ''
substituteInPlace repo --replace \ substituteInPlace repo --replace \
'urllib.request.urlopen(url)' \ 'urllib.request.urlopen(url)' \
'urllib.request.urlopen(url, cafile="${cacert}/etc/ssl/certs/ca-bundle.crt")' 'urllib.request.urlopen(url, context=ssl.create_default_context())'
''; '';
installPhase = '' installPhase = ''

View File

@ -0,0 +1,10 @@
--- a/repo 2020-02-05 21:11:52.773854798 +0100
+++ b/repo 2020-02-05 21:12:34.018329462 +0100
@@ -137,6 +137,7 @@
import stat
import subprocess
import sys
+import ssl
if sys.version_info[0] == 3:
import urllib.request

View File

@ -8,13 +8,13 @@ with stdenv.lib;
buildGoPackage rec { buildGoPackage rec {
pname = "gogs"; pname = "gogs";
version = "0.11.86"; version = "0.11.91";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gogs"; owner = "gogs";
repo = "gogs"; repo = "gogs";
rev = "v${version}"; rev = "v${version}";
sha256 = "0l8mwy0cyy3cdxqinf8ydb35kf7c8pj09xrhpr7rr7lldnvczabw"; sha256 = "1yfimgjg9n773kdml17119539w9736mi66bivpv5yp3cj2hj9mlj";
}; };
patches = [ ./static-root-path.patch ]; patches = [ ./static-root-path.patch ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "papirus-icon-theme"; pname = "papirus-icon-theme";
version = "20200102"; version = "20200201";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PapirusDevelopmentTeam"; owner = "PapirusDevelopmentTeam";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0jnx6prgrwz9i979a20sd58dwhsz8cakvl8ickakadca1j7gs7kb"; sha256 = "06scfncid3mhc99lj7iq99la5ls7gsc9kzzccbvcbfnvpzlmwjfh";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];

View File

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/plasma/5.16.5/ ) WGET_ARGS=( https://download.kde.org/stable/plasma/5.17.5/ )

View File

@ -1,17 +1,17 @@
{ {
mkDerivation, mkDerivation,
extra-cmake-modules, extra-cmake-modules,
kconfig, kconfigwidgets, kdbusaddons, kglobalaccel, ki18n, kwidgetsaddons, kconfig, kcmutils, kconfigwidgets, kdbusaddons, kglobalaccel, ki18n,
kxmlgui, libkscreen, qtdeclarative, qtgraphicaleffects, kwindowsystem, kwidgetsaddons, kxmlgui, libkscreen, qtdeclarative, qtgraphicaleffects,
kdeclarative, plasma-framework kwindowsystem, kdeclarative, plasma-framework
}: }:
mkDerivation { mkDerivation {
name = "kscreen"; name = "kscreen";
nativeBuildInputs = [ extra-cmake-modules ]; nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [ buildInputs = [
kconfig kconfigwidgets kdbusaddons kglobalaccel ki18n kwidgetsaddons kxmlgui kconfig kcmutils kconfigwidgets kdbusaddons kglobalaccel ki18n
libkscreen qtdeclarative qtgraphicaleffects kwindowsystem kdeclarative kwidgetsaddons kxmlgui libkscreen qtdeclarative qtgraphicaleffects
plasma-framework kwindowsystem kdeclarative plasma-framework
]; ];
} }

View File

@ -1,11 +1,11 @@
{ {
mkDerivation, mkDerivation,
extra-cmake-modules, extra-cmake-modules,
kidletime, kwayland, kwindowsystem, qtbase, kguiaddons, kidletime, kwayland, kwindowsystem, qtbase,
}: }:
mkDerivation { mkDerivation {
name = "kwayland-integration"; name = "kwayland-integration";
nativeBuildInputs = [ extra-cmake-modules ]; nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [ kidletime kwindowsystem kwayland qtbase ]; buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase ];
} }

View File

@ -0,0 +1,25 @@
From 449896c45b23f50c168d8d2789832024c906ec36 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Mon, 27 Jan 2020 05:31:13 -0600
Subject: [PATCH 1/2] follow symlinks
---
plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/kdecorations/aurorae/src/aurorae.cpp b/plugins/kdecorations/aurorae/src/aurorae.cpp
index fd723a8..fb95633 100644
--- a/plugins/kdecorations/aurorae/src/aurorae.cpp
+++ b/plugins/kdecorations/aurorae/src/aurorae.cpp
@@ -211,7 +211,7 @@ void Helper::init()
// so let's try to locate our plugin:
QString pluginPath;
for (const QString &path : m_engine->importPathList()) {
- QDirIterator it(path, QDirIterator::Subdirectories);
+ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
it.next();
QFileInfo fileInfo = it.fileInfo();
--
2.23.1

View File

@ -1,8 +1,17 @@
Index: kwin-5.15.5/xwl/xwayland.cpp From d584b075d71c4486710c0bbed6d44038f2ff5075 Mon Sep 17 00:00:00 2001
=================================================================== From: Thomas Tuegel <ttuegel@mailbox.org>
--- kwin-5.15.5.orig/xwl/xwayland.cpp Date: Mon, 27 Jan 2020 05:31:23 -0600
+++ kwin-5.15.5/xwl/xwayland.cpp Subject: [PATCH 2/2] xwayland
@@ -143,7 +143,7 @@ void Xwayland::init()
---
xwl/xwayland.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xwl/xwayland.cpp b/xwl/xwayland.cpp
index 5f17d39..b4b69ba 100644
--- a/xwl/xwayland.cpp
+++ b/xwl/xwayland.cpp
@@ -145,7 +145,7 @@ void Xwayland::init()
m_xwaylandProcess = new Process(this); m_xwaylandProcess = new Process(this);
m_xwaylandProcess->setProcessChannelMode(QProcess::ForwardedErrorChannel); m_xwaylandProcess->setProcessChannelMode(QProcess::ForwardedErrorChannel);
@ -11,3 +20,6 @@ Index: kwin-5.15.5/xwl/xwayland.cpp
QProcessEnvironment env = m_app->processStartupEnvironment(); QProcessEnvironment env = m_app->processStartupEnvironment();
env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd)); env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd));
env.insert("EGL_PLATFORM", QByteArrayLiteral("DRM")); env.insert("EGL_PLATFORM", QByteArrayLiteral("DRM"));
--
2.23.1

View File

@ -14,6 +14,9 @@
plasma-framework, qtsensors, libcap, libdrm plasma-framework, qtsensors, libcap, libdrm
}: }:
# TODO (ttuegel): investigate qmlplugindump failure
# TODO (ttuegel): investigate gbm dependency
mkDerivation { mkDerivation {
name = "kwin"; name = "kwin";
nativeBuildInputs = [ extra-cmake-modules kdoctools ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ];
@ -30,7 +33,10 @@ mkDerivation {
libcap libdrm libcap libdrm
]; ];
outputs = [ "bin" "dev" "out" ]; outputs = [ "bin" "dev" "out" ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); patches = [
./0001-follow-symlinks.patch
./0002-xwayland.patch
];
CXXFLAGS = [ CXXFLAGS = [
''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"'' ''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
]; ];

View File

@ -1,13 +0,0 @@
Index: kwin-5.7.3/plugins/kdecorations/aurorae/src/aurorae.cpp
===================================================================
--- kwin-5.7.3.orig/plugins/kdecorations/aurorae/src/aurorae.cpp
+++ kwin-5.7.3/plugins/kdecorations/aurorae/src/aurorae.cpp
@@ -211,7 +211,7 @@ void Helper::init()
// so let's try to locate our plugin:
QString pluginPath;
for (const QString &path : m_engine->importPathList()) {
- QDirIterator it(path, QDirIterator::Subdirectories);
+ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
it.next();
QFileInfo fileInfo = it.fileInfo();

View File

@ -1,24 +0,0 @@
Dont set capabilities on kwin_wayland executable at build time
This is handled by security.wrappers on NixOS
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48cbcdbfe..93b410ed8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -674,15 +674,6 @@ if (HAVE_LIBCAP)
endif()
install(TARGETS kwin_wayland ${INSTALL_TARGETS_DEFAULT_ARGS} )
-if (HAVE_LIBCAP)
- install(
- CODE "execute_process(
- COMMAND
- ${SETCAP_EXECUTABLE}
- CAP_SYS_NICE=+ep
- \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_BINDIR}/kwin_wayland)"
- )
-endif()
add_subdirectory(platformsupport)
add_subdirectory(plugins)

View File

@ -1,3 +0,0 @@
follow-symlinks.patch
xwayland.patch
no-setcap-install.patch

View File

@ -1,15 +1,15 @@
{ {
mkDerivation, mkDerivation,
extra-cmake-modules, extra-cmake-modules,
kcoreaddons, kdeclarative, ki18n, krunner, kservice, plasma-framework, kcoreaddons, kdeclarative, ki18n, kitemmodels, krunner, kservice,
qtscript, qtdeclarative plasma-framework, qtscript, qtdeclarative
}: }:
mkDerivation { mkDerivation {
name = "milou"; name = "milou";
nativeBuildInputs = [ extra-cmake-modules ]; nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [ buildInputs = [
kcoreaddons kdeclarative ki18n krunner kservice plasma-framework kcoreaddons kdeclarative ki18n kitemmodels krunner kservice plasma-framework
qtdeclarative qtscript qtdeclarative qtscript
]; ];
} }

View File

@ -1,11 +1,18 @@
{ mkDerivation, extra-cmake-modules, qtbase, kio, ki18n, kconfig {
, kdbusaddons, knotifications, krunner, kwindowsystem, kactivities mkDerivation,
extra-cmake-modules,
qtbase,
kfilemetadata, kio, ki18n, kconfig , kdbusaddons, knotifications, kpurpose,
krunner, kwindowsystem, kactivities,
}: }:
mkDerivation { mkDerivation {
name = "plasma-browser-integration"; name = "plasma-browser-integration";
nativeBuildInputs = [ nativeBuildInputs = [
extra-cmake-modules qtbase kio ki18n kconfig kdbusaddons extra-cmake-modules
knotifications krunner kwindowsystem kactivities ];
buildInputs = [
qtbase kfilemetadata kio ki18n kconfig kdbusaddons knotifications kpurpose
krunner kwindowsystem kactivities
]; ];
} }

View File

@ -0,0 +1,129 @@
From 1796822e4c97062b919a596ce13db68e2c46c7e8 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 28 Jan 2020 05:00:53 -0600
Subject: [PATCH 1/2] startkde
---
startkde/startplasma-waylandsession.cpp | 2 +-
startkde/startplasma-x11.cpp | 2 +-
startkde/startplasma.cpp | 32 ++++++++-----------------
3 files changed, 12 insertions(+), 24 deletions(-)
diff --git a/startkde/startplasma-waylandsession.cpp b/startkde/startplasma-waylandsession.cpp
index 87c71c6..5fc5314 100644
--- a/startkde/startplasma-waylandsession.cpp
+++ b/startkde/startplasma-waylandsession.cpp
@@ -67,7 +67,7 @@ int main(int /*argc*/, char** /*argv*/)
waitForKonqi();
out << "startplasma-waylandsession: Shutting down...\n";
- runSync(QStringLiteral("kdeinit5_shutdown"), {});
+ runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
cleanupX11();
out << "startplasma-waylandsession: Done.\n";
diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp
index 3314b62..14cbe29 100644
--- a/startkde/startplasma-x11.cpp
+++ b/startkde/startplasma-x11.cpp
@@ -111,7 +111,7 @@ int main(int /*argc*/, char** /*argv*/)
out << "startkde: Shutting down...\n";
- runSync(QStringLiteral("kdeinit5_shutdown"), {});
+ runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
cleanupPlasmaEnvironment();
cleanupX11();
diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
index e0f7004..8ac41fd 100644
--- a/startkde/startplasma.cpp
+++ b/startkde/startplasma.cpp
@@ -34,7 +34,7 @@ QTextStream out(stderr);
void messageBox(const QString &text)
{
out << text;
- runSync(QStringLiteral("xmessage"), {QStringLiteral("-geometry"), QStringLiteral("500x100"), text});
+ runSync(QStringLiteral(NIXPKGS_XMESSAGE), {QStringLiteral("-geometry"), QStringLiteral("500x100"), text});
}
QStringList allServices(const QLatin1String& prefix)
@@ -184,14 +184,6 @@ void runEnvironmentScripts()
}
}
sourceFiles(scripts);
-
- // Make sure that the KDE prefix is first in XDG_DATA_DIRS and that it's set at all.
- // The spec allows XDG_DATA_DIRS to be not set, but X session startup scripts tend
- // to set it to a list of paths *not* including the KDE prefix if it's not /usr or
- // /usr/local.
- if (!qEnvironmentVariableIsSet("XDG_DATA_DIRS")) {
- qputenv("XDG_DATA_DIRS", KDE_INSTALL_FULL_DATAROOTDIR ":/usr/share:/usr/local/share");
- }
}
@@ -240,15 +232,15 @@ void setupX11()
// If the user has overwritten fonts, the cursor font may be different now
// so don't move this up.
- runSync(QStringLiteral("xsetroot"), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
- runSync(QStringLiteral("xprop"), {QStringLiteral("-root"), QStringLiteral("-f"), QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("8t"), QStringLiteral("-set"), QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("true")});
- runSync(QStringLiteral("xprop"), {QStringLiteral("-root"), QStringLiteral("-f"), QStringLiteral("KDE_SESSION_VERSION"), QStringLiteral("32c"), QStringLiteral("-set"), QStringLiteral("KDE_SESSION_VERSION"), QStringLiteral("5")});
+ runSync(QStringLiteral(NIXPKGS_XSETROOT), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
+ runSync(QStringLiteral(NIXPKGS_XPROP), {QStringLiteral("-root"), QStringLiteral("-f"), QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("8t"), QStringLiteral("-set"), QStringLiteral("KDE_FULL_SESSION"), QStringLiteral("true")});
+ runSync(QStringLiteral(NIXPKGS_XPROP), {QStringLiteral("-root"), QStringLiteral("-f"), QStringLiteral("KDE_SESSION_VERSION"), QStringLiteral("32c"), QStringLiteral("-set"), QStringLiteral("KDE_SESSION_VERSION"), QStringLiteral("5")});
}
void cleanupX11()
{
- runSync(QStringLiteral("xprop"), { QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_FULL_SESSION") });
- runSync(QStringLiteral("xprop"), { QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_SESSION_VERSION") });
+ runSync(QStringLiteral(NIXPKGS_XPROP), { QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_FULL_SESSION") });
+ runSync(QStringLiteral(NIXPKGS_XPROP), { QStringLiteral("-root"), QStringLiteral("-remove"), QStringLiteral("KDE_SESSION_VERSION") });
}
// TODO: Check if Necessary
@@ -265,11 +257,7 @@ bool syncDBusEnvironment()
{
int exitCode;
// At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
- if (!QStandardPaths::findExecutable(QStringLiteral("dbus-update-activation-environment")).isEmpty()) {
- exitCode = runSync(QStringLiteral("dbus-update-activation-environment"), { QStringLiteral("--systemd"), QStringLiteral("--all") });
- } else {
- exitCode = runSync(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR "/ksyncdbusenv"), {});
- }
+ exitCode = runSync(QStringLiteral(NIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT), { QStringLiteral("--systemd"), QStringLiteral("--all") });
return exitCode == 0;
}
@@ -285,7 +273,7 @@ void setupFontDpi()
//TODO port to c++?
const QByteArray input = "Xft.dpi: " + QByteArray::number(fontsCfg.readEntry("forceFontDPI", 0));
QProcess p;
- p.start(QStringLiteral("xrdb"), { QStringLiteral("-quiet"), QStringLiteral("-merge"), QStringLiteral("-nocpp") });
+ p.start(QStringLiteral(NIXPKGS_XRDB), { QStringLiteral("-quiet"), QStringLiteral("-merge"), QStringLiteral("-nocpp") });
p.setProcessChannelMode(QProcess::ForwardedChannels);
p.write(input);
p.closeWriteChannel();
@@ -307,7 +295,7 @@ QProcess* setupKSplash()
KConfigGroup ksplashCfg = cfg.group("KSplash");
if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) {
p = new QProcess;
- p->start(QStringLiteral("ksplashqml"), { ksplashCfg.readEntry("Theme", QStringLiteral("Breeze")) });
+ p->start(QStringLiteral(CMAKE_INSTALL_FULL_BINDIR "/ksplashqml"), { ksplashCfg.readEntry("Theme", QStringLiteral("Breeze")) });
}
}
return p;
@@ -329,7 +317,7 @@ bool startKDEInit()
{
// We set LD_BIND_NOW to increase the efficiency of kdeinit.
// kdeinit unsets this variable before loading applications.
- const int exitCode = runSync(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), { QStringLiteral("--kded"), QStringLiteral("+kcminit_startup") }, { QStringLiteral("LD_BIND_NOW=true") });
+ const int exitCode = runSync(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), { QStringLiteral("--kded"), QStringLiteral("+kcminit_startup") }, { QStringLiteral("LD_BIND_NOW=true") });
if (exitCode != 0) {
messageBox(QStringLiteral("startkde: Could not start kdeinit5. Check your installation."));
return false;
--
2.23.1

View File

@ -0,0 +1,22 @@
From 7c6f939aea290bc3ec7629f26d02441d1d4bcb8a Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Wed, 5 Feb 2020 05:03:11 -0600
Subject: [PATCH 2/2] absolute-wallpaper-install-dir
---
sddm-theme/theme.conf.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake
index ea9a943..c8458ba 100644
--- a/sddm-theme/theme.conf.cmake
+++ b/sddm-theme/theme.conf.cmake
@@ -2,4 +2,4 @@
type=image
color=#1d99f3
fontSize=10
-background=${CMAKE_INSTALL_PREFIX}/${WALLPAPER_INSTALL_DIR}/Next/contents/images/5120x2880.png
+background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.png
--
2.23.1

View File

@ -6,12 +6,12 @@
coreutils, dbus, gnugrep, gnused, isocodes, libdbusmenu, libSM, libXcursor, coreutils, dbus, gnugrep, gnused, isocodes, libdbusmenu, libSM, libXcursor,
libXtst, pam, wayland, xmessage, xprop, xrdb, xsetroot, libXtst, pam, wayland, xmessage, xprop, xrdb, xsetroot,
baloo, kactivities, kcmutils, kconfig, kcrash, kdbusaddons, kdeclarative, baloo, breeze-qt5, kactivities, kactivities-stats, kcmutils, kconfig, kcrash,
kdelibs4support, kdesu, kglobalaccel, kidletime, kinit, kjsembed, knewstuff, kdbusaddons, kdeclarative, kdelibs4support, kdesu, kglobalaccel, kidletime,
knotifyconfig, kpackage, krunner, kscreenlocker, ktexteditor, ktextwidgets, kinit, kjsembed, knewstuff, knotifyconfig, kpackage, kpeople, krunner,
kwallet, kwayland, kwin, kxmlrpcclient, libkscreen, libksysguard, libqalculate, kscreenlocker, ktexteditor, ktextwidgets, kwallet, kwayland, kwin,
networkmanager-qt, phonon, plasma-framework, prison, solid, kholidays, kxmlrpcclient, libkscreen, libksysguard, libqalculate, networkmanager-qt,
breeze-qt5, phonon, plasma-framework, prison, solid, kholidays,
qtgraphicaleffects, qtquickcontrols, qtquickcontrols2, qtscript, qttools, qtgraphicaleffects, qtquickcontrols, qtquickcontrols2, qtscript, qttools,
qtwayland, qtx11extras, qtwayland, qtx11extras,
@ -26,11 +26,12 @@ mkDerivation {
buildInputs = [ buildInputs = [
isocodes libdbusmenu libSM libXcursor libXtst pam wayland isocodes libdbusmenu libSM libXcursor libXtst pam wayland
baloo kactivities kcmutils kconfig kcrash kdbusaddons kdeclarative baloo kactivities kactivities-stats kcmutils kconfig kcrash kdbusaddons
kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff kdeclarative kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff
knotifyconfig kpackage krunner kscreenlocker ktexteditor ktextwidgets knotifyconfig kpackage kpeople krunner kscreenlocker ktexteditor
kwallet kwayland kwin kxmlrpcclient libkscreen libksysguard libqalculate ktextwidgets kwallet kwayland kwin kxmlrpcclient libkscreen libksysguard
networkmanager-qt phonon plasma-framework prison solid kholidays libqalculate networkmanager-qt phonon plasma-framework prison solid
kholidays
qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland qtx11extras qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland qtx11extras
]; ];
@ -38,41 +39,22 @@ mkDerivation {
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
cmakeFlags = [ cmakeFlags = [
"-DNIXPKGS_XMESSAGE=${getBin xmessage}/bin/xmessage" ''-DNIXPKGS_BREEZE_WALLPAPERS=${getBin breeze-qt5}/share/wallpapers''
"-DNIXPKGS_MKDIR=${getBin coreutils}/bin/mkdir"
"-DNIXPKGS_XRDB=${getBin xrdb}/bin/xrdb"
"-DNIXPKGS_QTPATHS=${getBin qttools}/bin/qtpaths"
"-DNIXPKGS_XSETROOT=${getBin xsetroot}/bin/xsetroot"
"-DNIXPKGS_XPROP=${getBin xprop}/bin/xprop"
"-DNIXPKGS_ID=${getBin coreutils}/bin/id"
"-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT=${getBin dbus}/bin/dbus-update-activation-environment"
"-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/libexec/kf5/start_kdeinit_wrapper"
"-DNIXPKGS_QDBUS=${getBin qttools}/bin/qdbus"
"-DNIXPKGS_KWRAPPER5=${getBin kinit}/bin/kwrapper5"
"-DNIXPKGS_KREADCONFIG5=${getBin kconfig}/bin/kreadconfig5"
"-DNIXPKGS_GREP=${getBin gnugrep}/bin/grep"
"-DNIXPKGS_KDEINIT5_SHUTDOWN=${getBin kinit}/bin/kdeinit5_shutdown"
"-DNIXPKGS_SED=${getBin gnused}/bin/sed"
"-DNIXPKGS_WALLPAPER_INSTALL_DIR=${getBin breeze-qt5}/share/wallpapers/"
]; ];
# To regenerate ./plasma-workspace.patch,
#
# > git clone https://github.com/ttuegel/plasma-workspace
# > cd plasma-workspace
# > git checkout nixpkgs/$x.$y # where $x.$y.$z == $version
# ... make some commits ...
# > git diff v$x.$y.$z
#
# Add upstream patches to the list below. For new patchs, particularly if not
# submitted upstream, please make a pull request and add it to
# ./plasma-workspace.patch.
patches = [ patches = [
./plasma-workspace.patch ./0001-startkde.patch
./0002-absolute-wallpaper-install-dir.patch
]; ];
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_KDOSTARTUPCONFIG5=\"''${!outputBin}/bin/kdostartupconfig5\"" NIX_CFLAGS_COMPILE = [
cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/libexec/startplasma" ''-DNIXPKGS_XMESSAGE="${getBin xmessage}/bin/xmessage"''
''; ''-DNIXPKGS_XRDB="${getBin xrdb}/bin/xrdb"''
''-DNIXPKGS_XSETROOT="${getBin xsetroot}/bin/xsetroot"''
''-DNIXPKGS_XPROP="${getBin xprop}/bin/xprop"''
''-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT="${getBin dbus}/bin/dbus-update-activation-environment"''
''-DNIXPKGS_START_KDEINIT_WRAPPER="${getLib kinit}/libexec/kf5/start_kdeinit_wrapper"''
''-DNIXPKGS_KDEINIT5_SHUTDOWN="${getBin kinit}/bin/kdeinit5_shutdown"''
];
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,365 +1,374 @@
# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh # DO NOT EDIT! This file is generated automatically.
# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5/
{ fetchurl, mirror }: { fetchurl, mirror }:
{ {
bluedevil = { bluedevil = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/bluedevil-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/bluedevil-5.17.5.tar.xz";
sha256 = "60ac3471d30cb113b1959eacdaa1f4898f04f779f94a35dbca00993cda4ea464"; sha256 = "22e9c683dfc56a559e652809ade238f8eb0ffb09d5ab042f5cd4b8216f647c09";
name = "bluedevil-5.16.5.tar.xz"; name = "bluedevil-5.17.5.tar.xz";
}; };
}; };
breeze = { breeze = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/breeze-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/breeze-5.17.5.tar.xz";
sha256 = "09225021a2cf396e74cabe692b0a5dcf9a12f0b47f02fb14df6ccc9db01f2e6b"; sha256 = "f89bf857321b18789089efc9271d7bd7b6459a173dd078dd03242775db76c8d7";
name = "breeze-5.16.5.tar.xz"; name = "breeze-5.17.5.tar.xz";
}; };
}; };
breeze-grub = { breeze-grub = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/breeze-grub-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/breeze-grub-5.17.5.tar.xz";
sha256 = "ce73297350e7b79b04aa8ba44594e8eca2d37c0342eb331bd5d31679f3887878"; sha256 = "591a1d7a510c76a1f2729a61a4d14c0f33db4d1e8ea5dbc87b74f2e7e7e2a2ba";
name = "breeze-grub-5.16.5.tar.xz"; name = "breeze-grub-5.17.5.tar.xz";
}; };
}; };
breeze-gtk = { breeze-gtk = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/breeze-gtk-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/breeze-gtk-5.17.5.tar.xz";
sha256 = "d9849ecf6c2fc85fde76912410ab36c46ca65b96d80b4e51819ca35015a88098"; sha256 = "6dbd8e7d936840fbaf7016574d07729c9d0791711ad6d371136585ddb8f76e66";
name = "breeze-gtk-5.16.5.tar.xz"; name = "breeze-gtk-5.17.5.tar.xz";
}; };
}; };
breeze-plymouth = { breeze-plymouth = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/breeze-plymouth-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/breeze-plymouth-5.17.5.tar.xz";
sha256 = "bb10d2f0185181e6f2fe8e3b85415dfcce6069595e0074b182688c6f567dd0b0"; sha256 = "e95f9eaf04e74383f5e1abe74d999787e408be7a34fd07a4f64e253e35150af0";
name = "breeze-plymouth-5.16.5.tar.xz"; name = "breeze-plymouth-5.17.5.tar.xz";
}; };
}; };
discover = { discover = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/discover-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/discover-5.17.5.tar.xz";
sha256 = "26c47a5c0f59a31f37da85e894a926c76805b66f91dde8ba6d2de8015842d5c1"; sha256 = "986ef367aef59c5a956d4163f987a60cfd3674a300880376ddedc0222769789f";
name = "discover-5.16.5.tar.xz"; name = "discover-5.17.5.tar.xz";
}; };
}; };
drkonqi = { drkonqi = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/drkonqi-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/drkonqi-5.17.5.tar.xz";
sha256 = "b4ae1518108c2d3ccbc533708801b52b83b7e9efd6eed9f1ee9d67936b9e78ff"; sha256 = "756c50f2458a8c564e608ea97244f6b2b3d5fb4a675a8cec29307be1d5ab5457";
name = "drkonqi-5.16.5.tar.xz"; name = "drkonqi-5.17.5.tar.xz";
}; };
}; };
kactivitymanagerd = { kactivitymanagerd = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kactivitymanagerd-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kactivitymanagerd-5.17.5.tar.xz";
sha256 = "e35dbf7aae8a7b7f21b2304935cad96881af558a7c9d947f0114093038b1c4bc"; sha256 = "362721c3a9712751fba29cd1f1ef440a1e74561a611f2d171692a4ddc895b3e4";
name = "kactivitymanagerd-5.16.5.tar.xz"; name = "kactivitymanagerd-5.17.5.tar.xz";
}; };
}; };
kde-cli-tools = { kde-cli-tools = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kde-cli-tools-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kde-cli-tools-5.17.5.tar.xz";
sha256 = "bc82b159d3c9a23f0ecb47a8314b645041b01692887a3be0ef0582d54f926de2"; sha256 = "d14299ebeaf89854cb89435cfaaa4da1d84bf23a97df23ff8c7f95dae5bec55f";
name = "kde-cli-tools-5.16.5.tar.xz"; name = "kde-cli-tools-5.17.5.tar.xz";
}; };
}; };
kdecoration = { kdecoration = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kdecoration-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kdecoration-5.17.5.tar.xz";
sha256 = "2b8c7b7cf114d0eff4ec842009cda264d8cf1254ec4bf65868b6d26f263829bb"; sha256 = "7d8f0128306d436aeba010e47a3dddbcb9fb9fd05ef9308cbad1934914875cd9";
name = "kdecoration-5.16.5.tar.xz"; name = "kdecoration-5.17.5.tar.xz";
}; };
}; };
kde-gtk-config = { kde-gtk-config = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kde-gtk-config-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kde-gtk-config-5.17.5.tar.xz";
sha256 = "f78abf129aaa7afac2c7a71105b36b9553a975bbcb89ec65a0166099d1cca8c1"; sha256 = "5feff23c756f1fb0ba9ab88c2aed92c0e7c5521c757f5a0cdd057273538f0010";
name = "kde-gtk-config-5.16.5.tar.xz"; name = "kde-gtk-config-5.17.5.tar.xz";
}; };
}; };
kdeplasma-addons = { kdeplasma-addons = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kdeplasma-addons-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kdeplasma-addons-5.17.5.tar.xz";
sha256 = "a4737a54b75143053a9f8a5bc28c608f843c524872c665d4e5a65bd2853e1e00"; sha256 = "997d6a3542ab1f1fd7fb17580693dc8281ff29b03c82577dbae3fc1ec4cccdb8";
name = "kdeplasma-addons-5.16.5.tar.xz"; name = "kdeplasma-addons-5.17.5.tar.xz";
}; };
}; };
kgamma5 = { kgamma5 = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kgamma5-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kgamma5-5.17.5.tar.xz";
sha256 = "838fabf4312f022ee3df5bba940c0c73e26260cfee39235c1ba8da8a2e61bfa0"; sha256 = "3b8fd1539d035d4d39dcde6ca0dd214e6653c98778ac79b9cbf2f7009b155ca9";
name = "kgamma5-5.16.5.tar.xz"; name = "kgamma5-5.17.5.tar.xz";
}; };
}; };
khotkeys = { khotkeys = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/khotkeys-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/khotkeys-5.17.5.tar.xz";
sha256 = "e7b866b5249ff7c5860a5a222dca79691ca1f09af176f786021fbbadbd718c8c"; sha256 = "cf78b5bfb8568fb4eea592b209bdb79aeac92bd08a580c3b6c08d45dd34a2d56";
name = "khotkeys-5.16.5.tar.xz"; name = "khotkeys-5.17.5.tar.xz";
}; };
}; };
kinfocenter = { kinfocenter = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kinfocenter-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kinfocenter-5.17.5.tar.xz";
sha256 = "e3bbc5e2baedf35dc8750c99e18c115b651f2665218a105c08177bc5250eb9b1"; sha256 = "679870f10ee6494136d87a897a57a23c2905054d7a83ff11a4e85c204eb9fd9a";
name = "kinfocenter-5.16.5.tar.xz"; name = "kinfocenter-5.17.5.tar.xz";
}; };
}; };
kmenuedit = { kmenuedit = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kmenuedit-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kmenuedit-5.17.5.tar.xz";
sha256 = "8e95b81b910e5e78689fc7d4427c813ba7d39426df24cf8606adb850913a19a4"; sha256 = "59beed03298cd9fd6b05d67844794ed6a77be0d1b25b55d5bbcdf72e15e357de";
name = "kmenuedit-5.16.5.tar.xz"; name = "kmenuedit-5.17.5.tar.xz";
}; };
}; };
kscreen = { kscreen = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kscreen-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kscreen-5.17.5.tar.xz";
sha256 = "ce35f554014cee819767180f0c9381d539e497edfb9c290b279fa78e9dea4bb0"; sha256 = "de8a00b33d0254245a53a5c097347aa86709d415754b3e3c675eef8fb4fe5bc0";
name = "kscreen-5.16.5.tar.xz"; name = "kscreen-5.17.5.tar.xz";
}; };
}; };
kscreenlocker = { kscreenlocker = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kscreenlocker-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kscreenlocker-5.17.5.tar.xz";
sha256 = "5ed6fdeac9aaba014edf67c5f782fc210d58310d083afaa589d0ff1bb3e8e02d"; sha256 = "078cfaa9f117a985f5c71152bdf4a9f5cb65ef23c0090cfaaccc9539770f138f";
name = "kscreenlocker-5.16.5.tar.xz"; name = "kscreenlocker-5.17.5.tar.xz";
}; };
}; };
ksshaskpass = { ksshaskpass = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/ksshaskpass-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/ksshaskpass-5.17.5.tar.xz";
sha256 = "78eaa38ebbf888a8905e9385173e7161335041d6d07720283ce6f3fa06426a33"; sha256 = "b09e0d780340fc5a6a65e67a30d08a3f117f31e2dbfbb35579aa4cefb15c3b27";
name = "ksshaskpass-5.16.5.tar.xz"; name = "ksshaskpass-5.17.5.tar.xz";
}; };
}; };
ksysguard = { ksysguard = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/ksysguard-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/ksysguard-5.17.5.tar.xz";
sha256 = "5558977389cb1fac4a5ce52c9430b27d9d1ee92705ae1995d92bed5340477282"; sha256 = "69bc12311dcf363b168a259139d30456ed395ec03b948bd35e992300c7e7bd82";
name = "ksysguard-5.16.5.tar.xz"; name = "ksysguard-5.17.5.tar.xz";
}; };
}; };
kwallet-pam = { kwallet-pam = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kwallet-pam-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kwallet-pam-5.17.5.tar.xz";
sha256 = "4a12a8ed51973f9ea318a39a699523bcc99ae4e1cac932fccd19dedd45e758a8"; sha256 = "c829c7a44408e58beb87c71f5c70bccd349d285c3fcefb16df98bf2f29357fe9";
name = "kwallet-pam-5.16.5.tar.xz"; name = "kwallet-pam-5.17.5.tar.xz";
}; };
}; };
kwayland-integration = { kwayland-integration = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kwayland-integration-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kwayland-integration-5.17.5.tar.xz";
sha256 = "63724ecfb6db053ee949273979b393192309dbeed45b59bc193a605f90232282"; sha256 = "818b4e14611e26f297ef60427d399edc458a44e113bc092390fa65ecababcedb";
name = "kwayland-integration-5.16.5.tar.xz"; name = "kwayland-integration-5.17.5.tar.xz";
}; };
}; };
kwin = { kwin = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kwin-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kwin-5.17.5.tar.xz";
sha256 = "7ff0e114e323ff7e10d78a157f8242b1d3cfa03967898d9e3fd3c039b7c9918b"; sha256 = "8517adaf8270d783aea7b3886d86b5abed6a5ec2b5c78b632479597d956baadc";
name = "kwin-5.16.5.tar.xz"; name = "kwin-5.17.5.tar.xz";
}; };
}; };
kwrited = { kwrited = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/kwrited-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/kwrited-5.17.5.tar.xz";
sha256 = "4b122099b0a362fc409b50b7523689ba8a112508dad26f58753c6b648e7c5313"; sha256 = "ca22b1fa3e657fa2e58bf0c9dc1ebff3be8c0e003750223e7a7c5932d5b90823";
name = "kwrited-5.16.5.tar.xz"; name = "kwrited-5.17.5.tar.xz";
}; };
}; };
libkscreen = { libkscreen = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/libkscreen-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/libkscreen-5.17.5.tar.xz";
sha256 = "fd2d1e849315ac745ecfe757d6b2c5cc6486e0be5397f686dae3916c0252c938"; sha256 = "aa186e5751287701daec4d036aba776a911e4b84ca7eea44dc5fb531875afd94";
name = "libkscreen-5.16.5.tar.xz"; name = "libkscreen-5.17.5.tar.xz";
}; };
}; };
libksysguard = { libksysguard = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/libksysguard-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/libksysguard-5.17.5.tar.xz";
sha256 = "f09b99737a937df890ecdd2a33720b6cba3c79fc8bc17ef1470572748a6e1976"; sha256 = "f5d237af554d65740a28360e6d8fa39d4912239c5f21288846b1c934897a7e14";
name = "libksysguard-5.16.5.tar.xz"; name = "libksysguard-5.17.5.tar.xz";
}; };
}; };
milou = { milou = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/milou-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/milou-5.17.5.tar.xz";
sha256 = "bfcdba29262dda9f386ee99132053ad5751194b2df8219899fcbb0b3699afcd5"; sha256 = "b89796e34cc8b6d6d4196169e814249f7b75c1c15763e0b4c1da5c97ccc2c8cf";
name = "milou-5.16.5.tar.xz"; name = "milou-5.17.5.tar.xz";
}; };
}; };
oxygen = { oxygen = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/oxygen-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/oxygen-5.17.5.tar.xz";
sha256 = "0e85dcd874d2e69aaa2d4eefc379289c7dd572437f53e42f1d6d260d97c2f8a2"; sha256 = "58954374a4b9067365ee5d50b32b1986b2e7dd31e73cbf79fda8d978949943be";
name = "oxygen-5.16.5.tar.xz"; name = "oxygen-5.17.5.tar.xz";
}; };
}; };
plasma-browser-integration = { plasma-browser-integration = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-browser-integration-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-browser-integration-5.17.5.tar.xz";
sha256 = "99269c7e27fddb0c075bff28a5afba41298dc8d28297d69f35f6bc30f3af1d35"; sha256 = "07bc4285991ab43830873a12b8c07f60e4faea1ec81121db783c425f18a4f87d";
name = "plasma-browser-integration-5.16.5.tar.xz"; name = "plasma-browser-integration-5.17.5.tar.xz";
}; };
}; };
plasma-desktop = { plasma-desktop = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-desktop-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-desktop-5.17.5.tar.xz";
sha256 = "49dc4c9eff5742eb52fc0d12c139c194eda837945389cd09f498a0c4c352a20f"; sha256 = "7f741ab026989bdcc68701955fc290d5ead38bf4bc310f18a2f32c64b411ab04";
name = "plasma-desktop-5.16.5.tar.xz"; name = "plasma-desktop-5.17.5.tar.xz";
}; };
}; };
plasma-integration = { plasma-integration = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-integration-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-integration-5.17.5.tar.xz";
sha256 = "635f109e7b59bb440c6be0c7a4baae70d2f44e659ab0522e170693b664e6d709"; sha256 = "169206bebd790d2fee49cec621c46f6f64a8e20ee3e56bf16ee7373f61cad959";
name = "plasma-integration-5.16.5.tar.xz"; name = "plasma-integration-5.17.5.tar.xz";
}; };
}; };
plasma-nm = { plasma-nm = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-nm-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-nm-5.17.5.tar.xz";
sha256 = "b519429bd784ff2ede0bf10e1e943822ef08ea5cf85e901363fda36d32907460"; sha256 = "2165e47a0654d17735abc97aec287b46b52a2eafccc3591b667ea2755b731255";
name = "plasma-nm-5.16.5.tar.xz"; name = "plasma-nm-5.17.5.tar.xz";
}; };
}; };
plasma-pa = { plasma-pa = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-pa-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-pa-5.17.5.tar.xz";
sha256 = "e029563d50cc6266a4a3e22574c33fef4670e1aaab18630eb30769e2167acc96"; sha256 = "933c6ab1fda52b336a157a48b1ea64b81fd1d84ca08a40a52bfae276cca2bf23";
name = "plasma-pa-5.16.5.tar.xz"; name = "plasma-pa-5.17.5.tar.xz";
}; };
}; };
plasma-sdk = { plasma-sdk = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-sdk-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-sdk-5.17.5.tar.xz";
sha256 = "1b05f0501309099f241ebae857c24b31bc4e61fde8bfc33e854d3a1dd3d37385"; sha256 = "ff736029b1ae5773991db06f5827d9dcbd8e7a4e9a430c9014c35ddee2c55314";
name = "plasma-sdk-5.16.5.tar.xz"; name = "plasma-sdk-5.17.5.tar.xz";
}; };
}; };
plasma-tests = { plasma-tests = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-tests-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-tests-5.17.5.tar.xz";
sha256 = "236a83c2caa99801b6db1debce53a6c7390087115899410a8139ad3b7268b7f7"; sha256 = "1b566b7118a5c8d1b25078d331a6bc77f48781010fbd3425d85b137811218982";
name = "plasma-tests-5.16.5.tar.xz"; name = "plasma-tests-5.17.5.tar.xz";
};
};
plasma-thunderbolt = {
version = "5.17.5";
src = fetchurl {
url = "${mirror}/stable/plasma/5.17.5/plasma-thunderbolt-5.17.5.tar.xz";
sha256 = "3743f9841d269d51f1b1419e24d5cd1b26a0ba5a90e76b531328a8cc43184382";
name = "plasma-thunderbolt-5.17.5.tar.xz";
}; };
}; };
plasma-vault = { plasma-vault = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-vault-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-vault-5.17.5.tar.xz";
sha256 = "2bb40a80c35f3eaedc729013a8b6b76641cc74eca4fd171f1cda99237f83198c"; sha256 = "3e5c6b4dd6c1122b6a221205da506881959ab905e467b74b0536e7f5fe130d71";
name = "plasma-vault-5.16.5.tar.xz"; name = "plasma-vault-5.17.5.tar.xz";
}; };
}; };
plasma-workspace = { plasma-workspace = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-workspace-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-workspace-5.17.5.tar.xz";
sha256 = "43364fe4e7ea10ad7b5b1d7af4f1baa1d8796b60692f2dfc0d58693f63e458ff"; sha256 = "764488e66d52bc3017efb2c1471f57196aa50fbfa3a80637bf48f24955cfba88";
name = "plasma-workspace-5.16.5.tar.xz"; name = "plasma-workspace-5.17.5.tar.xz";
}; };
}; };
plasma-workspace-wallpapers = { plasma-workspace-wallpapers = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plasma-workspace-wallpapers-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plasma-workspace-wallpapers-5.17.5.tar.xz";
sha256 = "ff6e0eac42c540c72556439e6477fb78be2dab456386218813cce021f82d42d9"; sha256 = "8a28ef67b65c340d40ff8f5bfc333ead68e6d8c9e410769c43af847ced9b4ca9";
name = "plasma-workspace-wallpapers-5.16.5.tar.xz"; name = "plasma-workspace-wallpapers-5.17.5.tar.xz";
}; };
}; };
plymouth-kcm = { plymouth-kcm = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/plymouth-kcm-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/plymouth-kcm-5.17.5.tar.xz";
sha256 = "db839c5fe9f6df882b95f436983c129cd553dd50e6cf1065c4410a91b20f1dcc"; sha256 = "bbd6994f60ed9d63b4e4dd0abe78bf1f9c14b8ecce8ba4355d16cd52a0a86528";
name = "plymouth-kcm-5.16.5.tar.xz"; name = "plymouth-kcm-5.17.5.tar.xz";
}; };
}; };
polkit-kde-agent = { polkit-kde-agent = {
version = "1-5.16.5"; version = "1-5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/polkit-kde-agent-1-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/polkit-kde-agent-1-5.17.5.tar.xz";
sha256 = "6f7a17990d72bb25c93acae919b764f95ac226754209b2e177075fbe9251f95f"; sha256 = "a79d76a2f584f6567639228fde6f75b3960484f7a65cfc69b6acb6df1de53f5d";
name = "polkit-kde-agent-1-5.16.5.tar.xz"; name = "polkit-kde-agent-1-5.17.5.tar.xz";
}; };
}; };
powerdevil = { powerdevil = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/powerdevil-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/powerdevil-5.17.5.tar.xz";
sha256 = "ac868f31df8c6bcc6b1c850efa0640695ba698caabefcb21fc0b0c3405712139"; sha256 = "27904361e85e1267d933d8f0a0d3be4dc712099ed2eb3cf90959209a4443dd82";
name = "powerdevil-5.16.5.tar.xz"; name = "powerdevil-5.17.5.tar.xz";
}; };
}; };
sddm-kcm = { sddm-kcm = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/sddm-kcm-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/sddm-kcm-5.17.5.tar.xz";
sha256 = "4220d18f1a04c767649bffee1aed6c2b2c12c60cd7d6ca6fabc3dbec1ec3f127"; sha256 = "e85fb9e014439e8c0e73638112139561aff9a9f71f26c3eafedff5a98a07b33b";
name = "sddm-kcm-5.16.5.tar.xz"; name = "sddm-kcm-5.17.5.tar.xz";
}; };
}; };
systemsettings = { systemsettings = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/systemsettings-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/systemsettings-5.17.5.tar.xz";
sha256 = "57944cf3f566cf5e25d5859f5716b2ad5dbd87de259f8d77efdfdd50a16fe1ec"; sha256 = "50fa4d7866639995a6859446fc6a02a73ae05203e8f2ed31221e232ed3491eaf";
name = "systemsettings-5.16.5.tar.xz"; name = "systemsettings-5.17.5.tar.xz";
}; };
}; };
user-manager = { user-manager = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/user-manager-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/user-manager-5.17.5.tar.xz";
sha256 = "e9df3ec2718de68b0b46d0b86f993fe450b236e13dda6219f350121f08f4c468"; sha256 = "10ed3196063c7dfed3b3f25dd199a48ca39fa86db5d0126ec84a543b1c212f0d";
name = "user-manager-5.16.5.tar.xz"; name = "user-manager-5.17.5.tar.xz";
}; };
}; };
xdg-desktop-portal-kde = { xdg-desktop-portal-kde = {
version = "5.16.5"; version = "5.17.5";
src = fetchurl { src = fetchurl {
url = "${mirror}/stable/plasma/5.16.5/xdg-desktop-portal-kde-5.16.5.tar.xz"; url = "${mirror}/stable/plasma/5.17.5/xdg-desktop-portal-kde-5.17.5.tar.xz";
sha256 = "4884652b642fb6e8db791a04e9d42b5fec53f28cc0f0d26f49eb2bdaaa1709df"; sha256 = "a993bd4b86a44c8237a3f4957c2594aa2ca8916204ad866f8af32f7df34740f6";
name = "xdg-desktop-portal-kde-5.16.5.tar.xz"; name = "xdg-desktop-portal-kde-5.17.5.tar.xz";
}; };
}; };
} }

View File

@ -119,9 +119,9 @@ in {
major = "3"; major = "3";
minor = "9"; minor = "9";
patch = "0"; patch = "0";
suffix = "a2"; suffix = "a3";
}; };
sha256 = "02a301bdcldin05ksdg8xw8xr6gdkpf73p0cabvn9rdl6yhkr3q8"; sha256 = "09l68jyfhhass3cqyqyp2cv3a3i86qs0x736isidmpbrbxsincva";
inherit (darwin) configd; inherit (darwin) configd;
inherit passthruFun; inherit passthruFun;
}; };

View File

@ -4,13 +4,13 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gusb"; pname = "gusb";
version = "0.3.0"; version = "0.3.3";
outputs = [ "bin" "out" "dev" "devdoc" ]; outputs = [ "bin" "out" "dev" "devdoc" ];
src = fetchurl { src = fetchurl {
url = "https://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz"; url = "https://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz";
sha256 = "1p4f6jdjw6zl986f93gzdjg2hdcn5dlz6rcckcz4rbmnk47rbryq"; sha256 = "14pbd0812151ga7jrpzi88fcrwkckx6m07ay84l7dzkxbdc44fgr";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,7 +5,6 @@
, glib , glib
, gobject-introspection , gobject-introspection
, gtk-doc , gtk-doc
, libuuid
, meson , meson
, ninja , ninja
, pkgconfig , pkgconfig
@ -16,7 +15,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libxmlb"; pname = "libxmlb";
version = "0.1.13"; version = "0.1.14";
outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ]; outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
@ -24,7 +23,7 @@ stdenv.mkDerivation rec {
owner = "hughsie"; owner = "hughsie";
repo = "libxmlb"; repo = "libxmlb";
rev = version; rev = version;
sha256 = "14bk7bk08mjbildak1l7jq7idcyask7384vigpq9zmwai1gax4s7"; sha256 = "05snbv1dvqa96k7xlwi2sj161315kps3baansr9xdpwim5ckmwc6";
}; };
patches = [ patches = [
@ -45,7 +44,6 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
glib glib
libuuid
]; ];
mesonFlags = [ mesonFlags = [

View File

@ -1,18 +1,18 @@
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index b064cb8..1a470cf 100644 index 38486c9..c567613 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -103,8 +103,8 @@ @@ -110,8 +110,8 @@
prefix = get_option('prefix')
libexecdir = join_paths(prefix, get_option('libexecdir'))
datadir = join_paths(prefix, get_option('datadir')) datadir = join_paths(prefix, get_option('datadir'))
-installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name()) libexecdir = join_paths(prefix, get_option('libexecdir'))
-installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name()) - installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
+installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name()) - installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
+installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name()) + installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
+ installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
endif
gio = dependency('gio-2.0', version : '>= 2.45.8') gio = dependency('gio-2.0', version : '>= 2.45.8')
uuid = dependency('uuid')
diff --git a/meson_options.txt b/meson_options.txt diff --git a/meson_options.txt b/meson_options.txt
index 27e8cb6..74548ae 100644 index 27e8cb6..74548ae 100644
--- a/meson_options.txt --- a/meson_options.txt

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "totem-pl-parser"; pname = "totem-pl-parser";
version = "3.26.3"; version = "3.26.4";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"; sha256 = "1w34hdr09v3wy1cfvzhcmxc6b5p9ngcabgix59iv7hk739anymy1";
}; };
passthru = { passthru = {

View File

@ -12,9 +12,7 @@ buildDunePackage rec {
sha256 = "114gq48cpj2mvycypa9lfyqqb26wa2gkdfwkcqhnx7m6sdwv9a38"; sha256 = "114gq48cpj2mvycypa9lfyqqb26wa2gkdfwkcqhnx7m6sdwv9a38";
}; };
buildInputs = [ base64 bos lwt_react ocamlgraph rresult tyxml ]; propagatedBuildInputs = [ base64 bos core lwt_react ocamlgraph rresult tyxml ];
propagatedBuildInputs = [ core ];
minimumOCamlVersion = "4.07"; minimumOCamlVersion = "4.07";

View File

@ -45,6 +45,5 @@ buildPythonPackage rec {
description = "Best practices checker for Ansible"; description = "Best practices checker for Ansible";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.sengaya ]; maintainers = [ maintainers.sengaya ];
broken = true; # requires new flit to build
}; };
} }

View File

@ -20,13 +20,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "datasette"; pname = "datasette";
version = "0.30.2"; version = "0.35";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "simonw"; owner = "simonw";
repo = "datasette"; repo = "datasette";
rev = version; rev = version;
sha256 = "07swnpz4c7vzlc69vavs1xvbhr5fa8g63kyfj1hf3zafskgjnzwy"; sha256 = "0v6af7agg27lapz1nbab07595v4hl2x5wm2f03drj81f7pm8y7hc";
}; };
nativeBuildInputs = [ pytestrunner ]; nativeBuildInputs = [ pytestrunner ];

View File

@ -1,4 +1,4 @@
{ stdenv, buildPythonPackage, fetchPypi, substituteAll, python, nose, mercurial }: { stdenv, buildPythonPackage, fetchPypi, fetchpatch, substituteAll, python, nose, mercurial }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-hglib"; pname = "python-hglib";
@ -14,12 +14,24 @@ buildPythonPackage rec {
src = ./hgpath.patch; src = ./hgpath.patch;
hg = "${mercurial}/bin/hg"; hg = "${mercurial}/bin/hg";
}) })
# These two patches are needed to fix the tests.
# They will need to be removed on the next update.
(fetchpatch {
url = "https://www.mercurial-scm.org/repo/python-hglib/raw-rev/12e6aaef0f6e";
sha256 = "159pmhy23gqcc6rkh5jrni8fba4xbhxwcc0jf02wqr7f82kv8a7x";
})
(fetchpatch {
url = "https://www.mercurial-scm.org/repo/python-hglib/raw-rev/1a318162f06f";
sha256 = "04lxfc15m3yw5kvp133xg8zv09l8kndi146xk3lnbbm07fgcnn1z";
})
]; ];
checkInputs = [ nose ]; checkInputs = [ nose ];
checkPhase = '' checkPhase = ''
${python.interpreter} test.py --with-hg "${mercurial}/bin/hg" ${python.interpreter} test.py --with-hg "${mercurial}/bin/hg" -v \
--exclude=test_merge_prompt_cb # https://bz.mercurial-scm.org/show_bug.cgi?id=6265
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -15,12 +15,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ipykernel"; pname = "ipykernel";
version = "5.1.3"; version = "5.1.4";
disabled = pythonOlder "3.4"; disabled = pythonOlder "3.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1a08y677lpn80qzvv7z0smgggmr5m5ayf0bs6vds47xpxl9sss5k"; sha256 = "7f1f01df22f1229c8879501057877ccaf92a3b01c1d00db708aad5003e5f9238";
}; };
propagatedBuildInputs = [ ipython jupyter_client traitlets tornado ]; propagatedBuildInputs = [ ipython jupyter_client traitlets tornado ];

View File

@ -10,13 +10,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "llvmlite"; pname = "llvmlite";
version = "0.30.0"; version = "0.31.0";
disabled = isPyPy; disabled = isPyPy;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "4eaa398d4cafb76e2d8f30ca6ab875039a1023c91e7a690c6ddec20e58bb9a07"; sha256 = "22ab2b9d7ec79fab66ac8b3d2133347de86addc2e2df1b3793e523ac84baa3c8";
}; };
nativeBuildInputs = [ llvm ]; nativeBuildInputs = [ llvm ];

View File

@ -2,13 +2,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "mahotas"; pname = "mahotas";
version = "1.4.7"; version = "1.4.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "luispedro"; owner = "luispedro";
repo = "mahotas"; repo = "mahotas";
rev = "v${version}"; rev = "v${version}";
sha256 = "1a3nzxb7is8n7lpxwq1fw3fr03qflig334rb1zzr2znjrhq6g94b"; sha256 = "151hri3lwcm9p7w1nyw99h8c70j51698cvzaiazvwb6gl4khwavv";
}; };
# remove this as soon as https://github.com/luispedro/mahotas/issues/97 is fixed # remove this as soon as https://github.com/luispedro/mahotas/issues/97 is fixed

View File

@ -11,7 +11,7 @@
, tqdm , tqdm
# Advanced image processing (triples size of output) # Advanced image processing (triples size of output)
, advancedProcessing ? false , advancedProcessing ? false
, opencv ? null , opencv3 ? null
, scikitimage ? null , scikitimage ? null
, scikitlearn ? null , scikitlearn ? null
, scipy ? null , scipy ? null
@ -20,7 +20,7 @@
}: }:
assert advancedProcessing -> ( assert advancedProcessing -> (
opencv != null && scikitimage != null && scikitlearn != null opencv3 != null && scikitimage != null && scikitlearn != null
&& scipy != null && matplotlib != null && youtube-dl != null); && scipy != null && matplotlib != null && youtube-dl != null);
buildPythonPackage rec { buildPythonPackage rec {
@ -40,7 +40,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
numpy decorator imageio imageio-ffmpeg tqdm requests proglog numpy decorator imageio imageio-ffmpeg tqdm requests proglog
] ++ (stdenv.lib.optionals advancedProcessing [ ] ++ (stdenv.lib.optionals advancedProcessing [
opencv scikitimage scikitlearn scipy matplotlib youtube-dl opencv3 scikitimage scikitlearn scipy matplotlib youtube-dl
]); ]);
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytest
, glibcLocales
, ipython_genutils
, traitlets
, testpath
, jsonschema
, jupyter_core
}:
buildPythonPackage rec {
pname = "nbformat";
version = "4.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "f7494ef0df60766b7cabe0a3651556345a963b74dbc16bc7c18479041170d402";
};
LC_ALL="en_US.utf8";
checkInputs = [ pytest glibcLocales ];
propagatedBuildInputs = [ ipython_genutils traitlets testpath jsonschema jupyter_core ];
preCheck = ''
mkdir tmp
export HOME=tmp
'';
# Some of the tests use localhost networking.
__darwinAllowLocalNetworking = true;
meta = {
description = "The Jupyter Notebook format";
homepage = https://jupyter.org/;
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fridh globin ];
};
}

View File

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "nbformat"; pname = "nbformat";
version = "4.4.0"; version = "5.0.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "f7494ef0df60766b7cabe0a3651556345a963b74dbc16bc7c18479041170d402"; sha256 = "562de41fc7f4f481b79ab5d683279bf3a168858268d4387b489b7b02be0b324a";
}; };
LC_ALL="en_US.utf8"; LC_ALL="en_US.utf8";

View File

@ -25,12 +25,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "notebook"; pname = "notebook";
version = "6.0.2"; version = "6.0.3";
disabled = !isPy3k; disabled = !isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "399a4411e171170173344761e7fd4491a3625659881f76ce47c50231ed714d9b"; sha256 = "47a9092975c9e7965ada00b9a20f0cf637d001db60d241d479f53c0be117ad48";
}; };
LC_ALL = "en_US.utf8"; LC_ALL = "en_US.utf8";

View File

@ -13,12 +13,12 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.46.0"; version = "0.48.0";
pname = "numba"; pname = "numba";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "c2cbaeae60f80805290fff50175028726fae12692404a36babd3326730fbceee"; sha256 = "9d21bc77e67006b5723052840c88cc59248e079a907cc68f1a1a264e1eaba017";
}; };
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1"; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";

View File

@ -2,12 +2,12 @@
, fftw, fftwFloat, fftwLongDouble, numpy, scipy, cython, dask }: , fftw, fftwFloat, fftwLongDouble, numpy, scipy, cython, dask }:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.11.1"; version = "0.12.0";
pname = "pyFFTW"; pname = "pyFFTW";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "05ea28dede4c3aaaf5c66f56eb0f71849d0d50f5bc0f53ca0ffa69534af14926"; sha256 = "60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0";
}; };
buildInputs = [ fftw fftwFloat fftwLongDouble]; buildInputs = [ fftw fftwFloat fftwLongDouble];

View File

@ -0,0 +1,31 @@
{ lib, buildPythonPackage, fetchFromGitHub, cmake, python
, libosmium, protozero, boost, expat, bzip2, zlib, pybind11
, nose, shapely, mock, isPy3k }:
buildPythonPackage rec {
pname = "pyosmium";
version = "2.15.3";
src = fetchFromGitHub {
owner = "osmcode";
repo = pname;
rev = "v${version}";
sha256 = "1523ym9i4rnwi5kcp7n2lm67kxlhar8xlv91s394ixzwax9bgg7w";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ libosmium protozero boost expat bzip2 zlib pybind11 ];
preBuild = "cd ..";
checkInputs = [ nose shapely ] ++ lib.optionals (!isPy3k) [ mock ];
checkPhase = "(cd test && ${python.interpreter} run_tests.py)";
meta = with lib; {
description = "Python bindings for libosmium";
homepage = "https://osmcode.org/pyosmium";
license = licenses.bsd2;
maintainers = with maintainers; [ sikmir ];
};
}

View File

@ -8,10 +8,10 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "seaborn"; pname = "seaborn";
version = "0.9.0"; version = "0.10.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "76c83f794ca320fb6b23a7c6192d5e185a5fcf4758966a0c0a54baee46d41e2f"; sha256 = "59fe414e138d7d5ea08b0feb01b86caf4682e36fa748e3987730523a89aecbb9";
}; };
checkInputs = [ nose ]; checkInputs = [ nose ];

View File

@ -1,17 +1,28 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, stdenv
, file
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "sqlmap"; pname = "sqlmap";
version = "1.4"; version = "1.4.2";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0s6lgp66bn0l4a5mwxiv9h04sa7braqvjskns315lb93lyb4y092"; sha256 = "12i5s3qs0lxfs06p5b354scbapldf4isfr00cg1dq47n4gnqwa99";
}; };
postPatch = ''
substituteInPlace sqlmap/thirdparty/magic/magic.py --replace "ctypes.util.find_library('magic')" \
"'${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
# the check for the last update date does not work in Nix,
# since the timestamp of the all files in the nix store is reset to the unix epoch
echo 'LAST_UPDATE_NAGGING_DAYS = float("inf")' >> sqlmap/lib/core/settings.py
'';
# No tests in archive # No tests in archive
doCheck = false; doCheck = false;

View File

@ -13,14 +13,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "tiledb"; pname = "tiledb";
version = "0.5.3"; version = "0.5.6";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TileDB-Inc"; owner = "TileDB-Inc";
repo = "TileDB-Py"; repo = "TileDB-Py";
rev = version; rev = version;
sha256 = "1wzzq3ggrprnjqgx9168r4x8cj1rh2ikr6mlxgbi463p5hnlkb5m"; sha256 = "0cgm4dhyqay26xmrzlv21ha8qh55m4q3yr338lrv81ngz77zxsvw";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -9,11 +9,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "tqdm"; pname = "tqdm";
version = "4.40.2"; version = "4.42.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "f0ab01cf3ae5673d18f918700c0165e5fad0f26b5ebe4b34f62ead92686b5340"; sha256 = "251ee8440dbda126b8dfa8a7c028eb3f13704898caaef7caa699b35e119301e2";
}; };
checkInputs = [ nose coverage glibcLocales flake8 ]; checkInputs = [ nose coverage glibcLocales flake8 ];

View File

@ -10,11 +10,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "xarray"; pname = "xarray";
version = "0.14.1"; version = "0.15.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "04b2f4d24707b8871a7ffa37328d0a2de74e81bd30791c9608712612601abd23"; sha256 = "c72d160c970725201f769e80fb91cbad68d6ebf21d68fcc371385a6c950459c3";
}; };
checkInputs = [ pytest ]; checkInputs = [ pytest ];

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "racer"; pname = "racer";
version = "2.1.29"; version = "2.1.30";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "racer-rust"; owner = "racer-rust";
repo = "racer"; repo = "racer";
rev = "5db1d0cf8bd1a1030983337c2079be09a1268c8c"; rev = "c2b0080243fefdad7f7b223e8a7fdef3e1f0fa77";
sha256 = "0kxi0krpc3abanphzpmi3jhmm831bn4wjzyas469q2gvqfhm71dj"; sha256 = "0svvdkfqpk2rw0wxyrhkxy553k55lg7jxc0ly4w1195iwv14ad3y";
}; };
cargoSha256 = "18hx0dfx6lw3azsnpqzhbjs0fpfya5y0pcyjmfywv42a8n7dr1jc"; cargoSha256 = "1qxg9r6wpv811fh2l889jm0ya96gsra00kqpyxh41fb7myvl2a4i";
buildInputs = [ makeWrapper ] buildInputs = [ makeWrapper ]
++ stdenv.lib.optional stdenv.isDarwin Security; ++ stdenv.lib.optional stdenv.isDarwin Security;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "brightnessctl"; pname = "brightnessctl";
version = "0.4"; version = "0.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Hummer12007"; owner = "Hummer12007";
repo = "brightnessctl"; repo = "brightnessctl";
rev = version; rev = version;
sha256 = "1n1gb8ldgqv3vs565yhk1w4jfvrviczp94r8wqlkv5q6ab43c8w9"; sha256 = "0immxc7almmpg80n3bdn834p3nrrz7bspl2syhb04s3lawa5y2lq";
}; };
makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ]; makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ];

View File

@ -83,8 +83,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = { mktplcRef = {
name = "cpptools"; name = "cpptools";
publisher = "ms-vscode"; publisher = "ms-vscode";
version = "0.26.1"; version = "0.26.3";
sha256 = "09khm0byxa9mv8qbqrikd7akz3p816ra5z8l86xqkmbm6j1k4wpc"; sha256 = "1rwyvqk3gp5f75x73d33biqvq67xx2vz1lmh3y3ax8kaf9z8jfvr";
}; };
buildInputs = [ buildInputs = [

View File

@ -41,8 +41,8 @@ in vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = { mktplcRef = {
name = "python"; name = "python";
publisher = "ms-python"; publisher = "ms-python";
version = "2019.10.44104"; version = "2020.1.58038";
sha256 = "1k0wws430psrl8zp9ky5mifbg02qmh2brjyqk5k9pn3y1dks5gns"; sha256 = "09iawy1p2akan090461137d4p5gqqf0aanm9i534p0kmbxmjfpqv";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,10 +1,10 @@
diff --git a/data/meson.build b/data/meson.build diff --git a/data/meson.build b/data/meson.build
index 25db9509..f394eb25 100644 index d59bdc88..4a4cfc35 100644
--- a/data/meson.build --- a/data/meson.build
+++ b/data/meson.build +++ b/data/meson.build
@@ -13,7 +13,7 @@ @@ -16,7 +16,7 @@
if build_daemon
subdir('installed-tests') if build_standalone
install_data(['daemon.conf'], install_data(['daemon.conf'],
- install_dir : join_paths(sysconfdir, 'fwupd') - install_dir : join_paths(sysconfdir, 'fwupd')
+ install_dir : join_paths(sysconfdir_install, 'fwupd') + install_dir : join_paths(sysconfdir_install, 'fwupd')
@ -76,10 +76,10 @@ index 826a3c1d..b78db663 100644
+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
) )
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index 8e1de887..a5bb1fe6 100644 index b1a523d2..aacb8e0a 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -158,6 +158,12 @@ @@ -169,6 +169,12 @@
mandir = join_paths(prefix, get_option('mandir')) mandir = join_paths(prefix, get_option('mandir'))
localedir = join_paths(prefix, get_option('localedir')) localedir = join_paths(prefix, get_option('localedir'))
@ -89,14 +89,14 @@ index 8e1de887..a5bb1fe6 100644
+ sysconfdir_install = sysconfdir + sysconfdir_install = sysconfdir
+endif +endif
+ +
diffcmd = find_program('diff')
gio = dependency('gio-2.0', version : '>= 2.45.8') gio = dependency('gio-2.0', version : '>= 2.45.8')
giounix = dependency('gio-unix-2.0', version : '>= 2.45.8') giounix = dependency('gio-unix-2.0', version : '>= 2.45.8', required: false)
if gio.version().version_compare ('>= 2.55.0')
diff --git a/meson_options.txt b/meson_options.txt diff --git a/meson_options.txt b/meson_options.txt
index 71b50c6a..561c2031 100644 index be0adfef..73983333 100644
--- a/meson_options.txt --- a/meson_options.txt
+++ b/meson_options.txt +++ b/meson_options.txt
@@ -24,6 +24,7 @@ @@ -26,6 +26,7 @@
option('systemd', type : 'boolean', value : true, description : 'enable systemd support') option('systemd', type : 'boolean', value : true, description : 'enable systemd support')
option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units') option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units')
option('elogind', type : 'boolean', value : false, description : 'enable elogind support') option('elogind', type : 'boolean', value : false, description : 'enable elogind support')
@ -105,10 +105,10 @@ index 71b50c6a..561c2031 100644
option('udevdir', type: 'string', value: '', description: 'Directory for udev rules') option('udevdir', type: 'string', value: '', description: 'Directory for udev rules')
option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules') option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules')
diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build
index cb9f4555..b972d7fb 100644 index ed4eee70..76dbdb1d 100644
--- a/plugins/dell-esrt/meson.build --- a/plugins/dell-esrt/meson.build
+++ b/plugins/dell-esrt/meson.build +++ b/plugins/dell-esrt/meson.build
@@ -36,5 +36,5 @@ @@ -37,5 +37,5 @@
output : 'dell-esrt.conf', output : 'dell-esrt.conf',
configuration : con2, configuration : con2,
install: true, install: true,
@ -116,10 +116,10 @@ index cb9f4555..b972d7fb 100644
+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
) )
diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build
index 5c88504e..7706da71 100644 index 25fc5c7d..77eb9a83 100644
--- a/plugins/redfish/meson.build --- a/plugins/redfish/meson.build
+++ b/plugins/redfish/meson.build +++ b/plugins/redfish/meson.build
@@ -26,7 +26,7 @@ @@ -27,7 +27,7 @@
) )
install_data(['redfish.conf'], install_data(['redfish.conf'],
@ -129,7 +129,7 @@ index 5c88504e..7706da71 100644
if get_option('tests') if get_option('tests')
diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build
index 42718abf..bc815491 100644 index 06ab34ee..297a9182 100644
--- a/plugins/thunderbolt/meson.build --- a/plugins/thunderbolt/meson.build
+++ b/plugins/thunderbolt/meson.build +++ b/plugins/thunderbolt/meson.build
@@ -46,7 +46,7 @@ @@ -46,7 +46,7 @@
@ -142,10 +142,10 @@ index 42718abf..bc815491 100644
# we use functions from 2.52 in the tests # we use functions from 2.52 in the tests
if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52') if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52')
diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build
index 45b18d7d..ef8e0b04 100644 index 39b5f566..0f904a22 100644
--- a/plugins/uefi/meson.build --- a/plugins/uefi/meson.build
+++ b/plugins/uefi/meson.build +++ b/plugins/uefi/meson.build
@@ -85,7 +85,7 @@ @@ -87,7 +87,7 @@
) )
install_data(['uefi.conf'], install_data(['uefi.conf'],

View File

@ -87,14 +87,14 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fwupd"; pname = "fwupd";
version = "1.3.3"; version = "1.3.7";
src = fetchurl { src = fetchurl {
url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz"; url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
sha256 = "0nqzqvx8nzflhb4kzvkdcv7kixb50vh6h21kpkd7pjxp942ndzql"; sha256 = "02mzn3whk5mba4nxyrkypawr1gzjx79n4nrkhrp8vja6mxxgsf10";
}; };
outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ]; outputs = [ "out" "dev" "devdoc" "man" "installedTests" ];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
@ -148,10 +148,6 @@ stdenv.mkDerivation rec {
./fix-paths.patch ./fix-paths.patch
./add-option-for-installation-sysconfdir.patch ./add-option-for-installation-sysconfdir.patch
# do not require which
# https://github.com/fwupd/fwupd/pull/1568
./no-which.patch
# installed tests are installed to different output # installed tests are installed to different output
# we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle
(substituteAll { (substituteAll {
@ -163,7 +159,8 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
patchShebangs \ patchShebangs \
libfwupd/generate-version-script.py \ contrib/get-version.py \
contrib/generate-version-script.py \
meson_post_install.sh \ meson_post_install.sh \
po/make-images \ po/make-images \
po/make-images.sh \ po/make-images.sh \
@ -173,11 +170,6 @@ stdenv.mkDerivation rec {
# https://github.com/NixOS/nix/issues/1846 # https://github.com/NixOS/nix/issues/1846
substituteInPlace data/installed-tests/meson.build --subst-var installedTests substituteInPlace data/installed-tests/meson.build --subst-var installedTests
# install plug-ins to out, they are not really part of the library
substituteInPlace meson.build \
--replace "plugin_dir = join_paths(libdir, 'fwupd-plugins-3')" \
"plugin_dir = join_paths('${placeholder "out"}', 'fwupd_plugins-3')"
substituteInPlace data/meson.build --replace \ substituteInPlace data/meson.build --replace \
"install_dir: systemd.get_pkgconfig_variable('systemdshutdowndir')" \ "install_dir: systemd.get_pkgconfig_variable('systemdshutdowndir')" \
"install_dir: '${placeholder "out"}/lib/systemd/system-shutdown'" "install_dir: '${placeholder "out"}/lib/systemd/system-shutdown'"
@ -211,7 +203,6 @@ stdenv.mkDerivation rec {
"--localstatedir=/var" "--localstatedir=/var"
"--sysconfdir=/etc" "--sysconfdir=/etc"
"-Dsysconfdir_install=${placeholder "out"}/etc" "-Dsysconfdir_install=${placeholder "out"}/etc"
"--libexecdir=${placeholder "out"}/libexec"
] ++ stdenv.lib.optionals (!haveDell) [ ] ++ stdenv.lib.optionals (!haveDell) [
"-Dplugin_dell=false" "-Dplugin_dell=false"
"-Dplugin_synaptics=false" "-Dplugin_synaptics=false"

View File

@ -1,31 +0,0 @@
--- a/plugins/uefi/efi/generate_binary.sh
+++ b/plugins/uefi/efi/generate_binary.sh
@@ -1,9 +1,9 @@
#!/bin/sh
output=$2
-objcopy_cmd=$(which objcopy)
-genpeimg_cmd=$(which genpeimg)
+objcopy_cmd=$(command -v objcopy)
+genpeimg_cmd=$(command -v genpeimg)
-$objcopy_cmd -j .text \
+"$objcopy_cmd" -j .text \
-j .sdata \
-j .data \
-j .dynamic \
@@ -11,7 +11,7 @@
-j .rel \
-j .rela \
-j .reloc \
- $*
+ "$@"
if [ -n "${genpeimg_cmd}" ]; then
$genpeimg_cmd -d \
@@ -20,5 +20,5 @@
+n \
-d \
+s \
- $output
+ "$output"
fi

View File

@ -15,13 +15,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${package}-${version}"; name = "${package}-${version}";
version = "0.5.6"; version = "0.5.7";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "JFBView"; repo = "JFBView";
owner = "jichu4n"; owner = "jichu4n";
rev = version; rev = version;
sha256 = "09rcmlf04aka0yzr25imadi0fl4nlbsxcahs7fhvzx4nql4halqw"; sha256 = "0ppns49hnmp04zdjw6wc28v0yvz31rkzvd5ylcj7arikx20llpxf";
}; };
postPatch = '' postPatch = ''

View File

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
pname = "alertmanager"; pname = "alertmanager";
version = "0.19.0"; version = "0.20.0";
rev = "v${version}"; rev = "v${version}";
goPackagePath = "github.com/prometheus/alertmanager"; goPackagePath = "github.com/prometheus/alertmanager";
@ -11,7 +11,7 @@ buildGoPackage rec {
inherit rev; inherit rev;
owner = "prometheus"; owner = "prometheus";
repo = "alertmanager"; repo = "alertmanager";
sha256 = "08k898x9ks5rzcmb7ps1rnxv36ynv64x8yq2ahpwmfkmv6nw1ylh"; sha256 = "1bq6vbpy25k7apvs2ga3fbp1cbnv9j0y1g1khvz2qgz6a2zvhgg3";
}; };
buildFlagsArray = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in '' buildFlagsArray = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in ''

View File

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
pname = "telegraf"; pname = "telegraf";
version = "1.13.2"; version = "1.13.3";
goPackagePath = "github.com/influxdata/telegraf"; goPackagePath = "github.com/influxdata/telegraf";
@ -14,7 +14,7 @@ buildGoPackage rec {
owner = "influxdata"; owner = "influxdata";
repo = "telegraf"; repo = "telegraf";
rev = version; rev = version;
sha256 = "1vcnac1gj7ri1hdlkz5i6zpxiwljpfn1iag1zb3fymlw6c91b11p"; sha256 = "093695n83m1ywy4l7nswjh1xc0gkg7pxilxav7jjxkgl4p15yf28";
}; };
buildFlagsArray = [ ''-ldflags= buildFlagsArray = [ ''-ldflags=

View File

@ -932,8 +932,8 @@
fetch = { fetch = {
type = "git"; type = "git";
url = "https://github.com/safchain/ethtool"; url = "https://github.com/safchain/ethtool";
rev = "42ed695e3de80b9d695f280295fd7994639f209d"; rev = "ef7e7c9c27639f149a3c4bfae07a9c0fc3a1691a";
sha256 = "0n5hkrzc1bh46nidcssx4539kvcmgj501v3kzh2pljpg27509daj"; sha256 = "140bd01ngh2jgqhr2av3d4xmwk71c2mq5crg8gy89al76dwrjb7b";
}; };
} }
{ {

View File

@ -0,0 +1,71 @@
{ stdenv
, awscli
, jq
, fetchgit
, installShellFiles
, bashInteractive
}:
stdenv.mkDerivation rec {
pname = "bash-my-aws";
version = "20200111";
src = fetchgit {
url = "https://github.com/bash-my-aws/bash-my-aws";
rev = "5a97ce2c22affca1299022a5afa109d7b62242ba";
sha256 = "459bda8b244af059d96c7c8b916cf956b01cb2732d1c2888a3ae06a4d660bea6";
};
dontConfigure = true;
dontBuild = true;
propagatedBuildInputs = [
awscli
jq
bashInteractive
];
nativeBuildInputs = [ installShellFiles ];
checkPhase = ''
pushd test
./shared-spec.sh
./stack-spec.sh
popd
'';
installPhase=''
mkdir -p $out
cp -r . $out
'';
postFixup = ''
pushd $out
substituteInPlace scripts/build \
--replace '~/.bash-my-aws' $out
substituteInPlace scripts/build-completions \
--replace "{HOME}" $out \
--replace '~/.bash-my-aws' $out
./scripts/build
./scripts/build-completions
substituteInPlace bash_completion.sh \
--replace "{HOME}" $out \
--replace .bash-my-aws ""
substituteInPlace bin/bma \
--replace '~/.bash-my-aws' $out
installShellCompletion --bash --name bash-my-aws.bash bash_completion.sh
chmod +x $out/lib/*
patchShebangs --host $out/lib
installShellCompletion --bash --name bash-my-aws.bash bash_completion.sh
cat > $out/bin/bma-init <<EOF
echo source $out/aliases
echo source $out/bash_completion.sh
EOF
chmod +x $out/bin/bma-init
popd
'';
meta = with stdenv.lib; {
homepage = https://bash-my-aws.org;
description = "CLI commands for AWS";
license = licenses.mit;
maintainers = with maintainers; [ tomberek ];
};
}

View File

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "procs"; pname = "procs";
version = "0.9.5"; version = "0.9.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dalance"; owner = "dalance";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1c2faw88np5dsbnd915m9a2fkx3a7xy9ii0xvacxkrv3z2zab3fc"; sha256 = "06q18ynb4r9dcxc690291z9vvll9rfpc8j1gkkgfav2f1xdndzq3";
}; };
cargoSha256 = "11wv02nn6gp32zzcd6kmsh6ky0dzyk1qqhb5vxvmq2nxhxjlddwv"; cargoSha256 = "11wv02nn6gp32zzcd6kmsh6ky0dzyk1qqhb5vxvmq2nxhxjlddwv";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "screen"; pname = "screen";
version = "4.7.0"; version = "4.8.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/screen/${pname}-${version}.tar.gz"; url = "mirror://gnu/screen/${pname}-${version}.tar.gz";
sha256 = "1h90bpy2wk304xw367y1zwz0kilrpm6h28nphykx4fvqz8l56xys"; sha256 = "18ascpjzsy70h6hk7wpg8zmzjwgdyrdr7c6z4pg5z4l9hhyv24bf";
}; };
configureFlags= [ configureFlags= [

View File

@ -3,13 +3,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "starship"; pname = "starship";
version = "0.33.1"; version = "0.35.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "starship"; owner = "starship";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "15z8iwig10brjxirr9nm1aibjz6qpd82v7n9c4i2q1q9qvb3j5cs"; sha256 = "17338l3nj6rysl9qvlbi1amqk6n5p15x8fvd11md7hwiavy4c63c";
}; };
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ]; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
--replace "/bin/echo" "echo" --replace "/bin/echo" "echo"
''; '';
cargoSha256 = "16jr96ljd34x3fa2jahcqmjm1ds8519hx391wv1snk7y70fz1314"; cargoSha256 = "0q6g7i930n23aabkwfn30lpbm5brjls552ql5khc6w02sirshsng";
checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root"; checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,13 +1,12 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, glib, fuse, curl, glib-networking { stdenv, fetchgit, autoreconfHook, pkgconfig, glib, fuse, curl, glib-networking
, asciidoc, libxml2, docbook_xsl, docbook_xml_dtd_45, libxslt, wrapGAppsHook }: , asciidoc, libxml2, docbook_xsl, docbook_xml_dtd_45, libxslt, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "megatools"; pname = "megatools";
version = "1.10.2"; version = "1.10.2";
src = fetchFromGitHub { src = fetchgit {
owner = "megous"; url = "https://megous.com/git/megatools";
repo = "megatools";
rev = version; rev = version;
sha256 = "001hw8j36ld03wwaphq3xdaazf2dpl36h84k8xmk524x8vlia8lk"; sha256 = "001hw8j36ld03wwaphq3xdaazf2dpl36h84k8xmk524x8vlia8lk";
}; };
@ -16,7 +15,8 @@ stdenv.mkDerivation rec {
autoreconfHook pkgconfig wrapGAppsHook asciidoc libxml2 autoreconfHook pkgconfig wrapGAppsHook asciidoc libxml2
docbook_xsl docbook_xml_dtd_45 libxslt docbook_xsl docbook_xml_dtd_45 libxslt
]; ];
buildInputs = [ glib glib-networking fuse curl ]; buildInputs = [ glib glib-networking curl ]
++ stdenv.lib.optionals stdenv.isLinux [ fuse ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
homepage = https://megatools.megous.com/; homepage = https://megatools.megous.com/;
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ maintainers.viric maintainers.AndersonTorres ]; maintainers = [ maintainers.viric maintainers.AndersonTorres ];
platforms = platforms.linux; platforms = platforms.unix;
}; };
} }

View File

@ -14,11 +14,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wireguard-tools"; pname = "wireguard-tools";
version = "1.0.20200121"; version = "1.0.20200206";
src = fetchzip { src = fetchzip {
url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz"; url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz";
sha256 = "0s82i8ibf0zj2wka625vh4rihdwmvlkv1v3bilrlcscwgfvzjfhf"; sha256 = "0ivc08lds5w39a6f2xdfih9wlk5g724hl3kpdvxvh5yff4l84qb7";
}; };
sourceRoot = "source/src"; sourceRoot = "source/src";

View File

@ -782,6 +782,8 @@ in
automirror = callPackage ../tools/misc/automirror { }; automirror = callPackage ../tools/misc/automirror { };
bash-my-aws = callPackage ../tools/admin/bash-my-aws { };
bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { }; bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { };
bitwarden = callPackage ../tools/security/bitwarden { }; bitwarden = callPackage ../tools/security/bitwarden { };
@ -1927,6 +1929,8 @@ in
lynis = callPackage ../tools/security/lynis { }; lynis = callPackage ../tools/security/lynis { };
mapproxy = callPackage ../applications/misc/mapproxy { };
marlin-calc = callPackage ../tools/misc/marlin-calc {}; marlin-calc = callPackage ../tools/misc/marlin-calc {};
mathics = with python2Packages; toPythonApplication mathics; mathics = with python2Packages; toPythonApplication mathics;

View File

@ -4316,7 +4316,9 @@ in {
nbconvert = callPackage ../development/python-modules/nbconvert { }; nbconvert = callPackage ../development/python-modules/nbconvert { };
nbformat = callPackage ../development/python-modules/nbformat { }; nbformat = if isPy3k then
callPackage ../development/python-modules/nbformat { }
else callPackage ../development/python-modules/nbformat/2.nix { };
nbmerge = callPackage ../development/python-modules/nbmerge { }; nbmerge = callPackage ../development/python-modules/nbmerge { };
@ -4896,6 +4898,8 @@ in {
pyopencl = callPackage ../development/python-modules/pyopencl { }; pyopencl = callPackage ../development/python-modules/pyopencl { };
pyosmium = callPackage ../development/python-modules/pyosmium { };
pyotp = callPackage ../development/python-modules/pyotp { }; pyotp = callPackage ../development/python-modules/pyotp { };
pyproj = callPackage ../development/python-modules/pyproj { }; pyproj = callPackage ../development/python-modules/pyproj { };