3
0
Fork 0
forked from mirrors/nixpkgs

Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Frederik Rietdijk 2017-04-18 11:25:43 +02:00
commit e0abe74baf
159 changed files with 4764 additions and 2973 deletions

View file

@ -628,6 +628,9 @@ with import <nixpkgs> {};
In contrast to `python.buildEnv`, `python.withPackages` does not support the more advanced options
such as `ignoreCollisions = true` or `postBuild`. If you need them, you have to use `python.buildEnv`.
Python 2 namespace packages may provide `__init__.py` that collide. In that case `python.buildEnv`
should be used with `ignoreCollisions = true`.
### Development mode
Development or editable mode is supported. To develop Python packages

View file

@ -17,8 +17,8 @@ into the `environment.systemPackages` or bring them into scope with
`nix-shell -p rustStable.rustc -p rustStable.cargo`.
There are also `rustBeta` and `rustNightly` package sets available.
These are not updated very regulary. For daily builds see
[Using the Rust nightlies overlay](#using-the-rust-nightlies-overlay)
These are not updated very regulary. For daily builds use either rustup from
nixpkgs or use the [Rust nightlies overlay](#using-the-rust-nightlies-overlay).
## Packaging Rust applications

View file

@ -2,7 +2,7 @@
let
inherit (builtins) head tail length;
inherit (import ./trivial.nix) or;
inherit (import ./trivial.nix) and or;
inherit (import ./default.nix) fold;
inherit (import ./strings.nix) concatStringsSep;
inherit (import ./lists.nix) concatMap concatLists all deepSeqList;
@ -417,18 +417,15 @@ rec {
/* Returns true if the pattern is contained in the set. False otherwise.
FIXME(zimbatm): this example doesn't work !!!
Example:
sys = mkSystem { }
matchAttrs { cpu = { bits = 64; }; } sys
matchAttrs { cpu = {}; } { cpu = { bits = 64; }; }
=> true
*/
matchAttrs = pattern: attrs:
fold or false (attrValues (zipAttrsWithNames (attrNames pattern) (n: values:
matchAttrs = pattern: attrs: assert isAttrs pattern;
fold and true (attrValues (zipAttrsWithNames (attrNames pattern) (n: values:
let pat = head values; val = head (tail values); in
if length values == 1 then false
else if isAttrs pat then isAttrs val && matchAttrs head values
else if isAttrs pat then isAttrs val && matchAttrs pat val
else pat == val
) [pattern attrs]));

View file

@ -27,8 +27,7 @@ let
# constants
licenses = import ./licenses.nix;
platforms = import ./platforms.nix;
systems = import ./systems.nix;
systems = import ./systems;
# misc
debug = import ./debug.nix;
@ -47,13 +46,15 @@ in
attrsets lists strings stringsWithDeps
customisation maintainers meta sources
modules options types
licenses platforms systems
licenses systems
debug generators misc
sandbox fetchers filesystem;
# back-compat aliases
platforms = systems.doubles;
}
# !!! don't include everything at top-level; perhaps only the most
# commonly used functions.
// trivial // lists // strings // stringsWithDeps // attrsets // sources
// options // types // meta // debug // misc // modules
// systems
// customisation

View file

@ -238,6 +238,7 @@
jgillich = "Jakob Gillich <jakob@gillich.me>";
jhhuh = "Ji-Haeng Huh <jhhuh.note@gmail.com>";
jirkamarsik = "Jirka Marsik <jiri.marsik89@gmail.com>";
jlesquembre = "José Luis Lafuente <jl@lafuente.me>";
joachifm = "Joachim Fasting <joachifm@fastmail.fm>";
joamaki = "Jussi Maki <joamaki@gmail.com>";
joelmo = "Joel Moberg <joel.moberg@gmail.com>";
@ -461,6 +462,7 @@
ryantm = "Ryan Mulligan <ryan@ryantm.com>";
rycee = "Robert Helgesson <robert@rycee.net>";
ryneeverett = "Ryne Everett <ryneeverett@gmail.com>";
rzetterberg = "Richard Zetterberg <richard.zetterberg@gmail.com>";
s1lvester = "Markus Silvester <s1lvester@bockhacker.me>";
samuelrivas = "Samuel Rivas <samuelrivas@gmail.com>";
sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";

View file

@ -1,24 +0,0 @@
let lists = import ./lists.nix; in
rec {
all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd ++ netbsd ++ illumos;
allBut = platforms: lists.filter (x: !(builtins.elem x platforms)) all;
none = [];
arm = ["armv5tel-linux" "armv6l-linux" "armv7l-linux" ];
i686 = ["i686-linux" "i686-freebsd" "i686-netbsd" "i686-cygwin"];
mips = [ "mips64el-linux" ];
x86_64 = ["x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin"];
cygwin = ["i686-cygwin" "x86_64-cygwin"];
darwin = ["x86_64-darwin"];
freebsd = ["i686-freebsd" "x86_64-freebsd"];
gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */
illumos = ["x86_64-solaris"];
linux = ["i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mips64el-linux"];
netbsd = ["i686-netbsd" "x86_64-netbsd"];
openbsd = ["i686-openbsd" "x86_64-openbsd"];
unix = linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos;
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux"];
}

View file

@ -1,126 +0,0 @@
# Define the list of system with their properties. Only systems tested for
# Nixpkgs are listed below
with import ./lists.nix;
with import ./types.nix;
with import ./attrsets.nix;
let
lib = import ./default.nix;
setTypes = type:
mapAttrs (name: value:
setType type ({inherit name;} // value)
);
in
rec {
isSignificantByte = isType "significant-byte";
significantBytes = setTypes "significant-byte" {
bigEndian = {};
littleEndian = {};
};
isCpuType = x: isType "cpu-type" x
&& elem x.bits [8 16 32 64 128]
&& (8 < x.bits -> isSignificantByte x.significantByte);
cpuTypes = with significantBytes;
setTypes "cpu-type" {
arm = { bits = 32; significantByte = littleEndian; };
armv5tel = { bits = 32; significantByte = littleEndian; };
armv7l = { bits = 32; significantByte = littleEndian; };
i686 = { bits = 32; significantByte = littleEndian; };
powerpc = { bits = 32; significantByte = bigEndian; };
x86_64 = { bits = 64; significantByte = littleEndian; };
};
isExecFormat = isType "exec-format";
execFormats = setTypes "exec-format" {
aout = {}; # a.out
elf = {};
macho = {};
pe = {};
unknow = {};
};
isKernel = isType "kernel";
kernels = with execFormats;
setTypes "kernel" {
cygwin = { execFormat = pe; };
darwin = { execFormat = macho; };
freebsd = { execFormat = elf; };
linux = { execFormat = elf; };
netbsd = { execFormat = elf; };
none = { execFormat = unknow; };
openbsd = { execFormat = elf; };
win32 = { execFormat = pe; };
};
isArchitecture = isType "architecture";
architectures = setTypes "architecture" {
apple = {};
pc = {};
unknow = {};
};
isSystem = x: isType "system" x
&& isCpuType x.cpu
&& isArchitecture x.arch
&& isKernel x.kernel;
mkSystem = {
cpu ? cpuTypes.i686,
arch ? architectures.pc,
kernel ? kernels.linux,
name ? "${cpu.name}-${arch.name}-${kernel.name}"
}: setType "system" {
inherit name cpu arch kernel;
};
is64Bit = matchAttrs { cpu = { bits = 64; }; };
isDarwin = matchAttrs { kernel = kernels.darwin; };
isi686 = matchAttrs { cpu = cpuTypes.i686; };
isLinux = matchAttrs { kernel = kernels.linux; };
# This should revert the job done by config.guess from the gcc compiler.
mkSystemFromString = s: let
l = lib.splitString "-" s;
getCpu = name:
attrByPath [name] (throw "Unknow cpuType `${name}'.")
cpuTypes;
getArch = name:
attrByPath [name] (throw "Unknow architecture `${name}'.")
architectures;
getKernel = name:
attrByPath [name] (throw "Unknow kernel `${name}'.")
kernels;
system =
if builtins.length l == 2 then
mkSystem rec {
name = s;
cpu = getCpu (head l);
arch =
if isDarwin system
then architectures.apple
else architectures.pc;
kernel = getKernel (head (tail l));
}
else
mkSystem {
name = s;
cpu = getCpu (head l);
arch = getArch (head (tail l));
kernel = getKernel (head (tail (tail l)));
};
in assert isSystem system; system;
}

23
lib/systems/default.nix Normal file
View file

@ -0,0 +1,23 @@
rec {
doubles = import ./doubles.nix;
parse = import ./parse.nix;
platforms = import ./platforms.nix;
# Elaborate a `localSystem` or `crossSystem` so that it contains everything
# necessary.
#
# `parsed` is inferred from args, both because there are two options with one
# clearly prefered, and to prevent cycles. A simpler fixed point where the RHS
# always just used `final.*` would fail on both counts.
elaborate = args: let
final = {
# Prefer to parse `config` as it is strictly more informative.
parsed = parse.mkSystemFromString (if args ? config then args.config else args.system);
# Either of these can be losslessly-extracted from `parsed` iff parsing succeeds.
system = parse.doubleFromSystem final.parsed;
config = parse.tripleFromSystem final.parsed;
# Just a guess, based on `system`
platform = platforms.selectBySystem final.system;
} // args;
in final;
}

44
lib/systems/doubles.nix Normal file
View file

@ -0,0 +1,44 @@
let lists = import ../lists.nix; in
let parse = import ./parse.nix; in
let inherit (import ../attrsets.nix) matchAttrs; in
let
all = [
"aarch64-linux"
"armv5tel-linux" "armv6l-linux" "armv7l-linux"
"mips64el-linux"
"i686-cygwin" "i686-freebsd" "i686-linux" "i686-netbsd" "i686-openbsd"
"x86_64-cygwin" "x86_64-darwin" "x86_64-freebsd" "x86_64-linux"
"x86_64-netbsd" "x86_64-openbsd" "x86_64-solaris"
];
allParsed = map parse.mkSystemFromString all;
filterDoubles = f: map parse.doubleFromSystem (lists.filter f allParsed);
in rec {
inherit all;
allBut = platforms: lists.filter (x: !(builtins.elem x platforms)) all;
none = [];
arm = filterDoubles (matchAttrs { cpu = { family = "arm"; bits = 32; }; });
i686 = filterDoubles parse.isi686;
mips = filterDoubles (matchAttrs { cpu = { family = "mips"; }; });
x86_64 = filterDoubles parse.isx86_64;
cygwin = filterDoubles (matchAttrs { kernel = parse.kernels.cygwin; });
darwin = filterDoubles parse.isDarwin;
freebsd = filterDoubles (matchAttrs { kernel = parse.kernels.freebsd; });
gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }); # Should be better
illumos = filterDoubles (matchAttrs { kernel = parse.kernels.solaris; });
linux = filterDoubles parse.isLinux;
netbsd = filterDoubles (matchAttrs { kernel = parse.kernels.netbsd; });
openbsd = filterDoubles (matchAttrs { kernel = parse.kernels.openbsd; });
unix = filterDoubles parse.isUnix;
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux"];
}

173
lib/systems/parse.nix Normal file
View file

@ -0,0 +1,173 @@
# Define the list of system with their properties. Only systems tested for
# Nixpkgs are listed below
with import ../lists.nix;
with import ../types.nix;
with import ../attrsets.nix;
let
lib = import ../default.nix;
setTypesAssert = type: pred:
mapAttrs (name: value:
#assert pred value;
setType type ({ inherit name; } // value));
setTypes = type: setTypesAssert type (_: true);
in
rec {
isSignificantByte = isType "significant-byte";
significantBytes = setTypes "significant-byte" {
bigEndian = {};
littleEndian = {};
};
isCpuType = isType "cpu-type";
cpuTypes = with significantBytes; setTypesAssert "cpu-type"
(x: elem x.bits [8 16 32 64 128]
&& (if 8 < x.bits
then isSignificantByte x.significantByte
else !(x ? significantByte)))
{
arm = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; };
aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; };
i686 = { bits = 32; significantByte = littleEndian; family = "x86"; };
x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; };
mips64el = { bits = 32; significantByte = littleEndian; family = "mips"; };
powerpc = { bits = 32; significantByte = bigEndian; family = "powerpc"; };
};
isVendor = isType "vendor";
vendors = setTypes "vendor" {
apple = {};
pc = {};
unknown = {};
};
isExecFormat = isType "exec-format";
execFormats = setTypes "exec-format" {
aout = {}; # a.out
elf = {};
macho = {};
pe = {};
unknown = {};
};
isKernelFamily = isType "kernel-family";
kernelFamilies = setTypes "kernel-family" {
bsd = {};
unix = {};
windows-nt = {};
dos = {};
};
isKernel = x: isType "kernel" x;
kernels = with execFormats; with kernelFamilies; setTypesAssert "kernel"
(x: isExecFormat x.execFormat && all isKernelFamily (attrValues x.families))
{
cygwin = { execFormat = pe; families = { inherit /*unix*/ windows-nt; }; };
darwin = { execFormat = macho; families = { inherit unix; }; };
freebsd = { execFormat = elf; families = { inherit unix bsd; }; };
linux = { execFormat = elf; families = { inherit unix; }; };
netbsd = { execFormat = elf; families = { inherit unix bsd; }; };
none = { execFormat = unknown; families = { inherit unix; }; };
openbsd = { execFormat = elf; families = { inherit unix bsd; }; };
solaris = { execFormat = elf; families = { inherit unix; }; };
win32 = { execFormat = pe; families = { inherit dos; }; };
};
isAbi = isType "abi";
abis = setTypes "abi" {
gnu = {};
msvc = {};
eabi = {};
androideabi = {};
unknown = {};
};
isSystem = isType "system";
mkSystem = { cpu, vendor, kernel, abi }:
assert isCpuType cpu && isVendor vendor && isKernel kernel && isAbi abi;
setType "system" {
inherit cpu vendor kernel abi;
};
is64Bit = matchAttrs { cpu = { bits = 64; }; };
is32Bit = matchAttrs { cpu = { bits = 32; }; };
isi686 = matchAttrs { cpu = cpuTypes.i686; };
isx86_64 = matchAttrs { cpu = cpuTypes.x86_64; };
isDarwin = matchAttrs { kernel = kernels.darwin; };
isLinux = matchAttrs { kernel = kernels.linux; };
isUnix = matchAttrs { kernel = { families = { inherit (kernelFamilies) unix; }; }; };
isWindows = s: matchAttrs { kernel = { families = { inherit (kernelFamilies) windows-nt; }; }; } s
|| matchAttrs { kernel = { families = { inherit (kernelFamilies) dos; }; }; } s;
mkSkeletonFromList = l: {
"2" = { cpu = elemAt l 0; kernel = elemAt l 1; };
"4" = { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; };
"3" = # Awkwards hacks, beware!
if elemAt l 1 == "apple"
then { cpu = elemAt l 0; vendor = "apple"; kernel = elemAt l 2; }
else if (elemAt l 1 == "linux") || (elemAt l 2 == "gnu")
then { cpu = elemAt l 0; kernel = elemAt l 1; abi = elemAt l 2; }
else throw "Target specification with 3 components is ambiguous";
}.${toString (length l)}
or (throw "system string has invalid number of hyphen-separated components");
# This should revert the job done by config.guess from the gcc compiler.
mkSystemFromSkeleton = { cpu
, # Optional, but fallback too complex for here.
# Inferred below instead.
vendor ? assert false; null
, kernel
, # Also inferred below
abi ? assert false; null
} @ args: let
getCpu = name:
attrByPath [name] (throw "Unknown CPU type: ${name}")
cpuTypes;
getVendor = name:
attrByPath [name] (throw "Unknown vendor: ${name}")
vendors;
getKernel = name:
attrByPath [name] (throw "Unknown kernel: ${name}")
kernels;
getAbi = name:
attrByPath [name] (throw "Unknown ABI: ${name}")
abis;
system = rec {
cpu = getCpu args.cpu;
vendor =
/**/ if args ? vendor then getVendor args.vendor
else if isDarwin system then vendors.apple
else if isWindows system then vendors.pc
else vendors.unknown;
kernel = getKernel args.kernel;
abi =
/**/ if args ? abi then getAbi args.abi
else if isLinux system then abis.gnu
else if isWindows system then abis.gnu
else abis.unknown;
};
in mkSystem system;
mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s));
doubleFromSystem = { cpu, vendor, kernel, abi, ... }: "${cpu.name}-${kernel.name}";
tripleFromSystem = { cpu, vendor, kernel, abi, ... } @ sys: assert isSystem sys; let
optAbi = lib.optionalString (abi != abis.unknown) "-${abi.name}";
in "${cpu.name}-${vendor.name}-${kernel.name}${optAbi}";
}

View file

@ -474,7 +474,7 @@ rec {
};
};
selectPlatformBySystem = system: {
selectBySystem = system: {
"i686-linux" = pc32;
"x86_64-linux" = pc64;
"armv5tel-linux" = sheevaplug;

View file

@ -1,31 +1,40 @@
{ nixpkgs }:
{ nixpkgs ? { outPath = (import ../.).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
, # The platforms for which we build Nixpkgs.
supportedSystems ? [ builtins.currentSystem ]
, # Strip most of attributes when evaluating to spare memory usage
scrubJobs ? true
}:
with import ../.. { };
with import ../../pkgs/top-level/release-lib.nix { inherit supportedSystems scrubJobs; };
with lib;
stdenv.mkDerivation {
name = "nixpkgs-lib-tests";
buildInputs = [ nix ];
NIX_PATH="nixpkgs=${nixpkgs}";
{
systems = import ./systems.nix { inherit lib assertTrue; };
buildCommand = ''
datadir="${nix}/share"
export TEST_ROOT=$(pwd)/test-tmp
export NIX_BUILD_HOOK=
export NIX_CONF_DIR=$TEST_ROOT/etc
export NIX_DB_DIR=$TEST_ROOT/db
export NIX_LOCALSTATE_DIR=$TEST_ROOT/var
export NIX_LOG_DIR=$TEST_ROOT/var/log/nix
export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests
export NIX_STATE_DIR=$TEST_ROOT/var/nix
export NIX_STORE_DIR=$TEST_ROOT/store
export PAGER=cat
cacheDir=$TEST_ROOT/binary-cache
nix-store --init
moduleSystem = pkgs.stdenv.mkDerivation {
name = "nixpkgs-lib-tests";
buildInputs = [ pkgs.nix ];
NIX_PATH="nixpkgs=${nixpkgs}";
cd ${nixpkgs}/lib/tests
./modules.sh
buildCommand = ''
datadir="${pkgs.nix}/share"
export TEST_ROOT=$(pwd)/test-tmp
export NIX_BUILD_HOOK=
export NIX_CONF_DIR=$TEST_ROOT/etc
export NIX_DB_DIR=$TEST_ROOT/db
export NIX_LOCALSTATE_DIR=$TEST_ROOT/var
export NIX_LOG_DIR=$TEST_ROOT/var/log/nix
export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests
export NIX_STATE_DIR=$TEST_ROOT/var/nix
export NIX_STORE_DIR=$TEST_ROOT/store
export PAGER=cat
cacheDir=$TEST_ROOT/binary-cache
nix-store --init
touch $out
'';
cd ${nixpkgs}/lib/tests
./modules.sh
touch $out
'';
};
}

31
lib/tests/systems.nix Normal file
View file

@ -0,0 +1,31 @@
# We assert that the new algorithmic way of generating these lists matches the
# way they were hard-coded before.
#
# One might think "if we exhaustively test, what's the point of procedurally
# calculating the lists anyway?". The answer is one can mindlessly update these
# tests as new platforms become supported, and then just give the diff a quick
# sanity check before committing :).
{ lib, assertTrue }:
with lib.systems.doubles;
let mseteq = x: y: lib.sort lib.lessThan x == lib.sort lib.lessThan y; in
{
all = assertTrue (mseteq all (linux ++ darwin ++ cygwin ++ freebsd ++ openbsd ++ netbsd ++ illumos));
arm = assertTrue (mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" ]);
i686 = assertTrue (mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" ]);
mips = assertTrue (mseteq mips [ "mips64el-linux" ]);
x86_64 = assertTrue (mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" ]);
cygwin = assertTrue (mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ]);
darwin = assertTrue (mseteq darwin [ "x86_64-darwin" ]);
freebsd = assertTrue (mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ]);
gnu = assertTrue (mseteq gnu (linux /* ++ hurd ++ kfreebsd ++ ... */));
illumos = assertTrue (mseteq illumos [ "x86_64-solaris" ]);
linux = assertTrue (mseteq linux [ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mips64el-linux" ]);
netbsd = assertTrue (mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ]);
openbsd = assertTrue (mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]);
unix = assertTrue (mseteq unix (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos));
}

View file

@ -122,6 +122,9 @@ rec {
# Flip the order of the arguments of a binary function.
flip = f: a: b: f b a;
# Apply function if argument is non-null
mapNullable = f: a: if isNull a then a else f a;
# Pull in some builtins not included elsewhere.
inherit (builtins)
pathExists readFile isBool isFunction

View file

@ -87,38 +87,6 @@ if ! test -e "$mountPoint"; then
exit 1
fi
# Mount some stuff in the target root directory.
mkdir -m 0755 -p $mountPoint/dev $mountPoint/proc $mountPoint/sys $mountPoint/etc $mountPoint/run $mountPoint/home
mkdir -m 01777 -p $mountPoint/tmp
mkdir -m 0755 -p $mountPoint/tmp/root
mkdir -m 0755 -p $mountPoint/var
mkdir -m 0700 -p $mountPoint/root
mount --rbind /dev $mountPoint/dev
mount --rbind /proc $mountPoint/proc
mount --rbind /sys $mountPoint/sys
mount --rbind / $mountPoint/tmp/root
mount -t tmpfs -o "mode=0755" none $mountPoint/run
rm -rf $mountPoint/var/run
ln -s /run $mountPoint/var/run
for f in /etc/resolv.conf /etc/hosts; do rm -f $mountPoint/$f; [ -f "$f" ] && cp -Lf $f $mountPoint/etc/; done
for f in /etc/passwd /etc/group; do touch $mountPoint/$f; [ -f "$f" ] && mount --rbind -o ro $f $mountPoint/$f; done
cp -Lf "@cacert@" "$mountPoint/tmp/ca-cert.crt"
export SSL_CERT_FILE=/tmp/ca-cert.crt
# For Nix 1.7
export CURL_CA_BUNDLE=/tmp/ca-cert.crt
if [ -n "$runChroot" ]; then
if ! [ -L $mountPoint/nix/var/nix/profiles/system ]; then
echo "$0: installation not finished; cannot chroot into installation directory"
exit 1
fi
ln -s /nix/var/nix/profiles/system $mountPoint/run/current-system
exec chroot $mountPoint "${chrootCommand[@]}"
fi
# Get the path of the NixOS configuration file.
if test -z "$NIXOS_CONFIG"; then
NIXOS_CONFIG=/etc/nixos/configuration.nix
@ -130,121 +98,60 @@ if [ ! -e "$mountPoint/$NIXOS_CONFIG" ] && [ -z "$closure" ]; then
fi
# Create the necessary Nix directories on the target device, if they
# don't already exist.
mkdir -m 0755 -p \
$mountPoint/nix/var/nix/gcroots \
$mountPoint/nix/var/nix/temproots \
$mountPoint/nix/var/nix/userpool \
$mountPoint/nix/var/nix/profiles \
$mountPoint/nix/var/nix/db \
$mountPoint/nix/var/log/nix/drvs
mkdir -m 1775 -p $mountPoint/nix/store
chown @root_uid@:@nixbld_gid@ $mountPoint/nix/store
# There is no daemon in the chroot.
unset NIX_REMOTE
# We don't have locale-archive in the chroot, so clear $LANG.
export LANG=
export LC_ALL=
export LC_TIME=
# Builds will use users that are members of this group
extraBuildFlags+=(--option "build-users-group" "$buildUsersGroup")
# Inherit binary caches from the host
# TODO: will this still work with Nix 1.12 now that it has no perl? Probably not...
binary_caches="$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};')"
extraBuildFlags+=(--option "binary-caches" "$binary_caches")
nixpkgs="$(readlink -f "$(nix-instantiate --find-file nixpkgs)")"
export NIX_PATH="nixpkgs=$nixpkgs:nixos-config=$mountPoint/$NIXOS_CONFIG"
unset NIXOS_CONFIG
# Copy Nix to the Nix store on the target device, unless it's already there.
if ! NIX_DB_DIR=$mountPoint/nix/var/nix/db nix-store --check-validity @nix@ 2> /dev/null; then
echo "copying Nix to $mountPoint...."
for i in $(@perl@/bin/perl @pathsFromGraph@ @nixClosure@); do
echo " $i"
chattr -R -i $mountPoint/$i 2> /dev/null || true # clear immutable bit
@rsync@/bin/rsync -a $i $mountPoint/nix/store/
done
# Register the paths in the Nix closure as valid. This is necessary
# to prevent them from being deleted the first time we install
# something. (I.e., Nix will see that, e.g., the glibc path is not
# valid, delete it to get it out of the way, but as a result nothing
# will work anymore.)
chroot $mountPoint @nix@/bin/nix-store --register-validity < @nixClosure@
fi
# TODO: do I need to set NIX_SUBSTITUTERS here or is the --option binary-caches above enough?
# Create the required /bin/sh symlink; otherwise lots of things
# (notably the system() function) won't work.
mkdir -m 0755 -p $mountPoint/bin
# !!! assuming that @shell@ is in the closure
ln -sf @shell@ $mountPoint/bin/sh
# A place to drop temporary closures
trap "rm -rf $tmpdir" EXIT
tmpdir="$(mktemp -d)"
# Build a closure (on the host; we then copy it into the guest)
function closure() {
nix-build "${extraBuildFlags[@]}" --no-out-link -E "with import <nixpkgs> {}; runCommand \"closure\" { exportReferencesGraph = [ \"x\" (buildEnv { name = \"env\"; paths = [ ($1) stdenv ]; }) ]; } \"cp x \$out\""
}
# Build hooks likely won't function correctly in the minimal chroot; just disable them.
unset NIX_BUILD_HOOK
# Make the build below copy paths from the CD if possible. Note that
# /tmp/root in the chroot is the root of the CD.
export NIX_OTHER_STORES=/tmp/root/nix:$NIX_OTHER_STORES
p=@nix@/libexec/nix/substituters
export NIX_SUBSTITUTERS=$p/copy-from-other-stores.pl:$p/download-from-binary-cache.pl
system_closure="$tmpdir/system.closure"
if [ -z "$closure" ]; then
# Get the absolute path to the NixOS/Nixpkgs sources.
nixpkgs="$(readlink -f $(nix-instantiate --find-file nixpkgs))"
nixEnvAction="-f <nixpkgs/nixos> --set -A system"
expr="(import <nixpkgs/nixos> {}).system"
system_root="$(nix-build -E "$expr")"
system_closure="$(closure "$expr")"
else
nixpkgs=""
nixEnvAction="--set $closure"
system_root=$closure
# Create a temporary file ending in .closure (so nixos-prepare-root knows to --import it) to transport the store closure
# to the filesytem we're preparing. Also delete it on exit!
nix-store --export $(nix-store -qR $closure) > $system_closure
fi
# Build the specified Nix expression in the target store and install
# it into the system configuration profile.
echo "building the system configuration..."
NIX_PATH="nixpkgs=/tmp/root/$nixpkgs:nixos-config=$NIXOS_CONFIG" NIXOS_CONFIG= \
chroot $mountPoint @nix@/bin/nix-env \
"${extraBuildFlags[@]}" -p /nix/var/nix/profiles/system $nixEnvAction
channel_root="$(nix-env -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")"
channel_closure="$tmpdir/channel.closure"
nix-store --export $channel_root > $channel_closure
# Populate the target root directory with the basics
@prepare_root@/bin/nixos-prepare-root $mountPoint $channel_root $system_root @nixClosure@ $system_closure $channel_closure
# Copy the NixOS/Nixpkgs sources to the target as the initial contents
# of the NixOS channel.
mkdir -m 0755 -p $mountPoint/nix/var/nix/profiles
mkdir -m 1777 -p $mountPoint/nix/var/nix/profiles/per-user
mkdir -m 0755 -p $mountPoint/nix/var/nix/profiles/per-user/root
srcs=$(nix-env "${extraBuildFlags[@]}" -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")
if [ -z "$noChannelCopy" ] && [ -n "$srcs" ]; then
echo "copying NixOS/Nixpkgs sources..."
chroot $mountPoint @nix@/bin/nix-env \
"${extraBuildFlags[@]}" -p /nix/var/nix/profiles/per-user/root/channels -i "$srcs" --quiet
fi
mkdir -m 0700 -p $mountPoint/root/.nix-defexpr
ln -sfn /nix/var/nix/profiles/per-user/root/channels $mountPoint/root/.nix-defexpr/channels
# Get rid of the /etc bind mounts.
for f in /etc/passwd /etc/group; do [ -f "$f" ] && umount $mountPoint/$f; done
# nixos-prepare-root doesn't currently do anything with file ownership, so we set it up here instead
chown @root_uid@:@nixbld_gid@ $mountPoint/nix/store
mount --rbind /dev $mountPoint/dev
mount --rbind /proc $mountPoint/proc
mount --rbind /sys $mountPoint/sys
# Grub needs an mtab.
ln -sfn /proc/mounts $mountPoint/etc/mtab
# Mark the target as a NixOS installation, otherwise
# switch-to-configuration will chicken out.
touch $mountPoint/etc/NIXOS
# Switch to the new system configuration. This will install Grub with
# a menu default pointing at the kernel/initrd/etc of the new
# configuration.

View file

@ -0,0 +1,105 @@
#! @shell@
# This script's goal is to perform all "static" setup of a filesystem structure from pre-built store paths. Everything
# in here should run in a non-root context and inside a Nix builder. It's designed primarily to be called from image-
# building scripts and from nixos-install, but because it makes very few assumptions about the context in which it runs,
# it could be useful in other contexts as well.
#
# Current behavior:
# - set up basic filesystem structure
# - make Nix store etc.
# - copy Nix, system, channel, and misceallaneous closures to target Nix store
# - register validity of all paths in the target store
# - set up channel and system profiles
# Ensure a consistent umask.
umask 0022
set -e
mountPoint="$1"
channel="$2"
system="$3"
shift 3
closures="$@"
PATH="@coreutils@/bin:@nix@/bin:@perl@/bin:@utillinux@/bin:@rsync@/bin"
if ! test -e "$mountPoint"; then
echo "mount point $mountPoint doesn't exist"
exit 1
fi
# Create a few of the standard directories in the target root directory.
mkdir -m 0755 -p $mountPoint/dev $mountPoint/proc $mountPoint/sys $mountPoint/etc $mountPoint/run $mountPoint/home
mkdir -m 01777 -p $mountPoint/tmp
mkdir -m 0755 -p $mountPoint/tmp/root
mkdir -m 0755 -p $mountPoint/var
mkdir -m 0700 -p $mountPoint/root
ln -s /run $mountPoint/var/run
# Create the necessary Nix directories on the target device
mkdir -m 0755 -p \
$mountPoint/nix/var/nix/gcroots \
$mountPoint/nix/var/nix/temproots \
$mountPoint/nix/var/nix/userpool \
$mountPoint/nix/var/nix/profiles \
$mountPoint/nix/var/nix/db \
$mountPoint/nix/var/log/nix/drvs
mkdir -m 1775 -p $mountPoint/nix/store
# All Nix operations below should operate on our target store, not /nix/store.
# N.B: this relies on Nix 1.12 or higher
export NIX_REMOTE=local?root=$mountPoint
# Copy our closures to the Nix store on the target mount point, unless they're already there.
for i in $closures; do
# We support closures both in the format produced by `nix-store --export` and by `exportReferencesGraph`,
# mostly because there doesn't seem to be a single format that can be produced outside of a nix build and
# inside one. See https://github.com/NixOS/nix/issues/1242 for more discussion.
if [[ "$i" =~ \.closure$ ]]; then
echo "importing serialized closure $i to $mountPoint..."
nix-store --import < $i
else
# There has to be a better way to do this, right?
echo "copying closure $i to $mountPoint..."
for j in $(perl @pathsFromGraph@ $i); do
echo " $j... "
rsync -a $j $mountPoint/nix/store/
done
nix-store --register-validity < $i
fi
done
# Create the required /bin/sh symlink; otherwise lots of things
# (notably the system() function) won't work.
if [ ! -x $mountPoint/@shell@ ]; then
echo "Error: @shell@ wasn't included in the closure" >&2
exit 1
fi
mkdir -m 0755 -p $mountPoint/bin
ln -sf @shell@ $mountPoint/bin/sh
echo "setting the system closure to '$system'..."
nix-env "${extraBuildFlags[@]}" -p $mountPoint/nix/var/nix/profiles/system --set "$system"
ln -sfn /nix/var/nix/profiles/system $mountPoint/run/current-system
# Copy the NixOS/Nixpkgs sources to the target as the initial contents of the NixOS channel.
mkdir -m 0755 -p $mountPoint/nix/var/nix/profiles
mkdir -m 1777 -p $mountPoint/nix/var/nix/profiles/per-user
mkdir -m 0755 -p $mountPoint/nix/var/nix/profiles/per-user/root
if [ -z "$noChannelCopy" ] && [ -n "$channel" ]; then
echo "copying channel..."
nix-env --option build-use-substitutes false "${extraBuildFlags[@]}" -p $mountPoint/nix/var/nix/profiles/per-user/root/channels --set "$channel" --quiet
fi
mkdir -m 0700 -p $mountPoint/root/.nix-defexpr
ln -sfn /nix/var/nix/profiles/per-user/root/channels $mountPoint/root/.nix-defexpr/channels
# Mark the target as a NixOS installation, otherwise switch-to-configuration will chicken out.
touch $mountPoint/etc/NIXOS

View file

@ -4,7 +4,6 @@
{ config, pkgs, modulesPath, ... }:
let
cfg = config.installer;
makeProg = args: pkgs.substituteAll (args // {
@ -17,6 +16,14 @@ let
src = ./nixos-build-vms/nixos-build-vms.sh;
};
nixos-prepare-root = makeProg {
name = "nixos-prepare-root";
src = ./nixos-prepare-root.sh;
nix = pkgs.nixUnstable;
inherit (pkgs) perl pathsFromGraph rsync utillinux coreutils;
};
nixos-install = makeProg {
name = "nixos-install";
src = ./nixos-install.sh;
@ -26,6 +33,7 @@ let
cacert = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
root_uid = config.ids.uids.root;
nixbld_gid = config.ids.gids.nixbld;
prepare_root = nixos-prepare-root;
nixClosure = pkgs.runCommand "closure"
{ exportReferencesGraph = ["refs" config.nix.package.out]; }
@ -69,6 +77,7 @@ in
environment.systemPackages =
[ nixos-build-vms
nixos-prepare-root
nixos-install
nixos-rebuild
nixos-generate-config
@ -77,7 +86,7 @@ in
];
system.build = {
inherit nixos-install nixos-generate-config nixos-option nixos-rebuild;
inherit nixos-install nixos-prepare-root nixos-generate-config nixos-option nixos-rebuild;
};
};

View file

@ -89,6 +89,7 @@
./programs/nano.nix
./programs/oblogout.nix
./programs/screen.nix
./programs/slock.nix
./programs/shadow.nix
./programs/shell.nix
./programs/spacefm.nix
@ -659,6 +660,7 @@
./tasks/scsi-link-power-management.nix
./tasks/swraid.nix
./tasks/trackpoint.nix
./tasks/powertop.nix
./testing/service-runner.nix
./virtualisation/container-config.nix
./virtualisation/containers.nix

View file

@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.slock;
in
{
options = {
programs.slock = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Whether to install slock screen locker with setuid wrapper.
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.slock ];
security.wrappers.slock.source = "${pkgs.slock.out}/bin/slock";
};
}

View file

@ -45,7 +45,7 @@ let
cniConfig = pkgs.buildEnv {
name = "kubernetes-cni-config";
paths = imap (i: entry:
pkgs.writeTextDir "${10+i}-${entry.type}.conf" (builtins.toJSON entry)
pkgs.writeTextDir "${toString (10+i)}-${entry.type}.conf" (builtins.toJSON entry)
) cfg.kubelet.cni.config;
};
@ -597,7 +597,7 @@ in {
(mkIf cfg.kubelet.enable {
systemd.services.kubelet = {
description = "Kubernetes Kubelet Service";
wantedBy = [ "multi-user.target" ];
wantedBy = [ "kubernetes.target" ];
after = [ "network.target" "docker.service" "kube-apiserver.service" ];
path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables ];
preStart = ''
@ -606,6 +606,7 @@ in {
${concatMapStringsSep "\n" (p: "ln -fs ${p.plugins}/* /opt/cni/bin") cfg.kubelet.cni.packages}
'';
serviceConfig = {
Slice = "kubernetes.slice";
ExecStart = ''${cfg.package}/bin/kubelet \
--pod-manifest-path=${manifests} \
--kubeconfig=${kubeconfig} \
@ -655,9 +656,10 @@ in {
(mkIf cfg.apiserver.enable {
systemd.services.kube-apiserver = {
description = "Kubernetes Kubelet Service";
wantedBy = [ "multi-user.target" ];
wantedBy = [ "kubernetes.target" ];
after = [ "network.target" "docker.service" ];
serviceConfig = {
Slice = "kubernetes.slice";
ExecStart = ''${cfg.package}/bin/kube-apiserver \
--etcd-servers=${concatStringsSep "," cfg.etcd.servers} \
${optionalString (cfg.etcd.caFile != null)
@ -713,9 +715,10 @@ in {
(mkIf cfg.scheduler.enable {
systemd.services.kube-scheduler = {
description = "Kubernetes Scheduler Service";
wantedBy = [ "multi-user.target" ];
wantedBy = [ "kubernetes.target" ];
after = [ "kube-apiserver.service" ];
serviceConfig = {
Slice = "kubernetes.slice";
ExecStart = ''${cfg.package}/bin/kube-scheduler \
--address=${cfg.scheduler.address} \
--port=${toString cfg.scheduler.port} \
@ -735,11 +738,12 @@ in {
(mkIf cfg.controllerManager.enable {
systemd.services.kube-controller-manager = {
description = "Kubernetes Controller Manager Service";
wantedBy = [ "multi-user.target" ];
wantedBy = [ "kubernetes.target" ];
after = [ "kube-apiserver.service" ];
serviceConfig = {
RestartSec = "30s";
Restart = "on-failure";
Slice = "kubernetes.slice";
ExecStart = ''${cfg.package}/bin/kube-controller-manager \
--address=${cfg.controllerManager.address} \
--port=${toString cfg.controllerManager.port} \
@ -767,10 +771,11 @@ in {
(mkIf cfg.proxy.enable {
systemd.services.kube-proxy = {
description = "Kubernetes Proxy Service";
wantedBy = [ "multi-user.target" ];
wantedBy = [ "kubernetes.target" ];
after = [ "kube-apiserver.service" ];
path = [pkgs.iptables];
serviceConfig = {
Slice = "kubernetes.slice";
ExecStart = ''${cfg.package}/bin/kube-proxy \
--kubeconfig=${kubeconfig} \
--bind-address=${cfg.proxy.address} \
@ -786,9 +791,10 @@ in {
(mkIf cfg.dns.enable {
systemd.services.kube-dns = {
description = "Kubernetes Dns Service";
wantedBy = [ "multi-user.target" ];
wantedBy = [ "kubernetes.target" ];
after = [ "kube-apiserver.service" ];
serviceConfig = {
Slice = "kubernetes.slice";
ExecStart = ''${cfg.package}/bin/kube-dns \
--kubecfg-file=${kubeconfig} \
--dns-port=${toString cfg.dns.port} \
@ -836,6 +842,11 @@ in {
cfg.proxy.enable ||
cfg.dns.enable
) {
systemd.targets.kubernetes = {
description = "Kubernetes";
wantedBy = [ "multi-user.target" ];
};
systemd.tmpfiles.rules = [
"d /opt/cni/bin 0755 root root -"
"d /var/run/kubernetes 0755 kubernetes kubernetes -"

View file

@ -6,9 +6,7 @@ let
bluez-bluetooth = pkgs.bluez;
cfg = config.hardware.bluetooth;
in
{
in {
###### interface
@ -32,6 +30,8 @@ in
'';
description = ''
Set additional configuration for system-wide bluetooth (/etc/bluetooth/main.conf).
NOTE: We already include [Policy], so any configuration under the Policy group should come first.
'';
};
};
@ -45,7 +45,12 @@ in
environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];
environment.etc = singleton {
source = pkgs.writeText "main.conf" cfg.extraConfig;
source = pkgs.writeText "main.conf" ''
[Policy]
AutoEnable=${lib.boolToString cfg.powerOnBoot}
${cfg.extraConfig}
'';
target = "bluetooth/main.conf";
};
@ -53,29 +58,11 @@ in
services.dbus.packages = [ bluez-bluetooth ];
systemd.packages = [ bluez-bluetooth ];
services.udev.extraRules = optionalString cfg.powerOnBoot ''
ACTION=="add", KERNEL=="hci[0-9]*", ENV{SYSTEMD_WANTS}="bluetooth-power@%k.service"
'';
systemd.services = {
bluetooth = {
wantedBy = [ "bluetooth.target" ];
aliases = [ "dbus-org.bluez.service" ];
};
"bluetooth-power@" = mkIf cfg.powerOnBoot {
description = "Power up bluetooth controller";
after = [
"bluetooth.service"
"suspend.target"
"sys-subsystem-bluetooth-devices-%i.device"
];
wantedBy = [ "suspend.target" ];
serviceConfig.Type = "oneshot";
serviceConfig.ExecStart = "${pkgs.bluez.out}/bin/hciconfig %i up";
};
};
systemd.user.services = {

View file

@ -119,7 +119,7 @@ in {
extraConf = mkOption {
description = ''
Etcd extra configuration. See
<link xlink:href='https://github.com/coreos/etcd/blob/master/Documentation/configuration.md#environment-variables' />
<link xlink:href='https://github.com/coreos/etcd/blob/master/Documentation/op-guide/configuration.md#configuration-flags' />
'';
type = types.attrsOf types.str;
default = {};

View file

@ -93,7 +93,9 @@ in
# why this is done.
test -d "${cfg.dataDir}/.skeleton" || mkdir "${cfg.dataDir}/.skeleton"
for db in "com.plexapp.plugins.library.db"; do
cp "${cfg.package}/usr/lib/plexmediaserver/Resources/base_$db" "${cfg.dataDir}/.skeleton/$db"
if [ ! -e "${cfg.dataDir}/.skeleton/$db" ]; then
cp "${cfg.package}/usr/lib/plexmediaserver/Resources/base_$db" "${cfg.dataDir}/.skeleton/$db"
fi
chmod u+w "${cfg.dataDir}/.skeleton/$db"
chown ${cfg.user}:${cfg.group} "${cfg.dataDir}/.skeleton/$db"
done
@ -136,6 +138,7 @@ in
Group = cfg.group;
PermissionsStartOnly = "true";
ExecStart = "/bin/sh -c ${cfg.package}/usr/lib/plexmediaserver/Plex\\ Media\\ Server";
KillSignal = "SIGQUIT";
Restart = "on-failure";
};
environment = {

View file

@ -4,7 +4,7 @@ with lib;
let
cfg = config.services.graphite;
writeTextOrNull = f: t: if t == null then null else pkgs.writeTextDir f t;
writeTextOrNull = f: t: mapNullable (pkgs.writeTextDir f) t;
dataDir = cfg.dataDir;

View file

@ -141,7 +141,7 @@ let
};
});
default = null;
apply = x: if x == null then null else _filter x;
apply = x: mapNullable _filter x;
description = ''
Optional http login credentials for metrics scraping.
'';

View file

@ -71,8 +71,7 @@ let
# anything ever again ("couldn't resolve ..., giving up on
# it"), so we silently lose time synchronisation. This also
# applies to openntpd.
${config.systemd.package}/bin/systemctl try-restart ntpd.service
${config.systemd.package}/bin/systemctl try-restart openntpd.service
${config.systemd.package}/bin/systemctl try-reload-or-restart ntpd.service openntpd.service || true
fi
${cfg.runHook}

View file

@ -32,8 +32,14 @@ let
''
#! ${pkgs.bash}/bin/bash
# Handle being called by SDDM.
if test "''${1:0:1}" = / ; then eval exec $1 $2 ; fi
# SDDM splits "Exec" line in .desktop file by whitespace and pass script path as $1
if [[ "$0" = "$1" ]]; then
# remove superfluous $1 again
shift
# join arguments again and evaluate them in a shell context
# to interpret shell quoting
eval exec "$0" "$@"
fi
${optionalString cfg.displayManager.logToJournal ''
if [ -z "$_DID_SYSTEMD_CAT" ]; then

View file

@ -383,7 +383,7 @@ in
default = false;
type = types.bool;
description = ''
Whether to invoke <literal>grub-install</literal> with
<para>Whether to invoke <literal>grub-install</literal> with
<literal>--removable</literal>.</para>
<para>Unless you turn this on, GRUB will install itself somewhere in
@ -412,7 +412,7 @@ in
the NVRAM state of the computer (like a USB "removable" drive)</para></listitem>
<listitem><para>You simply dislike the idea of depending on NVRAM
state to make your drive bootable</para></listitem>
</itemizedlist>
</itemizedlist></para>
'';
};

View file

@ -120,7 +120,7 @@ let
optionalString (cfg.defaultGatewayWindowSize != null)
"window ${toString cfg.defaultGatewayWindowSize}"} ${
optionalString (cfg.defaultGateway.interface != null)
"dev ${cfg.defaultGateway.interface}"} || true
"dev ${cfg.defaultGateway.interface}"} proto static || true
''}
${optionalString (cfg.defaultGateway6 != null && cfg.defaultGateway6.address != "") ''
# FIXME: get rid of "|| true" (necessary to make it idempotent).
@ -130,7 +130,7 @@ let
optionalString (cfg.defaultGatewayWindowSize != null)
"window ${toString cfg.defaultGatewayWindowSize}"} ${
optionalString (cfg.defaultGateway6.interface != null)
"dev ${cfg.defaultGateway6.interface}"} || true
"dev ${cfg.defaultGateway6.interface}"} proto static || true
''}
'';
};

View file

@ -0,0 +1,27 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.powerManagment.powertop;
in {
###### interface
options.powerManagment.powertop.enable = mkEnableOption "powertop auto tuning on startup";
###### implementation
config = mkIf (cfg.enable) {
systemd.services = {
powertop = {
wantedBy = [ "multi-user.target" ];
description = "Powertop tunings";
serviceConfig = {
Type = "oneshot";
RemainAfterExit = "yes";
ExecStart = "${pkgs.powertop}/bin/powertop --auto-tune";
};
};
};
};
}

View file

@ -34,6 +34,12 @@ let
boot.loader.systemd-boot.enable = true;
''}
users.extraUsers.alice = {
isNormalUser = true;
home = "/home/alice";
description = "Alice Foobar";
};
hardware.enableAllFirmware = lib.mkForce false;
${replaceChars ["\n"] ["\n "] extraConfig}
@ -96,7 +102,7 @@ let
$machine->shutdown;
# Now see if we can boot the installation.
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", name => "boot-after-install" });
# For example to enter LUKS passphrase.
${preBootCommands}
@ -118,11 +124,17 @@ let
$machine->waitForUnit("swap.target");
$machine->succeed("cat /proc/swaps | grep -q /dev");
# Check that the store is in good shape
$machine->succeed("nix-store --verify --check-contents >&2");
# Check whether the channel works.
$machine->succeed("nix-env -iA nixos.procps >&2");
$machine->succeed("type -tP ps | tee /dev/stderr") =~ /.nix-profile/
or die "nix-env failed";
# Check that the daemon works, and that non-root users can run builds (this will build a new profile generation through the daemon)
$machine->succeed("su alice -l -c 'nix-env -iA nixos.procps' >&2");
# We need to a writable nix-store on next boot.
$machine->copyFileFromHost(
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; forceGrubReinstallCount = 1; } }",
@ -139,7 +151,7 @@ let
$machine->shutdown;
# Check whether a writable store build works
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", name => "rebuild-switch" });
${preBootCommands}
$machine->waitForUnit("multi-user.target");
$machine->copyFileFromHost(
@ -150,7 +162,7 @@ let
# And just to be sure, check that the machine still boots after
# "nixos-rebuild switch".
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", "boot-after-rebuild-switch" });
${preBootCommands}
$machine->waitForUnit("network.target");
$machine->shutdown;

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, which, vorbis-tools, id3v2, eyeD3
, lame, flac, eject, mkcue
, lame, flac, eject, mkcue, glyr
, perl, DigestSHA, MusicBrainz, MusicBrainzDiscID
, makeWrapper }:
@ -52,7 +52,7 @@ in
--replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
wrapProgram "$out/bin/abcde" --prefix PATH ":" \
${stdenv.lib.makeBinPath [ "$out" which libcdio cddiscid wget vorbis-tools id3v2 eyeD3 lame flac ]}
${stdenv.lib.makeBinPath [ "$out" which libcdio cddiscid wget vorbis-tools id3v2 eyeD3 lame flac glyr ]}
wrapProgram "$out/bin/cddb-tool" --prefix PATH ":" \
"${wget}/bin"

View file

@ -8,7 +8,7 @@ let
# Please update the stable branch!
# Latest version number can be found at:
# http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
version = "1.0.52.717.g2f08534a-47";
version = "1.0.53.758.gde3fc4b2-33";
deps = [
alsaLib
@ -51,23 +51,24 @@ in
stdenv.mkDerivation {
name = "spotify-${version}";
src =
fetchurl {
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "1xqd4pjb69zmbac5fq3pckgr4khlkzfkx8b029qzjc2hi52zfnj7";
};
src = fetchurl {
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "1sh6bv23yx0fcbmf60c2yyi6411ij85k4jalpjlck2w26nfj1b3g";
};
buildInputs = [ dpkg makeWrapper ];
doConfigure = false;
doBuild = false;
dontStrip = true;
dontPatchELF = true;
unpackPhase = ''
runHook preUnpack
dpkg-deb -x $src .
runHook postUnpack
'';
configurePhase = "runHook preConfigure; runHook postConfigure";
buildPhase = "runHook preBuild; runHook postBuild";
installPhase =
''
runHook preInstall
@ -110,13 +111,11 @@ stdenv.mkDerivation {
runHook postInstall
'';
dontStrip = true;
dontPatchELF = true;
meta = {
meta = with stdenv.lib; {
homepage = https://www.spotify.com/;
description = "Play music from the Spotify music service";
license = stdenv.lib.licenses.unfree;
maintainers = with stdenv.lib.maintainers; [ eelco ftrvxmtrx sheenobu mudri ];
license = licenses.unfree;
maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig
, libltc, libsndfile, libsamplerate, ftgl, freefont_ttf, libjack2
, mesa_glu, lv2, mesa, gtk2, cairo, pango, fftwFloat, zita-convolver }:
, mesa_glu, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
stdenv.mkDerivation rec {
version = "20161230";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "1yni9c17kl2pi9lqxip07b6g6lyfii1pch5czp183113gk54fwj5";
};
buildInputs = [ mesa_glu ftgl freefont_ttf libjack2 libltc libsndfile libsamplerate lv2 mesa gtk2 cairo pango fftwFloat pkgconfig zita-convolver];
buildInputs = [ mesa_glu ftgl freefont_ttf libjack2 libltc libsndfile libsamplerate lv2 gtk2 cairo pango fftwFloat pkgconfig zita-convolver];
makeFlags = [ "PREFIX=$(out)" "FONTFILE=${freefont_ttf}/share/fonts/truetype/FreeSansBold.ttf" ];

View file

@ -1,28 +1,24 @@
{ stdenv, fetchurl, buildEnv, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf
, cups, libgcrypt_1_5, systemd, makeWrapper, dbus }:
with stdenv.lib;
let
bracketsEnv = buildEnv {
name = "env-brackets";
paths = [
gtk2 glib gdk_pixbuf stdenv.cc.cc.lib alsaLib nss nspr gconf cups libgcrypt_1_5
dbus.lib systemd.lib
];
};
bracketsLibs = makeLibraryPath [
gtk2 glib gdk_pixbuf stdenv.cc.cc.lib alsaLib nss nspr gconf cups libgcrypt_1_5 dbus systemd
];
in
stdenv.mkDerivation rec {
name = "brackets-${version}";
version = "1.8";
version = "1.9";
src = fetchurl {
url = "https://github.com/adobe/brackets/releases/download/release-${version}/Brackets.Release.${version}.64-bit.deb";
sha256 = "0b2k0vv1qwmsg1wckp71yrb86zp8zisskmzzvx9ir19bma9jzr42";
sha256 = "0c4l2rr0853xd21kw8hhxlmrx8mqwb7iqa2k24zvwyjp4nnwkgbp";
name = "${name}.deb";
};
phases = [ "installPhase" "fixupPhase" ];
buildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out
ar p $src data.tar.xz | tar -C $out -xJ
@ -33,27 +29,26 @@ stdenv.mkDerivation rec {
ln -s ${systemd.lib}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \
$out/opt/brackets/Brackets
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/opt/brackets/Brackets-node
patchelf \
--set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \
$out/opt/brackets/lib/libcef.so
wrapProgram $out/opt/brackets/brackets \
--prefix LD_LIBRARY_PATH : "${bracketsEnv}/lib:${bracketsEnv}/lib64"
substituteInPlace $out/opt/brackets/brackets.desktop \
--replace "Exec=/opt/brackets/brackets" "Exec=brackets"
mkdir -p $out/share/applications
ln -s $out/opt/brackets/brackets.desktop $out/share/applications/
'';
meta = with stdenv.lib; {
postFixup = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${bracketsLibs}:$out/opt/brackets/lib" \
$out/opt/brackets/Brackets
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${bracketsLibs}" \
$out/opt/brackets/Brackets-node
patchelf --set-rpath "${bracketsLibs}" \
$out/opt/brackets/lib/libcef.so
'';
meta = {
description = "An open source code editor for the web, written in JavaScript, HTML and CSS";
homepage = http://brackets.io/;
license = licenses.mit;

View file

@ -233,12 +233,12 @@ in
idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "2017.1";
version = "2017.1.1";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "0pfsf7ykwixvljcmrv4gldaaflf13brch70cd6xpax0m89vm22vm";
sha256 = "1222xkw7n424ihqxyjk352nnx9ka6as7ajwafgb2f27hfiz8d3li";
};
wmClass = "jetbrains-idea-ce";
};
@ -269,12 +269,12 @@ in
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "2017.1";
version = "2017.1.1";
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
sha256 = "1858jhmyyb7nhx08yxbn5bfgx9m32r8yqwjxjw17rf8gnfvs8225";
sha256 = "18z9kv2nk8fgpns8r4ra39hs4d2v3knnwv9a996wrrbsfc9if8lp";
};
wmClass = "jetbrains-idea";
};

View file

@ -0,0 +1,73 @@
{ config, stdenv, fetchgit, makeWrapper, gnome3, at_spi2_core, libcxx,
boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts,
coreutils, glibc, dbus_libs, openssl, libxml2, gnumake, binutils, ctags }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "juicipp-${version}";
version = "1.2.3";
meta = {
homepage = https://github.com/cppit/jucipp;
description = "A lightweight, platform independent C++-IDE with support for C++11, C++14, and experimental C++17 features depending on libclang version";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ xnwdd ];
};
src = fetchgit {
url = "https://github.com/cppit/jucipp.git";
rev = "refs/tags/v${version}";
deepClone = true;
sha256 = "0xp6ijnrggskjrvscp204bmdpz48l5a8nxr9abp17wni6akb5wiq";
};
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
buildInputs = [
dbus_libs
openssl
libxml2
gnome3.gtksourceview
at_spi2_core
pcre
epoxy
boost
libXdmcp
cmake
aspell
libgit2
libxkbcommon
gnome3.gtkmm3
libpthreadstubs
gnome3.gtksourceviewmm
llvmPackages.clang.cc
llvmPackages.lldb
gnome3.dconf
];
lintIncludes = let
p = "arguments.emplace_back(\"-I";
e = "\");";
v = stdenv.lib.getVersion llvmPackages.clang;
in
p+llvmPackages.libcxx+"/include/c++/v1"+e
+p+llvmPackages.clang-unwrapped+"/lib/clang/"+v+"/include/"+e
+p+glibc.dev+"/include"+e;
preConfigure = ''
sed -i 's|liblldb LIBLLDB_LIBRARIES|liblldb LIBNOTHING|g' CMakeLists.txt
sed -i 's|> arguments;|> arguments; ${lintIncludes}|g' src/source_clang.cc
'';
cmakeFlags = "-DLIBLLDB_LIBRARIES=${stdenv.lib.makeLibraryPath [ llvmPackages.lldb ]}/liblldb.so";
postInstall = ''
mv $out/bin/juci $out/bin/.juci
makeWrapper "$out/bin/.juci" "$out/bin/juci" \
--set PATH "${stdenv.lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake binutils llvmPackages.clang ]}" \
--set NO_AT_BRIDGE 1 \
--set ASPELL_CONF "dict-dir ${aspellDicts.en}/lib/aspell"
'';
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, buildEnv, zlib, glib, alsaLib, makeDesktopItem
{ stdenv, fetchurl, zlib, glib, alsaLib, makeDesktopItem
, dbus, gtk2, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, systemd, libnotify
}:

View file

@ -2,7 +2,7 @@
makeWrapper, libXScrnSaver, libxkbfile }:
let
version = "1.11.1";
version = "1.11.2";
channel = "stable";
plat = {
@ -12,9 +12,9 @@ let
}.${stdenv.system};
sha256 = {
"i686-linux" = "14wdblh7q3m5qdsm34dpg5p7qk6llrbqk60md8wd0fb4chpvrq94";
"x86_64-linux" = "0rmzvaiar3y062mbrggiwjbwxs7izcih5333rn208ax4jxmbk4pc";
"x86_64-darwin" = "1f3zdwsz0l6r7c2k25a7j5m0dl78219jzg4axcmbfa2qcs2hw0x6";
"i686-linux" = "0cd3iwd5aizixfxc6ayrpvx6k1zk8nsfhd8i3rgz4p4zzfnx6ri5";
"x86_64-linux" = "1y3qgm7p1vchh02mqgn8d8pxxnifxfs6hbv01q8zjw3gb7m4anw3";
"x86_64-darwin" = "1v8x466080rpm0rfiv1mr2adbpia6j5v9pbsspwm0ndc7ly0h71k";
}.${stdenv.system};
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";

View file

@ -29,6 +29,7 @@
, libgphoto2
, libkipi
, liblqr1
, libqtav
, libusb1
, marble
, mysql
@ -83,6 +84,7 @@ stdenv.mkDerivation rec {
libgphoto2
libkipi
liblqr1
libqtav
libusb1
marble.unwrapped
mysql
@ -99,6 +101,7 @@ stdenv.mkDerivation rec {
"-DLIBUSB_INCLUDE_DIR=${libusb1.dev}/include/libusb-1.0"
"-DENABLE_MYSQLSUPPORT=1"
"-DENABLE_INTERNALMYSQL=1"
"-DENABLE_MEDIAPLAYER=1"
];
fixupPhase = ''

View file

@ -2,7 +2,7 @@
, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
, gsl, python2, poppler, imagemagick, libwpg, librevenge
, libvisio, libcdr, libexif, automake114x, cmake
, libvisio, libcdr, libexif, automake114x, potrace, cmake
}:
let
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc
libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
makeWrapper intltool gsl poppler imagemagick libwpg librevenge
libvisio libcdr libexif automake114x cmake
libvisio libcdr libexif automake114x potrace cmake
];
enableParallelBuilding = true;

View file

@ -5,12 +5,12 @@
}:
stdenv.mkDerivation rec {
version = "2.82.0";
version = "2.83.0";
name = "calibre-${version}";
src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
sha256 = "073iarhjsapqf1g8ji1w835biixybqq869flq58vkz37wjmray8k";
sha256 = "1ar6hkcl50lhgwccss759201cqgnwasqmhw9japgnz04fj66w5ln";
};
patches = [
@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
dontUseQmakeConfigure = true;
enableParallelBuilding = true;
nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ];
buildInputs = [

View file

@ -1,22 +1,22 @@
{ stdenv, fetchurl, jre, coreutils, makeWrapper }:
stdenv.mkDerivation {
name = "dbvisualizer-9.5";
name = "dbvisualizer-9.5.7";
src = fetchurl {
url = https://www.dbvis.com/product_download/dbvis-9.5/media/dbvis_unix_9_5.tar.gz;
sha256 = "1bdc03039b50807206fd72ecf8ba0b940f5bb0386f483e10b7c0b2fa75cac021";
url = https://www.dbvis.com/product_download/dbvis-9.5.7/media/dbvis_unix_9_5_7.tar.gz;
sha256 = "1xv4fw7cji2ffvv7z8vjl5lap512pj60s2ynihirrqld7pmklnyr";
};
buildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
cp -a . $out
ln -sf $out/dbvis $out/bin
ln -sf $out/dbvis $out/bin
wrapProgram $out/bin/dbvis --set INSTALL4J_JAVA_HOME ${jre}
'';
meta = {
description = "The universal database tool";
homepage = https://www.dbvis.com/;

View file

@ -1,27 +1,31 @@
{ stdenv, fetchFromGitHub, qmakeHook }:
{ stdenv, fetchFromGitHub, qmakeHook, qtbase, qttools, makeQtWrapper }:
stdenv.mkDerivation rec {
name = "gpxsee-${version}";
version = "2.17";
version = "4.3";
src = fetchFromGitHub {
owner = "tumic0";
repo = "GPXSee";
rev = version;
sha256 = "1422kgj972ydasqqm0k02qf3v2py7if2ibri7yjg8awqilacy6by";
sha256 = "15f686frxlrmdvh5cc837kx62g0ihqj4vb87i8433g7l5vqkv3lf";
};
nativeBuildInputs = [ qmakeHook ];
patchPhase = ''
sed -i '/lang\/gpxsee_cs.qm/d' gpxsee.qrc
nativeBuildInputs = [ qmakeHook qttools makeQtWrapper ];
preConfigure = ''
substituteInPlace src/config.h --replace /usr/share/gpxsee $out/share/gpxsee
lrelease lang/*.ts
'';
preFixup = ''
mkdir -p $out/bin
cp GPXSee $out/bin
install -Dm755 GPXSee $out/bin/GPXSee
wrapQtProgram $out/bin/GPXSee
mkdir -p $out/share/gpxsee
cp pkg/maps.txt $out/share/gpxsee
'';
meta = with stdenv.lib; {
homepage = http://tumic.wz.cz/gpxsee;
description = "GPX viewer and analyzer";

View file

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "hugo-${version}";
version = "0.20";
version = "0.20.2";
goPackagePath = "github.com/spf13/hugo";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "spf13";
repo = "hugo";
rev = "v${version}";
sha256 = "1dzvwldhf73ycmazq9xnridj7p3m3q6qv47rvk3vgj0xj6c107ij";
sha256 = "1dvd9kiqp87cbf027kvyqb282pxs8qm16r1dk74l5drranfvkszy";
};
goDeps = ./deps.nix;

View file

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "1rpmi9dl98948a2ll7q0sagyx8v27mmwa2j6fmvfx6r1mwpvbrgz";
sha256bin64 = "1xj1fl0k0ck4pxl4q0cdhi55sqfmwbb1vcjj70idlz166ll8lpxh";
version = "58.0.3029.19";
sha256 = "1q9iqmq5amzfw03jiw18g1w285b6x2qckn8gc60r5m3xx1hbivv2";
sha256bin64 = "1ddhhcydcwwc2pkwm4c8rlr60968zy5vda410g4bwx0v5q7p22q9";
version = "58.0.3029.68";
};
dev = {
sha256 = "1rpmi9dl98948a2ll7q0sagyx8v27mmwa2j6fmvfx6r1mwpvbrgz";
sha256bin64 = "1wx5r3vmmki419llki0ls6y4z6r93zm66v2h4vnxswjb77svl578";
version = "58.0.3029.19";
sha256 = "0zvnj9n2p057fxx7n4d1qc0nw34qhlsvrx20fwigq96blamckvd8";
sha256bin64 = "1s1r3h7x49bp64lzzphm4jcg7g68l0x7mr3airj3hqii58dvndm0";
version = "59.0.3067.0";
};
stable = {
sha256 = "1r495ffcwxsd4pxn5akfr7k9iiv1dj0zq6w9i6xxii8knf8a40va";
sha256bin64 = "04ig9q8j4xbgq749qprfddlgpm6g28jjvwwnqmvinymnrh4vc7cn";
version = "57.0.2987.110";
sha256 = "1xwchazqqx0cs9rd15r80kw6p918zp9libx34qlcj8p5lxq1f0bh";
sha256bin64 = "0ggn5rljch36sx0i37qzp6ldcy3ibdj0z9217lqzjq3r7ixsfqja";
version = "57.0.2987.133";
};
}

View file

@ -1,10 +1,10 @@
{ stdenv, buildEnv, fetchurl, patchelf, bash
{ stdenv, fetchurl, patchelf, bash
# Linked dynamic libraries.
, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr
, libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb
, alsaLib, libXdamage, libXtst, libXrandr, expat, cups
, dbus_libs, gtk2, gdk_pixbuf, gcc
, dbus_libs, gtk2, gtk3, gdk_pixbuf, gcc
# command line arguments which are always set e.g "--disable-gpu"
, commandLineArgs ? ""
@ -47,13 +47,14 @@ let
glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr
libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb
alsaLib libXdamage libXtst libXrandr expat cups
dbus_libs gtk2 gdk_pixbuf gcc
dbus_libs gdk_pixbuf gcc
systemd
libexif
liberation_ttf curl utillinux xdg_utils wget
flac harfbuzz icu libpng opusWithCustomModes snappy speechd
bzip2 libcap
] ++ optional pulseSupport libpulseaudio;
] ++ optional pulseSupport libpulseaudio
++ (if (versionAtLeast version "59.0.0.0") then [gtk3] else [gtk2]);
suffix = if channel != "stable" then "-" + channel else "";

View file

@ -10,16 +10,16 @@
}:
let
version = "1.6";
build = "689.34-1";
version = "1.8";
build = "770.56-1";
fullVersion = "stable_${version}.${build}";
info = if stdenv.is64bit then {
arch = "amd64";
sha256 = "0wn98nzlhppmm3g797kiqr9bxxff8l7l110f1w1fnfl93d325hrm";
sha256 = "1f9cwr41rl0mqwg3xn2nfb5xnr0h0vc4wiz8367bd67zf4an61d2";
} else {
arch = "i386";
sha256 = "0agybibfwk5n1gxi8g4rbvvmlq5963df5arz4fyi4a1hcayllaz0";
sha256 = "1240w3gqn5rbvkb0v1g66syrc92r1vzk82fkmvy92qsnx0d5z7nn ";
};
in stdenv.mkDerivation rec {
@ -47,7 +47,8 @@ in stdenv.mkDerivation rec {
libPath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.is64bit)
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs)
+ ":$out/opt/vivaldi/lib";
buildPhase = ''
echo "Patching Vivaldi binaries"

View file

@ -1,4 +1,4 @@
{ stdenv, buildEnv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler
{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler
, ruby, libxslt, libxml2, sqlite, openssl, docker
, dataDir ? "/var/lib/panamax-api" }@args:

View file

@ -23,11 +23,11 @@
let
# NOTE: When updating, please also update in current stable,
# as older versions stop working
version = "23.4.18";
version = "23.4.19";
sha256 =
{
"x86_64-linux" = "0hil9dnhmq4d4yq277w48ql3nw8yfzjqgafb0waw6zbc6a18l7bz";
"i686-linux" = "15hcmqyfyx8z7qx3val5r7b9plckh50iy0mxxh2z1wbh96l03l3a";
"x86_64-linux" = "09vjic4yi6g6rbliz4b56swqdpjgw0m7gs2n40xhvbqfd35prafs";
"i686-linux" = "0i2x2s7p1lq315z8198wjlfqr5lqj3mxdcqxz44skrbkmqfd9hab";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch =

View file

@ -0,0 +1,24 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "gdrive-${version}";
version = "2.1.0";
rev = "${version}";
goPackagePath = "github.com/prasmussen/gdrive";
src = fetchFromGitHub {
owner = "prasmussen";
repo = "gdrive";
sha256 = "0ywm4gdmrqzb1a99vg66a641r74p7lglavcpgkm6cc2gdwzjjfg7";
inherit rev;
};
meta = with stdenv.lib; {
homepage = https://github.com/prasmussen/gdrive;
description = "A command line utility for interacting with Google Drive";
platforms = platforms.linux;
license = licenses.mit;
maintainers = [ maintainers.rzetterberg ];
};
}

View file

@ -0,0 +1,47 @@
{ stdenv, fetchgit, qtbase, qtquickcontrols, cmake, makeQtWrapper }:
stdenv.mkDerivation rec {
name = "quaternion-git-${version}";
version = "2017-04-15";
# quaternion and tensor share the same libqmatrixclient library as a git submodule
#
# As all 3 projects are in very early stages, we simply load the submodule.
#
# At some point in the future, we should separate out libqmatrixclient into its own
# derivation.
src = fetchgit {
url = "https://github.com/Fxrh/Quaternion.git";
rev = "c35475a6755cdb75e2a6c8ca5b943685d07d9707";
sha256 = "0cm5j4vdnp5cljfnv5jqf89ccymspaqc6j9bb4c1x891vr42np0m";
fetchSubmodules = true;
};
enableParallelBuilding = true;
buildInputs = [ qtbase qtquickcontrols ];
nativeBuildInputs = [ cmake makeQtWrapper ];
cmakeFlags = [
"-Wno-dev"
];
postInstall = ''
wrapQtProgram $out/bin/quaternion
substituteInPlace $out/share/applications/quaternion.desktop \
--replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
rm $out/share/icons/hicolor/icon-theme.cache
'';
meta = with stdenv.lib; {
homepage = https://matrix.org/docs/projects/client/quaternion.html;
description = "Cross-platform desktop IM client for the Matrix protocol";
license = licenses.gpl3;
maintainers = with maintainers; [ peterhoeg ];
inherit (qtbase.meta) platforms;
inherit version;
};
}

View file

@ -1,32 +1,30 @@
{ stdenv, fetchgit, qtbase, qtquickcontrols, qmakeHook, makeQtWrapper, makeDesktopItem }:
let
rev = "f3f3056d770d7fb4a21c610cee7936ee900569f5";
in stdenv.mkDerivation rec {
name = "tensor-git-${stdenv.lib.strings.substring 0 8 rev}";
stdenv.mkDerivation rec {
name = "tensor-git-${version}";
version = "2017-02-21";
src = fetchgit {
url = "https://github.com/davidar/tensor.git";
url = "https://github.com/davidar/tensor.git";
rev = "f3f3056d770d7fb4a21c610cee7936ee900569f5";
sha256 = "19in8c7a2hxsx2c4lj540w5c3pn1882645m21l91mcriynqr67k9";
fetchSubmodules = true;
inherit rev;
sha256 = "19in8c7a2hxsx2c4lj540w5c3pn1882645m21l91mcriynqr67k9";
};
parallelBuilding = true;
enableParallelBuilding = true;
buildInputs = [ qtbase qtquickcontrols ];
nativeBuildInputs = [ qmakeHook makeQtWrapper ];
desktopItem = makeDesktopItem {
name = "tensor";
exec = "@bin@";
icon = "tensor.png";
comment = meta.description;
name = "tensor";
exec = "@bin@";
icon = "tensor.png";
comment = meta.description;
desktopName = "Tensor Matrix Client";
genericName = meta.description;
categories = "Chat;Utility";
mimeType = "text/xml";
categories = "Chat;Utility";
mimeType = "application/x-chat";
};
installPhase = ''
@ -51,5 +49,7 @@ in stdenv.mkDerivation rec {
description = "Cross-platform Qt5/QML-based Matrix client";
license = licenses.gpl3;
maintainers = with maintainers; [ peterhoeg ];
inherit (qtbase.meta) platforms;
inherit version;
};
}

View file

@ -1,595 +1,595 @@
{
version = "52.0";
version = "52.0.1";
sources = [
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ar/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ar/thunderbird-52.0.1.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
sha512 = "83418f9890becd869c878f4ccb5f2ac9dc57103ac12818e4ff010b0ca1efc85b712692e81e458a59fdea8f878d8c8c77d7e11dd116d045db67a0aef278aab6f9";
sha512 = "1543d3b17ac8a6a437b34df0b3d33081b86554107321716b534471c86415a80fd4cb7f35fb60be7482a7476bdc4d2c5f9fe29dbd8381ff841e1f0daf2007e8a2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ast/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ast/thunderbird-52.0.1.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
sha512 = "7c97616d16f9ce706e878307fe11ace62f87e227c9f588bbeb6eda8c6ba51bdee280014c7c831629ca39c6fdae537506100a82ccc801887df8dfeb35ba336141";
sha512 = "b7b9543253530cb3f166d155465d320d30138542974e71cc92e5c3be6efe12014ff2db5b63372297f7cd3bf72cd1a866606f1bbb288504b6a272e7820ada1bdf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/be/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/be/thunderbird-52.0.1.tar.bz2";
locale = "be";
arch = "linux-x86_64";
sha512 = "cb7a99fd462c6b685cba2f95029f7d4225c0dcc95101523a9d3d807f8abc458cc4c0a035a8111d5655e7b47baef1d3b974b4a785fe1803eb09431b7f36129429";
sha512 = "f9283894e7c9bbeafb8fa6dbd2aeb1756b8d2456fe06c4278741c79171197b505d9a3d4b8e1cc3b18cf22be71555e1eded616ef0ed2648958b0d4d07f9d96654";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/bg/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/bg/thunderbird-52.0.1.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
sha512 = "f1b2f0001359bcecd3cc1c884ec089c4386fa6679521863b449e2e1cc90a70b06e2c555e18640695c9b5d1d5bd45952bbf489ac3d65bc0adcdfb02b1bfceac4e";
sha512 = "486e2b3e149b73d3bc272546f7cc55b9d8da97d48808ca5aa0c3fc12d5bc0ea49c353f8b2c95ca398cc6938e67087f8ace8bd9bbbffe75712fe64b05994937e8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/bn-BD/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/bn-BD/thunderbird-52.0.1.tar.bz2";
locale = "bn-BD";
arch = "linux-x86_64";
sha512 = "b08b572359340e813b71643d3f13b755143a8481343134cbdf49ba7fda1290c48f628c445d57cb254e87650844fe04e9eabf4e4340ec30465d82872aa3eb3cbc";
sha512 = "da54a9b78deb56de84623e71e60083aaa53dd8180f6d63f6ecc5133af846e5f773e63ce9131dc751178210994765a4e3daf68c582e180dd25f26d4f8e95e9646";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/br/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/br/thunderbird-52.0.1.tar.bz2";
locale = "br";
arch = "linux-x86_64";
sha512 = "7bc083526e8aa4a9c6b59adfe237b25d468c4bf07abfb1a7f76d419e62b887978616337efa814f125d06e6f61361ff0a79ce1c2792ddd5723d7dacbb1f54efd8";
sha512 = "b647bc0aa73ca1d4deca50f70d5cb78bc95663c7c1668464c1b2d6d0e944f69ad73de28dd3868a6ac3461c5e64e74e206d508569d52ae8aa2a1da8f1164c4d94";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ca/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ca/thunderbird-52.0.1.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
sha512 = "06e73de3a64b80ba3fab93e08c8b8968d0e84c3f49896bec1c38b2fc35d3c52f5547f5d4ea21f9d2c335e202a078c1c18830e1ccc986823c58e351a85f4337ac";
sha512 = "3c9562e14e20d90d76e6c8b39ef3047899fa094a5639ddffd716b687adb484a97cb6036e3228cdfb207086b28917b74fc44eca07408e7882f45941e50dfbfed6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/cs/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/cs/thunderbird-52.0.1.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
sha512 = "ec8bd4f3f2a6c0e695ab75ddb1d73723472df2a5a2e141a812860c1a20956ffac4a119de737d0adb766ba1f2c664d12cde40158fbffe555c94a77c8054e4e7cd";
sha512 = "ed20a0b054d4e86ed1577c8a2672aa692ef47345243716f6dc840910b29cd915df75f8be9ac05bef385afb5721739fb08276c4bf48a51178fa46033c1131c1be";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/cy/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/cy/thunderbird-52.0.1.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
sha512 = "e21599c17c21c6d425c9da5ce5998c7b6be36040e0437bd742506c8cad93fbbe15ec5dd7b840b085f3f484d4b6bb99bdcb1a6a28a2610c13411b13a18b1bcb53";
sha512 = "2dcc1d221db9bb647f5bf454a767f692e5eb592d1c6af52e144c55cfc81f0e3e05ddc2e3c4cb66b0031e09531641716009d062f340a5948233165564a3d5a5d0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/da/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/da/thunderbird-52.0.1.tar.bz2";
locale = "da";
arch = "linux-x86_64";
sha512 = "1fff0b5ed313a1c404f86a41dcdc94a0787f01f5fda836713de5713697788274619520e40f48ad559e485e1144b898df338373f3ddc85662a95deb8c39fa66ee";
sha512 = "1046c0ecf657a9c5b30e99175f6200e541bb5f33031f1a440b26d12d6de0c558e15f8c2f965a05e59f83c46849944e010bcbdeb6fe100672d97acf0d4038febc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/de/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/de/thunderbird-52.0.1.tar.bz2";
locale = "de";
arch = "linux-x86_64";
sha512 = "ee7f739d8237d7d5f5936e3f520de7d572bbfd0ff19aca140381daf4b2353a42a7b6b79680440bc2a62321c8089619114bce99bc48a88aa6346228ef8d08012a";
sha512 = "10842eafd14068ae5d2447fc2d3aa35066af97a6e49b88d38bcf37be1e754d2403b1c039dc09f418128cd9369da6e0afee278914dd41a2ce48cb4872a7d4d18c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/dsb/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/dsb/thunderbird-52.0.1.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
sha512 = "9439bdeb224ee48adc0af5bc882d3dcb2fdcb988502f9ede03d2ede67261c8007336414a6935f86690e622d70ddf933efe14ca9ef3640be3de46b6c2eba090bc";
sha512 = "f7e6b05dfc94f64c988c761877d02ad3c66a7cc47e2818d267d7839d0b1fa7688ecfac8fd3af98e9e9318806a78e4559d6cfe45de0d96b7f5f8d411c6f6cf051";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/el/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/el/thunderbird-52.0.1.tar.bz2";
locale = "el";
arch = "linux-x86_64";
sha512 = "aa8a94bb35c36c0913f8b76944370ac839cbe1c16021f83b3b8c317e03cc1013e35fa502af3293611f7fc89f30513bb24dfc4d89e745364e85d674afe66a0d33";
sha512 = "0ac5a23a38987a5af15bbb8e458a89df378b89fdd8721063d6df16a3658201ef1fb4f2d04b6272e1d9d43c1d2273df4cc0fc79b7d374f1fdaf7335c77fdd9381";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/en-GB/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/en-GB/thunderbird-52.0.1.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
sha512 = "01b79fa4b147fc7ebc07e29582e9fb567c4b0de565d4fd13a71279ee3946b9e182e086c6c3b1b4c413688cc3dc19979e89e5dda87ce10a181be0cb252ca69f4a";
sha512 = "73f42d30f8fea9063e984d9b44c82aac545a20833133cead89ea147e92595e66da2a1f3d3bd0c09bd1584482474607e6856ba17ff80edff51b169aaba03bdfac";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/en-US/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/en-US/thunderbird-52.0.1.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
sha512 = "a7e76f80e701b8c1cb1ef190d083d463b9e806ee77a467848caf0425b65bd19c51ea4a137bb59b36334fda129816eb26c9de753b4261cbd8f7040ff63bfe9464";
sha512 = "51eafcc7466a2136ddad110fc43640c578d69758e53eace8da52a11ea86869b5d05e537b6132c3c49eb6bc6fc5bad77f2967a472c160963a41775b34600b7582";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/es-AR/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/es-AR/thunderbird-52.0.1.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
sha512 = "c2df311f50945e103bfa390413d8b0a4ac307f658aacb10b37e69eb6742756b8cac5221e27de5b96ec07e4f657851c17928f8e3dc0100b300ca97f9f643d05ee";
sha512 = "b57cbef7843364917632605dafc056323adeb9d06da7e53a65a4450e009fa1f2c54cb5380ed886db4530e845bd6f39cd160ac90f19f99d63ca1f85af09ed77fe";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/es-ES/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/es-ES/thunderbird-52.0.1.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
sha512 = "3d54d936ce165eaf9edfe676a42eb4cb257fa8d18cdd98e4027ac8ac76d9264a2676f39ae37459915b17d7b2473057f076bea0a28a0e68570ad8d1bf8b25c520";
sha512 = "408adb2ef60bbad16152ceaebc8f26c62fb829960e941dc5fc2814b183b780bd0fe79847351395321026a0ef53f703b72b6f4bdc233b3284d050e8bde35c0beb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/et/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/et/thunderbird-52.0.1.tar.bz2";
locale = "et";
arch = "linux-x86_64";
sha512 = "966d12756cea32951a38cacdcc2f9854f88f8d5bc6f07677274e5ab1e9b74c875995dfc226a6df61c8ea1901d14cc7971012a9152f6bc37e4def57166be84312";
sha512 = "3186c5a026029e7b7b4dec47079b69b7f33398b2cf276b9bbf0b726d64709f176e45e31e0abb74c4302d693aae0ecafcde945c78da097cc2b0c1499481c78ea0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/eu/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/eu/thunderbird-52.0.1.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
sha512 = "ac1beb19aadbb0b0b15f53f8778e2b8109eb42913e8ec4b5817dcc31e8dfa8a6d40beb9e0c61a05507cde5d553c7af03587194129d20e388344c4d469a3b1b08";
sha512 = "c60d3e2ab30e84628158ac65dc5c58ffe5a7b9dc7c3d5e5135456ac4be4d4734a4f4dc7d65c15f400dacc55fddc739934f3978f6184a93a662466b759938d1c5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/fi/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/fi/thunderbird-52.0.1.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
sha512 = "5efda4136cc8152367e36a5c460a4f31c8287441599264aa4b5243173fc925475633529564c357385e511d2ac9faddd04c8bba5fa9c1ecfd2ff8e22fb002a025";
sha512 = "14aadef508eabbaaf81a2304934f3848e3831f9d8df2413a49002be36f951c87355e1954d84d58509086c1b0e0aa1de5865edb733d0a07b655942830c83ffa18";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/fr/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/fr/thunderbird-52.0.1.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
sha512 = "75368ffdf22424aa919fd35f47813e13a80197345504c17b4e03673d1666431d4e455d1bc76a8f69fbc25853828d2f6a0b57b705bfd37cf12ca5a3095c075916";
sha512 = "0711ff8a5955ef185678b27e8e43704c652d9024ab4b8558eddfc2c94f87dd24603f144f391f35580c3fd512cd44ca729253501495860e6799440e56c4895c67";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/fy-NL/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/fy-NL/thunderbird-52.0.1.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
sha512 = "58edaef7cb314a54feb5367a931314e5a0dc1b308f92372a815c7b1407ea783cddf84f0ebb0c8c59c217b3f6a9ad97873ba85641735db9a2503ddd76c26f7b7a";
sha512 = "99e49dcc4085db1895b0e2ec2e7a769fb608415135d550485fea03ccc99f325771682f725c78578944c82b2f18aeb207c8abceb86db5390056d27c291f19556d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ga-IE/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ga-IE/thunderbird-52.0.1.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
sha512 = "dd3aae859b04cb9b945083bbe6fb17ba11fb8b218fe8547c6cd4a0d3adb85051f72bfe2adbdf80ec07066ce1aa03e825b2eb153509a0614d98eca8b5565b2755";
sha512 = "f0bc291e1b3dc2e226aaa48e5b87c1e6690ccd04b4b62b36fc654e86173c9dc6ef47170524ceffbb59093bd4188a3cb01a894469daa4bf49a0a8895034d17645";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/gd/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/gd/thunderbird-52.0.1.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
sha512 = "4230cd99c7aa2a9024e76fe52f438574384e682807c09981db24f30cf60dd76ed907f38b212e78b6250f8ee68727e91dcd20fc3b4ce74cd3ad303b9700818091";
sha512 = "65388bee6e5f8255779f319eb0d47310762ac6d3ff6b61f3accb151e52dfff8e079aa16be714fe4a89bd722bf72b65f930384d555d68016a27b71bd236388f7f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/gl/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/gl/thunderbird-52.0.1.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
sha512 = "d393b4b18458ba2fac188c63bfdccc8e9247b860069606ce21e0533a8316bca15117086216408ae86df18fa3ccfc5605e8de51b80989beed38b55ed7b98bf6ad";
sha512 = "64c439a0d2a75a3b9a460966c585913656884da7cf7f81f58e612c9f2523ac690a8585bca61e60fe31e13ed6f07d484e3dab6bff876fa247dc1488f084d8a6b4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/he/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/he/thunderbird-52.0.1.tar.bz2";
locale = "he";
arch = "linux-x86_64";
sha512 = "3d41e16926d986129b1d7a717464956a8ae27c75a709789eeca4d8be4875627a740f995ca9e00072e12887e5caca4d3df8ba435a60494f84aa321a99bd15c4d2";
sha512 = "7b20a5d996164daca9ce2d6af03a987eb67394eba01c942b29aca3009ee062f0c57cc011baede67c09a7b0dba63e029a5fb5753d18edc34c87926fd16651e208";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/hr/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/hr/thunderbird-52.0.1.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
sha512 = "6d8698dcb0d2ced2e893aec1221086dabd7f4f351639281c521110e24c4177f5b79360a1324843c431b7535aa59d222ae52797710c7ad41143f4fb73fcc0eb5e";
sha512 = "4419fac97644cf895021bd974e15466936b45babab7634e35855ddecb2575a43cf9be65cbf83c1c27648b58b656c9f6b4e8d454be901b479cdf86180f244a646";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/hsb/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/hsb/thunderbird-52.0.1.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
sha512 = "0298d90aa6cedf21002df84bf753b59addb072d187b0ea3170f85c041298591994f7f842a8d86db12374e5f00abd4178820168afee738a07ed886f27ac46e9f1";
sha512 = "0f31903823ee2cada852aefa8d19b64ef9ee9e9f80fb709481c155a7a4c97169703a35e7de1f2b805fd91d98321dad81fe0321775c4bf9af5f01d38ab75c70a7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/hu/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/hu/thunderbird-52.0.1.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
sha512 = "be3dc6926a5ce25a6942a5b33c6d3604c74a0d54b5ae1b4974732cc1fbc4718100fad6f5a6ad77706055c5d9d2c8c2fa52d766bd758e59f44da9db727aadd326";
sha512 = "a2972f056d54b7d22ff090e43144ee16f38b01a1d6ba76dcebeebfdae086bde752008fdc89650947944bc80c82078f94995db8bf8daf339ec0a8fa5475435477";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/hy-AM/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/hy-AM/thunderbird-52.0.1.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
sha512 = "001726c9b817c9b5c34778e0e6f31deca7d11d4887dfe5707e7e386bc0ef8dd9acb20f5008711d7d51902fc114590712d0264ba229934859b0089a8993deadbf";
sha512 = "47e80c575adae2327cecb5c41ed747c9d4da5ecc9e9ff8afc5dd35764b039050aa07dcbdb79d50fd7a4d8eff6f233f1a3cac3365e6a4db26e0058030d82a0f6f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/id/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/id/thunderbird-52.0.1.tar.bz2";
locale = "id";
arch = "linux-x86_64";
sha512 = "df01723f6fda8f38241683972283c6d1ebf548251d5deb4f061e47d294d67271c72c05cac8aeb2e84afeb4a1af5ea29bbe6293a6a1c4654d597fff2e77b167e8";
sha512 = "3d8f7a87727e772aa9435bf0e381703003f9a1fee98d71dd7f3fdb7add574a0c5245dcf8903895fa858ec2afbb9823d658db4fd800427d29c71ca93546adcd8d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/is/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/is/thunderbird-52.0.1.tar.bz2";
locale = "is";
arch = "linux-x86_64";
sha512 = "12112dc6a40579f16bb9d7d0628a31cdb815d7da0484983be95a1ea6aa456f8690d8c0392b164cd365c94900f0b32acdf4a9a247e795a572da9c024d5fd56470";
sha512 = "5ba20b28c08cf19f12acf887b92959a09cfb471776ab1805feda15ec4d406a23ab9c6c719a64ad2a65684f9e1bad00dd2f321285bfa85bf8e2f5aea5ffcc26e6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/it/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/it/thunderbird-52.0.1.tar.bz2";
locale = "it";
arch = "linux-x86_64";
sha512 = "7dc5c3a52204e4c77f7cb16c40c583eb1617d952c8f887f918479ba3268a006e13cb8d3cf21379b53b217ce7cdc4295876eb9f7e6108760d6d283538fb455bf4";
sha512 = "127471777e937b3b02f07bd66366680eea194171554bf7f11659331fcba414b49d0ce07457d754f5131084ea89d90d6e9d4e62929fe3d7c8c4a3d58b1b34b72c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ja/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ja/thunderbird-52.0.1.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
sha512 = "43d500330ca83420787adad7de1510a6acaa958f82a265e631191d1305ccb70c0ab118c78c1948cb466603b88d023268aa32900fec2e1d81ffc29050227d2c72";
sha512 = "aa013a6c50d660a150b2b4247eaee467ca1a1a232d268121a8e8113386c9575e2667f4cf75c1e7ae77458869a9bd4d2f7972c5cb2aa919296bbf3aca44d48093";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/kab/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/kab/thunderbird-52.0.1.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
sha512 = "609464c5c9a86b7c645049c2c3ac63a936a0670250599290d3f6676414a112f43036bd2867bff462f8c1ba89de053041cba887f5568e519d553e0adbbfc42283";
sha512 = "6f4f4b27c658103dd6c4a9d2c9cfdca09097539eef1e123bda9f11d185a25f0cb944e96d37e9a2c36664700948c4b052a5eaf463e4fb045fe6def4773b19a8c6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ko/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ko/thunderbird-52.0.1.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
sha512 = "c3f3d2d5a981a8756a3b76048be1627076e6a822f1cd81c24bfc496ee6de2865744ef50715411d3ffd4db4389e72a1760130d63b421e65c8761a7bb673ce5f3d";
sha512 = "4efbc262f563e03ec78a10658772c9c3b446e5c378159d35a68b432d1b582dac589723525a26e337a2739c0ea116cbaadfe8fae110ad172fd7268a7c5e76c50f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/lt/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/lt/thunderbird-52.0.1.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
sha512 = "cb746e1fbf5929225c91c2989d33b260fd768348ebf6c232586bd27b46e964f94443659270a6bf6017bba48abb93f533f8428ffda52996597ec8959f8efa3026";
sha512 = "b1f1cbdd9642e283144200d716783a212948bec80e1b5d27046e80c22349e8b103e98f31bbbe392f4a1467805bbb28801b0f8c597808f03bc6fdc9110cef2900";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/nb-NO/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/nb-NO/thunderbird-52.0.1.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
sha512 = "67d93508be6d5651707ff7109b5e80fad9db5fe442d05f34834c0c05610cee9aa8b3f2b61dae8705a1ab5b5b5addc089a52928ff5655b93d4c0870dcb9dcaeb6";
sha512 = "51e675ca839bb7d205121b7023244a9716eb4b7f400c534f6b3a3275aceaf827262a816b790492d3cf01b6f01d64b7cb0c1f2385d1ecc74dad0f450f8d1b26dd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/nl/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/nl/thunderbird-52.0.1.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
sha512 = "6b40414449c75856280987b49cf3abe6f3725b89c2a53df3c11c942523d32e8cb3195ee49bae9dbe19d507473ac6b91588ed1e75df7aa1e1418a8ac0f69e326d";
sha512 = "866a4d117196834fc415e6dc394c82a9cef6747c838068abf0efef5cb5e03f26d65f5c3e9ccd90fe7229a8785817736ee574d73424ac50633650bfe6c9848633";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/nn-NO/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/nn-NO/thunderbird-52.0.1.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
sha512 = "65eff88f0b0f8672bd587693c1e7d55aded95d308f624e9dfd8731b2dec948cb7ee9ffaf484b35130a63fb6d9314ef8f044363c6b41f70f3e540876b109caa41";
sha512 = "664d8941c433fc04fa836f1dbec12ad73ce3cf9d19d898c8cd6b6c9fc283380e7af27a0ab949881f5b6151595a6c584f938aee6f88e5239fa2de0403813c3388";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/pa-IN/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/pa-IN/thunderbird-52.0.1.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
sha512 = "0d4ac412f5d64aac841a1fb0dbdecfa80ff282aa8472df3e9e65419dac486e3086d954c17d1a535904b61b7907fc55d02376fb7a4c46dbc53f48f427673bce8c";
sha512 = "4dfb57686154b3542fef873d08037fb86f7574260884494872433496b82f0b58a14710931fdd0bd5dbe7372658691b2e953a4fd794378a993f97fd6c8c9ac496";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/pl/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/pl/thunderbird-52.0.1.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
sha512 = "6ded5f995084a9fcee1a49f3204e2342216c9e04b5b7560e52283bb33bfe15fadadecbe9cbb6bc8643a3fc114b44dbe6c53af1b8f31ad3e3a53653f1fef944a0";
sha512 = "47041481a2cc660bd6de4a018aa77ee4f8217fc7091b37ab8c26d1ec1dcb0678ea80130ee84289dcacd6266431da4532a66b041faba56f1bd8746e991c748a82";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/pt-BR/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/pt-BR/thunderbird-52.0.1.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
sha512 = "7199ebcaf1c206fb93fa0c42118876e2e416fdeee9907c6f43ef0244a950a13ddb74282898b52b85cc2fee3f8fa7077512f3414a916fe1a839243b5823aba7f7";
sha512 = "3001331547a05bf5b76620886096fb80cc594c625a335fc613408da5c43075c15abb0a6803cc34c740cef5d7ed9339e21c2db3a8a736901350674ab3b1024514";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/pt-PT/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/pt-PT/thunderbird-52.0.1.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
sha512 = "e6290824e68970d66bbe1787c18062e7638989550f5303c5e42464416a74cdcd95c6005746fcb1ed1a4703fe53032eec1fda92cd0107ca244ee9b8dbc7ee6d50";
sha512 = "402dc645810068339fb9fc18d6e3f025c48013281e3604e9a3da8228ee6cdd304ad3d2c10781dedbae9dbba3737fb122a3fd5abc3c856d1afaaaed2d7e23042e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/rm/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/rm/thunderbird-52.0.1.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
sha512 = "7a7abb88f8cf6d40adfd96c2173a8ecb1f2b4eec4e12111bd6af71837b6ed154086376164c0d3fff56eccf4039c3459e275d1fbcddb42fe6efc5c837816f1f3f";
sha512 = "4789cbabb8ba897a508e9dff91fcf838eae8fb4d330f500bb7f545cf46efbffd978801016898bc89bd6f9fc558df2737c427c16e2ec40c0a7866301abd7450c5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ro/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ro/thunderbird-52.0.1.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
sha512 = "27fd6ec6be3a876f2ef65f6cc65284609e03f07d71081c967bdd4aa789602cf3ac29885ca2fd710fd8f93491006f4d1e51e8106bae112cfe1b662e13c24b80b7";
sha512 = "fbeb8ae935f69efe85b1fb45969b8142b197d340293034c088ed50cdb563466128e305f8ad2c1586c9c18c2fd5fd4042b95ac15aa9e2783fcda2c67a6aa941b3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ru/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ru/thunderbird-52.0.1.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
sha512 = "19ca3df78354d2c6dbbfdbde975608b73bb4277351fd5d19f15183fc55b8daec2e8eb86edc7f59fe27ef8871497d54b30bf468d2f4f781dc1ec51ef77047feb9";
sha512 = "a0a21b2ea3720b776b3a7944c1a9030ab80451a4405afd87f49b424326cfa69769e7e9bb54071c7747f4fe4af8f18fc3a9f8db73a848c554d9d4f3eded8cb9f9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/si/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/si/thunderbird-52.0.1.tar.bz2";
locale = "si";
arch = "linux-x86_64";
sha512 = "28acca4bb30e303b063c88ebaf320799172421db9c859c3fec5b0bd1f02efd76e52cb82586d577fc73de5f2ee6464ff99dcb32351345d7d1aa28bb14fd856638";
sha512 = "bb919c3b00f4122cfaefad1a88a68d3dcc88f09bc6db717cee14ba3ab76adc4b4c1ff32dcbbe0babe7336856c31153eb69e2297d88ca60f9e561aab083344710";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/sk/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/sk/thunderbird-52.0.1.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
sha512 = "f62ea125270243a9f09a2b3b57fdeca752da12788301efd89cb3a3ddb72b8bf4e8befe123ed843a6e70aa42c32b14e5fab8e323bc70383be0517082101dc5f05";
sha512 = "c6e1e049a264bac92fc103b3242fa36dc38caecfe22b909c41ac86e570d7f3c9a7b39ad9d8f9f918fafb60f91e0e3fcd925a598c9f7deb6f7874a92436de6ec6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/sl/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/sl/thunderbird-52.0.1.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
sha512 = "bda98cb38a8334b1612ed72a286cc5df7d4310cc0a4f2a0bad9742a66a898c11f393b3fee48bef3996680ec32d7217e5b2b216ea8201d72fac234c3fad0a0bcd";
sha512 = "7af3e5a875077f94ef0e7aefd1b170d8f8285fe99b9c59ef568c055253f812949127a37557b88f2097282de8f1615d272abdee51713b30f376b08300c29bc814";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/sq/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/sq/thunderbird-52.0.1.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
sha512 = "704a118df4a6279383e62c1a7a09e24ab5073540736979ceb69f57d2d5a4de39e7ec58ddb2384cf48a2924c4424fef2a405a4b5745b54ff63ed56d93a3fc31a1";
sha512 = "ff37ad0845c95ff043c906bf80b7221a541a1eb038ee2be63d7b2d8d1cc8ecf26698b2fed0433334454203e09c98d4166e972e07968fa32e17d826811687613d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/sr/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/sr/thunderbird-52.0.1.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
sha512 = "9457f07c9a91a163927d1cd536e6b918fa7acaec4333a9b22ac1fb8d26bc528cd34346494184bc4d4172110620bd59faab3a2e036afd3a0f6bd871e4a8efdee2";
sha512 = "487c92ecc4123607466a0e758a16dd87537be32750b12a206129281ec42afc8fc672cebdf948b3233850b8b31338abc829ef60f8a10187eab6bedcc11cd6e11e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/sv-SE/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/sv-SE/thunderbird-52.0.1.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
sha512 = "d9a2e8c1f76600cd9c8e2c1992269ce6a43891e58a9d870b2e2085beadcb46d7af322fa304a99c48dea2c91a68b5adc84094e179efd39034901d1f2c68686e53";
sha512 = "e0eb86726198982cc14db6bf1c2b7fda2b60492ed318978c6c9349ad7514eb0a35798a3179ba1cc71c84f3219439068c957c38bc87207e5ad81c200378f5ea1d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/ta-LK/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/ta-LK/thunderbird-52.0.1.tar.bz2";
locale = "ta-LK";
arch = "linux-x86_64";
sha512 = "68f61602b4a6a277639df162cc404c4ee2f433daf7bc5b1ad51372e5ba1a469b111d66837be27db3f42e56239f2c34d632a8ccd92fdaea58a6306da822070ab0";
sha512 = "7a3ab20a071e8cd1728104c31260e3b443cf5c88e116240ce4575c544708fcd5ba386385c72d38b98c1ad76c1d58ff3553828d547e1e64e179521edbe5d31388";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/tr/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/tr/thunderbird-52.0.1.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
sha512 = "511eb1a4dc9629b5dc7aee5fc47ea2610e367ac871814c6746094cf0250498db59da74b4e3ac84c54a26b4647d3c08b3e5252b6546421d071e203559abe942da";
sha512 = "6ffd911857ecc23c6a41181b684cb9cf9eadc7a76ecb1cade7ae1a5cedca1cff5b18660d76d6b10d722f28493a618417ccf31037229a1af62281c04360a986a6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/uk/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/uk/thunderbird-52.0.1.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
sha512 = "07e8b6be8081069ae6a33e30c936ea26faa1dd9018fe78bc0d8783c7e9f4aec35a7ee8ea8fa6fa0763348423f11b4a60fa34c4f64cce1cb45d470512a7b889f1";
sha512 = "751b43543f7ec4684f4f71450aa301e5f63ea252901cec77593ff637fbb054a578d7fc13a58ba05247af46e86af11f1ec7f0151ab49eb4f824fb11c03c15c6cc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/vi/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/vi/thunderbird-52.0.1.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
sha512 = "1fb6aa8661adeecbd3fde91e1158f102573e847a88b5ac2e2e79502c292a200edd4a93393fd5e44cccaaf2f91d7195722eb5e0df768fcabcaddb1681d85b5a48";
sha512 = "9aa955924e9a7cf6dbf9f9ad94e9d8cff9f91cda4da5ddb8a1e9d2719081ba5adce1cdb57ec55a76473679c63dddc9ac95589503adfa5d4ad00afae6002ff4fe";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/zh-CN/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/zh-CN/thunderbird-52.0.1.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
sha512 = "807459ac5666d19595b2095c78116921b046f0cf3c7a4958d56fce8e92e81ac34cb62137a199b7489c72aef1226d29b0c39f34fb9e30c03b1ece12668a00ce1e";
sha512 = "3bf34fb329ea1bceab24b0249c138e82c3725569ac82023a33d70c8a94e559f9d930b277bfb8df34571e4e2195293ee997de95c6dc22285be9e3ef15bd145ebf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-x86_64/zh-TW/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-x86_64/zh-TW/thunderbird-52.0.1.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
sha512 = "f233f514a91b558b9b792d2c72fa725f1232786797c52d37d49974562f360b5bd94a02efad1aef751ab74d94fd18de389b6dae416497bb764b474c2dcf90fb18";
sha512 = "f8928de4dce61b52fd69305023ff4893e35cfba2aa712dc34dc7deb024a36cd7c12a662a497a21e7f647b14779216a3aa2b6a01f84751860dea04b388b265c6a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ar/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ar/thunderbird-52.0.1.tar.bz2";
locale = "ar";
arch = "linux-i686";
sha512 = "cb89eb4eb32ac39202cf651aecc963ca0a1b215f5bda3e23fbade26da7c760e3e0ff06184f963904441c8db5ce4f12b34d5d28a6f119c80a5a20305478ed8b54";
sha512 = "1a5f8a3da90724b1a85b63b7fee31d104e4ba1620b25e6823fa556d8f675335f3c25dce0499defbf8277c3fb6db98c58500aa6ec1460a194715d2d87942a35ed";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ast/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ast/thunderbird-52.0.1.tar.bz2";
locale = "ast";
arch = "linux-i686";
sha512 = "4cd5cdeea7420f5cc7f1dc2aac10f8db743fcac080a3ecd2b0af33403d364ff6ed711d4307b5126686e06f7d0e759c9f2ebcc69bd21b2eb297a3052a66f483ce";
sha512 = "a4f5994657846378b0a472deb03d87fc30d27b35d9787c8fa53a7b428dbd4f3b0bef988863894606dc9b6c2370965353bba4b54140602a5acb7f3da433822f72";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/be/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/be/thunderbird-52.0.1.tar.bz2";
locale = "be";
arch = "linux-i686";
sha512 = "cf4306a2fee98805722391e32f11e230b6b9c400cda8e555900126f6f19e03ef8e45268fbedc81b05a1a2b408b82e740c601ec1d315d3a34257a7513d400726e";
sha512 = "2c029ac149cfab2eef9e1812dfaf755692265df49bc564f665e34308a1124f749a47850cfc19d1b15a16ee63aaa319ffce97e7025e894aa4a94c91cf81998f28";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/bg/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/bg/thunderbird-52.0.1.tar.bz2";
locale = "bg";
arch = "linux-i686";
sha512 = "0ac427d9b8967316e5b9fe434ac20d019e93fdc4a59f4f0914069d9b9b2fb4238f9f80d030df0b1d07893a0332fd400c2359fcc6dc7bfa728774adfd098fe25e";
sha512 = "ece638e2a33645df20d4c59b157efc57650b591b78e774dc5f82174495faa6afe9e80aac62e5fa106feb29d5cd7369313e3a182adc65e7c9f870a7d0e9e796e0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/bn-BD/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/bn-BD/thunderbird-52.0.1.tar.bz2";
locale = "bn-BD";
arch = "linux-i686";
sha512 = "035d95bedde2b80451c03412bc3b732f2485931421f0581c8b9d20b543fdd0237334e46e819d98762097dfe321ecd4e872495e6d7478c4632cbf793839a369ce";
sha512 = "8c799ded0a1d090bc8a82044dbbe843f737d9e0481db6ddf33b1609e19b0f7535249677b22a53d71a3f7cf430adeb86421eb2383cad5c73317da71c2c15e50b1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/br/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/br/thunderbird-52.0.1.tar.bz2";
locale = "br";
arch = "linux-i686";
sha512 = "156ded085c9800dd6413950e2fa26a2de67834ff48712a3a893e284ff8ec6e18f2eef02031c3962d72b171dda432ac679e6a31b2ffa0f766af1ae8ff6d6ebd20";
sha512 = "9417121f1d26d5be82e4857b87283857b072e433e0d90c191902a118489f165add64a5241309934a0b91cb21128c92326a4ce98622a2b2444e55d5bf7ddf57ac";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ca/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ca/thunderbird-52.0.1.tar.bz2";
locale = "ca";
arch = "linux-i686";
sha512 = "7affe51b4e92dc04569affea1165bbcfeb66468d7c1c1056ce03013c924af3de6c8d979ccb898c9985b0ae076bb662d692d11d7bbbd82e59a9b3bfaf0ca8c584";
sha512 = "0b0e29ac69055336f5e157bb48d86316f36d86f0e984a11a000e4c4518478e8198cd4eb2d6815c1c6456d17c6047d92ff5ae0f6ef4f26a96bd172b8c0a8c308d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/cs/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/cs/thunderbird-52.0.1.tar.bz2";
locale = "cs";
arch = "linux-i686";
sha512 = "0c5aaeb88985ac6167c0f28f4115eb3a95be16900677ccf0cf55fa99c7194997939f141ff2bf2d497bce9260628eb2a76083c7e3a1d81511dafb829fac2a91b4";
sha512 = "6124454cd4ded6cecf953beab5fff1ed6105ba881624b83fef6c0d8798bab161a63abc3b0dd9a94fff5ed850f638feb95f5de4b9268b9ea71b9fb5eb52618407";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/cy/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/cy/thunderbird-52.0.1.tar.bz2";
locale = "cy";
arch = "linux-i686";
sha512 = "0776b21cfc88061b9550ca9a0c3d77a791dcb403f7355235611d4d5861c36a1cd0f64a8ae1de3e5d76bbc560f76f2d6819ca53dc57be5d0fd2a3ebca81d7007b";
sha512 = "b1f0c7dae07a7130f1e9f2abfeff12008ce40f7486ef14964c17c7e665c3b4ceb52e48d504965da78993117f5bb12e14853c2a740b00a71c03574445f1129db9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/da/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/da/thunderbird-52.0.1.tar.bz2";
locale = "da";
arch = "linux-i686";
sha512 = "f22f9601cacfcb440a8657a810ad903000b1541930df88766098e1621c883e8f320c13fd09ca7958ce134d93f7aedd22f659b27fd7c50329e67659820034ef41";
sha512 = "5b1e6fd39cfd1d206a1a670a25df98ea73f490be5880a5190ab918b9ffc852000085c0ad89dec1dcea25c101a7ccc43bbc531f63a5dae95a515e0152dd2eee21";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/de/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/de/thunderbird-52.0.1.tar.bz2";
locale = "de";
arch = "linux-i686";
sha512 = "6537e54372558d8a65f54e34aa5012b01d637f309ade5708ab040a345ec7c22cc07646caf0f84e68b5d926d24e9dd3d39fd121578ddd7027b2542b93005199f1";
sha512 = "5690e0d91c4969f36805e21348fd5d868cf02dc524f24081b4af9afde85ec053a76f4b7a7746c591514973cf18b0e153b9e54112393aeea501e7696b3f63b0ff";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/dsb/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/dsb/thunderbird-52.0.1.tar.bz2";
locale = "dsb";
arch = "linux-i686";
sha512 = "a913816a013a3209a071c9666a92e7a876e601bf22af4f3ad6b331788b4693967d5e7a9059dfcd23fa797c7222a303e6708ec3bc39e3f4acaa9650688a2bf4fb";
sha512 = "8b5663ccb6402578181d84ae92a823d86c243fcdb77a25c69e6be660d137fadde4fae5ca5385bc393d9809ae06bb9b57c68791c8d06c864e710e9f33ab2183e5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/el/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/el/thunderbird-52.0.1.tar.bz2";
locale = "el";
arch = "linux-i686";
sha512 = "81e8308d1911d45fc1b4da582fee526d52245e96b4935119da542f53434abcfc9d7319acf902b706d667e03e05f4e39c8fe6b5424fd2077c862bff102eab49eb";
sha512 = "0cbf7aeb360ac59d4d4dcac603194c03082e37325c0aa08e79a872f819f5cb25484f0cd7577333194d12a80260ac665fc964b4300c49c2f96c6a6e885cc8b8c3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/en-GB/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/en-GB/thunderbird-52.0.1.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
sha512 = "e93fe34674f8cb02e9fb2b2b2695c402e2a4cb35f7b4bfbe96c41cf27e6dd0130647d236a918c9595dedac0b7450aab4c8acfb9e2f18a99979b7099353447507";
sha512 = "fd565d48ceeaddca038265577fef52643218afdcaeda5d022ea125012ed565628670aeb6db3822830a39b43b8372d843129dbeaabaabe7904e93a2389c03957c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/en-US/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/en-US/thunderbird-52.0.1.tar.bz2";
locale = "en-US";
arch = "linux-i686";
sha512 = "a71b372f1404b1de310494bef37b3d511318d050ce24109fc56749718cdc19a3812323529e9a4a9cb6e9d81794c600c62d5f4487595e4db3a1df444a40d97066";
sha512 = "a0c4dbb1f39e9bacf8fdd7660d280142c072ab709204f02a2ea4eb7dab9a4475a121551c98fedb4cac2f1700b0adace7e7af04decd8c2d65bb14a4bc58bf8b59";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/es-AR/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/es-AR/thunderbird-52.0.1.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
sha512 = "bb38d967c613da3122ee421b95d5fa633581193f4899407125403f13d754f1061f78770d342bdeff0e597e1ce813283b25ecb6556aa5bd095f40386fb4e6b563";
sha512 = "205893ac76ba91d29ed6f169da01b0ac548e03985eae64955c5493969060c7eb31b6fe0557ecf17301576e1a4b637f2615818ef38322f91bb366c747530dfe22";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/es-ES/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/es-ES/thunderbird-52.0.1.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
sha512 = "77c8da8cd474ea74b0313efdea0bb428bfe164c243178fafe75075b71df8eaba764d7ae9258d00ce02fce3ed4648ce839c46f3f9e431e0123bd41bf313954fb4";
sha512 = "6ffbb09840acf9033a7f1f1b19e81d6d51cb90f2578c741c42a81f2e7413d4e9f47afbf756a7b317dd7e7d66ffd025c0d2af31c765c7a8318a291e63d4eeb8a5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/et/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/et/thunderbird-52.0.1.tar.bz2";
locale = "et";
arch = "linux-i686";
sha512 = "323bee6b4005c78c95f1621e9a89d9faa95da44316ce01792e7488b00562d1d64ac23dcf7974d5162e52bff4b9327cfdcff0a85524869cacc4431fe6b1450436";
sha512 = "79907c40de73a6761bc94b72395eddfd44cac795c6ab0614e764f467f59eb506829c9957ac3fa338feea8a900134195fe549c6b4568655078904337755319523";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/eu/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/eu/thunderbird-52.0.1.tar.bz2";
locale = "eu";
arch = "linux-i686";
sha512 = "d90d4364e891794147ad447f3248444218422f6140e7a202554f25a494a2fdc399823f83ce85edf496753125076b83e19a28987b2dab3aff582d1e860a238d73";
sha512 = "dd799f923143380e7a639a9ba313e24dc4457e6a0ec9d6b266103e64c606db2ee702f56fca746049972b2fb63f03713307ee7a19ca7b3dcb93ac6d6cabc897db";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/fi/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/fi/thunderbird-52.0.1.tar.bz2";
locale = "fi";
arch = "linux-i686";
sha512 = "b0c9a426eb74f9a8ef3972f40d4a5d73a1eefadf402e65a137043ecdb9f4e0b79c4e84f78c03afaa3d6f0d455b62ecece1861bc289091f5c2354a226c7e10ffd";
sha512 = "1aed6627a6a0a72d5e0d52b1831d4f756205d92aadccff43a1b9543d0d426b2cea3b9d20ca1829f29b1c9a1a832a43a7cbe9b870aab138df3133c2e886d826c7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/fr/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/fr/thunderbird-52.0.1.tar.bz2";
locale = "fr";
arch = "linux-i686";
sha512 = "9e44644cdc545e52e230e440e2277db6b465a5b36d00c7a7fdd65bf8a141e98444682dc1ab8ce2c85d15ef82e739fe3fc7225c551643244d565a06e883227dca";
sha512 = "c3d1fc74da5379825e180c3a3d0569c83a3f0098eeb396fd73eb3470d054207317506fead5b116a32b7a3e2a4c7c98431da9eb16548daef3baab052d53f432ff";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/fy-NL/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/fy-NL/thunderbird-52.0.1.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
sha512 = "f3885565bf6bd223494c2169655844023732207172808d8768f148416d8e56eeba3a154e4b9526bd5799cf400369c7f25e41a5a1b78d17d2fd266f6c1de6bb38";
sha512 = "c557220187979d06f1697511a69dac852c3f6662e6474b9d8bd0f0d49b5211d5963b1b6dc75a0e3f831bc724f3e28e0548da7cd67e8ab90c29901e07ec802f03";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ga-IE/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ga-IE/thunderbird-52.0.1.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
sha512 = "f23f42508eb4f4deff3e5b7f39e5ff5e54bf2c973c56a9800036cc1add4b64b0c597babd60a045ed51cae86c025f8455dfb11ad0c1ecf1b774529810519c4ebd";
sha512 = "02b3ba15ab86764cf41d275aea8d39310455e74e0f00418c91151bfea623385efe0c59202dc499a7f3e72cb6c64c7c30ce35663c1fe69a761a1761865f7852a2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/gd/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/gd/thunderbird-52.0.1.tar.bz2";
locale = "gd";
arch = "linux-i686";
sha512 = "05b37eddcb7d8f78c0676bf918483144d98d935736b562c9fa4b60d1bf290ead4cc9328198da86379d8ed3055d4ed36170897567b3f1273824f7242925d8f55c";
sha512 = "24086d6f92611b0b8a9e3b79e42a5494dca7147bf8597df33d5d3ff745a1bac41ce39156f7df43bd6c21b4e845474ca085f9082cf4207cfec982c50a88fc6c16";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/gl/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/gl/thunderbird-52.0.1.tar.bz2";
locale = "gl";
arch = "linux-i686";
sha512 = "59fab273843a9f1fba78c19d63bd61c0cac0fb28ecc78549dcf4d52955dc108b5e4bd963e49652c4a7e8e4b6c66ce9e62d24a8db6b67b76b234c860d889942d2";
sha512 = "66b9b1f073b352a6c3147e44631b88cd79e1985a4d6dabea142170871cb795778edcf2e7c2f0d4b94dbf35b24783b26e30534402d2a5e05cf2587609183820f9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/he/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/he/thunderbird-52.0.1.tar.bz2";
locale = "he";
arch = "linux-i686";
sha512 = "63ad6fd03ce2503431d759d56f3ca92168a7eaf1d23aeaa7c9be5206c94d51813f3ddc06489f2e47d2a182e8dac425e35031b9ddafdc8de34a31f0b69d4c8771";
sha512 = "b52223e1314043ea50a70184e7812533b389cc58c6e0442daa96975955645478ee161e60f4a8e4f517164efac83e0157bfe6a88d25d056f3849ebd3652b39d56";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/hr/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/hr/thunderbird-52.0.1.tar.bz2";
locale = "hr";
arch = "linux-i686";
sha512 = "3184f7e69c48ee4972aeb4ff7c59bd5db99e5afbab54c82271059c9c2a5d6d42fee1f31030ca7c92812486d9e4c457bb35984a1dc5c055ecf9f7ad9f8e34a986";
sha512 = "010c2ae0a21e167613b88c110ed93e6e60920e8343c6ef22159dddd116f2cdaec18a6545132bac87d828ea717d6090979ad88483093cc280f9f97292fae1e456";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/hsb/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/hsb/thunderbird-52.0.1.tar.bz2";
locale = "hsb";
arch = "linux-i686";
sha512 = "4b8a847889b02b04e80301756e403e0c1d8c38db7ad5c74d843e25f29ffbca1e7449d9e6a4ccb55042f868e3c8018ab00f6f4cd53c86518b3b922618c34b6e7c";
sha512 = "1f7b6864a4760ad77c3b93f56eaa80f07c89cfbbf03523c71c74f7677c4a3b7b54505cc720990308477316d7e30839916b1c51cff8d3cd5c9af99919df8a3f38";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/hu/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/hu/thunderbird-52.0.1.tar.bz2";
locale = "hu";
arch = "linux-i686";
sha512 = "e0887449cd5668bd06101c637a235d989c93fc831f98b09c7cee031de439d7db9b0a8bb50c1b4fce47bc6c9ef8769d84824e211c7812fa40fb962f88120b9cf1";
sha512 = "5ef71ed0803dfbc0c4ecb28de017969e40b9df3c6099866863004914fff1804a010f721d779f43e6b240d7b309b7877664b5d96ea2c5dfef6fe0403b3592c359";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/hy-AM/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/hy-AM/thunderbird-52.0.1.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
sha512 = "f00f3d7c58eedffd39d012391c9464d8e0411fd557d1e52191e635503fa5610bb01137c062c455d9174ee83268f81218f9dff9272f4ade078c003f352a16e4d7";
sha512 = "2271c6d528dfd2e61c98dc976a0aadc20d39bd8d1e7cdeefe7cdebd9e0eedcfc17e6503c8b204d560b2b9bdd05b5a87de5b0422268e39ef8fc1a31874a7807e4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/id/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/id/thunderbird-52.0.1.tar.bz2";
locale = "id";
arch = "linux-i686";
sha512 = "7e0fcd2d2773a8f765c21b00b1d1945113219ad6834763aa491fcc570c5c536ebe0089c0f0495794d36a2691674fdcb8b22bd95de5a5dbef2f1426024b2bbce4";
sha512 = "6469eed9762451392ff88ef76a4811b4122413050c4eb5b7f7ccc97e34ae0ce5c00ac8ccd41aeda92a9478d335f62bc2055e7200d1bae5217cc7370275ff72e6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/is/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/is/thunderbird-52.0.1.tar.bz2";
locale = "is";
arch = "linux-i686";
sha512 = "48d7879aef3e4528c4db7a86cc28dccf31087d171e103ed9b7bfbcab8fb07ace3353a259edd11ae20bf86ddacb31f2c11d96d460a2a2a8ca3c3935fd6d8c5df1";
sha512 = "6b46c946d456408152f7058540a1247f278b0d228717f089582f11a2e6c8221834fb09da48c93aa8ccd68fab537719d0f8ec3b16cd043ce6b59113cce75d1018";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/it/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/it/thunderbird-52.0.1.tar.bz2";
locale = "it";
arch = "linux-i686";
sha512 = "4a3437fc5e64ac4e0ed674072ff8311548cb0da1c29bed28d7d47c935aa906905e0d153d00ae434899f281d5efac9c306b2456b58c131369ff993f405491265a";
sha512 = "2fa1ad4d939fd916e29d3f76bbc55f2eef4823225d32bf2292e03fc59c81d24657aabdd228df092e4039ddd555e7ea3a39c840bec58154f10c8535a79a2d3814";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ja/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ja/thunderbird-52.0.1.tar.bz2";
locale = "ja";
arch = "linux-i686";
sha512 = "d148936fce3b77cfe79c3acd195bc837eba485d6600dd2a19a9d76765435ac6fc6688473eb8572d4bf40461dbca5562cee4baefc9c98aaddb03679748ca4c36c";
sha512 = "c4ad832486169e0bbbc1a14a7da399e0149b236a8ad9b71ec723a6c9098c4c90446e0c2c8ae0e4ccd78a48fdf8096f6b0290b0f6ab74469a53b8259358e6ea03";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/kab/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/kab/thunderbird-52.0.1.tar.bz2";
locale = "kab";
arch = "linux-i686";
sha512 = "64e1f2044f8dbb1664d8d4ba85514ed17b3c49a16770c4b64e10873e092a9424d939e7fe6bb8d6d1df5f9f3663e259206fe83149f45de16aadf6fb16a8b04755";
sha512 = "9cfafbe2030610fa01901600c6661af69f9bd66f10c76ab227da966cc860e4a1ab9c07a80b3901d72ee440762536ddd0c1d478539f1087215dfe130e507df79a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ko/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ko/thunderbird-52.0.1.tar.bz2";
locale = "ko";
arch = "linux-i686";
sha512 = "886566909754431b806bef2f314cc3fcd7330e2df5119c2bf65f5f48a9cf7bc378253c4e1f1b8b6cfa409962d6a801bd6547bf2071738ee1b20306fe64318748";
sha512 = "640c0f3466aebfb43b88e8a580797661a2eb016f4eea4d9dd081009f4bdb17008bbcae1759a2d70d8dda3159f024813ee943b2a88a0c21a97f14f4079dc7744a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/lt/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/lt/thunderbird-52.0.1.tar.bz2";
locale = "lt";
arch = "linux-i686";
sha512 = "24377735d80a0d23ceee9b5594cd37c277141b7ad33b146c7a304fa1de66326adf76443966e17fbb1995848d41374cc44137a8b2956e1254744d50a643e4db82";
sha512 = "9a5c403ea9456d2f27b77c7a46120f45eddad60fc2d93617b246d5b7b7cc59a93698d00dfc35b33997cac5ff71ffb036469f63e8553cf8cc6a73de8959b76b9a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/nb-NO/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/nb-NO/thunderbird-52.0.1.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
sha512 = "d53d4089bc057a66cd785e263272962765b2c02eebce6e0830c84748a17cdf09d478f329b486532fbbcfea13967060d2ea2e758b07a8a6cb0a6b56c0a95d611d";
sha512 = "c485347ea4518875bcc384259bbb63b1bf2b6c1e5fb76e7540bea9ac664c0f6b517c563144489ce6ce3a65fc6aa9736088040020e073627fca032ae53c3c6e2f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/nl/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/nl/thunderbird-52.0.1.tar.bz2";
locale = "nl";
arch = "linux-i686";
sha512 = "2d23cacfa1166315e5b30562e620bb8f2fedefe62b3478d12ea4bd2a3f9bd24b29022df9c14f76756cca05eae7edc134c505faae8549f701074481d7ad3bb5ae";
sha512 = "fab94d96dd0a0cd8370c336acda2049c58c73b7f22f7975d8304a33d81950ebf82a14a335dbea02d8e78a63512b4bac041965516948812d9ee833342fd54c951";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/nn-NO/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/nn-NO/thunderbird-52.0.1.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
sha512 = "518f61379d62f38a1b496221bc898108a693c3378488e7b450c3fb4b133317d9ca92e17e93cf502a8e79b8a3254763aaa0f6b1513487089da514e8c153c432c1";
sha512 = "63917ddf88f0731c228bf04513a753216c9393f2a9eef685ef36d0d6d442491e6eddcbf4e77cc87c4b588878667aec08c4346f3418a148af77585b0b037285b8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/pa-IN/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/pa-IN/thunderbird-52.0.1.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
sha512 = "7ede43d3c8e60529df4ffe62a1f3ebe3c6420f8601c7838afceafe0ca553ac80328f78d82fc04ba68a5af69b71671722509697e9c73ebaa9603f6de0bc42ada4";
sha512 = "c49d476f02431e3ef23680ffb3dd58dc226e5b6c25003df7a98bebf69a0bb0167d60edc0ff764c9e36aeb9e7a06f19fec4651bee293f986b30688cec2f6d1d9e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/pl/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/pl/thunderbird-52.0.1.tar.bz2";
locale = "pl";
arch = "linux-i686";
sha512 = "18a211aa55724882f3531a8bd588bc418d5d136eef5ad027c18c5b00bac7d0bff6ebf4fef8d3a1d49cf46adfa10040b2cae1e5f039e817067319c66e5af6715a";
sha512 = "3764defe3440f4c283d9c9e806c05653017f70921d84778a40d71bfc4028d146b8aff5114631050fb3eca8c9f1b33e40f5440c647fadf238ce36dc0eb5245a27";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/pt-BR/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/pt-BR/thunderbird-52.0.1.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
sha512 = "d5f65af63813b27454d21df094c5b709a1f590144853e9082814ca525ee75f56f1d8aeb9df09bc49c7eeb41eebab6acd46bbc086db4f70c54b8e7be3f9939fdb";
sha512 = "3c016085676d2fb8b98685d7785f4163ebe4382f051760f2596e072f37c8d5121cdf87b5a90448a1360213fe2f6c1c369be04d744c22d39f7ce4dc6135fe458b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/pt-PT/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/pt-PT/thunderbird-52.0.1.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
sha512 = "66677c8d8e2c9c38b7efefad3ddb14586f6bdeef74087239c7a16e66062afeb719b928a29a516bd720a716d1b05c4e8bcf21cd84f641140acc96ec1ab85165e1";
sha512 = "79ee1c273c74993b5e98ad9fb3c8434284e414dd14a70028525d214454f83ee1a1475531dd001d1b34ec37eb903f12f9675b388e7728c51c52164020e5cda0db";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/rm/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/rm/thunderbird-52.0.1.tar.bz2";
locale = "rm";
arch = "linux-i686";
sha512 = "2692412244a2153ea701cdc5d6b41caabea82440d5f9eed85ff1024973d287fd0c60066503c8f5336bfe36a9726a0a4df8e30c2181b7d66206c6b3a23a32582c";
sha512 = "f150d1652924fc6a5f3ab9116a1000c08c99cc597fb433c3c27a4b4008768cd63034ccf6ed75870fa4444af02cbad33d0d11433017a3df461d98af59c1d6c8d9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ro/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ro/thunderbird-52.0.1.tar.bz2";
locale = "ro";
arch = "linux-i686";
sha512 = "3592cb39b622983758c8513a977a2acbd168699ccaee5fb8b6e7cc1714334e4cc48bb48712a764c4a6954d8fbebfa5a1156a89cf41b488026fc2713934a06319";
sha512 = "524f5266679084fa3d3dd97daa66d2c1c729c70e9d1a77dbb6565e0d8e15dba507f33c4ce4e4ab11a31f69dfafcb67b0d7ef2b20c21b8d98608d242f63313e2e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ru/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ru/thunderbird-52.0.1.tar.bz2";
locale = "ru";
arch = "linux-i686";
sha512 = "df0ad7e0248a0471130faca0fe09f28725352927f362e906365918939d19d0d18a86fa84058463f59376ffbe4f66d574a10823b5e88be3eed8ec39d17c2e2a7a";
sha512 = "fdc15364d34e676db345189247033b25a6b7cff4cf6b0096845a672e0ecb4d5ae41105b139c6814f359c5f4c2cdb2165faccca1028fe085bca1dd165920030e3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/si/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/si/thunderbird-52.0.1.tar.bz2";
locale = "si";
arch = "linux-i686";
sha512 = "67c3c007ab101d5528613913a75f512befedb6d1cf1f105c19ffb78a5906c2fc6ab01408a290da58cd04667b6c851219aee0a0df7b9a42d1d7f82b244e046d42";
sha512 = "d6782f94a20cc654801f3f17cc0b01fef195423b83c4f0ee9582de6af4f7fca97ec12649ae0de432d9ca2f3f1519b399a82609e70f101cea30f85e377dbabd4e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/sk/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/sk/thunderbird-52.0.1.tar.bz2";
locale = "sk";
arch = "linux-i686";
sha512 = "9113fb1d2150c191abe647b761eed5747341ff779e1a02b724f604fe1193b845130cda9585adb8fd4e8f23f9a3f22a5c8c90f9acd5b3381d3f26eb95e5a74259";
sha512 = "0c3072655ebffc0527f678a1b68cf56b117ea7b247891e12b80c22f2a4936ae087dafe17144d58a406d5b5bf38d2e6090c5146b6d3d34fa5b3ccd911cc960e58";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/sl/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/sl/thunderbird-52.0.1.tar.bz2";
locale = "sl";
arch = "linux-i686";
sha512 = "1ae92f74625a1fc54b0cf2073c8c687fe853dbdc318cc10a2e997f4b6e8062b500f5761128a228987a81f86a2f501163e5fbce5fde05c41a3e2ce0d74c2fc14b";
sha512 = "439dd725c83bf40b258712385ef8a5286e92b10dc77996c16c6cd22589f7ea276ced47788bae29a6ecc3d2d785f25ce99c98a18fd4f9e0330478645803cc0944";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/sq/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/sq/thunderbird-52.0.1.tar.bz2";
locale = "sq";
arch = "linux-i686";
sha512 = "45312d0b18565df69734178eb03b58cd0ea813d7ae099edc03d871a763f715483d9d6a4c375c4f4e6a081d59809beb789c01f0efbe047a6a5d7af40f3280a517";
sha512 = "59b342d58a04cd4b71f1ae67ba66e3d10f4f464612f6e072c838fa5cf3479ada72fa7be09a10508dcc62da10983cd284f20ca6e4e6874fc92433337332733d51";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/sr/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/sr/thunderbird-52.0.1.tar.bz2";
locale = "sr";
arch = "linux-i686";
sha512 = "61756439561a7395b7f9bd55dbf16e73def6e55469a2e4bdc84207bb9aae5761002411900ed8e31e1a32c2f854b95c9ce0f35f17d15fba673b4e61e07a9675e9";
sha512 = "1cb49257c91ba6afa41aeaa60380b812017210ea102dec90e405fa80ba48fbf8df70d4128c6c0bbab3bfabf81ee21b06c8180f38cbd87715093ae872f4c941e9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/sv-SE/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/sv-SE/thunderbird-52.0.1.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
sha512 = "94cecbfb7d6f6ac060fd2b2aabdb3e049832055c969fa7d3ff518a91b3ccb39f9902910bd282c2d8796e16ea641d6443e4a87545c2328e34e6b567ce6cd2dad1";
sha512 = "28c6554e85186f5eefd79f63c9d0b3d258ce76c29156e70c1badbfc71e201ee82889223d7c60a98e3fd44644937378892725136781e9a1644007c80207ba1cb6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/ta-LK/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/ta-LK/thunderbird-52.0.1.tar.bz2";
locale = "ta-LK";
arch = "linux-i686";
sha512 = "05b4d35f6288944f0fc527c0338ab5cb204d5746b86265638fe66a1921297ad2a6de166782fd5948006d6d71a70c62735afd4936a87b3691d975813fc4ee0be5";
sha512 = "9f04041814a6f806b9b24aceedb9a7e608384b65a9b607994eded3813af83467c4ab8d85beb972775da7daaf0a86ab55bd74bbdda2a499323b6761550f568a61";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/tr/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/tr/thunderbird-52.0.1.tar.bz2";
locale = "tr";
arch = "linux-i686";
sha512 = "98e5f9e9d2f90c6d5b05555f6977bf00179fd8dab49afc2aa157f36ec1c58a5e87043de85de90ee03c7db985f00855ee83d30537b2e514518e90ab782031b426";
sha512 = "bceaae576db6d1f49c40e9e361b77580f5bf142945ebf20b3cf38b0b61d8a68a2b9478b5a1dfea114daec363aec5934fbcef4ae88638626fe3ff93a28f07ccd0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/uk/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/uk/thunderbird-52.0.1.tar.bz2";
locale = "uk";
arch = "linux-i686";
sha512 = "1495bad171ef4cb4f32e5b02c63c7cc2b8032485192adf5e5d8d8bb8fed897e98e6ead1bf1c71f131178e0059905c82296fb2ab4275c5c979cd963c4176246e6";
sha512 = "e88f4f496e3dd19655e76a3b79e4519a05e76390fb3acf05d194a300bc459a1e66b082a6150b9f4ec82308c881de402b30474764f946f81f55c1ea6e483e4161";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/vi/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/vi/thunderbird-52.0.1.tar.bz2";
locale = "vi";
arch = "linux-i686";
sha512 = "23f96b086356818ee9d451651514c84212e98b0616021789e9215dee2a97cc43d06373162860def7fbe00514651b6fa0395ccebf4823a7e5622d432467dd0365";
sha512 = "1c361e41b1ba06d9a08cfbb5532619311d81e3a7717eb0dd2d289195f198be7fea2558df707f97a49846fe073a0c775cfae610ed3fabeaa2cedbb1fa7c21d8ec";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/zh-CN/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/zh-CN/thunderbird-52.0.1.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
sha512 = "129cf69e007ea57550ee0eafcd086050ad3c70ef6671f7e56f12679bd9fafd40916e206aa932fb339bb361c4d4894bb6aff8199334c21894d48e01bdbe2a9bd5";
sha512 = "fabe94285cbc1ca40e398dd41747fcfb0a51aaefe3346835ac6e3946d5d8ce1610d39c55276e2c6e02f7a1424af46a06529d5533aeb83b8448aff0dd9183a6b4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0/linux-i686/zh-TW/thunderbird-52.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/52.0.1/linux-i686/zh-TW/thunderbird-52.0.1.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
sha512 = "3fcac7432ce9e1ef4edea97719628374d50173dbb0623866c9bc6aa9644a4d1cebbd640e7dae969b3a7bd067cd29a6d4ff1fb58c18f3eaf3e12c1f9d87f222ce";
sha512 = "f4764c8fae1231d1e10c30baf99583c534fb403ff03ca9a61a472d932645590ee863b56feb13df13438a7eef83e55445be196a9f62078a0e18961edb043bbec9";
}
];
}

View file

@ -19,11 +19,11 @@
stdenv.mkDerivation rec {
name = "thunderbird-${version}";
version = "52.0";
version = "52.0.1";
src = fetchurl {
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
sha512 = "215de8ae386f6f12d7a4338bb03bac956410be0dd4de5cca218e12241e3948c8c2540756e149bfde597cd10e399b4cb4db86619a2aa50a368ba323b413c1f93c";
sha512 = "7b8324a230a10b738b9a28c31b195bfb149b1f47eec6662d93a7d0c424d56303dbc2bca6645b30323c6da86628d6e49de359e1067081a5d0bd66541174a8be48";
};
# New sed no longer tolerates this mistake.

View file

@ -123,14 +123,14 @@ let
};
gitSource = rec {
version = "1.3.0-git-2016-04-10";
version = "2017-04-16";
qtVersion = 5;
# Needs submodules
src = fetchgit {
url = "https://github.com/mumble-voip/mumble";
rev = "0502fa67b036bae9f07a586d9f05a8bf74c24291";
sha256 = "07c1r26i0b5z7i787nr4mc60799skdzsh764ckk3gdi76agp2r2z";
rev = "eb63d0b14a7bc19bfdf34f80921798f0a67cdedf";
sha256 = "1nirbx0fnvi1nl6s5hrm4b0v7s2i22yshkmqnfjhxyr0y272s7lh";
};
};
in {

View file

@ -1,13 +1,13 @@
{ stdenv, fetchhg, pkgs, pythonPackages }:
pythonPackages.buildPythonApplication rec {
version = "2.0b13";
version = "2.0b15";
name = "beancount-${version}";
namePrefix = "";
src = pkgs.fetchurl {
url = "mirror://pypi/b/beancount/${name}.tar.gz";
sha256 = "16gkcq28bwd015b1qhdr5d7vhxid8xfn6ia4n9n8dnl5n448yqkm";
sha256 = "1dvnpgja4v4k5zagfsmdjavlib0z3r9r4z197yvj86szhzs0z86k";
};
buildInputs = with pythonPackages; [ nose ];

View file

@ -1,17 +1,19 @@
{ stdenv, pkgs, fetchurl, python3Packages, fetchFromGitHub, fetchzip, python3, beancount }:
python3Packages.buildPythonApplication rec {
version = "1.2";
version = "1.3";
name = "fava-${version}";
src = fetchurl {
url = "https://github.com/beancount/fava/archive/v${version}.tar.gz";
sha256 = "0sykx054w4cvr0pgbqph0lmkxffafl83k5ir252gl5znxgcvg6yw";
src = fetchFromGitHub {
owner = "beancount";
repo = "fava";
rev = "v${version}";
sha256 = "0g0aj0qcmpny6dipi00nks7h3mf5a4jfd6bxjm1rb5807wswcpg8";
};
assets = fetchzip {
url = "https://github.com/beancount/fava/releases/download/v${version}/beancount-fava-${version}.tar.gz";
sha256 = "1lk6s3s6xvvwbcbkr1qpr9bqdgwspk3vms25zjd6xcs21s3hchmp";
url = "https://github.com/beancount/fava/releases/download/v${version}/fava-${version}.tar.gz";
sha256 = "0yn2psbn436g1w5ixn94z8ca6dfd54izg98979arn0k7slpiccvz";
};
buildInputs = with python3Packages; [ pytest_30 ];

View file

@ -1,18 +1,18 @@
{ fetchurl, stdenv, cmake, perl, ruby, boost, lua5_1, graphviz, libsigcxx
, libunwind, elfutils
{ fetchurl, stdenv, cmake, perl, ruby, boost, lua5_3, graphviz, libsigcxx
, libunwind, elfutils, python3, doxygen
}:
stdenv.mkDerivation rec {
version = "3.11.1";
version = "3.15";
name = "simgrid-${version}";
src = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/33686/${name}.tar.gz";
sha256 = "0mkrzxpf42lmn96khfl1791vram67r2nqsgmppd2yil889nyz5kp";
url = "https://gforge.inria.fr/frs/download.php/36621/${name}.tar.gz";
sha256 = "1s595wc4z8hkvim3ypfdxy16pply6ckjg10v84cc0lx9pz6i3r6i";
};
buildInputs = [ cmake perl ruby boost lua5_1 graphviz libsigcxx libunwind
elfutils
buildInputs = [ cmake perl ruby boost lua5_3 graphviz libsigcxx libunwind
elfutils python3 doxygen
];
preConfigure =
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
# Enable more functionality.
export cmakeFlags="$cmakeFlags -Denable_tracing=on -Denable_jedule=on
-Denable_latency_bound_tracking=on -Denable_lua=on
-Denable_ns3=on -Denable_gtnets=on
-Denable_ns3=off -Denable_gtnets=on
"
'';
@ -61,6 +61,7 @@ stdenv.mkDerivation rec {
do
sed -i "$i" -e's|/usr/bin/perl|${perl}/bin/perl|g'
done
patchShebangs ./tools/
'';
# Fixing the few tests that fail is left as an exercise to the reader.

View file

@ -30,6 +30,8 @@ rec {
diff-so-fancy = callPackage ./diff-so-fancy { };
ghq = callPackage ./ghq { };
git = appendToName "minimal" gitBase;
# The full-featured Git.
@ -68,6 +70,8 @@ rec {
git-octopus = callPackage ./git-octopus { };
git-open = callPackage ./git-open { };
git-radar = callPackage ./git-radar { };
git-remote-hg = callPackage ./git-remote-hg { };

View file

@ -0,0 +1,33 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "ghq-${version}";
version = "0.7.4";
goPackagePath = "github.com/motemen/ghq";
src = fetchFromGitHub {
owner = "motemen";
repo = "ghq";
rev = "v${version}";
sha256 = "0x2agr7why8mcjhq2j8kh8d0gbwx2333zgf1ribc9fn14ryas1j2";
};
goDeps = ./deps.nix;
buildFlagsArray = ''
-ldflags=
-X=main.Version=${version}
'';
postInstall = ''
install -m 444 -D ${src}/zsh/_ghq $bin/share/zsh/site-functions/_ghq
'';
meta = {
description = "Remote repository management made easy";
homepage = https://github.com/motemen/ghq;
maintainers = with stdenv.lib.maintainers; [ sigma ];
license = stdenv.lib.licenses.mit;
};
}

View file

@ -0,0 +1,38 @@
[
{
goPackagePath = "github.com/codegangsta/cli";
fetch = {
type = "git";
url = "https://github.com/codegangsta/cli";
rev = "0bdeddeeb0f650497d603c4ad7b20cfe685682f6";
sha256 = "1ny63c7bfwfrsp7vfkvb4i0xhq4v7yxqnwxa52y4xlfxs4r6v6fg";
};
}
{
goPackagePath = "github.com/mitchellh/go-homedir";
fetch = {
type = "git";
url = "https://github.com/mitchellh/go-homedir";
rev = "b8bc1bf767474819792c23f32d8286a45736f1c6";
sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
};
}
{
goPackagePath = "github.com/motemen/go-colorine";
fetch = {
type = "git";
url = "https://github.com/motemen/go-colorine";
rev = "49ff36b8fa42db28092361cd20dcefd0b03b1472";
sha256 = "1rfi5gggf2sxb52whgxfl37p22r2xp27rndixbiicw6swllmml9l";
};
}
{
goPackagePath = "github.com/daviddengcn/go-colortext";
fetch = {
type = "git";
url = "https://github.com/daviddengcn/go-colortext";
rev = "805cee6e0d43c72ba1d4e3275965ff41e0da068a";
sha256 = "0z0ggqnprqchnd8zyrz99w53kr4sgv372lyx12z5nsh9q342pmyf";
};
}
]

View file

@ -0,0 +1,32 @@
{stdenv, git, xdg_utils, gnugrep, fetchFromGitHub, makeWrapper}:
stdenv.mkDerivation rec {
name = "git-open-${version}";
version = "1.3.0";
src = fetchFromGitHub {
owner = "paulirish";
repo = "git-open";
rev = "v${version}";
sha256 = "005am4phf7j4ybc9k1hqsxjb7gv2i56a3axrza866pwwx1ayrhpq";
};
buildInputs = [ makeWrapper ];
buildPhase = null;
installPhase = ''
mkdir -p $out/bin
cp git-open $out/bin
wrapProgram $out/bin/git-open \
--prefix PATH : "${stdenv.lib.makeBinPath [ git xdg_utils gnugrep ]}"
'';
meta = with stdenv.lib; {
homepage = https://github.com/paulirish/git-open;
description = "Open the GitHub page or website for a repository in your browser";
license = licenses.mit;
platforms = platforms.all;
maintainers = [ maintainers.jlesquembre ];
};
}

View file

@ -4,11 +4,11 @@ with rustPlatform;
buildRustPackage rec {
name = "pijul-${version}";
version = "0.4.1";
version = "0.4.4";
src = fetchurl {
url = "https://pijul.org/releases/${name}.tar.gz";
sha256 = "e492fde1bea839f474f5b91bb762a0fab5ff6a9bc2b8f20eb91a253ca6feda5a";
sha256 = "8f133b7e14bfa84156c103126d53b12c6dfb996dcdebcf1091199ff9c77f3713";
};
sourceRoot = "${name}/pijul";
@ -18,7 +18,7 @@ buildRustPackage rec {
doCheck = false;
depsSha256 = "17n66clr31s49gbbcsii0f31s63rncc9mmz4wwdi0yl4r6ykv9h7";
depsSha256 = "1zdvnarg182spgydmqwxxr929j44d771zkq7gyh152173i0xqb20";
meta = with stdenv.lib; {
description = "A distributed version control system";

View file

@ -23,14 +23,14 @@
}:
stdenv.mkDerivation rec {
version = "1.0.3";
version = "1.0.7";
name = "handbrake-${version}";
src = fetchFromGitHub {
owner = "HandBrake";
repo = "HandBrake";
rev = "${version}";
sha256 = "1r8yzs0xih03p5ybx5096zkvlwxhcmg34047awmda1wq3z3rdjh5";
sha256 = "1pdrvicq40s8n23n6k8k097kkjs3ah5wbz1mvxnfy3h2mh5rwk57";
};
nativeBuildInputs = [
@ -52,6 +52,8 @@ stdenv.mkDerivation rec {
dontUseCmakeConfigure = true;
enableParallelBuilding = true;
preConfigure = ''
patchShebangs scripts
@ -85,6 +87,11 @@ stdenv.mkDerivation rec {
cd build
'';
# icon-theme.cache belongs in the icon theme, not in individual packages
postInstall = ''
rm $out/share/icons/hicolor/icon-theme.cache
'';
meta = with stdenv.lib; {
homepage = http://handbrake.fr/;
description = "A tool for ripping DVDs into video files";

View file

@ -1,39 +1,33 @@
{ stdenv, fetchFromGitHub
, doxygen, python3Packages, ffmpeg, libopenshot
, qtbase, qtmultimedia, makeQtWrapper }:
, doxygen, python3Packages, libopenshot
, makeQtWrapper, wrapGAppsHook, gtk3 }:
with stdenv.lib;
stdenv.mkDerivation rec {
python3Packages.buildPythonApplication rec {
name = "openshot-qt-${version}";
version = "2.2.0";
version = "2.3.1";
src = fetchFromGitHub {
owner = "OpenShot";
repo = "openshot-qt";
rev = "v${version}";
sha256 = "0dg4fkkci1rz49yrdd4fa1whv10c1pgm3cl4i49452ckqa7qg037";
sha256 = "10j3p10q66m9nhzcd8315q1yiqscidkjbm474mllw7c281vacvzw";
};
buildInputs =
[ python3Packages.python ffmpeg libopenshot qtbase qtmultimedia ];
nativeBuildInputs =
[ doxygen makeQtWrapper ];
nativeBuildInputs = [ doxygen wrapGAppsHook ];
installPhase = ''
mkdir -p $(toPythonPath $out)
cp -r src/* $(toPythonPath $out)
mkdir -p $out/bin
echo "#/usr/bin/env sh" >$out/bin/openshot-qt
echo "exec ${python3Packages.python.interpreter} $(toPythonPath $out)/launch.py" >>$out/bin/openshot-qt
chmod +x $out/bin/openshot-qt
wrapQtProgram $out/bin/openshot-qt \
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${libopenshot}):$(toPythonPath ${python3Packages.pyqt5}):$(toPythonPath ${python3Packages.sip}):$(toPythonPath ${python3Packages.httplib2}):$(toPythonPath ${python3Packages.pyzmq}):$PYTHONPATH"
buildInputs = [ gtk3 ];
propagatedBuildInputs = with python3Packages; [ libopenshot pyqt5 sip httplib2 pyzmq ];
preConfigure = ''
# tries to create caching directories during install
export HOME=$(mktemp -d)
'';
doCheck = false;
meta = {
meta = with stdenv.lib; {
homepage = http://openshot.org/;
description = "Free, open-source video editor";
longDescription = ''

View file

@ -8,13 +8,13 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "libopenshot-${version}";
version = "0.1.3";
version = "0.1.4";
src = fetchFromGitHub {
owner = "OpenShot";
repo = "libopenshot";
rev = "v${version}";
sha256 = "0slszl6w96rhxhi6agw85dc4gmpab2qw03mq32g4qrirz68anz6f";
sha256 = "1mqci103kn4l7w8i9kqzi705kxn4q596vw0sh05r1w5nbyjwcyp6";
};
patchPhase = ''

View file

@ -1,17 +1,19 @@
{ stdenv, pythonPackages, fetchFromGitHub, rtmpdump }:
{ stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
pythonPackages.buildPythonApplication rec {
version = "0.3.0";
version = "0.5.0";
name = "streamlink-${version}";
src = fetchFromGitHub {
owner = "streamlink";
repo = "streamlink";
rev = "${version}";
sha256 = "1bjih6y21vmjmsk3xvhgc1innymryklgylyvjrskqw610niai59j";
sha256 = "08q7f1fnm3zhs1knrkl6npr4yvpblqbiwa0m9r186ny11jq2dyib";
};
propagatedBuildInputs = (with pythonPackages; [ pycrypto requests2 ]) ++ [ rtmpdump ];
buildInputs = with pythonPackages; [ pytest mock ];
propagatedBuildInputs = (with pythonPackages; [ pycryptodome requests2 iso-639 iso3166 ]) ++ [ rtmpdump ffmpeg ];
meta = with stdenv.lib; {
homepage = https://github.com/streamlink/streamlink;
@ -25,6 +27,6 @@ pythonPackages.buildPythonApplication rec {
'';
license = licenses.bsd2;
platforms = platforms.linux;
maintainers = [ maintainers.dezgeg ];
maintainers = with maintainers; [ dezgeg zraexy ];
};
}

View file

@ -1,22 +1,29 @@
{ stdenv, fetchurl, pkgconfig, perl, autoconf, automake
, libX11, inputproto, libXt, libXpm, libXft, libXtst, xextproto, libXi
, fontconfig, freetype, readline
, libXrandr, fontconfig, freetype, readline
}:
stdenv.mkDerivation rec {
name = "ratpoison-${version}";
version = "1.4.8";
version = "1.4.9";
src = fetchurl {
url = "mirror://savannah/ratpoison/${name}.tar.xz";
sha256 = "1w502z55vv7zs45l80nsllqh9fvfwjfdfi11xy1qikhzdmirains";
sha256 = "1wfir1gvh5h7izgvx2kd1pr2k7wlncd33zq7qi9s9k2y0aza93yr";
};
outputs = [ "out" "contrib" "doc" "info" ];
configureFlags = [
# >=1.4.9 requires this even with readline in inputs
"--enable-history"
];
nativeBuildInputs = [ pkgconfig autoconf automake ];
buildInputs =
[ pkgconfig perl autoconf automake
libX11 inputproto libXt libXpm libXft libXtst xextproto libXi
[ perl
libX11 inputproto libXt libXpm libXft libXtst xextproto libXi libXrandr
fontconfig freetype readline ];
postInstall = ''

View file

@ -2,7 +2,7 @@
# a fork of the buildEnv in the Nix distribution. Most changes should
# eventually be merged back into the Nix distribution.
{ perl, runCommand, lib }:
{ buildPackages, runCommand, lib }:
{ name
@ -66,6 +66,6 @@ runCommand name
passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else null;
}
''
${perl}/bin/perl -w ${./builder.pl}
${buildPackages.perl}/bin/perl -w ${./builder.pl}
eval "$postBuild"
''

View file

@ -209,7 +209,7 @@ rec {
postMount = ''
echo "Packing raw image..."
tar -C mnt --mtime=0 -cf $out .
tar -C mnt --mtime="@$SOURCE_DATE_EPOCH" -cf $out .
'';
};
@ -247,7 +247,7 @@ rec {
echo "Adding contents..."
for item in $contents; do
echo "Adding $item"
rsync -ak $item/ layer/
rsync -ak --chown=0:0 $item/ layer/
done
else
echo "No contents to add to layer."
@ -260,7 +260,7 @@ rec {
# Tar up the layer and throw it into 'layer.tar'.
echo "Packing layer..."
mkdir $out
tar -C layer --mtime=0 -cf $out/layer.tar .
tar -C layer --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar .
# Compute a checksum of the tarball.
echo "Computing layer checksum..."
@ -310,7 +310,7 @@ rec {
echo "Adding contents..."
for item in ${toString contents}; do
echo "Adding $item..."
rsync -ak $item/ layer/
rsync -ak --chown=0:0 $item/ layer/
done
'';
@ -340,7 +340,7 @@ rec {
echo "Packing layer..."
mkdir $out
tar -C layer --mtime=0 -cf $out/layer.tar .
tar -C layer --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar .
# Compute the tar checksum and add it to the output json.
echo "Computing checksum..."
@ -467,7 +467,8 @@ rec {
comm <(sort -n baseFiles|uniq) \
<(sort -n layerFiles|uniq|grep -v ${layer}) -1 -3 > newFiles
# Append the new files to the layer.
tar -rpf temp/layer.tar --mtime=0 --no-recursion --files-from newFiles
tar -rpf temp/layer.tar --mtime="@$SOURCE_DATE_EPOCH" \
--owner=0 --group=0 --no-recursion --files-from newFiles
echo "Adding meta..."
@ -496,7 +497,7 @@ rec {
chmod -R a-w image
echo "Cooking the image..."
tar -C image --mtime=0 -c . | pigz -nT > $out
tar -C image --mtime="@$SOURCE_DATE_EPOCH" -c . | pigz -nT > $out
echo "Finished."
'';

View file

@ -7,6 +7,7 @@
, buildInputs ? []
, cargoUpdateHook ? ""
, cargoDepsHook ? ""
, cargoBuildFlags ? []
, ... } @ args:
let
@ -26,7 +27,11 @@ in stdenv.mkDerivation (args // {
buildInputs = [ git rust.cargo rust.rustc ] ++ buildInputs;
configurePhase = args.configurePhase or "true";
configurePhase = args.configurePhase or ''
runHook preConfigure
# noop
runHook postConfigure
'';
postUnpack = ''
eval "$cargoDepsHook"
@ -92,22 +97,26 @@ in stdenv.mkDerivation (args // {
)
'' + (args.prePatch or "");
buildPhase = args.buildPhase or ''
echo "Running cargo build --release"
cargo build --release
buildPhase = with builtins; args.buildPhase or ''
runHook preBuild
echo "Running cargo build --release ${concatStringsSep " " cargoBuildFlags}"
cargo build --release ${concatStringsSep " " cargoBuildFlags}
runHook postBuild
'';
checkPhase = args.checkPhase or ''
runHook preCheck
echo "Running cargo test"
cargo test
runHook postCheck
'';
doCheck = args.doCheck or true;
installPhase = args.installPhase or ''
runHook preInstall
mkdir -p $out/bin
for f in $(find target/release -maxdepth 1 -type f); do
cp $f $out/bin
done;
find target/release -maxdepth 1 -executable -exec cp "{}" $out/bin \;
runHook postInstall
'';
})

View file

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "1.1";
src = fetchurl {
url = "https://dl.dropbox.com/u/56493902/loudifier/comicrelief.zip";
url = "https://fontlibrary.org/assets/downloads/comic-relief/45c456b6db2aaf2f7f69ac66b5ac7239/comic-relief.zip";
sha256 = "0wpf10m9zmcfvcxgc7dxzdm3syam7d7qxlfabgr1nxzq299kh8ch";
};

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "iosevka-${version}";
version = "1.12.1";
version = "1.12.5";
buildInputs = [ unzip ];
src = fetchurl {
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/iosevka-pack-${version}.zip";
sha256 = "1rwg06fbizf2cmjwysx4ciz96nh80k48drsyr3rshppycajnaahj";
sha256 = "0s3g6mk0ngwsrw9h9dqinb50cd9i8zhqdcmmh93fhyf4d87yfwyi";
};
sourceRoot = ".";

View file

@ -20,12 +20,11 @@ stdenv.mkDerivation rec {
propagatedUserEnvPkgs = [ shared_mime_info
gnome3.gnome_themes_standard ];
buildInputs = [ vala_0_32 intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview
librsvg libsecret dconf
gobjectIntrospection gnome3.adwaita-icon-theme ];
buildInputs = [ vala_0_32 libgit2 gtk3 glib json_glib webkitgtk libgee libpeas
libgit2-glib gtkspell3 gnome3.gtksourceview gnome3.gsettings_desktop_schemas
librsvg libsecret gobjectIntrospection gnome3.adwaita-icon-theme ];
nativeBuildInputs = [ wrapGAppsHook ];
nativeBuildInputs = [ wrapGAppsHook intltool pkgconfig ];
# https://bugzilla.gnome.org/show_bug.cgi?id=758240
preBuild = ''make -j$NIX_BUILD_CORES Gitg-1.0.gir'';

View file

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gitg-3.22.0";
name = "gitg-3.23.90";
src = fetchurl {
url = mirror://gnome/sources/gitg/3.22/gitg-3.22.0.tar.xz;
sha256 = "ba6895f85c18748294075980a5e03e0936ad4e84534dbb0d8f9e29aa874ddeaf";
url = mirror://gnome/sources/gitg/3.23/gitg-3.23.90.tar.xz;
sha256 = "0m3g8ag8nh6vj5m188l7sgkm7p8mrs094mjijqaaav3r6cz91fdg";
};
}

View file

@ -1,12 +1,12 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: rec {
major = "0.24";
minor = "4";
major = "0.25";
minor = "0";
name = "libgit2-glib-${major}.${minor}";
src = fetchurl {
url = "mirror://gnome/sources/libgit2-glib/${major}/${name}.tar.xz";
sha256 = "0802qskm64l5ic8rvfjxg27chj502irhw1xkabrl4015dxsiy89s";
sha256 = "0rf5gcr3khp35wj9ax9cbyq5j3iiwa1l0fi16w6sfgmrryd6n9aa";
};
}

View file

@ -1,5 +1,5 @@
{ stdenv, writeText, erlang, rebar3, openssl, libyaml,
pc, buildEnv, lib }:
pc, lib }:
{ name, version
, src

View file

@ -0,0 +1,35 @@
{ stdenv, fetchFromGitHub, cmake, libffi, llvm_35, perl }:
let version = "20170416";
doCheck = false;
in stdenv.mkDerivation {
name = "dale-${version}";
src = fetchFromGitHub {
owner = "tomhrr";
repo = "dale";
rev = "ecc5ea91efef8a263c7dddd6925983df5b5258b2";
sha256 = "0naly7jsfriiqf68q210ay9ppcvidbwwcxksy5zwy1m17aq5kxaw";
};
buildInputs = [ cmake libffi llvm_35 ] ++
stdenv.lib.optional doCheck perl;
inherit doCheck;
checkTarget = "tests";
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Lisp-flavoured C";
longDescription = ''
Dale is a system (no GC) programming language that uses
S-expressions for syntax and supports syntactic macros.
'';
homepage = "https://github.com/tomhrr/dale";
license = licenses.mit;
maintainers = with maintainers; [ amiloradovsky ];
platforms = platforms.linux; # fails on Darwin, linking vs. FFI
};
}

View file

@ -29,6 +29,9 @@ mkDerivation {
tasty-hunit tasty-quickcheck text union-find wl-pprint
];
jailbreak = true;
postInstall = ''
ln -s $out/bin/elm-format-0.18 $out/bin/elm-format
'';
homepage = "http://elm-lang.org";
description = "A source code formatter for Elm";
license = stdenv.lib.licenses.bsd3;

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, cmake, python, ... }:
let
rev = "1.37.3";
rev = "1.37.9";
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
in
stdenv.mkDerivation rec {
@ -10,14 +10,14 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "kripken";
repo = "emscripten-fastcomp";
sha256 = "0s5156g6576hm31628c2wbqwl9r6vn10z5ry59psl565zz3lpg8x";
sha256 = "0dvay98hlajhwgl5s58sh8s79i4nbcl3gajssgzimk0id8fa0ifx";
inherit rev;
};
srcFL = fetchFromGitHub {
owner = "kripken";
repo = "emscripten-fastcomp-clang";
sha256 = "0jhk20wb7275n5m9niqkzmvrr8hh5v26glkmsfmng4p66cs7jkil";
sha256 = "1ilrb6p3vybjz0hj8hc80hpm0y01794v488dywwj81khhqahnhcv";
inherit rev;
};

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
let
rev = "1.37.3";
rev = "1.37.9";
appdir = "share/emscripten";
in
@ -11,7 +11,7 @@ stdenv.mkDerivation {
src = fetchFromGitHub {
owner = "kripken";
repo = "emscripten";
sha256 = "0pkxm8nd2zv57f2xm0c3n4xsdh2scliyy3zx04xk2bpkvskyzl7x";
sha256 = "0dmvhw4j9bdqbdknz7ibg2fwzynw4w8ksnj8rkswdmp660889krp";
inherit rev;
};

View file

@ -0,0 +1,87 @@
# Temporaririly avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it
{ stdenv, fetchurl, pkgconfig, autoconf, automake, which, mono, dotnetbuildhelpers, dotnetPackages }:
stdenv.mkDerivation rec {
name = "fsharp-${version}";
version = "4.1.7";
src = fetchurl {
url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
sha256 = "0rfkrk4mzi4w54mfqilvng9ar5swhmnwhsyjc54rx3fd0np3jiyl";
};
buildInputs = [
pkgconfig
autoconf
automake
which
mono
dotnetbuildhelpers
dotnetPackages.FsCheck262
dotnetPackages.FSharpCompilerTools
dotnetPackages.FSharpCore
dotnetPackages.FSharpData225
dotnetPackages.FsLexYacc704
dotnetPackages.MicrosoftDiaSymReader
dotnetPackages.MicrosoftDiaSymReaderPortablePdb
dotnetPackages.NUnit350
dotnetPackages.SystemCollectionsImmutable131
dotnetPackages.SystemReflectionMetadata
dotnetPackages.SystemValueTuple
];
configurePhase = ''
substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "/bin/sh"
./autogen.sh --prefix $out
'';
preBuild = ''
substituteInPlace Makefile --replace "MONO_ENV_OPTIONS=\$(monoopts) mono .nuget/NuGet.exe restore packages.config -PackagesDirectory packages -ConfigFile .nuget/NuGet.Config" "true"
substituteInPlace src/fsharp/Fsc-proto/Fsc-proto.fsproj --replace "<FSharpCoreOptSigFiles Include=\"\$(FSharpCoreLkgPath)\\FSharp.Core.dll\" />" ""
substituteInPlace src/fsharp/Fsc-proto/Fsc-proto.fsproj --replace "<FSharpCoreOptSigFiles Include=\"\$(FSharpCoreLkgPath)\\FSharp.Core.optdata\" />" ""
substituteInPlace src/fsharp/Fsc-proto/Fsc-proto.fsproj --replace "<FSharpCoreOptSigFiles Include=\"\$(FSharpCoreLkgPath)\\FSharp.Core.sigdata\" />" ""
substituteInPlace src/fsharp/Fsc-proto/Fsc-proto.fsproj --replace "<FSharpCoreOptSigFiles Include=\"\$(FSharpCoreLkgPath)\\FSharp.Core.xml\" />" ""
rm -rf packages
mkdir packages
ln -s ${dotnetPackages.FsCheck262}/lib/dotnet/FsCheck packages/FsCheck.2.6.2
ln -s ${dotnetPackages.FSharpCompilerTools}/lib/dotnet/FSharp.Compiler.Tools packages/FSharp.Compiler.Tools.4.1.4
ln -s ${dotnetPackages.FSharpCore}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.0.0.1
ln -s ${dotnetPackages.FSharpData225}/lib/dotnet/FSharp.Data/ packages/FSharp.Data.2.2.5
ln -s ${dotnetPackages.FsLexYacc704}/lib/dotnet/FsLexYacc/ packages/FsLexYacc.7.0.4
ln -s ${dotnetPackages.MicrosoftDiaSymReader}/lib/dotnet/Microsoft.DiaSymReader/ packages/Microsoft.DiaSymReader.1.1.0
ln -s ${dotnetPackages.MicrosoftDiaSymReaderPortablePdb}/lib/dotnet/Microsoft.DiaSymReader.PortablePdb/ packages/Microsoft.DiaSymReader.PortablePdb.1.2.0
ln -s ${dotnetPackages.NUnit350}/lib/dotnet/NUnit/ packages/NUnit.3.5.0
ln -s ${dotnetPackages.SystemCollectionsImmutable131}/lib/dotnet/System.Collections.Immutable/ packages/System.Collections.Immutable.1.3.1
ln -s ${dotnetPackages.SystemReflectionMetadata}/lib/dotnet/System.Reflection.Metadata/ packages/System.Reflection.Metadata.1.4.2
ln -s ${dotnetPackages.SystemValueTuple}/lib/dotnet/System.ValueTuple/ packages/System.ValueTuple.4.3.0
'';
# Make sure the executables use the right mono binary,
# and set up some symlinks for backwards compatibility.
postInstall = ''
substituteInPlace $out/bin/fsharpc --replace " mono " " ${mono}/bin/mono "
substituteInPlace $out/bin/fsharpi --replace " mono " " ${mono}/bin/mono "
substituteInPlace $out/bin/fsharpiAnyCpu --replace " mono " " ${mono}/bin/mono "
ln -s $out/bin/fsharpc $out/bin/fsc
ln -s $out/bin/fsharpi $out/bin/fsi
for dll in "$out/lib/mono/fsharp"/FSharp*.dll
do
create-pkg-config-for-dll.sh "$out/lib/pkgconfig" "$dll"
done
'';
# To fix this error when running:
# The file "/nix/store/path/whatever.exe" is an not a valid CIL image
dontStrip = true;
meta = {
description = "A functional CLI language";
homepage = "http://fsharp.org/";
license = stdenv.lib.licenses.asl20;
maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ];
platforms = with stdenv.lib.platforms; unix;
};
}

View file

@ -0,0 +1,26 @@
{ haskellPackages, mkDerivation, fetchFromGitHub, lib }:
with lib;
mkDerivation rec {
pname = "psc-package";
version = "0.1.1";
src = fetchFromGitHub {
owner = "purescript";
repo = pname;
rev = "v${version}";
sha256 = "078xjn10yq4i0ff78bxscvxhn29p3s7iwv3pjyqxzlhaymn5949l";
};
isLibrary = false;
isExecutable = true;
executableHaskellDepends = with haskellPackages; [
aeson aeson-pretty optparse-applicative system-filepath turtle
];
description = "An experimental package manager for PureScript";
license = licenses.bsd3;
maintainers = with lib.maintainers; [ profpatsch ];
}

View file

@ -24,12 +24,6 @@ rustPlatform.buildRustPackage rec {
LIBGIT2_SYS_USE_PKG_CONFIG=1;
postInstall = ''
rm "$out/lib/rustlib/components" \
"$out/lib/rustlib/install.log" \
"$out/lib/rustlib/rust-installer-version" \
"$out/lib/rustlib/uninstall.sh" \
"$out/lib/rustlib/manifest-cargo"
# NOTE: We override the `http.cainfo` option usually specified in
# `.cargo/config`. This is an issue when users want to specify
# their own certificate chain as environment variables take

View file

@ -8,8 +8,7 @@
fetchgit,
guile,
libtool,
pkgconfig,
buildEnv
pkgconfig
}:
stdenv.mkDerivation rec {
name = "guile-sdl2-${version}";

View file

@ -330,9 +330,11 @@ stdenv.mkDerivation ({
export NIX_${ghcCommandCaps}="${ghcEnv}/bin/${ghcCommand}"
export NIX_${ghcCommandCaps}PKG="${ghcEnv}/bin/${ghcCommand}-pkg"
export NIX_${ghcCommandCaps}_DOCDIR="${ghcEnv}/share/doc/ghc/html"
'' + (if isHaLVM
then ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/HaLVM-${ghc.version}"''
else ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcCommand}-${ghc.version}"'') + "${shellHook}";
${if isHaLVM
then ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/HaLVM-${ghc.version}"''
else ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcCommand}-${ghc.version}"''}
${shellHook}
'';
};
};

View file

@ -0,0 +1,63 @@
{ stdenv, lib, fetchFromGitHub, extra-cmake-modules, makeQtWrapper
, qtbase, qtmultimedia, qtquick1, qttools
, mesa, libX11
, libass, openal, ffmpeg, libuchardet
, alsaLib, libpulseaudio, libva
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "libqtav-${version}";
# Awaiting upcoming `v1.12.0` release. `v1.11.0` is not supporting cmake which is the
# the reason behind taking an unstable git rev.
version = "unstable-2017-03-30";
nativeBuildInputs = [ extra-cmake-modules makeQtWrapper qttools ];
buildInputs = [
qtbase qtmultimedia qtquick1
mesa libX11
libass openal ffmpeg libuchardet
alsaLib libpulseaudio libva
];
src = fetchFromGitHub {
sha256 = "1xw0ynm9w501651rna3ppf8p336ag1p60i9dxhghzm543l7as93v";
rev = "4b4ae3b470b2fcbbcf1b541c2537fb270ee0bcfa";
repo = "QtAV";
owner = "wang-bin";
fetchSubmodules = true;
};
patchPhase = ''
sed -i -e 's#CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT#TRUE#g' ./CMakeLists.txt
sed -i -e 's#DESTINATION ''${QT_INSTALL_LIBS}/cmake#DESTINATION ''${QTAV_INSTALL_LIBS}/cmake#g' ./CMakeLists.txt
'';
# Make sure libqtav finds its libGL dependancy at both link and run time
# by adding mesa to rpath. Not sure why it wasn't done automatically like
# the other libraries as `mesa` is part of our `buildInputs`.
NIX_CFLAGS_LINK = [ "-Wl,-rpath,${mesa}/lib"];
preFixup = ''
mkdir -p "$out/bin"
cp -a "./bin/"* "$out/bin"
'';
postFixup = ''
for i in `find $out/bin -maxdepth 1 -xtype f -executable`; do
wrapQtProgram "$i"
done
'';
meta = {
description = "A multimedia playback framework based on Qt + FFmpeg.";
#license = licenses.lgpl21; # For the libraries / headers only.
license = licenses.gpl3; # With the examples (under bin) and most likely some of the optional dependencies used.
homepage = http://www.qtav.org/;
maintainers = [ maintainers.jraygauthier ];
platforms = platforms.linux;
};
}

View file

@ -4,7 +4,7 @@
, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
, libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
, curl, libiconv, gmp, xen, zfs
, curl, libiconv, gmp, xen, zfs, parted
}:
with stdenv.lib;
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper pkgconfig ];
buildInputs = [
libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
attr libxslt xhtml1 perlPackages.XMLXPath curl libpcap
attr libxslt xhtml1 perlPackages.XMLXPath curl libpcap parted
] ++ optionals stdenv.isLinux [
libpciaccess devicemapper lvm2 utillinux systemd libnl numad zfs
libapparmor libcap_ng numactl xen
@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
"--with-test"
"--with-esx"
"--with-remote"
"--with-storage-disk"
] ++ optionals stdenv.isLinux [
"--with-attr"
"--with-apparmor"

View file

@ -0,0 +1,30 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "safefile";
version = "1.0.5";
src = fetchurl {
url = "http://research.cs.wisc.edu/mist/${pname}/releases/${name}.tar.gz";
sha256 = "1y0gikds2nr8jk8smhrl617njk23ymmpxyjb2j1xbj0k82xspv78";
};
buildInputs = [];
passthru = {
updateScript = ''
cd ${toString ./.}
${toString <nixpkgs/pkgs/build-support/upstream-updater/update-walker.sh>} default.nix
'';
};
meta = {
inherit version;
description = "File open routines to safely open a file when in the presence of an attack";
license = stdenv.lib.licenses.asl20 ;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
homepage = "http://research.cs.wisc.edu/mist/safefile/";
updateWalker = true;
};
}

View file

@ -7,9 +7,10 @@
with stdenv.lib;
let
mkFlag = trueStr: falseStr: cond: name: val:
if cond == null then null else
"--${if cond != false then trueStr else falseStr}${name}${if val != null && cond != false then "=${val}" else ""}";
mkFlag = trueStr: falseStr: cond: name: val: "--"
+ (if cond then trueStr else falseStr)
+ name
+ optionalString (val != null && cond != false) "=${val}";
mkEnable = mkFlag "enable-" "disable-";
mkWith = mkFlag "with-" "without-";
mkOther = mkFlag "" "" true;

View file

@ -1,9 +1,10 @@
{ stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
, gstreamer, gst-plugins-base, GConf, libX11, cairo
, withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
, withMesa ? true, mesa_glu ? null, mesa_noglu ? null
, compat24 ? false, compat26 ? true, unicode ? true,
}:
assert withMesa -> mesa != null;
assert withMesa -> mesa_glu != null && mesa_noglu != null;
with stdenv.lib;
@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst-plugins-base GConf libX11 cairo ]
++ optional withMesa mesa;
++ optional withMesa mesa_glu;
nativeBuildInputs = [ pkgconfig ];
@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
"${libXinerama.dev}/include ${libSM.dev}/include ${libXxf86vm.dev}/include";
SEARCH_LIB =
"${libXinerama.out}/lib ${libSM.out}/lib ${libXxf86vm.out}/lib "
+ optionalString withMesa "${mesa.out}/lib ";
+ optionalString withMesa "${mesa_glu.out}/lib ${mesa_noglu.out}/lib ";
# Work around a bug in configure.
NIX_CFLAGS_COMPILE = [ "-DHAVE_X11_XLIB_H=1" "-lX11" "-lcairo" "-Wno-narrowing" ];

View file

@ -1,10 +1,11 @@
{ stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
, gstreamer, gst-plugins-base, GConf, setfile
, withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true
, withMesa ? true, mesa_glu ? null, mesa_noglu ? null
, compat24 ? false, compat26 ? true, unicode ? true
, Carbon ? null, Cocoa ? null, Kernel ? null, QuickTime ? null, AGL ? null
}:
assert withMesa -> mesa != null;
assert withMesa -> mesa_glu != null && mesa_noglu != null;
with stdenv.lib;
@ -22,7 +23,7 @@ stdenv.mkDerivation {
buildInputs =
[ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
gst-plugins-base GConf ]
++ optional withMesa mesa
++ optional withMesa mesa_glu
++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QuickTime ];
nativeBuildInputs = [ pkgconfig ];
@ -39,7 +40,7 @@ stdenv.mkDerivation {
# allow building on 64-bit
[ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ];
SEARCH_LIB = optionalString withMesa "${mesa}/lib";
SEARCH_LIB = "${mesa_glu.out}/lib ${mesa_noglu.out}/lib ";
preConfigure = "
substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='

View file

@ -1,12 +1,13 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm
, xf86vidmodeproto , gstreamer, gst-plugins-base, GConf, setfile
, withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true
, withMesa ? true, mesa_glu ? null, mesa_noglu ? null
, compat24 ? false, compat26 ? true, unicode ? true
, withWebKit ? false, webkitgtk2 ? null
, AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
}:
assert withMesa -> mesa != null;
assert withMesa -> mesa_glu != null && mesa_noglu != null;
assert withWebKit -> webkitgtk2 != null;
with stdenv.lib;
@ -25,7 +26,7 @@ stdenv.mkDerivation {
buildInputs =
[ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
gst-plugins-base GConf ]
++ optional withMesa mesa
++ optional withMesa mesa_glu
++ optional withWebKit webkitgtk2
++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
@ -50,7 +51,7 @@ stdenv.mkDerivation {
++ optionals withWebKit
["--enable-webview" "--enable-webview-webkit"];
SEARCH_LIB = optionalString withMesa "${mesa}/lib";
SEARCH_LIB = "${mesa_glu.out}/lib ${mesa_noglu.out}/lib ";
preConfigure = "
substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='

View file

@ -28,6 +28,7 @@ stdenv.mkDerivation {
(uiop/lisp-build:compile-file* \"'"$out"'/lib/common-lisp/asdf/build/asdf.lisp\")
(asdf:load-system :uiop :force :all)
(asdf:load-system :asdf :force :all)
(ignore-errors (asdf:load-system :uiop/version :force :all))
)"' \
"$out/bin/common-lisp.sh"
'';

View file

@ -134,6 +134,9 @@ in
plump = addDeps (with qlnp; [array-utils trivial-indent]);
sqlite = addNativeLibs [pkgs.sqlite];
uiop = x: {
testSystems = (x.testSystems or ["uiop"]) ++ [
"uiop/version"
];
overrides = y: (x.overrides y) // {
postInstall = ((x.overrides y).postInstall or "") + ''
cp -r "${pkgs.asdf}/lib/common-lisp/asdf/uiop/contrib" "$out/lib/common-lisp/uiop"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -49,6 +49,7 @@
, "peerflix"
, "peerflix-server"
, "phantomjs"
, "prettier"
, "react-tools"
, "s3http"
, "semver"

View file

@ -0,0 +1,20 @@
{ stdenv, buildPythonPackage, fetchPypi }:
buildPythonPackage rec {
pname = "csscompressor";
version = "0.9.4";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "0e12f125b88379d7b680636d94a3c8fa14bed1de2358f7f9a9e6749e222cff3b";
};
doCheck = false; # No tests
meta = {
description = "A python port of YUI CSS Compressor";
homepage = https://pypi.python.org/pypi/csscompressor;
license = stdenv.lib.licenses.bsd3;
maintainers = [stdenv.lib.maintainers.ahmedtd];
};
}

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