1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-09-11 15:08:33 +01:00

Merge remote-tracking branch 'NixOS/master' into staging

This commit is contained in:
Matthew Bauer 2019-01-27 00:01:13 -05:00
commit 92f0f8dd68
403 changed files with 4759 additions and 3164 deletions

View file

@ -1279,7 +1279,9 @@ makeFlags = [ "PREFIX=$(out)" ];
<command>make</command>. You must use this instead of
<varname>makeFlags</varname> if the arguments contain spaces, e.g.
<programlisting>
makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
preBuild = ''
makeFlagsArray+=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
'';
</programlisting>
Note that shell arrays cannot be passed through environment variables,
so you cannot set <varname>makeFlagsArray</varname> in a derivation

View file

@ -21,7 +21,7 @@
- `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`),
- `keys` is a list of your PGP/GPG key IDs and fingerprints.
`handle == github` is strongly preffered whenever `github` is an acceptable attribute name and is short and convenient.
`handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient.
Add PGP/GPG keys only if you actually use them to sign commits and/or mail.
@ -1427,6 +1427,10 @@
email = "justin.humm@posteo.de";
github = "erictapen";
name = "Justin Humm";
keys = [{
longkeyid = "rsa4096/0x438871E000AA178E";
fingerprint = "984E 4BAD 9127 4D0E AE47 FF03 4388 71E0 00AA 178E";
}];
};
erikryb = {
email = "erik.rybakken@math.ntnu.no";
@ -1456,6 +1460,10 @@
email = "elis@hirwing.se";
github = "etu";
name = "Elis Hirwing";
keys = [{
longkeyid = "rsa4096/0xD57EFA625C9A925F";
fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F";
}];
};
evck = {
email = "eric@evenchick.com";
@ -2882,6 +2890,11 @@
email = "joerg@thalheim.io";
github = "mic92";
name = "Jörg Thalheim";
keys = [{
# compare with https://keybase.io/Mic92
longkeyid = "rsa4096/0x003F2096411B5F92";
fingerprint = "3DEE 1C55 6E1C 3DC5 54F5 875A 003F 2096 411B 5F92";
}];
};
michaelpj = {
email = "michaelpj@gmail.com";
@ -3600,6 +3613,14 @@
email = "dev.primeos@gmail.com";
github = "primeos";
name = "Michael Weiss";
keys = [
{ longkeyid = "ed25519/0x130826A6C2A389FD"; # Git only
fingerprint = "86A7 4A55 07D0 58D1 322E 37FD 1308 26A6 C2A3 89FD";
}
{ longkeyid = "rsa3072/0xBCA9943DD1DF4C04"; # Email, etc.
fingerprint = "AF85 991C C950 49A2 4205 1933 BCA9 943D D1DF 4C04";
}
];
};
Profpatsch = {
email = "mail@profpatsch.de";
@ -3668,6 +3689,10 @@
email = "hi@alyssa.is";
github = "alyssais";
name = "Alyssa Ross";
keys = [{
longkeyid = "rsa4096/736CCDF9EF51BD97";
fingerprint = "7573 56D7 79BB B888 773E 415E 736C CDF9 EF51 BD97";
}];
};
ragge = {
email = "r.dahlen@gmail.com";
@ -4183,6 +4208,10 @@
email = "sebastien.maret@icloud.com";
github = "smaret";
name = "Sébastien Maret";
keys = [{
longkeyid = "rsa4096/0x86E30E5A0F5FC59C";
fingerprint = "4242 834C D401 86EF 8281 4093 86E3 0E5A 0F5F C59C";
}];
};
smironov = {
email = "grrwlf@gmail.com";
@ -4373,6 +4402,10 @@
email = "me@tadeo.ca";
github = "tadeokondrak";
name = "Tadeo Kondrak";
keys = [{
longkeyid = "ed25519/0xFBE607FCC49516D3";
fingerprint = "0F2B C0C7 E77C 5B42 AC5B 4C18 FBE6 07FC C495 16D3";
}];
};
tadfisher = {
email = "tadfisher@gmail.com";
@ -4879,11 +4912,6 @@
github = "wjlroe";
name = "William Roe";
};
wkennington = {
email = "william@wkennington.com";
github = "wkennington";
name = "William A. Kennington III";
};
wmertens = {
email = "Wout.Mertens@gmail.com";
github = "wmertens";

View file

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i perl -p perl perlPackages.NetAmazonS3 perlPackages.FileSlurp nixUnstable nixUnstable.perl-bindings
#! nix-shell -i perl -p perl perlPackages.NetAmazonS3 perlPackages.FileSlurp perlPackages.JSON perlPackages.LWPProtocolHttps nixUnstable nixUnstable.perl-bindings
# This command uploads tarballs to tarballs.nixos.org, the
# content-addressed cache used by fetchurl as a fallback for when
@ -101,8 +101,8 @@ sub uploadFile {
my ($name, $dest) = @_;
#print STDERR "linking $name to $dest...\n";
$bucket->add_key($name, "", {
'x-amz-website-redirect-location' => "/" . $dest,
'x-amz-acl' => "public-read"
'x-amz-website-redirect-location' => "/" . $dest,
'x-amz-acl' => "public-read"
})
or die "failed to create redirect from $name to $dest\n";
$cache{$name} = 1;
@ -116,8 +116,8 @@ sub uploadFile {
# Upload the file as sha512/<hash-in-base-16>.
print STDERR "uploading $fn to $mainKey...\n";
$bucket->add_key_filename($mainKey, $fn, {
'x-amz-meta-original-name' => $name,
'x-amz-acl' => "public-read"
'x-amz-meta-original-name' => $name,
'x-amz-acl' => "public-read"
})
or die "failed to upload $fn to $mainKey\n";
$cache{$mainKey} = 1;

View file

@ -4,4 +4,8 @@ if [[ -z "$VERBOSE" ]]; then
echo "You may set VERBOSE=1 to see debug output or to any other non-empty string to make this script completely silent"
fi
unset HOME NIXPKGS_CONFIG # Force empty config
# With the default heap size (380MB), nix-instantiate fails:
# Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
export GC_INITIAL_HEAP_SIZE=${GC_INITIAL_HEAP_SIZE:-2000000000} # 2GB
nix-instantiate --strict --eval-only --xml --show-trace "$(dirname "$0")"/eval-release.nix 2>&1 > /dev/null

View file

@ -31,7 +31,7 @@ let
if !canEval x then []
else if isDerivation x then optional (canEval x.drvPath) x
else if isList x then concatLists (map derivationsIn' x)
else if isAttrs x then concatLists (mapAttrsToList (n: v: derivationsIn' v) x)
else if isAttrs x then concatLists (mapAttrsToList (n: v: addErrorContext "while finding tarballs in '${n}':" (derivationsIn' v)) x)
else [ ];
keyDrv = drv: if canEval drv.drvPath then { key = drv.drvPath; value = drv; } else { };

View file

@ -440,6 +440,21 @@
from nixpkgs due to the lack of maintainers.
</para>
</listitem>
<listitem>
<para>
It is possible now to uze ZRAM devices as general purpose ephemeral block devices,
not only as swap. Using more than 1 device as ZRAM swap is no longer recommended,
but is still possible by setting <literal>zramSwap.swapDevices</literal> explicitly.
</para>
<para>
Default algorithm for ZRAM swap was changed to <literal>zstd</literal>.
</para>
<para>
Changes to ZRAM algorithm are applied during <literal>nixos-rebuild switch</literal>,
so make sure you have enough swap space on disk to survive ZRAM device rebuild. Alternatively,
use <literal>nixos-rebuild boot; reboot</literal>.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -27,6 +27,9 @@
, # The root file system type.
fsType ? "ext4"
, # Filesystem label
label ? "nixos"
, # The initial NixOS configuration file to be copied to
# /etc/nixos/configuration.nix.
configFile ? null
@ -134,9 +137,9 @@ let format' = format; in let
# Get start & length of the root partition in sectors to $START and $SECTORS.
eval $(partx $diskImage -o START,SECTORS --nr ${rootPartition} --pairs)
mkfs.${fsType} -F -L nixos $diskImage -E offset=$(sectorsToBytes $START) $(sectorsToKilobytes $SECTORS)K
mkfs.${fsType} -F -L ${label} $diskImage -E offset=$(sectorsToBytes $START) $(sectorsToKilobytes $SECTORS)K
'' else ''
mkfs.${fsType} -F -L nixos $diskImage
mkfs.${fsType} -F -L ${label} $diskImage
''}
root="$PWD/root"

View file

@ -6,10 +6,27 @@ let
cfg = config.zramSwap;
devices = map (nr: "zram${toString nr}") (range 0 (cfg.numDevices - 1));
# don't set swapDevices as mkDefault, so we can detect user had read our warning
# (see below) and made an action (or not)
devicesCount = if cfg.swapDevices != null then cfg.swapDevices else cfg.numDevices;
devices = map (nr: "zram${toString nr}") (range 0 (devicesCount - 1));
modprobe = "${pkgs.kmod}/bin/modprobe";
warnings =
assert cfg.swapDevices != null -> cfg.numDevices >= cfg.swapDevices;
flatten [
(optional (cfg.numDevices > 1 && cfg.swapDevices == null) ''
Using several small zram devices as swap is no better than using one large.
Set either zramSwap.numDevices = 1 or explicitly set zramSwap.swapDevices.
Previously multiple zram devices were used to enable multithreaded
compression. Linux supports multithreaded compression for 1 device
since 3.15. See https://lkml.org/lkml/2014/2/28/404 for details.
'')
];
in
{
@ -24,9 +41,11 @@ in
default = false;
type = types.bool;
description = ''
Enable in-memory compressed swap space provided by the zram kernel
module.
See https://www.kernel.org/doc/Documentation/blockdev/zram.txt
Enable in-memory compressed devices and swap space provided by the zram
kernel module.
See <link xlink:href="https://www.kernel.org/doc/Documentation/blockdev/zram.txt">
https://www.kernel.org/doc/Documentation/blockdev/zram.txt
</link>.
'';
};
@ -34,7 +53,19 @@ in
default = 1;
type = types.int;
description = ''
Number of zram swap devices to create.
Number of zram devices to create. See also
<literal>zramSwap.swapDevices</literal>
'';
};
swapDevices = mkOption {
default = null;
example = 1;
type = with types; nullOr int;
description = ''
Number of zram devices to be used as swap. Must be
<literal>&lt;= zramSwap.numDevices</literal>.
Default is same as <literal>zramSwap.numDevices</literal>, recommended is 1.
'';
};
@ -44,7 +75,8 @@ in
description = ''
Maximum amount of memory that can be used by the zram swap devices
(as a percentage of your total memory). Defaults to 1/2 of your total
RAM.
RAM. Run <literal>zramctl</literal> to check how good memory is
compressed.
'';
};
@ -58,12 +90,26 @@ in
'';
};
algorithm = mkOption {
default = "zstd";
example = "lzo";
type = with types; either (enum [ "lzo" "lz4" "zstd" ]) str;
description = ''
Compression algorithm. <literal>lzo</literal> has good compression,
but is slow. <literal>lz4</literal> has bad compression, but is fast.
<literal>zstd</literal> is both good compression and fast.
You can check what other algorithms are supported by your zram device with
<programlisting>cat /sys/class/block/zram*/comp_algorithm</programlisting>
'';
};
};
};
config = mkIf cfg.enable {
inherit warnings;
system.requiredKernelConfig = with config.lib.kernelConfig; [
(isModule "ZRAM")
];
@ -85,25 +131,25 @@ in
createZramInitService = dev:
nameValuePair "zram-init-${dev}" {
description = "Init swap on zram-based device ${dev}";
bindsTo = [ "dev-${dev}.swap" ];
after = [ "dev-${dev}.device" "zram-reloader.service" ];
requires = [ "dev-${dev}.device" "zram-reloader.service" ];
before = [ "dev-${dev}.swap" ];
requiredBy = [ "dev-${dev}.swap" ];
unitConfig.DefaultDependencies = false; # needed to prevent a cycle
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/class/block/${dev}/reset'";
};
script = ''
set -u
set -o pipefail
# Calculate memory to use for zram
totalmem=$(${pkgs.gnugrep}/bin/grep 'MemTotal: ' /proc/meminfo | ${pkgs.gawk}/bin/awk '{print $2}')
mem=$(((totalmem * ${toString cfg.memoryPercent} / 100 / ${toString cfg.numDevices}) * 1024))
set -euo pipefail
echo $mem > /sys/class/block/${dev}/disksize
# Calculate memory to use for zram
mem=$(${pkgs.gawk}/bin/awk '/MemTotal: / {
print int($2*${toString cfg.memoryPercent}/100.0/${toString devicesCount}*1024)
}' /proc/meminfo)
${pkgs.utillinux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev}
${pkgs.utillinux}/sbin/mkswap /dev/${dev}
'';
restartIfChanged = false;
@ -111,6 +157,9 @@ in
in listToAttrs ((map createZramInitService devices) ++ [(nameValuePair "zram-reloader"
{
description = "Reload zram kernel module when number of devices changes";
wants = [ "systemd-udevd.service" ];
after = [ "systemd-udevd.service" ];
unitConfig.DefaultDependencies = false; # needed to prevent a cycle
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -118,7 +167,11 @@ in
ExecStart = "${modprobe} zram";
ExecStop = "${modprobe} -r zram";
};
restartTriggers = [ cfg.numDevices ];
restartTriggers = [
cfg.numDevices
cfg.algorithm
cfg.memoryPercent
];
restartIfChanged = true;
})]);

View file

@ -124,10 +124,14 @@ in
config = mkIf cfg.enable {
assertions = lib.singleton {
assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
message = "Option driSupport32Bit only makes sense on a 64-bit system.";
};
assertions = [
{ assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
message = "Option driSupport32Bit only makes sense on a 64-bit system.";
}
{ assertion = cfg.driSupport32Bit -> (config.boot.kernelPackages.kernel.features.ia32Emulation or false);
message = "Option driSupport32Bit requires a kernel that supports 32bit emulation";
}
];
systemd.tmpfiles.rules = [
"L+ /run/opengl-driver - - - - ${package}"

View file

@ -314,13 +314,13 @@ else
# echo 1>&2 "Warning: This value is not an option."
result=$(evalCfg "")
if names=$(attrNames "$result" 2> /dev/null); then
if [ ! -z "$result" ]; then
names=$(attrNames "$result" 2> /dev/null)
echo 1>&2 "This attribute set contains:"
escapeQuotes () { eval echo "$1"; }
nixMap escapeQuotes "$names"
else
echo 1>&2 "An error occurred while looking for attribute names."
echo $result
echo 1>&2 "An error occurred while looking for attribute names. Are you sure that '$option' exists?"
fi
fi

View file

@ -6,11 +6,11 @@ let
cfg = config.services.postgresqlBackup;
postgresqlBackupService = db :
postgresqlBackupService = db: dumpCmd:
{
enable = true;
description = "Backup of database ${db}";
description = "Backup of ${db} database(s)";
requires = [ "postgresql.service" ];
@ -26,7 +26,7 @@ let
${pkgs.coreutils}/bin/mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz
fi
${config.services.postgresql.package}/bin/pg_dump ${cfg.pgdumpOptions} ${db} | \
${dumpCmd} | \
${pkgs.gzip}/bin/gzip -c > ${cfg.location}/${db}.sql.gz
'';
@ -42,9 +42,7 @@ let
in {
options = {
services.postgresqlBackup = {
enable = mkOption {
default = false;
description = ''
@ -61,6 +59,19 @@ in {
'';
};
backupAll = mkOption {
default = cfg.databases == [];
defaultText = "services.postgresqlBackup.databases == []";
type = lib.types.bool;
description = ''
Backup all databases using pg_dumpall.
This option is mutual exclusive to
<literal>services.postgresqlBackup.databases</literal>.
The resulting backup dump will have the name all.sql.gz.
This option is the default if no databases are specified.
'';
};
databases = mkOption {
default = [];
description = ''
@ -79,18 +90,36 @@ in {
type = types.string;
default = "-Cbo";
description = ''
Command line options for pg_dump.
Command line options for pg_dump. This options is not used
if <literal>config.services.postgresqlBackup.backupAll</literal> is enabled.
Note that config.services.postgresqlBackup.backupAll is also active,
when no databases where specified.
'';
};
};
};
config = mkIf config.services.postgresqlBackup.enable {
systemd.services = listToAttrs (map (db : {
config = mkMerge [
{
assertions = [{
assertion = cfg.backupAll -> cfg.databases == [];
message = "config.services.postgresqlBackup.backupAll cannot be used together with config.services.postgresqlBackup.databases";
}];
}
(mkIf (cfg.enable && cfg.backupAll) {
systemd.services.postgresqlBackup =
postgresqlBackupService "all" "${config.services.postgresql.package}/bin/pg_dumpall";
})
(mkIf (cfg.enable && !cfg.backupAll) {
systemd.services = listToAttrs (map (db:
let
cmd = "${config.services.postgresql.package}/bin/pg_dump ${cfg.pgdumpOptions} ${db}";
in {
name = "postgresqlBackup-${db}";
value = postgresqlBackupService db; } ) cfg.databases);
};
value = postgresqlBackupService db cmd;
}) cfg.databases);
})
];
}

View file

@ -1,6 +1,11 @@
{ config, lib, pkgs, ... }:
with lib;
let
# Type for a valid systemd unit option. Needed for correctly passing "timerConfig" to "systemd.timers"
unitOption = (import ../../system/boot/systemd-unit-options.nix { inherit config lib; }).unitOption;
in
{
options.services.restic.backups = mkOption {
description = ''
@ -47,7 +52,7 @@ with lib;
};
timerConfig = mkOption {
type = types.attrsOf types.str;
type = types.attrsOf unitOption;
default = {
OnCalendar = "daily";
};

View file

@ -274,7 +274,8 @@ in
serviceConfig = {
Type = if hasNotify then "notify" else "simple";
RuntimeDirectory = "mysqld";
ExecStart = "${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions}";
# The last two environment variables are used for starting Galera clusters
ExecStart = "${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION";
};
postStart = ''

View file

@ -145,7 +145,7 @@ in
PLEX_MEDIA_SERVER_HOME="${cfg.package}/usr/lib/plexmediaserver";
PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6";
PLEX_MEDIA_SERVER_TMPDIR="/tmp";
LD_LIBRARY_PATH="${cfg.package}/usr/lib/plexmediaserver";
LD_LIBRARY_PATH="/run/opengl-driver/lib:${cfg.package}/usr/lib/plexmediaserver";
LC_ALL="en_US.UTF-8";
LANG="en_US.UTF-8";
};

View file

@ -88,6 +88,8 @@ in {
ExecStart = "${cfg.package}/sbin/collectd -C ${conf} -f";
User = cfg.user;
PermissionsStartOnly = true;
Restart = "on-failure";
RestartSec = 3;
};
preStart = ''

View file

@ -18,12 +18,34 @@ in
socketPath = mkOption {
type = types.path;
default = "/var/run/dovecot/stats";
example = "/var/run/dovecot2/stats";
example = "/var/run/dovecot2/old-stats";
description = ''
Path under which the stats socket is placed.
The user/group under which the exporter runs,
should be able to access the socket in order
to scrape the metrics successfully.
Please keep in mind that the stats module has changed in
<link xlink:href="https://wiki2.dovecot.org/Upgrading/2.3">Dovecot 2.3+</link> which
is not <link xlink:href="https://github.com/kumina/dovecot_exporter/issues/8">compatible with this exporter</link>.
The following extra config has to be passed to Dovecot to ensure that recent versions
work with this exporter:
<programlisting>
{
<xref linkend="opt-services.prometheus.exporters.dovecot.enable" /> = true;
<xref linkend="opt-services.prometheus.exporters.dovecot.socketPath" /> = "/var/run/dovecot2/old-stats";
<xref linkend="opt-services.dovecot2.extraConfig" /> = '''
mail_plugins = $mail_plugins old_stats
service old-stats {
unix_listener old-stats {
user = nobody
group = nobody
}
}
''';
}
</programlisting>
'';
};
scopes = mkOption {

View file

@ -513,6 +513,7 @@ in
RuntimeDirectory = [ "prosody" ];
PIDFile = "/run/prosody/prosody.pid";
ExecStart = "${cfg.package}/bin/prosodyctl start";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
};
};

View file

@ -26,6 +26,12 @@ let
substituteInPlace $out/sesman.ini \
--replace LogFile=xrdp-sesman.log LogFile=/dev/null \
--replace EnableSyslog=1 EnableSyslog=0
# Ensure that clipboard works for non-ASCII characters
sed -i -e '/.*SessionVariables.*/ a\
LANG=${config.i18n.defaultLocale}\
LOCALE_ARCHIVE=${config.i18n.glibcLocales}/lib/locale/locale-archive
' $out/sesman.ini
'';
in
{

View file

@ -187,8 +187,8 @@ let
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5:!EXP
SSLProtocol ${mainCfg.sslProtocols}
SSLCipherSuite ${mainCfg.sslCiphers}
SSLHonorCipherOrder on
'';
@ -630,6 +630,19 @@ in
description =
"Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited";
};
sslCiphers = mkOption {
type = types.str;
default = "HIGH:!aNULL:!MD5:!EXP";
description = "Cipher Suite available for negotiation in SSL proxy handshake.";
};
sslProtocols = mkOption {
type = types.str;
default = "All -SSLv2 -SSLv3";
example = "All -SSLv2 -SSLv3 -TLSv1";
description = "Allowed SSL/TLS protocol versions.";
};
}
# Include the options shared between the main server and virtual hosts.

View file

@ -107,6 +107,7 @@ in
initrdNetwork = handleTest ./initrd-network.nix {};
installer = handleTest ./installer.nix {};
ipv6 = handleTest ./ipv6.nix {};
jackett = handleTest ./jackett.nix {};
jenkins = handleTest ./jenkins.nix {};
#kafka = handleTest ./kafka.nix {}; # broken since openjdk: 8u181 -> 8u192
kerberos = handleTest ./kerberos/default.nix {};
@ -120,6 +121,7 @@ in
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
ldap = handleTest ./ldap.nix {};
leaps = handleTest ./leaps.nix {};
lidarr = handleTest ./lidarr.nix {};
#lightdm = handleTest ./lightdm.nix {};
login = handleTest ./login.nix {};
#logstash = handleTest ./logstash.nix {};
@ -179,6 +181,7 @@ in
quagga = handleTest ./quagga.nix {};
quake3 = handleTest ./quake3.nix {};
rabbitmq = handleTest ./rabbitmq.nix {};
radarr = handleTest ./radarr.nix {};
radicale = handleTest ./radicale.nix {};
redmine = handleTest ./redmine.nix {};
roundcube = handleTest ./roundcube.nix {};
@ -195,12 +198,14 @@ in
smokeping = handleTest ./smokeping.nix {};
snapper = handleTest ./snapper.nix {};
solr = handleTest ./solr.nix {};
sonarr = handleTest ./sonarr.nix {};
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
sudo = handleTest ./sudo.nix {};
switchTest = handleTest ./switch-test.nix {};
syncthing-relay = handleTest ./syncthing-relay.nix {};
systemd = handleTest ./systemd.nix {};
taskserver = handleTest ./taskserver.nix {};
telegraf = handleTest ./telegraf.nix {};
tomcat = handleTest ./tomcat.nix {};
tor = handleTest ./tor.nix {};
transmission = handleTest ./transmission.nix {};

View file

@ -23,7 +23,7 @@ in
{
name = "bittorrent";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ domenkozar eelco chaoflow rob wkennington bobvanderlinden ];
maintainers = [ domenkozar eelco chaoflow rob bobvanderlinden ];
};
nodes =

View file

@ -200,7 +200,7 @@ let
name = "installer-" + name;
meta = with pkgs.stdenv.lib.maintainers; {
# put global maintainers here, individuals go into makeInstallerTest fkt call
maintainers = [ wkennington ] ++ (meta.maintainers or []);
maintainers = (meta.maintainers or []);
};
nodes = {

18
nixos/tests/jackett.nix Normal file
View file

@ -0,0 +1,18 @@
import ./make-test.nix ({ lib, ... }:
with lib;
rec {
name = "jackett";
meta.maintainers = with maintainers; [ etu ];
nodes.machine =
{ pkgs, ... }:
{ services.jackett.enable = true; };
testScript = ''
$machine->waitForUnit('jackett.service');
$machine->waitForOpenPort('9117');
$machine->succeed("curl --fail http://localhost:9117/");
'';
})

18
nixos/tests/lidarr.nix Normal file
View file

@ -0,0 +1,18 @@
import ./make-test.nix ({ lib, ... }:
with lib;
rec {
name = "lidarr";
meta.maintainers = with maintainers; [ etu ];
nodes.machine =
{ pkgs, ... }:
{ services.lidarr.enable = true; };
testScript = ''
$machine->waitForUnit('lidarr.service');
$machine->waitForOpenPort('8686');
$machine->succeed("curl --fail http://localhost:8686/");
'';
})

View file

@ -8,7 +8,7 @@ import ./make-test.nix ({ pkgs, ...} : let
in {
name = "mongodb";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ bluescreen303 offline wkennington cstrahan rvl ];
maintainers = [ bluescreen303 offline cstrahan rvl ];
};
nodes = {

View file

@ -24,7 +24,7 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false,
name = "nat" + (if withFirewall then "WithFirewall" else "Standalone")
+ (lib.optionalString withConntrackHelpers "withConntrackHelpers");
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ eelco chaoflow rob wkennington ];
maintainers = [ eelco chaoflow rob ];
};
nodes =

View file

@ -606,7 +606,4 @@ let
in mapAttrs (const (attrs: makeTest (attrs // {
name = "${attrs.name}-Networking-${if networkd then "Networkd" else "Scripted"}";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ wkennington ];
};
}))) testCases

View file

@ -20,7 +20,7 @@ in
{
name = "nfs";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ eelco chaoflow wkennington ];
maintainers = [ eelco chaoflow ];
};
nodes =

View file

@ -12,7 +12,9 @@ import ./make-test.nix ({ pkgs, ...} : {
services.postgresql = let mypg = pkgs.postgresql_11; in {
enable = true;
package = mypg;
extraPlugins = [ (pkgs.postgis.override { postgresql = mypg; }) ];
extraPlugins = with mypg.pkgs; [
postgis
];
};
};
};
@ -22,5 +24,6 @@ import ./make-test.nix ({ pkgs, ...} : {
$master->waitForUnit("postgresql");
$master->sleep(10); # Hopefully this is long enough!!
$master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'");
$master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'");
'';
})

View file

@ -7,7 +7,7 @@ with import ../lib/testing.nix { inherit system pkgs; };
with pkgs.lib;
let
postgresql-versions = pkgs.callPackages ../../pkgs/servers/sql/postgresql { };
postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs pkgs;
test-sql = pkgs.writeText "postgresql-test" ''
CREATE EXTENSION pgcrypto; -- just to check if lib loading works
CREATE TABLE sth (
@ -21,7 +21,7 @@ let
CREATE TABLE xmltest ( doc xml );
INSERT INTO xmltest (doc) VALUES ('<test>ok</test>'); -- check if libxml2 enabled
'';
make-postgresql-test = postgresql-name: postgresql-package: makeTest {
make-postgresql-test = postgresql-name: postgresql-package: backup-all: makeTest {
name = postgresql-name;
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ zagy ];
@ -29,14 +29,17 @@ let
machine = {...}:
{
services.postgresql.package=postgresql-package;
services.postgresql.enable = true;
services.postgresql.package = postgresql-package;
services.postgresqlBackup.enable = true;
services.postgresqlBackup.databases = [ "postgres" ];
services.postgresqlBackup.databases = optional (!backup-all) "postgres";
};
testScript = ''
testScript = let
backupName = if backup-all then "all" else "postgres";
backupService = if backup-all then "postgresqlBackup" else "postgresqlBackup-postgres";
in ''
sub check_count {
my ($select, $nlines) = @_;
return 'test $(sudo -u postgres psql postgres -tAc "' . $select . '"|wc -l) -eq ' . $nlines;
@ -56,12 +59,20 @@ let
$machine->succeed(check_count("SELECT xpath(\'/test/text()\', doc) FROM xmltest;", 1));
# Check backup service
$machine->succeed("systemctl start postgresqlBackup-postgres.service");
$machine->succeed("zcat /var/backup/postgresql/postgres.sql.gz | grep '<test>ok</test>'");
$machine->succeed("stat -c '%a' /var/backup/postgresql/postgres.sql.gz | grep 600");
$machine->succeed("systemctl start ${backupService}.service");
$machine->succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'");
$machine->succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600");
$machine->shutdown;
'';
};
in
mapAttrs' (p-name: p-package: {name=p-name; value=make-postgresql-test p-name p-package;}) postgresql-versions
(mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // (
# just pick one version for the dump all test
let
first = head (attrNames postgresql-versions);
name = "${first}-backup-all";
in {
${name} = make-postgresql-test name postgresql-versions.${first} true;
}
)

18
nixos/tests/radarr.nix Normal file
View file

@ -0,0 +1,18 @@
import ./make-test.nix ({ lib, ... }:
with lib;
rec {
name = "radarr";
meta.maintainers = with maintainers; [ etu ];
nodes.machine =
{ pkgs, ... }:
{ services.radarr.enable = true; };
testScript = ''
$machine->waitForUnit('radarr.service');
$machine->waitForOpenPort('7878');
$machine->succeed("curl --fail http://localhost:7878/");
'';
})

18
nixos/tests/sonarr.nix Normal file
View file

@ -0,0 +1,18 @@
import ./make-test.nix ({ lib, ... }:
with lib;
rec {
name = "sonarr";
meta.maintainers = with maintainers; [ etu ];
nodes.machine =
{ pkgs, ... }:
{ services.sonarr.enable = true; };
testScript = ''
$machine->waitForUnit('sonarr.service');
$machine->waitForOpenPort('8989');
$machine->succeed("curl --fail http://localhost:8989/");
'';
})

30
nixos/tests/telegraf.nix Normal file
View file

@ -0,0 +1,30 @@
import ./make-test.nix ({ pkgs, ...} : {
name = "telegraf";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ mic92 ];
};
machine = { ... }: {
services.telegraf.enable = true;
services.telegraf.extraConfig = {
agent.interval = "1s";
agent.flush_interval = "1s";
inputs.exec = {
commands = [
"${pkgs.runtimeShell} -c 'echo example,tag=a i=42i'"
];
timeout = "5s";
data_format = "influx";
};
outputs.file.files = ["/tmp/metrics.out"];
outputs.file.data_format = "influx";
};
};
testScript = ''
startAll;
$machine->waitForUnit("telegraf.service");
$machine->waitUntilSucceeds("grep -q example /tmp/metrics.out");
'';
})

View file

@ -379,7 +379,7 @@ let
'';
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ aszlig wkennington cdepillabout ];
maintainers = [ aszlig cdepillabout ];
};
};

View file

@ -1,6 +1,6 @@
let
version = "2.2.5";
sha256 = "0q9vgwc0jlja73r4na7yil624iagq1607ac47wh8a7xgfjmjjai1";
cargoSha256 = "0ibdmyh1jvfq51vhwn4riyhilqwhf71hjd4vyj525smn95p75b14";
version = "2.3.0";
sha256 = "0v79nz19riaga6iwj6m59fq8adm5llrkq61xizriz30rw8rkk04z";
cargoSha256 = "01vdrfqh2nlghbgnbb7qmrazsjmynrb9542qrgchxq589wasb4j2";
in
import ./parity.nix { inherit version sha256 cargoSha256; }

View file

@ -1,6 +1,6 @@
let
version = "2.1.10";
sha256 = "1l4yl8i24q8v4hzljzai37f587x8m3cz3byzifhvq3bjky7p8h80";
cargoSha256 = "04pni9cmz8nhlqznwafz9d81006808kh24aqnb8rjdcr84d11zis";
version = "2.2.7";
sha256 = "0bxq4z84vsb8hmbscr41xiw11m9xg6if231v76c2dmkbyqgpqy8p";
cargoSha256 = "1izwqg87qxhmmkd49m0k09i7r05sfcb18m5jbpvggjzp57ips09r";
in
import ./parity.nix { inherit version sha256 cargoSha256; }

View file

@ -5,7 +5,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "lollypop";
version = "0.9.909";
version = "0.9.914";
format = "other";
doCheck = false;
@ -14,10 +14,10 @@ python3.pkgs.buildPythonApplication rec {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
fetchSubmodules = true;
sha256 = "19d82dy0wprabg5kzcgs3ydmp9iz3h437n55cnlp20mbpya09k7n";
sha256 = "0nkwic6mq4fs467c696m5w0wqrii5rzvf2il6vkw861my1bl9wzj";
};
nativeBuildInputs = with python3.pkgs; [
nativeBuildInputs = [
appstream-glib
desktop-file-utils
gobject-introspection

View file

@ -1,24 +1,30 @@
{ stdenv, fetchurl, SDL2, pkgconfig, flac, libsndfile }:
{ stdenv, fetchurl, zlib, pkgconfig, mpg123, libogg, libvorbis, portaudio, libsndfile, flac
, usePulseAudio ? false, libpulseaudio }:
let
version = "0.2.7025-beta20.1";
version = "0.4.1";
in stdenv.mkDerivation rec {
name = "openmpt123-${version}";
src = fetchurl {
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}.tar.gz";
sha256 = "0qp2nnz6pnl1d7yv9hcjyim7q6yax5881k1jxm8jfgjqagmz5k6p";
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
sha256 = "1k1m1adjh4s2q9lxgkf836k5243akxrzq1hsdjhrkg4idd3pxzp4";
};
enableParallelBuilding = true;
doCheck = true;
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ SDL2 flac libsndfile ];
makeFlags = [ "NO_PULSEAUDIO=1 NO_LTDL=1 TEST=0 EXAMPLES=0" ]
++ stdenv.lib.optional (stdenv.isDarwin) "SHARED_SONAME=0";
installFlags = "PREFIX=\${out}";
buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ]
++ stdenv.lib.optional usePulseAudio libpulseaudio;
configureFlags = stdenv.lib.optional (!usePulseAudio) [ "--without-pulseaudio" ];
meta = with stdenv.lib; {
description = "A cross-platform command-line based module file player";
homepage = https://lib.openmpt.org/libopenmpt/;
license = licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.gnidorah ];
platforms = stdenv.lib.platforms.unix;
maintainers = with maintainers; [ gnidorah ];
platforms = platforms.linux;
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext
{ stdenv, fetchFromGitLab, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext
, gnome3, libnotify, itstool, glib, gtk3, libxml2
, coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook
, libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror
@ -6,12 +6,15 @@
}:
stdenv.mkDerivation rec {
name = "deja-dup-${version}";
version = "38.1";
pname = "deja-dup";
version = "38.3";
src = fetchurl {
url = "https://launchpad.net/deja-dup/${stdenv.lib.versions.major version}/${version}/+download/deja-dup-${version}.tar.xz";
sha256 = "0wm7z72qbsljzsysxg8h5sbpg56ignn9mp8v3xynn12dv3gv6rba";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = pname;
rev = version;
sha256 = "1bnvmdlm67k1b6115x75j3nl92x5yl4psq5pna2w6cg9npxdd3fa";
};
patches = [
@ -23,7 +26,7 @@ stdenv.mkDerivation rec {
];
postPatch = ''
substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas
substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas
'';
nativeBuildInputs = [
@ -57,9 +60,9 @@ stdenv.mkDerivation rec {
of backing up the Right Way (encrypted, off-site, and regular) \
and uses duplicity as the backend.
'';
homepage = https://launchpad.net/deja-dup;
license = with licenses; gpl3;
homepage = https://wiki.gnome.org/Apps/DejaDup;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ jtojnar joncojonathan ];
platforms = with platforms; linux;
platforms = platforms.linux;
};
}

View file

@ -79,6 +79,6 @@ stdenv.mkDerivation rec {
description = "A cross-desktop display manager.";
platforms = platforms.linux;
license = licenses.gpl3;
maintainers = with maintainers; [ ocharles wkennington worldofpeace ];
maintainers = with maintainers; [ ocharles worldofpeace ];
};
}

View file

@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
homepage = https://launchpad.net/lightdm-gtk-greeter;
platforms = platforms.linux;
license = licenses.gpl3;
maintainers = with maintainers; [ ocharles wkennington ];
maintainers = with maintainers; [ ocharles ];
};
}

View file

@ -13,14 +13,14 @@ let
sha256Hash = "0dracganibnkyapn2pk2qqnxpwmii57371ycri4nccaci9v9pcjw";
};
betaVersion = {
version = "3.4.0.10"; # "Android Studio 3.4 Beta 1"
build = "183.5217543";
sha256Hash = "0yd9l4py82i3gl1nvfwlhfx12hzf1mih8ylgdl3r85hhlqs7w2dm";
version = "3.4.0.11"; # "Android Studio 3.4 Beta 2"
build = "183.5240537";
sha256Hash = "0mv7ayqjkw97jzdifw1cdvjhnzygzkd2a9rc0h99fclhf2nii5yr";
};
latestVersion = { # canary & dev
version = "3.5.0.0"; # "Android Studio 3.5 Canary 1"
build = "183.5215047";
sha256Hash = "1f7lllj85fia02hgy4ksbqh80sdcml16fv1g892jc6lwykjrdw5y";
version = "3.5.0.1"; # "Android Studio 3.5 Canary 2"
build = "183.5240547";
sha256Hash = "0z52ig9v2w9i6bqiqpdvgcr6g6sgl8p5317jamg72d5csm9hgfx3";
};
in rec {
# Old alias (TODO @primeos: Remove after 19.03 is branched off):

View file

@ -53,6 +53,13 @@ let
lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ];
# nvim --version output retains compilation flags and references to build tools
postPatch = ''
substituteInPlace src/nvim/version.c --replace NVIM_VERSION_CFLAGS "";
'';
# check that the above patching actually works
disallowedReferences = [ stdenv.cc ];
cmakeFlags = [
"-DLUA_PRG=${luaPackages.lua}/bin/lua"
"-DGPERF_PRG=${gperf}/bin/gperf"

View file

@ -84,6 +84,6 @@ stdenv.mkDerivation rec {
description = "A software suite to create, edit, compose, or convert bitmap images";
platforms = platforms.linux ++ platforms.darwin;
license = licenses.asl20;
maintainers = with maintainers; [ the-kenny wkennington ];
maintainers = with maintainers; [ the-kenny ];
};
}

View file

@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
homepage = http://www.imagemagick.org/;
description = "A software suite to create, edit, compose, or convert bitmap images";
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ the-kenny wkennington ];
maintainers = with maintainers; [ the-kenny ];
license = licenses.asl20;
};
}

View file

@ -8,13 +8,21 @@
, python3
}:
let
major = "4.1";
minor = "7";
patch = "101";
in
mkDerivation rec {
name = "krita-${version}";
version = "4.1.5";
version = "${major}.${minor}.${patch}";
src = fetchurl {
url = "https://download.kde.org/stable/krita/${version}/${name}.tar.gz";
sha256 = "1by8p8ifdp03f05bhg8ygdd1j036anfpjjnzbx63l2fbmy9k6q10";
url = "https://download.kde.org/stable/krita/${major}.${minor}/${name}.tar.gz";
sha256 = "0pvghb17vj3y19wa1n1zfg3yl5206ir3y45znrgdgdw076m5pjav";
};
nativeBuildInputs = [ cmake extra-cmake-modules ];

View file

@ -3,14 +3,14 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "sxiv-${version}";
version = "24";
pname = "sxiv";
version = "25";
src = fetchFromGitHub {
owner = "muennich";
repo = "sxiv";
repo = pname;
rev = "v${version}";
sha256 = "020n1bdxbzqncprh8a4rnjzc4frp335yxbqh5w6dr970f7n5qm8d";
sha256 = "13s1lfar142hq1j7xld0ri616p4bqs57b17yr4d0b9a9w7liz4hp";
};
postUnpack = ''

View file

@ -0,0 +1,29 @@
{ stdenv, fetchurl, makeWrapper, perlPackages }:
let version = "1.1";
in stdenv.mkDerivation {
name = "asciiquarium-${version}";
src = fetchurl {
url = "https://robobunny.com/projects/asciiquarium/asciiquarium_${version}.tar.gz";
sha256 = "0qfkr5b7sxzi973nh0h84blz2crvmf28jkkgaj3mxrr56mhwc20v";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perlPackages.perl ];
installPhase = ''
mkdir -p $out/bin
cp asciiquarium $out/bin
chmod +x $out/bin/asciiquarium
wrapProgram $out/bin/asciiquarium \
--set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.TermAnimation ] }
'';
meta = with stdenv.lib; {
description = "Enjoy the mysteries of the sea from the safety of your own terminal!";
homepage = https://robobunny.com/projects/asciiquarium/html;
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = [ maintainers.utdemir ];
};
}

View file

@ -5,12 +5,12 @@
}:
stdenv.mkDerivation rec {
version = "3.37.0";
version = "3.38.1";
name = "calibre-${version}";
src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
sha256 = "12si7jag5ildy08h0nfs4rfpn417i82valxbk2wjkypp226gqi05";
sha256 = "07fvpnabk17sfg81xn0bsnw36k45hawwz0fcz5cmp5qydm85ncv0";
};
patches = [

View file

@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
name = "dbeaver-ce-${version}";
version = "5.3.0";
version = "5.3.2";
desktopItem = makeDesktopItem {
name = "dbeaver";
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "1gn52bffjn2fw9yhi1rv4iy9dfdn5qxc51gv6qri5g0c8pblvh7m";
sha256 = "05ra1bicah588q5n114vd9jqk9qdjix7b0zv5z83cagksb3n52rc";
};
installPhase = ''

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, python3, python3Packages, zbar }:
{ stdenv, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 }:
let
qdarkstyle = python3Packages.buildPythonPackage rec {
@ -13,15 +13,20 @@ let
in
python3Packages.buildPythonApplication rec {
name = "electrum-${version}";
version = "3.2.4";
pname = "electrum";
version = "3.3.2";
src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "0nwipn1alk3r54zpsv2bdwsqxw4f08bxnfmygnwakfkiaifmmhxg";
src = fetchFromGitHub {
owner = "spesmilo";
repo = "electrum";
rev = version;
sha256 = "1jsn02azdydpq4plr2552s7ijyqgw6zqm2zx8skwsalgbwmhx12i";
};
propagatedBuildInputs = with python3Packages; [
aiorpcx
aiohttp
aiohttp-socks
dnspython
ecdsa
jsonrpclib-pelix
@ -36,7 +41,6 @@ python3Packages.buildPythonApplication rec {
qrcode
requests
tlslite-ng
typing
# plugins
keepkey
@ -53,6 +57,7 @@ python3Packages.buildPythonApplication rec {
# Recording the creation timestamps introduces indeterminism to the build
sed -i '/Created: .*/d' electrum/gui/qt/icons_rc.py
sed -i "s|name = 'libzbar.*'|name='${zbar}/lib/libzbar.so'|" electrum/qrscanner.py
substituteInPlace ./electrum/ecc_fast.py --replace libsecp256k1.so.0 ${secp256k1}/lib/libsecp256k1.so.0
'';
postInstall = ''
@ -65,10 +70,10 @@ python3Packages.buildPythonApplication rec {
--replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
'';
doCheck = false;
checkInputs = with python3Packages; [ pytest ];
doInstallCheck = true;
installCheckPhase = ''
checkPhase = ''
py.test electrum/tests
$out/bin/electrum help >/dev/null
'';

View file

@ -0,0 +1,13 @@
diff --git a/meson_post_install.py b/meson_post_install.py
index 8d00e70..c28d19e 100644
--- a/meson_post_install.py
+++ b/meson_post_install.py
@@ -7,7 +7,7 @@ prefix = environ['MESON_INSTALL_PREFIX']
data_dir = path.join(prefix, 'share')
schema_dir = path.join(data_dir, 'glib-2.0', 'schemas')
-if not environ['DESTDIR']:
+if not environ.get('DESTDIR'):
print('Compiling gsettings schemas...')
call(['glib-compile-schemas', schema_dir])
print('Updating desktop database...')

View file

@ -1,25 +1,27 @@
{ stdenv, fetchFromGitHub, automake, autoconf, libtool,
pkgconfig, file, intltool, libxml2, json-glib , sqlite, itstool,
librsvg, vala, gnome3, wrapGAppsHook, gobject-introspection
{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3,
pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg,
vala, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection
}:
stdenv.mkDerivation rec {
name = "font-manager-${version}";
version = "0.7.3.1";
pname = "font-manager";
version = "0.7.4.1";
src = fetchFromGitHub {
owner = "FontManager";
repo = "master";
rev = version;
sha256 = "0i65br0bk3r6x8wcl8jhc0v0agl0k6fy5g60ss1bnw4md7ldpgyi";
};
sha256 = "1zy419zzc95h4gxvl88acqjbwlnmwybj23rx3vkc62j3v3w4nlay";
};
nativeBuildInputs = [
pkgconfig
automake autoconf libtool
file
intltool
meson
ninja
gettext
python3
itstool
desktop-file-utils
vala
gnome3.yelp-tools
wrapGAppsHook
@ -33,22 +35,20 @@ stdenv.mkDerivation rec {
sqlite
librsvg
gnome3.gtk
gnome3.libgee
gnome3.defaultIconTheme
];
enableParallelBuilding = true;
patches = [ ./correct-post-install.patch ];
preConfigure = ''
NOCONFIGURE=true ./autogen.sh
substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
'';
configureFlags = [
"--with-file-roller"
"--disable-pycompile"
mesonFlags = [
"-Ddisable_pycompile=true"
];
postPatch = ''
chmod +x meson_post_install.py
patchShebangs meson_post_install.py
'';
meta = {
homepage = https://fontmanager.github.io/;
description = "Simple font management for GTK+ desktop environments";

View file

@ -79,6 +79,15 @@ stdenv.mkDerivation rec {
for a in $out/opt/google/earth/free/*.so* ; do
patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
done
# Add desktop config file and icons
mkdir -p $out/share/{applications,icons/hicolor/{16x16,22x22,24x24,32x32,48x48,64x64,128x128,256x256}/apps,pixmaps}
ln -s $out/opt/google/earth/free/google-earth.desktop $out/share/applications/google-earth.desktop
sed -i -e "s|Exec=.*|Exec=$out/bin/googleearth|g" $out/opt/google/earth/free/google-earth.desktop
for size in 16 22 24 32 48 64 128 256; do
ln -s $out/opt/google/earth/free/product_logo_"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/google-earth.png
done
ln -s $out/opt/google/earth/free/product_logo_256.png $out/share/pixmaps/google-earth.png
'';
checkPhase = ''

View file

@ -14,7 +14,7 @@ buildPythonApplication rec {
};
propagatedBuildInputs = [
pytz six tzlocal keyring argparse dateutil
pytz six tzlocal keyring dateutil
parsedatetime pycrypto
];

View file

@ -34,7 +34,6 @@ in with python.pkgs; buildPythonApplication rec {
atomicwrites
configobj
vobject
argparse
ruamel_yaml
ruamel_base
unidecode

View file

@ -3,7 +3,7 @@
, makeWrapper, perlPackages }:
let
version = "1.4";
version = "1.5";
in stdenv.mkDerivation rec {
name = "qdirstat-${version}";
@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
owner = "shundhammer";
repo = "qdirstat";
rev = "${version}";
sha256 = "1ppasbr0mq301q6n3rm0bsmprs7vgkcjmmc0gbgqpgw84nmp9fqh";
sha256 = "1v879kd7zahalb2qazq61wzi364k5cy3lgy6c8wj6mclwxjws1vc";
};
nativeBuildInputs = [ qmake makeWrapper ];
@ -20,18 +20,9 @@ in stdenv.mkDerivation rec {
preBuild = ''
substituteInPlace scripts/scripts.pro \
--replace /bin/true ${coreutils}/bin/true \
--replace /usr/bin $out/bin
substituteInPlace src/src.pro \
--replace /usr/bin $out/bin \
--replace /usr/share $out/share
for i in doc/doc.pro doc/stats/stats.pro
do
substituteInPlace $i \
--replace /usr/share $out/share
done
--replace /bin/true ${coreutils}/bin/true
for i in src/MainWindow.cpp src/FileSizeStatsWindow.cpp
for i in src/SysUtil.cpp src/FileSizeStatsWindow.cpp
do
substituteInPlace $i \
--replace /usr/bin/xdg-open ${xdg_utils}/bin/xdg-open
@ -45,6 +36,9 @@ in stdenv.mkDerivation rec {
substituteInPlace src/StdCleanup.cpp \
--replace /bin/bash ${bash}/bin/bash
'';
postPatch = ''
export qmakeFlags="$qmakeFlags INSTALL_PREFIX=$out"
'';
postInstall = ''
wrapProgram $out/bin/qdirstat-cache-writer \

View file

@ -16,6 +16,8 @@ python3Packages.buildPythonApplication rec {
sha256= "1ws6g8z1m1hfp8bv4msvbaa9f7948p687jmc8h69yib4jkv3qyax";
};
LC_ALL = "en_US.UTF-8";
checkInputs = with python3Packages; [ pytest ];
propagatedBuildInputs = [ file ];

View file

@ -1,6 +1,6 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages,
boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU,
glew, eigen, curl, gtest, nlopt, pcre, xorg }:
glew, eigen, curl, gtest, nlopt, pcre, xorg, makeDesktopItem }:
let
AlienWxWidgets = perlPackages.buildPerlPackage rec {
name = "Alien-wxWidgets-0.69";
@ -112,6 +112,12 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin/var
cp -r ../resources/icons/* $out/bin/var/
cp -r ../resources $out/bin/
mkdir -p "$out/share/pixmaps/"
ln -s "$out/bin/var/Slic3r.png" "$out/share/pixmaps/slic3r-prusa.png"
mkdir -p "$out/share/applications"
cp "$desktopItem"/share/applications/* "$out/share/applications/"
'';
src = fetchFromGitHub {
@ -121,6 +127,16 @@ stdenv.mkDerivation rec {
rev = "version_${version}";
};
desktopItem = makeDesktopItem {
name = "slic3r-Prusa-Edition";
exec = "slic3r-prusa3d";
icon = "slic3r-prusa";
comment = "G-code generator for 3D printers";
desktopName = "Slic3r Prusa Edition";
genericName = "3D printer tool";
categories = "Application;Development;";
};
meta = with stdenv.lib; {
description = "G-code generator for 3D printer";
homepage = https://github.com/prusa3d/Slic3r;

View file

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, xlibsWrapper
, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver
, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver, cf-private
, libX11, libXi, libXtst, libXrandr, xinput, curl, openssl, unzip }:
stdenv.mkDerivation rec {
@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
buildInputs = [
cmake curl openssl
] ++ lib.optionals stdenv.isDarwin [
ApplicationServices Carbon Cocoa CoreServices ScreenSaver
ApplicationServices Carbon Cocoa CoreServices ScreenSaver cf-private
] ++ lib.optionals stdenv.isLinux [ xlibsWrapper libX11 libXi libXtst libXrandr xinput ];
installPhase = ''

View file

@ -1,16 +1,16 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus
, gsettings-desktop-schemas, desktop-file-utils, gettext, gtkd, libsecret
, perlPackages, wrapGAppsHook, xdg_utils }:
, glib, perlPackages, wrapGAppsHook, xdg_utils }:
stdenv.mkDerivation rec {
name = "tilix-${version}";
version = "1.8.5";
pname = "tilix";
version = "1.8.9";
src = fetchFromGitHub {
owner = "gnunn1";
repo = "tilix";
rev = "${version}";
sha256 = "1ixhkssz0xn3x75n2iw6gd3hka6bgmgwfgbvblbjhhx8gcpbw3s7";
rev = version;
sha256 = "1l1ib3g01mxiywbwjxc2522qgjy3ymjzy8bxl42k0hprpp95rw9d";
};
nativeBuildInputs = [
@ -25,22 +25,20 @@ stdenv.mkDerivation rec {
)
'';
postInstall = with gnome3; ''
postInstall = ''
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
wrapProgram $out/bin/tilix \
--prefix LD_LIBRARY_PATH ":" "${libsecret}/lib"
'';
preFixup = ''
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH ":" "${libsecret}/lib")
substituteInPlace $out/share/applications/com.gexperts.Tilix.desktop \
--replace "Exec=tilix" "Exec=$out/bin/tilix"
sed -i '/^DBusActivatable=/d' $out/share/applications/com.gexperts.Tilix.desktop
'';
meta = with stdenv.lib; {
description = "Tiling terminal emulator following the Gnome Human Interface Guidelines.";
description = "Tiling terminal emulator following the Gnome Human Interface Guidelines";
homepage = https://gnunn1.github.io/tilix-web;
license = licenses.mpl20;
maintainers = with maintainers; [ midchildan ];

View file

@ -1,6 +1,6 @@
{ stdenv, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkgconfig
, cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco
, qtbase, qtwebkit, qtx11extras, sqlite }:
, qtbase, qtwebengine, qtx11extras, sqlite }:
let
name = "toggldesktop-${version}";
@ -39,15 +39,15 @@ let
qt-oauth-lib = stdenv.mkDerivation rec {
name = "qt-oauth-lib-${version}";
version = "20180521.233208";
version = "20190125.190943";
src = fetchzip {
url = "https://github.com/yegortimoshenko/qt-oauth-lib/archive/${version}.tar.gz";
sha256 = "0f46d44slzvzaqx0lksvv14lsc1jp8vd2mragxd61r820hybf5z3";
sha256 = "0zmfgvdf6n79mgfvbda7lkdxxlzjmy86436gqi2r5x05vq04sfrj";
};
nativeBuildInputs = [ qmake ];
buildInputs = [ qtbase qtwebkit ];
buildInputs = [ qtbase qtwebengine ];
};
poco-pc = writeText "poco.pc" ''
@ -100,7 +100,7 @@ let
libtoggl
qxtglobalshortcut
qtbase
qtwebkit
qtwebengine
qt-oauth-lib
qtx11extras
libX11

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "xkbmon-${version}";
version = "0.2";
version = "0.3";
src = fetchFromGitHub {
owner = "xkbmon";
repo = "xkbmon";
rev = version;
sha256 = "1x2xwak0yp0xkl63jzz3k1pf074mh9yxgppwwm96ms3zaslq44yp";
sha256 = "03v8f6fijgwagjphyj8w7lgh5hlc8jk0j2n45n7fm0xwy82cxxx9";
};
buildInputs = [ libX11 ];

View file

@ -3,7 +3,7 @@
buildGoPackage rec {
name = "machine-${version}";
version = "0.14.0";
version = "0.16.1";
goPackagePath = "github.com/docker/machine";
@ -11,16 +11,16 @@ buildGoPackage rec {
rev = "v${version}";
owner = "docker";
repo = "machine";
sha256 = "0hd5sklmvkhhpfn318hq9w0f7x14165h1l2mdn9iv4447z1iibff";
sha256 = "0xxzxi5v7ji9j2k7kxhi0ah91lfa7b9rg3nywgx0lkv8dlgp8kmy";
};
postInstall = ''
mkdir -p $bin/share/bash-completion/completions/
cp go/src/github.com/docker/machine/contrib/completion/bash/* $bin/share/bash-completion/completions/
'';
mkdir -p \
$bin/share/bash-completion/completions/ \
$bin/share/zsh/site-functions/
postFixup = ''
mv $bin/bin/cmd $bin/bin/docker-machine
cp go/src/github.com/docker/machine/contrib/completion/bash/* $bin/share/bash-completion/completions/
cp go/src/github.com/docker/machine/contrib/completion/zsh/* $bin/share/zsh/site-functions/
'';
meta = with stdenv.lib; {

View file

@ -3,7 +3,7 @@
buildGoPackage rec {
name = "kops-${version}";
version = "1.10.0";
version = "1.11.0";
goPackagePath = "k8s.io/kops";
@ -11,7 +11,7 @@ buildGoPackage rec {
rev = version;
owner = "kubernetes";
repo = "kops";
sha256 = "1ga83sbhvhcazran6xfwgv95sg8ygg2w59vql0yjicj8r2q01vqp";
sha256 = "1z67jl66g79q6v5kjy9qxx2xp656ybv5hrc10h3wmzy0b0n30s4n";
};
buildInputs = [go-bindata];

View file

@ -1,6 +1,6 @@
{ lib, buildGoPackage, fetchFromGitHub, ... }:
let version = "0.6.0"; in
let version = "0.9.1"; in
buildGoPackage {
name = "kubecfg-${version}";
@ -9,7 +9,7 @@ buildGoPackage {
owner = "ksonnet";
repo = "kubecfg";
rev = "v${version}";
sha256 = "12kv1p707kdxjx5l8rcikd1gjwp5xjxdmmyvlpnvyagrphgrwpsf";
sha256 = "010k33arxa4spaq923iazsisxgsaj8c7w4z250y9yrch8xxd74bi";
};
goPackagePath = "github.com/ksonnet/kubecfg";

View file

@ -1,7 +1,7 @@
{ callPackage, stdenv }:
let
stableVersion = "2.1.11";
stableVersion = "2.1.12";
# Currently there is no preview version.
previewVersion = stableVersion;
addVersion = args:
@ -10,8 +10,8 @@ let
in args // { inherit version branch; };
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
guiSrcHash = "1skcb47r0wvv7l7z487b2165pwvc397b23abfq24kw79806vknzn";
serverSrcHash = "09j2nafxvgc6plk7s3qwv5qc0cc2bi41h4fhg8g7c85ixfx5yz8a";
guiSrcHash = "19kk1nc8h6ljczhizkgszw6xma31p0fmh6vkygpmrfwb8975d1s6";
serverSrcHash = "1rs3l33jf33y02xri0b7chy02cjzd8v7l20ccjw2in8mw08mpc99";
in {
guiStable = mkGui {
stable = true;

View file

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
homepage = https://www.bitlbee.org/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ wkennington pSub ];
maintainers = with maintainers; [ pSub ];
platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
};
}

View file

@ -1,60 +1,44 @@
{ stdenv, fetchurl, makeDesktopItem, makeWrapper, autoPatchelfHook
, xorg, atk, glib, pango, gdk_pixbuf, cairo, freetype, fontconfig, gtk2
{ stdenv, fetchurl, makeWrapper, autoPatchelfHook, dpkg
, xorg, atk, glib, pango, gdk_pixbuf, cairo, freetype, fontconfig, gtk3
, gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify, xdg_utils }:
let
bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
else "ia32";
version = "4.0.4";
desktopItem = makeDesktopItem rec {
name = "Franz";
exec = name;
icon = "franz";
desktopName = name;
genericName = "Franz messenger";
categories = "Network;";
};
version = "5.0.0-beta.19";
in stdenv.mkDerivation rec {
name = "franz-${version}";
src = fetchurl {
url = "https://github.com/meetfranz/franz-app/releases/download/${version}/Franz-linux-${bits}-${version}.tgz";
sha256 = if bits == "x64" then
"0ssym0jfrig474g6j67g1jfybjkxnyhbqqjvrs8z6ihwlyd3rrk5" else
"16l9jma2hiwzl9l41yhrwribcgmxca271rq0cfbbm9701mmmciyy";
url = "https://github.com/meetfranz/franz/releases/download/v${version}/franz_${version}_amd64.deb";
sha256 = "1b9b8y19iqx8bnax7hbh9rkjfxk8a9gqb1akrcxwwfi46l816gyy";
};
# don't remove runtime deps
dontPatchELF = true;
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
nativeBuildInputs = [ autoPatchelfHook makeWrapper dpkg ];
buildInputs = (with xorg; [
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
libXrender libX11 libXtst libXScrnSaver
]) ++ [
gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
gtk3 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc
];
runtimeDependencies = [ udev.lib libnotify ];
unpackPhase = ''
tar xzf $src
'';
unpackPhase = "dpkg-deb -x $src .";
installPhase = ''
mkdir -p $out/bin $out/opt/franz
cp -r * $out/opt/franz
ln -s $out/opt/franz/Franz $out/bin
mkdir -p $out/bin
cp -r opt $out
ln -s $out/opt/Franz/franz $out/bin
# provide desktop item and icon
mkdir -p $out/share/applications $out/share/pixmaps
ln -s ${desktopItem}/share/applications/* $out/share/applications
ln -s $out/opt/franz/resources/app.asar.unpacked/assets/franz.png $out/share/pixmaps
cp -r usr/share $out
substituteInPlace $out/share/applications/franz.desktop \
--replace Exec=\"/opt/Franz/franz\" Exec=franz
'';
postFixup = ''
wrapProgram $out/opt/franz/Franz --prefix PATH : ${xdg_utils}/bin
wrapProgram $out/opt/Franz/franz --prefix PATH : ${xdg_utils}/bin
'';
meta = with stdenv.lib; {
@ -62,7 +46,7 @@ in stdenv.mkDerivation rec {
homepage = https://meetfranz.com;
license = licenses.free;
maintainers = [ maintainers.gnidorah ];
platforms = ["i686-linux" "x86_64-linux"];
platforms = ["x86_64-linux"];
hydraPlatforms = [];
};
}

View file

@ -1,7 +1,7 @@
{ stdenv, fetchurl, makeWrapper }:
let
version = "3.5.0";
version = "3.5.1";
arch = if stdenv.is64bit then "amd64" else "x86";
libDir = if stdenv.is64bit then "lib64" else "lib";
in
@ -15,8 +15,8 @@ stdenv.mkDerivation {
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
];
sha256 = if stdenv.is64bit
then "0zk7rbi6mvs2nnsjhv4aizl5ydiyr46ng2i3lr8r78gyb88nxmcv"
else "0nahsmcnykgchgv50jb22fin74sab1zl8gy6m6s8mjk570qlvzzm";
then "0ygb867ff2fvi9n9hgs4hldpg4y012w4i1d9cx4f5mpli1xim6da"
else "0g1cixsldpdbfzg2vain7h3hr5j3xjdngjw66r0aqnzbx743gjzj";
};
buildInputs = [ makeWrapper ];

View file

@ -2,17 +2,17 @@
, xorg, gtk2, gnome2, nss, alsaLib, udev, libnotify }:
let
version = "3.9.0";
version = "4.0.1";
in stdenv.mkDerivation {
name = "vk-messenger-${version}";
src = {
i686-linux = fetchurl {
url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm";
sha256 = "150qjj6ccbdp3gxs99jbzp27in1y8qkngn7jgb9za61pm4j70va3";
sha256 = "0mgppa9qnhix64zp40dc05yc9klsc7qiwcgw7pwq2wm7m3fz3nm8";
};
x86_64-linux = fetchurl {
url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm";
sha256 = "04lavv614qhj17zccpdih4k6ghj21nd0s8qxbkxkqb1jb0z8dfz9";
sha256 = "0ra0y4dfx4gfa1r3lm6v42j7c9pf7a8vh12kxv3wkg3pvijwgdsm";
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "notmuch-bower-${version}";
version = "0.9";
version = "0.10";
src = fetchFromGitHub {
owner = "wangp";
repo = "bower";
rev = version;
sha256 = "0f8djiclq4rz9isbx18bpzymbvb2q0spvjp982b149hr1my6klaf";
sha256 = "0jpaxlfxz7mj76z3cyj8sq053p0mkp46kaw05nimzwaq5yx923fv";
};
nativeBuildInputs = [ gawk mercury pandoc ];

View file

@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkgconfig ];
configureFlags =
stdenv.lib.optional stdenv.isDarwin [ "--with-macosx-keyring" ];
[ "--sysconfdir=/etc" ] ++ stdenv.lib.optional stdenv.isDarwin [ "--with-macosx-keyring" ];
postInstall = ''
install -d $out/share/doc/${pname}/scripts

View file

@ -63,7 +63,7 @@ let
description = "Low-latency, high quality voice chat software";
homepage = https://mumble.info;
license = licenses.bsd3;
maintainers = with maintainers; [ jgeerds wkennington ];
maintainers = with maintainers; [ jgeerds ];
platforms = platforms.linux;
};
});

View file

@ -4,15 +4,13 @@
, gobject-introspection, glib-networking, hicolor-icon-theme
}:
let
stdenv.mkDerivation rec {
pname = "liferea";
version = "1.12.4";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
version = "1.12.6";
src = fetchurl {
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
sha256 = "12852qp174nsg770cry7y257vfzl53hpy46h5agaimrfsc41mgln";
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}b.tar.bz2";
sha256 = "sha256:03pr1gmiv5y0i92bkhcxr8s311ll91chz19wb96jkixx32xav91d";
};
nativeBuildInputs = [ wrapGAppsHook python3Packages.wrapPython intltool pkgconfig ];

View file

@ -44,7 +44,8 @@ stdenv.mkDerivation rec {
$out/share/applications/nextcloud.desktop
wrapProgram "$out/bin/nextcloud" \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]}
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]} \
--prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix}
'';
meta = with stdenv.lib; {

View file

@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
'';
homepage = http://www.freerdp.com/;
license = licenses.asl20;
maintainers = with maintainers; [ wkennington peterhoeg ];
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.unix;
};
}

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "teamviewer-${version}";
version = "13.1.3026";
version = "14.1.3399";
src = fetchurl {
url = "https://dl.tvcdn.de/download/linux/version_13x/teamviewer_${version}_amd64.deb";
sha256 = "14zaa1xjdfmgbbq40is5mllqcd9zan03sblkzajswd5gps7crsik";
url = "https://dl.tvcdn.de/download/linux/version_14x/teamviewer_${version}_amd64.deb";
sha256 = "166ndijis2i3afz3l6nsnrdhs56v33w5cnjd0m7giqj0fbq43ws5";
};
unpackPhase = ''

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, qmake, qtsvg, makeWrapper, xdg_utils }:
let
version = "1.43.27";
version = "1.44.55";
in stdenv.mkDerivation rec {
name = "mytetra-${version}";
src = fetchurl {
url = "https://github.com/xintrea/mytetra_dev/archive/v.${version}.tar.gz";
sha256 = "1gzr11jy1bvnp28w2ar3wmh76g55jn9nra5la5qasnal6b5pg28h";
sha256 = "13lmfvschm1xwr0ys2ykhs0bb83m2f39rk1jdd7zf8yxlqki4i6l";
};
nativeBuildInputs = [ qmake makeWrapper ];
@ -15,11 +15,11 @@ in stdenv.mkDerivation rec {
hardeningDisable = [ "format" ];
preBuild = ''
substituteInPlace mytetra.pro \
substituteInPlace app/app.pro \
--replace /usr/local/bin $out/bin \
--replace /usr/share $out/share
substituteInPlace src/views/mainWindow/MainWindow.cpp \
substituteInPlace app/src/views/mainWindow/MainWindow.cpp \
--replace ":/resource/pic/logo.svg" "$out/share/icons/hicolor/48x48/apps/mytetra.png"
'';

View file

@ -25,7 +25,7 @@ let
"8.8.0" = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8";
"8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk";
"8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd";
"8.9+beta1" = "1yxv2klqal3mh6symi3gc6gv3xm684zlld2c0b6ijhjmp865cin8";
"8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
}."${version}";
coq-version = builtins.substring 0 3 version;
ideFlags = if buildIde then "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";

View file

@ -0,0 +1,29 @@
{stdenv, fetchurl, openjdk}:
stdenv.mkDerivation rec {
pname = "leo3";
version = "1.2";
jar = fetchurl {
url = "https://github.com/leoprover/Leo-III/releases/download/v${version}/leo3.jar";
sha256 = "1lgwxbr1rnk72rnvc8raq5i1q71ckhn998pwd9xk6zf27wlzijk7";
};
phases=["installPhase" "fixupPhase"];
installPhase = ''
mkdir -p "$out"/{bin,lib/java/leo3}
cp "${jar}" "$out/lib/java/leo3/leo3.jar"
echo "#!${stdenv.shell}" > "$out/bin/leo3"
echo "'${openjdk}/bin/java' -jar '$out/lib/java/leo3/leo3.jar' \"\$@\"" > "$out/bin/leo3"
chmod a+x "$out/bin/leo3"
'';
meta = {
inherit version;
description = "An automated theorem prover for classical higher-order logic with choice";
license = stdenv.lib.licenses.bsd3;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
homepage = "https://page.mi.fu-berlin.de/lex/leo3/";
};
}

View file

@ -0,0 +1,31 @@
{stdenv, z3, cmake}:
stdenv.mkDerivation rec {
pname = "z3-tptp";
version = z3.version;
src = z3.src;
sourceRoot = "source/examples/tptp";
nativeBuildInputs = [cmake];
buildInputs = [z3];
preConfigure = ''
echo 'set(Z3_LIBRARIES "-lz3")' >> CMakeLists.new
cat CMakeLists.txt | grep -E 'add_executable|project|link_libraries' >> CMakeLists.new
mv CMakeLists.new CMakeLists.txt
'';
installPhase = ''
mkdir -p "$out/bin"
cp "z3_tptp5" "$out/bin/"
ln -s "z3_tptp5" "$out/bin/z3-tptp"
'';
meta = {
inherit version;
inherit (z3.meta) license homepage platforms;
description = ''TPTP wrapper for Z3 prover'';
maintainers = [stdenv.lib.maintainers.raskin];
};
}

View file

@ -5,10 +5,10 @@ with lib;
l10ns = flip map
[
{
version = "11.2.0";
version = "11.3.0";
lang = "en";
language = "English";
sha256 = "4a1293cc1c404303aa1cab1bd273c7be151d37ac5ed928fbbb18e9c5ab2d8df9";
sha256 = "0fcfe208c1eac8448e7be3af0bdb84370b17bd9c5d066c013928c8ee95aed10e";
}
{
version = "11.2.0";

View file

@ -7,13 +7,13 @@ with stdenv.lib;
buildGoPackage rec {
name = "gitea-${version}";
version = "1.6.4";
version = "1.7.0";
src = fetchFromGitHub {
owner = "go-gitea";
repo = "gitea";
rev = "v${version}";
sha256 = "09h8nbzsxm34rlfnvbsf4cs02igids806927xpxf7g563cdapcnl";
sha256 = "1mbr7pnzn8x05wc288855vqaf86qk2f1py5zh8s63l048bn0fld6";
# Required to generate the same checksum on MacOS due to unicode encoding differences
# More information: https://github.com/NixOS/nixpkgs/pull/48128
extraPostFetch = ''

View file

@ -12,11 +12,11 @@ let
in
stdenv.mkDerivation rec {
name = "gitkraken-${version}";
version = "4.1.1";
version = "4.2.1";
src = fetchurl {
url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb";
sha256 = "188k6vaafv6szzhslsfabnnn68ispsv54d98rcm3m0bmp8kg5p7f";
sha256 = "07f9h3276bs7m22vwpxrxmlwnq7l5inr2l67nmpiaz1569yabwsg";
};
libPath = makeLibraryPath [

View file

@ -2,11 +2,11 @@
python2Packages.buildPythonApplication rec {
name = "tortoisehg-${version}";
version = "4.8.1";
version = "4.8.2";
src = fetchurl {
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
sha256 = "10s7v7mi438b8lh3rpd6da9lkwgaflpi6a0inkd8bl4b4ya38vc6";
sha256 = "02av8k241rn7b68g4kl22s7jqmlq545caah1a5rvbgy41y7zzjvh";
};
pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];

View file

@ -0,0 +1,25 @@
{ stdenv, lib, fetchurl, pkgconfig, ffmpeg, glew, libass, openal, qtbase }:
stdenv.mkDerivation rec {
name = "bino-${version}";
version = "1.6.7";
src = fetchurl {
url = "https://bino3d.org/releases/${name}.tar.xz";
sha256 = "04yl7ibnhajlli4a5x77az8jxbzw6b2wjay8aa6px551nmiszn9k";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ffmpeg glew libass openal qtbase ];
enableParallelBuilding = true;
meta = with lib; {
description = "Stereoscopic 3D and multi-display video player";
homepage = https://bino3d.org/;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
};
}

View file

@ -199,13 +199,13 @@ rec {
# https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
docker_18_09 = dockerGen rec {
version = "18.09.0";
rev = "4d60db472b2bde6931072ca6467f2667c2590dff"; # git commit
sha256 = "0py944f5k71c1cf6ci96vnqk43d5979w7r82cngaxk1g6za6k5yj";
runcRev = "69663f0bd4b60df09991c08812a60108003fa340";
runcSha256 = "1l37r97l3ra4ph069w190d05r0a43s76nn9jvvlkbwrip1cp6gyq";
containerdRev = "468a545b9edcd5932818eb9de8e72413e616e86e";
containerdSha256 = "1rp015cm5fw9kfarcmfhfkr1sh0iz7kvqls6f8nfhwrrz5armd5v";
version = "18.09.1";
rev = "4c52b901c6cb019f7552cd93055f9688c6538be4"; # git commit
sha256 = "0q2789afx07pkisgp9iqrbac5k7xca54w1an4mf5mw34xn8yc4xc";
runcRev = "96ec2177ae841256168fcf76954f7177af9446eb";
runcSha256 = "1qr9msx6vs37jr0rk3r8x2q51fsk50c78a3999kd0snjy9bxmfhd";
containerdRev = "9754871865f7fe2f4e74d43e2fc7ccd237edcbce";
containerdSha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya";
tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
};

View file

@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
];
# Required for USB redirection PolicyKit rules file
propagatedUserEnvPkgs = optional spiceSupport spice-gtk;
meta = {
description = "A viewer for remote virtual machines";
maintainers = [ maintainers.raskin ];

View file

@ -3,31 +3,32 @@
}:
stdenv.mkDerivation rec {
rev = "3734fba160166006521e513f5734eb76ac6aa48f";
name = "i3lock-fancy-unstable-2017-12-14_rev${builtins.substring 0 7 rev}";
rev = "7accfb2aa2f918d1a3ab975b860df1693d20a81a";
name = "i3lock-fancy-unstable-2018-11-25_rev${builtins.substring 0 7 rev}";
src = fetchFromGitHub {
owner = "meskarune";
repo = "i3lock-fancy";
inherit rev;
sha256 = "1bg4xds2hmbq8rp6azbdqvgp1aaq5y1bp05cfwqqm6y3sjw7ywzl";
sha256 = "00lqsvz1knb8iqy8lnkn3sf4c2c4nzb0smky63qf48m8za5aw9b1";
};
patchPhase = ''
sed -i -e "s|(mktemp)|(${coreutils}/bin/mktemp)|" lock
sed -i -e "s|'rm -f |'${coreutils}/bin/rm -f |" lock
sed -i -e "s|scrot -z |${scrot}/bin/scrot -z |" lock
sed -i -e "s|convert |${imagemagick.out}/bin/convert |" lock
sed -i -e "s|awk -F|${gawk}/bin/awk -F|" lock
sed -i -e "s| awk | ${gawk}/bin/awk |" lock
sed -i -e "s|i3lock -i |${i3lock-color}/bin/i3lock-color -i |" lock
sed -i -e 's|icon="$scriptpath/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' lock
sed -i -e 's|icon="$scriptpath/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' lock
sed -i -e "s|getopt |${getopt}/bin/getopt |" lock
sed -i -e "s|fc-match |${fontconfig.bin}/bin/fc-match |" lock
sed -i -e "s|shot=(import -window root)|shot=(${scrot}/bin/scrot -z)|" lock
sed -i -e "s|(mktemp)|(${coreutils}/bin/mktemp)|" i3lock-fancy
sed -i -e "s|'rm -f |'${coreutils}/bin/rm -f |" i3lock-fancy
sed -i -e "s|scrot -z |${scrot}/bin/scrot -z |" i3lock-fancy
sed -i -e "s|convert |${imagemagick.out}/bin/convert |" i3lock-fancy
sed -i -e "s|awk -F|${gawk}/bin/awk -F|" i3lock-fancy
sed -i -e "s| awk | ${gawk}/bin/awk |" i3lock-fancy
sed -i -e "s|i3lock -i |${i3lock-color}/bin/i3lock-color -i |" i3lock-fancy
sed -i -e 's|icon="/usr/share/i3lock-fancy/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' i3lock-fancy
sed -i -e 's|icon="/usr/share/i3lock-fancy/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' i3lock-fancy
sed -i -e "s|getopt |${getopt}/bin/getopt |" i3lock-fancy
sed -i -e "s|fc-match |${fontconfig.bin}/bin/fc-match |" i3lock-fancy
sed -i -e "s|shot=(import -window root)|shot=(${scrot}/bin/scrot -z)|" i3lock-fancy
rm Makefile
'';
installPhase = ''
mkdir -p $out/bin $out/share/i3lock-fancy/icons
cp lock $out/bin/i3lock-fancy
cp i3lock-fancy $out/bin/i3lock-fancy
cp icons/lock*.png $out/share/i3lock-fancy/icons
'';
meta = with stdenv.lib; {

View file

@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
homepage = https://wayland.freedesktop.org/;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ wkennington ];
};
}

View file

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
fontforge
(pythonFull.withPackages (ps: [
ps.jinja2
ps."3to2"
ps.py3to2
ps.fonttools
]))
];

View file

@ -1,17 +1,14 @@
{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
stdenv.mkDerivation rec {
version = "18.09.19";
package-name = "numix-icon-theme-circle";
name = "${package-name}-${version}";
pname = "numix-icon-theme-circle";
version = "19.01.24";
src = fetchFromGitHub {
owner = "numixproject";
repo = package-name;
repo = pname;
rev = version;
sha256 = "1a1ack4kpngnb3c281pssmp3snn2idcn2c5cv3l38a0dl5g5w8nq";
sha256 = "18asihcv41jlysb2ynbvbk6fn0lnj7ckaz1nyx1w25a7nk413dnm";
};
nativeBuildInputs = [ gtk3 numix-icon-theme ];

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
stdenv.mkDerivation rec {
name = "${package-name}-${version}";
package-name = "numix-icon-theme-square";
version = "18.09.19";
pname = "numix-icon-theme-square";
version = "19.01.24";
src = fetchFromGitHub {
owner = "numixproject";
repo = package-name;
repo = pname;
rev = version;
sha256 = "0q5p901qj3gyzgpy5kk9q5sqb13ka5cfg6wvazlfch1k3kaqksz1";
sha256 = "0x3d21snfp4v9ippny1jmf2hw5dcscwrlasxvr5bgxhff1idf81c";
};
nativeBuildInputs = [ gtk3 numix-icon-theme ];

View file

@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
homepage = https://curl.haxx.se/docs/caextract.html;
description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
platforms = platforms.all;
maintainers = with maintainers; [ wkennington fpletz ];
maintainers = with maintainers; [ fpletz ];
};
}

View file

@ -13,5 +13,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ gtk python gettext ];
NIX_LDFLAGS = "-lgmodule-2.0";
propagatedBuildInputs = [ libxml2 ];
}

View file

@ -44,14 +44,14 @@ let
in buildPythonApplication rec {
pname = "platformio";
version = "3.6.2";
version = "3.6.4";
# pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
src = fetchFromGitHub {
owner = "platformio";
repo = "platformio-core";
rev = "v${version}";
sha256 = "1558adr73d7mgp0z92q9vzbgarddimadyk4467z8i3yp4g8k5irk";
sha256 = "1c1y099xvpdh35n8fln642psa4xsaaqly2i2jgkvhrb9yl77x5aj";
};
propagatedBuildInputs = [

View file

@ -38,21 +38,15 @@ def generate_sources(release, assets):
type_map = out.setdefault(asset["os"], {})
impl_map = type_map.setdefault(asset["binary_type"], {})
arch_map = impl_map.setdefault(asset["openjdk_impl"], {
"version": version,
"build": build,
"packageType": asset["binary_type"],
"vmType": asset["openjdk_impl"],
})
if arch_map["version"] != version or arch_map["build"] != build:
print("error: architectures have different latest versions ({}+{} vs {}+{})".format(
arch_map["version"], arch_map["build"], version, build
), file=sys.stderr)
sys.exit(1)
arch_map[arch_to_nixos[asset["architecture"]]] = {
"url": asset["binary_link"],
"sha256": get_sha256(asset["checksum_link"]),
"version": version,
"build": build,
}
return out

View file

@ -5,13 +5,14 @@ sourcePerArch:
, fetchurl
}:
let result = stdenv.mkDerivation rec {
let cpuName = stdenv.hostPlatform.parsed.cpu.name;
result = stdenv.mkDerivation rec {
name = if sourcePerArch.packageType == "jdk"
then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.version}"
else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.version}";
then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}"
else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}";
src = fetchurl {
inherit (sourcePerArch.${stdenv.hostPlatform.parsed.cpu.name}) url sha256;
inherit (sourcePerArch.${cpuName}) url sha256;
};
# See: https://github.com/NixOS/patchelf/issues/10

View file

@ -42,15 +42,17 @@ let
xorg.libXrender
stdenv.cc.cc
]);
cpuName = stdenv.hostPlatform.parsed.cpu.name;
in
let result = stdenv.mkDerivation rec {
name = if sourcePerArch.packageType == "jdk"
then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.version}"
else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.version}";
then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}"
else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}";
src = fetchurl {
inherit (sourcePerArch.${stdenv.hostPlatform.parsed.cpu.name}) url sha256;
inherit (sourcePerArch.${cpuName}) url sha256;
};
nativeBuildInputs = [ file ];

Some files were not shown because too many files have changed in this diff Show more