Merge remote-tracking branch 'NixOS/master' into staging
This commit is contained in:
commit
92f0f8dd68
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
|
@ -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 { };
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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><= 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;
|
||||
})]);
|
||||
|
||||
|
|
|
@ -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}"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
})
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -88,6 +88,8 @@ in {
|
|||
ExecStart = "${cfg.package}/sbin/collectd -C ${conf} -f";
|
||||
User = cfg.user;
|
||||
PermissionsStartOnly = true;
|
||||
Restart = "on-failure";
|
||||
RestartSec = 3;
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 {};
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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 = {
|
||||
|
||||
|
|
|
@ -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/");
|
||||
'';
|
||||
})
|
|
@ -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/");
|
||||
'';
|
||||
})
|
|
@ -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 = {
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -20,7 +20,7 @@ in
|
|||
{
|
||||
name = "nfs";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ eelco chaoflow wkennington ];
|
||||
maintainers = [ eelco chaoflow ];
|
||||
};
|
||||
|
||||
nodes =
|
||||
|
|
|
@ -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;'");
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
)
|
||||
|
|
|
@ -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/");
|
||||
'';
|
||||
})
|
|
@ -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/");
|
||||
'';
|
||||
})
|
|
@ -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");
|
||||
'';
|
||||
})
|
|
@ -379,7 +379,7 @@ let
|
|||
'';
|
||||
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ aszlig wkennington cdepillabout ];
|
||||
maintainers = [ aszlig cdepillabout ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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...')
|
|
@ -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";
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -14,7 +14,7 @@ buildPythonApplication rec {
|
|||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pytz six tzlocal keyring argparse dateutil
|
||||
pytz six tzlocal keyring dateutil
|
||||
parsedatetime pycrypto
|
||||
];
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@ in with python.pkgs; buildPythonApplication rec {
|
|||
atomicwrites
|
||||
configobj
|
||||
vobject
|
||||
argparse
|
||||
ruamel_yaml
|
||||
ruamel_base
|
||||
unidecode
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -16,6 +16,8 @@ python3Packages.buildPythonApplication rec {
|
|||
sha256= "1ws6g8z1m1hfp8bv4msvbaa9f7948p687jmc8h69yib4jkv3qyax";
|
||||
};
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
||||
checkInputs = with python3Packages; [ pytest ];
|
||||
propagatedBuildInputs = [ 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;
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 = [];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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}");
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
});
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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"
|
||||
'';
|
||||
|
||||
|
|
|
@ -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 "";
|
||||
|
|
|
@ -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/";
|
||||
};
|
||||
}
|
|
@ -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];
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
|
|||
homepage = https://wayland.freedesktop.org/;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ wkennington ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
fontforge
|
||||
(pythonFull.withPackages (ps: [
|
||||
ps.jinja2
|
||||
ps."3to2"
|
||||
ps.py3to2
|
||||
ps.fonttools
|
||||
]))
|
||||
];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,5 +13,7 @@ stdenv.mkDerivation {
|
|||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ gtk python gettext ];
|
||||
|
||||
NIX_LDFLAGS = "-lgmodule-2.0";
|
||||
|
||||
propagatedBuildInputs = [ libxml2 ];
|
||||
}
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Loading…
Reference in New Issue