Merge branch 'master' into staging

This commit is contained in:
Nikolay Amiantov 2016-04-14 01:02:08 +03:00
commit ae7b54d0b4
171 changed files with 3747 additions and 2476 deletions

View file

@ -12,4 +12,21 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
## Submitting changes
See the nixpkgs manual for details on how to [Submit changes to nixpkgs](http://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download-by-type/doc/manual#chap-submitting-changes).
* Format the commits in the following way:
`(pkg-name | service-name): (from -> to | init at version | refactor | etc)`
Examples:
* nginx: init at 2.0.1
* firefox: 3.0 -> 3.1.1
* hydra service: add bazBaz option
* nginx service: refactor config generation
* `meta.description` should:
* Be capitalized
* Not start with the package name
* Not have a dot at the end
See the nixpkgs manual for more details on how to [Submit changes to nixpkgs](http://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download-by-type/doc/manual#chap-submitting-changes).

View file

@ -1,4 +1,4 @@
###### Things done:
###### Things done
- [ ] Tested using sandboxing (`nix-build --option build-use-chroot true` or [nix.useChroot](http://nixos.org/nixos/manual/options.html#opt-nix.useChroot) on NixOS)
- Built on platform(s)
@ -9,13 +9,5 @@
- [ ] Tested execution of all binary files (usually in `./result/bin/`)
- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).
###### More
Fixes issue #<insert id>
cc @<maintainer>
---
_Please note, that points are not mandatory, but rather desired._

View file

@ -647,6 +647,30 @@ command, i.e. by running:
rm /nix/var/nix/manifests/*
rm /nix/var/nix/channel-cache/*
### How to use the Haste Haskell-to-Javascript transpiler
Open a shell with `haste-compiler` and `haste-cabal-install` (you don't actually need
`node`, but it can be useful to test stuff):
$ nix-shell -p "haskellPackages.ghcWithPackages (self: with self; [haste-cabal-install haste-compiler])" -p nodejs
You may not need the following step but if `haste-boot` fails to compile all the
packages it needs, this might do the trick
$ haste-cabal update
`haste-boot` builds a set of core libraries so that they can be used from Javascript
transpiled programs:
$ haste-boot
Transpile and run a "Hello world" program:
$ echo 'module Main where main = putStrLn "Hello world"' > hello-world.hs
$ hastec --onexec hello-world.hs
$ node hello-world.js
Hello world
### Builds on Darwin fail with `math.h` not found
Users of GHC on Darwin have occasionally reported that builds fail, because the

View file

@ -81,6 +81,7 @@
copumpkin = "Dan Peebles <pumpkingod@gmail.com>";
coroa = "Jonas Hörsch <jonas@chaoflow.net>";
couchemar = "Andrey Pavlov <couchemar@yandex.ru>";
cransom = "Casey Ransom <cransom@hubns.net>";
CrystalGamma = "Jona Stubbe <nixos@crystalgamma.de>";
cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>";
cwoac = "Oliver Matthews <oliver@codersoffortune.net>";
@ -139,7 +140,6 @@
garrison = "Jim Garrison <jim@garrison.cc>";
gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
gebner = "Gabriel Ebner <gebner@gebner.org>";
gfxmonk = "Tim Cuthbertson <tim@gfxmonk.net>";
giogadi = "Luis G. Torres <lgtorres42@gmail.com>";
gleber = "Gleb Peregud <gleber.p@gmail.com>";
globin = "Robin Gloster <mail@glob.in>";
@ -233,7 +233,9 @@
mirdhyn = "Merlin Gaillard <mirdhyn@gmail.com>";
modulistic = "Pablo Costa <modulistic@gmail.com>";
mog = "Matthew O'Gorman <mog-lists@rldn.net>";
moretea = "Maarten Hoogendoorn <maarten@moretea.nl>";
mornfall = "Petr Ročkai <me@mornfall.net>";
MostAwesomeDude = "Corbin Simpson <cds@corbinsimpson.com>";
MP2E = "Cray Elliott <MP2E@archlinux.us>";
msackman = "Matthew Sackman <matthew@wellquite.org>";
mschristiansen = "Mikkel Christiansen <mikkel@rheosystems.com>";
@ -345,6 +347,7 @@
the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
theuni = "Christian Theune <ct@flyingcircus.io>";
thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
timbertson = "Tim Cuthbertson <tim@gfxmonk.net>";
titanous = "Jonathan Rudenberg <jonathan@titanous.com>";
tohl = "Tomas Hlavaty <tom@logand.com>";
tokudan = "Daniel Frank <git@danielfrank.net>";

View file

@ -28,6 +28,7 @@ effect after you run <command>nixos-rebuild</command>.</para>
<xi:include href="postgresql.xml" />
<xi:include href="gitlab.xml" />
<xi:include href="acme.xml" />
<xi:include href="input-methods.xml" />
<!-- Apache; libvirtd virtualisation -->

View file

@ -58,6 +58,7 @@ let
cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml
cp ${../../modules/services/misc/gitlab.xml} configuration/gitlab.xml
cp ${../../modules/security/acme.xml} configuration/acme.xml
cp ${../../modules/i18n/input-method/default.xml} configuration/input-methods.xml
ln -s ${optionsDocBook} options-db.xml
echo "${version}" > version
'';

View file

@ -63,11 +63,11 @@ has the following highlights:</para>
<itemizedlist>
<listitem><para><literal>services/monitoring/longview.nix</literal></para></listitem>
<listitem><para><literal>hardware/video/webcam/facetimehd.nix</literal></para></listitem>
<listitem><para><literal>i18n/inputMethod/default.nix</literal></para></listitem>
<listitem><para><literal>i18n/inputMethod/fcitx.nix</literal></para></listitem>
<listitem><para><literal>i18n/inputMethod/ibus.nix</literal></para></listitem>
<listitem><para><literal>i18n/inputMethod/nabi.nix</literal></para></listitem>
<listitem><para><literal>i18n/inputMethod/uim.nix</literal></para></listitem>
<listitem><para><literal>i18n/input-method/default.nix</literal></para></listitem>
<listitem><para><literal>i18n/input-method/fcitx.nix</literal></para></listitem>
<listitem><para><literal>i18n/input-method/ibus.nix</literal></para></listitem>
<listitem><para><literal>i18n/input-method/nabi.nix</literal></para></listitem>
<listitem><para><literal>i18n/input-method/uim.nix</literal></para></listitem>
<listitem><para><literal>programs/fish.nix</literal></para></listitem>
<listitem><para><literal>security/acme.nix</literal></para></listitem>
<listitem><para><literal>security/audit.nix</literal></para></listitem>

View file

@ -543,7 +543,7 @@ sub waitForX {
retry sub {
my ($status, $out) = $self->execute("journalctl -b SYSLOG_IDENTIFIER=systemd | grep 'session opened'");
return 0 if $status != 0;
($status, $out) = $self->execute("xwininfo -root > /dev/null 2>&1");
($status, $out) = $self->execute("[ -e /tmp/.X11-unix/X0 ]");
return 1 if $status == 0;
}
});

View file

@ -0,0 +1,131 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-services-input-methods">
<title>Input Methods</title>
<para>Input methods are an operating system component that allows any data, such
as keyboard strokes or mouse movements, to be received as input. In this way
users can enter characters and symbols not found on their input devices. Using
an input method is obligatory for any language that has more graphemes than
there are keys on the keyboard.</para>
<para>The following input methods are available in NixOS:</para>
<itemizedlist>
<listitem><para>IBus: The intelligent input bus.</para></listitem>
<listitem><para>Fcitx: A customizable lightweight input
method.</para></listitem>
<listitem><para>Nabi: A Korean input method based on XIM.</para></listitem>
<listitem><para>Uim: The universal input method, is a library with a XIM
bridge.</para></listitem>
</itemizedlist>
<section><title>IBus</title>
<para>IBus is an Intelligent Input Bus. It provides full featured and user
friendly input method user interface.</para>
<para>The following snippet can be used to configure IBus:</para>
<programlisting>
i18n.inputMethod = {
enabled = "ibus";
ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
};
</programlisting>
<para><literal>i18n.inputMethod.ibus.engines</literal> is optional and can be
used to add extra IBus engines.</para>
<para>Available extra IBus engines are:</para>
<itemizedlist>
<listitem><para>Anthy (<literal>ibus-engines.anthy</literal>): Anthy is a
system for Japanese input method. It converts Hiragana text to Kana Kanji
mixed text.</para></listitem>
<listitem><para>Hangul (<literal>ibus-engines.hangul</literal>): Korean input
method.</para></listitem>
<listitem><para>m17n (<literal>ibus-engines.m17n</literal>): m17n is an input
method that uses input methods and corresponding icons in the m17n
database.</para></listitem>
<listitem><para>mozc (<literal>ibus-engines.mozc</literal>): A Japanese input
method from Google.</para></listitem>
<listitem><para>Table (<literal>ibus-engines.table</literal>): An input method
that load tables of input methods.</para></listitem>
<listitem><para>table-others (<literal>ibus-engines.table-others</literal>):
Various table-based input methods.</para></listitem>
</itemizedlist>
</section>
<section><title>Fcitx</title>
<para>Fcitx is an input method framework with extension support. It has three
built-in Input Method Engine, Pinyin, QuWei and Table-based input
methods.</para>
<para>The following snippet can be used to configure Fcitx:</para>
<programlisting>
i18n.inputMethod = {
enabled = "fcitx";
fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ];
};
</programlisting>
<para><literal>i18n.inputMethod.fcitx.engines</literal> is optional and can be
used to add extra Fcitx engines.</para>
<para>Available extra Fcitx engines are:</para>
<itemizedlist>
<listitem><para>Anthy (<literal>fcitx-engines.anthy</literal>): Anthy is a
system for Japanese input method. It converts Hiragana text to Kana Kanji
mixed text.</para></listitem>
<listitem><para>Chewing (<literal>fcitx-engines.chewing</literal>): Chewing is
an intelligent Zhuyin input method. It is one of the most popular input
methods among Traditional Chinese Unix users.</para></listitem>
<listitem><para>Hangul (<literal>fcitx-engines.hangul</literal>): Korean input
method.</para></listitem>
<listitem><para>m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input
method that uses input methods and corresponding icons in the m17n
database.</para></listitem>
<listitem><para>mozc (<literal>fcitx-engines.mozc</literal>): A Japanese input
method from Google.</para></listitem>
<listitem><para>table-others (<literal>fcitx-engines.table-others</literal>):
Various table-based input methods.</para></listitem>
</itemizedlist>
</section>
<section><title>Nabi</title>
<para>Nabi is an easy to use Korean X input method. It allows you to enter
phonetic Korean characters (hangul) and pictographic Korean characters
(hanja).</para>
<para>The following snippet can be used to configure Nabi:</para>
<programlisting>
i18n.inputMethod = {
enabled = "nabi";
};
</programlisting>
</section>
<section><title>Uim</title>
<para>Uim (short for "universal input method") is a multilingual input method
framework. Applications can use it through so-called bridges.</para>
<para>The following snippet can be used to configure uim:</para>
<programlisting>
i18n.inputMethod = {
enabled = "uim";
};
</programlisting>
<para>Note: The <literal>i18n.inputMethod.uim.toolbar</literal> option can be
used to choose uim toolbar.</para>
</section>
</chapter>

View file

@ -474,7 +474,7 @@ my $hwConfig = <<EOF;
boot.kernelModules = [$kernelModules ];
boot.extraModulePackages = [$modulePackages ];
$fsAndSwap
nix.maxJobs = $cpus;
nix.maxJobs = lib.mkDefault $cpus;
${\join "", (map { " $_\n" } (uniq @attrs))}}
EOF

View file

@ -47,6 +47,7 @@
#floppy = 18; # unused
#uucp = 19; # unused
#lp = 20; # unused
#proc = 21; # unused
pulseaudio = 22; # must match `pulseaudio' GID
gpsd = 23;
#cdrom = 24; # unused
@ -259,6 +260,7 @@
hydra-www = 236;
syncthing = 237;
mfi = 238;
caddy = 239;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -288,6 +290,7 @@
floppy = 18;
uucp = 19;
lp = 20;
proc = 21;
pulseaudio = 22; # must match `pulseaudio' UID
gpsd = 23;
cdrom = 24;
@ -489,6 +492,7 @@
radicale = 234;
syncthing = 237;
#mfi = 238; # unused
caddy = 239;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View file

@ -41,11 +41,11 @@
./hardware/video/nvidia.nix
./hardware/video/ati.nix
./hardware/video/webcam/facetimehd.nix
./i18n/inputMethod/default.nix
./i18n/inputMethod/fcitx.nix
./i18n/inputMethod/ibus.nix
./i18n/inputMethod/nabi.nix
./i18n/inputMethod/uim.nix
./i18n/input-method/default.nix
./i18n/input-method/fcitx.nix
./i18n/input-method/ibus.nix
./i18n/input-method/nabi.nix
./i18n/input-method/uim.nix
./installer/tools/auto-upgrade.nix
./installer/tools/nixos-checkout.nix
./installer/tools/tools.nix
@ -90,6 +90,7 @@
./security/ca.nix
./security/duosec.nix
./security/grsecurity.nix
./security/hidepid.nix
./security/oath.nix
./security/pam.nix
./security/pam_usb.nix
@ -433,6 +434,7 @@
./services/ttys/kmscon.nix
./services/web-apps/pump.io.nix
./services/web-servers/apache-httpd/default.nix
./services/web-servers/caddy.nix
./services/web-servers/fcgiwrap.nix
./services/web-servers/jboss/default.nix
./services/web-servers/lighttpd/cgit.nix

View file

@ -0,0 +1,42 @@
{ config, pkgs, lib, ... }:
with lib;
{
options = {
security.hideProcessInformation = mkEnableOption "" // { description = ''
Restrict access to process information to the owning user. Enabling
this option implies, among other things, that command-line arguments
remain private. This option is recommended for most systems, unless
there's a legitimate reason for allowing unprivileged users to inspect
the process information of other users.
Members of the group "proc" are exempt from process information hiding.
To allow a service to run without process information hiding, add "proc"
to its supplementary groups via
<option>systemd.services.&lt;name?&gt;.serviceConfig.SupplementaryGroups</option>.
''; };
};
config = mkIf config.security.hideProcessInformation {
users.groups.proc.gid = config.ids.gids.proc;
systemd.services.hidepid = {
wantedBy = [ "local-fs.target" ];
after = [ "systemd-remount-fs.service" ];
before = [ "local-fs-pre.target" "local-fs.target" "shutdown.target" ];
wants = [ "local-fs-pre.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStart = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=2,gid=${toString config.ids.gids.proc} /proc'';
ExecStop = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=0,gid=0 /proc'';
};
unitConfig = {
DefaultDependencies = false;
Conflicts = "shutdown.target";
};
};
};
}

View file

@ -26,6 +26,15 @@ in
The port on which the introducer will listen.
'';
};
tub.location = mkOption {
default = null;
type = types.nullOr types.str;
description = ''
The external location that the introducer should listen on.
If specified, the port should be included.
'';
};
package = mkOption {
default = pkgs.tahoelafs;
defaultText = "pkgs.tahoelafs";
@ -60,6 +69,18 @@ in
system to listen on a different port.
'';
};
tub.location = mkOption {
default = null;
type = types.nullOr types.str;
description = ''
The external location that the node should listen on.
This is the setting to tweak if there are multiple interfaces
and you want to alter which interface Tahoe is advertising.
If specified, the port should be included.
'';
};
web.port = mkOption {
default = 3456;
type = types.int;
@ -144,6 +165,8 @@ in
[node]
nickname = ${settings.nickname}
tub.port = ${toString settings.tub.port}
${optionalString (settings.tub.location != null)
"tub.location = ${settings.tub.location}"}
'';
});
# Actually require Tahoe, so that we will have it installed.
@ -209,6 +232,8 @@ in
[node]
nickname = ${settings.nickname}
tub.port = ${toString settings.tub.port}
${optionalString (settings.tub.location != null)
"tub.location = ${settings.tub.location}"}
# This is a Twisted endpoint. Twisted Web doesn't work on
# non-TCP. ~ C.
web.port = tcp:${toString settings.web.port}

View file

@ -6,6 +6,21 @@ let
cfg = config.services.shout;
shoutHome = "/var/lib/shout";
defaultConfig = pkgs.runCommand "config.js" {} ''
EDITOR=true ${pkgs.shout}/bin/shout config --home $PWD
mv config.js $out
'';
finalConfigFile = if (cfg.configFile != null) then cfg.configFile else ''
var _ = require('${pkgs.shout}/lib/node_modules/shout/node_modules/lodash')
module.exports = _.merge(
{},
require('${defaultConfig}'),
${builtins.toJSON cfg.config}
)
'';
in {
options.services.shout = {
enable = mkEnableOption "Shout web IRC client";
@ -35,8 +50,31 @@ in {
type = types.nullOr types.lines;
default = null;
description = ''
Contents of Shout's <filename>config.js</filename> file. If left empty,
Shout will generate from its defaults at first startup.
Contents of Shout's <filename>config.js</filename> file.
Used for backward compatibility, recommended way is now to use
the <literal>config</literal> option.
Documentation: http://shout-irc.com/docs/server/configuration.html
'';
};
config = mkOption {
default = {};
type = types.attrs;
example = {
displayNetwork = false;
defaults = {
name = "Your Network";
host = "localhost";
port = 6697;
};
};
description = ''
Shout <filename>config.js</filename> contents as attribute set (will be
converted to JSON to generate the configuration file).
The options defined here will be merged to the default configuration file.
Documentation: http://shout-irc.com/docs/server/configuration.html
'';
@ -57,11 +95,7 @@ in {
wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
preStart = if isNull cfg.configFile then ""
else ''
ln -sf ${pkgs.writeText "config.js" cfg.configFile} \
${shoutHome}/config.js
'';
preStart = "ln -sf ${pkgs.writeText "config.js" finalConfigFile} ${shoutHome}/config.js";
script = concatStringsSep " " [
"${pkgs.shout}/bin/shout"
(if cfg.private then "--private" else "--public")

View file

@ -0,0 +1,53 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.caddy;
configFile = pkgs.writeText "Caddyfile" cfg.config;
in
{
options.services.caddy = {
enable = mkEnableOption "Caddy web server";
config = mkOption {
description = "Verbatim Caddyfile to use";
};
email = mkOption {
default = "";
type = types.string;
description = "Email address (for Let's Encrypt certificate)";
};
dataDir = mkOption {
default = "/var/lib/caddy";
type = types.path;
description = "The data directory, for storing certificates.";
};
};
config = mkIf cfg.enable {
systemd.services.caddy = {
description = "Caddy web server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.caddy}/bin/caddy -conf=${configFile} -email=${cfg.email}";
Type = "simple";
User = "caddy";
Group = "caddy";
AmbientCapabilities = "cap_net_bind_service";
};
};
users.extraUsers.caddy = {
group = "caddy";
uid = config.ids.uids.caddy;
home = cfg.dataDir;
createHome = true;
};
users.extraGroups.caddy.gid = config.ids.uids.caddy;
};
}

View file

@ -221,7 +221,7 @@ in
dpi = mkOption {
type = types.nullOr types.int;
default = 0;
default = null;
description = "DPI resolution to use for X server.";
};
@ -466,6 +466,7 @@ in
xorg.xsetroot
xorg.xinput
xorg.xprop
xorg.xauth
pkgs.xterm
pkgs.xdg_utils
]
@ -513,8 +514,7 @@ in
};
services.xserver.displayManager.xserverArgs =
[ "-ac"
"-terminate"
[ "-terminate"
"-config ${configFile}"
"-xkbdir" "${cfg.xkbDir}"
] ++ optional (cfg.display != null) ":${toString cfg.display}"

View file

@ -472,6 +472,13 @@ in
'';
};
systemd.generator-packages = mkOption {
default = [];
type = types.listOf types.package;
example = literalExample "[ pkgs.systemd-cryptsetup-generator ]";
description = "Packages providing systemd generators.";
};
systemd.defaultUnit = mkOption {
default = "multi-user.target";
type = types.str;
@ -628,7 +635,18 @@ in
environment.systemPackages = [ systemd ];
environment.etc = {
environment.etc = let
# generate contents for /etc/systemd/system-generators from
# systemd.generators and systemd.generator-packages
generators = pkgs.runCommand "system-generators" { packages = cfg.generator-packages; } ''
mkdir -p $out
for package in $packages
do
ln -s $package/lib/systemd/system-generators/* $out/
done;
${concatStrings (mapAttrsToList (generator: target: "ln -s ${target} $out/${generator};\n") cfg.generators)}
'';
in ({
"systemd/system".source = generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants;
"systemd/user".source = generateUnits "user" cfg.user.units upstreamUserUnits [];
@ -667,7 +685,9 @@ in
${concatStringsSep "\n" cfg.tmpfiles.rules}
'';
} // mapAttrs' (n: v: nameValuePair "systemd/system-generators/${n}" {"source"=v;}) cfg.generators;
"systemd/system-generators" = { source = generators; };
});
system.activationScripts.systemd = stringAfter [ "groups" ]
''

View file

@ -1,9 +1,14 @@
{ lib, ... }:
{ users.extraUsers = lib.singleton
{ users.extraUsers.alice =
{ isNormalUser = true;
name = "alice";
description = "Alice Foobar";
password = "foobar";
};
users.extraUsers.bob =
{ isNormalUser = true;
description = "Bob Foobar";
password = "foobar";
};
}

View file

@ -32,6 +32,7 @@ import ./make-test.nix ({ pkgs, ...} : {
$machine->succeed("getfacl /dev/snd/timer | grep -q alice");
$machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow(qr/Terminal/);
$machine->sleep(20);
$machine->screenshot("screen");

View file

@ -27,6 +27,7 @@ import ./make-test.nix ({ pkgs, ...} : {
$machine->succeed("getfacl /dev/snd/timer | grep -q alice");
$machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow(qr/Terminal/);
$machine->mustSucceed("timeout 900 bash -c 'journalctl -f|grep -m 1 \"GNOME Shell started\"'");
$machine->sleep(10);

View file

@ -13,6 +13,8 @@ import ./make-test.nix ({ pkgs, ...} : {
testScript = { nodes, ... }: ''
$machine->waitForX;
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow(qr/first configuration/);
$machine->sleep(1);
$machine->screenshot("started");

View file

@ -41,11 +41,13 @@ import ./make-test.nix ({ pkgs, ... }: {
pkgs.kde4.kdenetwork
pkgs.kde4.kdetoys
pkgs.kde4.kdewebdev
pkgs.xorg.xmessage
];
};
testScript = ''
testScript = ''
$machine->waitUntilSucceeds("pgrep plasma-desktop");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow(qr/plasma-desktop/);
# Check that logging in has given the user ownership of devices.
@ -62,7 +64,7 @@ import ./make-test.nix ({ pkgs, ... }: {
$machine->sleep(10);
$machine->screenshot("screen");
$machine->screenshot("screen");
'';
})

View file

@ -22,6 +22,8 @@ import ./make-test.nix ({ pkgs, ...} : {
$machine->waitForText(qr/${user.description}/);
$machine->screenshot("lightdm");
$machine->sendChars("${user.password}\n");
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow("^IceWM ");
'';
})

View file

@ -25,6 +25,8 @@ import ./make-test.nix ({ pkgs, ...} : {
};
users.users.sybil = { isNormalUser = true; group = "wheel"; };
security.sudo = { enable = true; wheelNeedsPassword = false; };
security.hideProcessInformation = true;
users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; };
};
testScript =
@ -117,5 +119,12 @@ import ./make-test.nix ({ pkgs, ...} : {
subtest "sudo", sub {
$machine->succeed("su - sybil -c 'sudo true'");
};
# Test hidepid
subtest "hidepid", sub {
$machine->succeed("grep -Fq hidepid=2 /etc/mtab");
$machine->succeed("[ `su - sybil -c 'pgrep -c -u root'` = 0 ]");
$machine->succeed("[ `su - alice -c 'pgrep -c -u root'` != 0 ]");
};
'';
})

View file

@ -24,6 +24,8 @@ import ./make-test.nix ({ pkgs, ...} : {
testScript = { nodes, ... }: ''
startAll;
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow("^IceWM ");
'';
})

View file

@ -23,6 +23,8 @@ import ./make-test.nix ({ pkgs, ...} : {
testScript = { nodes, ... }: ''
startAll;
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow("^IceWM ");
'';
})

View file

@ -15,11 +15,15 @@ import ./make-test.nix ({ pkgs, ...} : {
services.xserver.displayManager.auto.user = "alice";
services.xserver.desktopManager.xfce.enable = true;
environment.systemPackages = [ pkgs.xorg.xmessage ];
};
testScript =
''
$machine->waitForX;
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow(qr/xfce4-panel/);
$machine->sleep(10);
@ -30,5 +34,9 @@ import ./make-test.nix ({ pkgs, ...} : {
$machine->waitForWindow(qr/Terminal/);
$machine->sleep(10);
$machine->screenshot("screen");
# Ensure that the X server does proper access control.
$machine->mustFail("su - bob -c 'DISPLAY=:0.0 xmessage Foo'");
$machine->mustFail("su - bob -c 'DISPLAY=:0 xmessage Foo'");
'';
})

View file

@ -23,6 +23,8 @@ stdenv.mkDerivation {
buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ];
NIX_LDFLAGS="-L${stdenv.cc.libc.out}/lib";
meta = {
description = "sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
homepage = http://www.csounds.com/;

View file

@ -3,11 +3,11 @@
pythonPackages.buildPythonApplication rec {
name = "mopidy-mopify-${version}";
version = "1.5.8";
version = "1.5.17";
src = fetchurl {
url = "https://github.com/dirkgroenen/mopidy-mopify/archive/${version}.tar.gz";
sha256 = "1gq88i5hbyskwhqf51myndqgmrndkyy6gs022sc387fy3dwxmvn0";
sha256 = "1qi7f5i87ygn486gxc84njl22y84xrwabpz58y5a1hw7z1lp7l8s";
};
propagatedBuildInputs = with pythonPackages; [ mopidy configobj ];

View file

@ -3,13 +3,13 @@
pythonPackages.buildPythonApplication rec {
name = "mopidy-musicbox-webclient-${version}";
version = "2.0.0";
version = "2.2.0";
src = fetchFromGitHub {
owner = "pimusicbox";
repo = "mopidy-musicbox-webclient";
rev = "v${version}";
sha256 = "0gnw6jn55jr6q7bdp70mk3cm5f6jy8lm3s7ayfmisihhjbl3rnaq";
sha256 = "0v09wy40ipl0b0dpgmcdl15c5g732c9jl7zipm4sy4pr8xiy6baa";
};
propagatedBuildInputs = [ mopidy ];

View file

@ -3,13 +3,13 @@
pythonPackages.buildPythonApplication rec {
name = "mopidy-spotify-tunigo-${version}";
version = "0.2.1";
version = "1.0.0";
src = fetchFromGitHub {
owner = "trygveaa";
repo = "mopidy-spotify-tunigo";
rev = "v${version}";
sha256 = "0827wghbgrscncnshz30l97hgg0g5bsnm0ad8596zh7cai0ibss0";
sha256 = "1jwk0b2iz4z09qynnhcr07w15lx6i1ra09s9lp48vslqcf2fp36x";
};
propagatedBuildInputs = [ mopidy mopidy-spotify pythonPackages.tunigo ];

View file

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec {
name = "mopidy-spotify-${version}";
version = "2.3.1";
version = "3.0.0";
src = fetchurl {
url = "https://github.com/mopidy/mopidy-spotify/archive/v${version}.tar.gz";
sha256 = "0g105kb27q1p8ssrbxkxcjgx9jkqnd9kk5smw8sjcx6f3b23wrwx";
sha256 = "0w7bhq6nz2xly5g72xd98r7lyzmx7nzfdpghk7vklkx0x41qccz8";
};
propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];

View file

@ -3,13 +3,13 @@
pythonPackages.buildPythonApplication rec {
name = "mopidy-youtube-${version}";
version = "2.0.1";
version = "2.0.2";
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy-youtube";
rev = "v${version}";
sha256 = "1si7j7m5kg0cxlhkw8s2mbnpmc9mb3l69n5sgklb1yv1s55iia6z";
sha256 = "06r3ikyg2ch5n7fbn3sgj04hk6icpfpk1r856qch41995k3bbfg7";
};
propagatedBuildInputs = with pythonPackages; [ mopidy pafy ];

View file

@ -1,23 +1,28 @@
{ stdenv, fetchurl, pythonPackages, pygobject, gst_python, wrapGAppsHook
, glib_networking, gst_plugins_good, gst_plugins_base, gst_plugins_ugly
{ stdenv, fetchFromGitHub, pythonPackages, pygobject3, wrapGAppsHook
, gst_all_1, glib_networking, gobjectIntrospection
}:
pythonPackages.buildPythonApplication rec {
name = "mopidy-${version}";
version = "1.1.2";
version = "2.0.0";
src = fetchurl {
url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
sha256 = "1vn4knpmnp3krmn627iv1r7xa50zl816ac6b24b8ph50cq2sqjfv";
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy";
rev = "v${version}";
sha256 = "06f1y87dqc7p6kq5npmg3ki8x4iacyjzd7nq7188x20y2zglrjbm";
};
buildInputs = [
wrapGAppsHook gst_plugins_base gst_plugins_good gst_plugins_ugly glib_networking
nativeBuildInputs = [ wrapGAppsHook ];
buildInputs = with gst_all_1; [
gst-plugins-base gst-plugins-good gst-plugins-ugly
glib_networking gobjectIntrospection
];
propagatedBuildInputs = with pythonPackages; [
gst_python pygobject pykka tornado requests2
gst-python pygobject3 pykka tornado requests2
];
# There are no tests

View file

@ -15,11 +15,11 @@ assert taglibSupport -> (taglib != null);
with stdenv.lib;
stdenv.mkDerivation rec {
name = "ncmpcpp-${version}";
version = "0.7.2";
version = "0.7.3";
src = fetchurl {
url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2";
sha256 = "0fq9nk796cp7gs0gwrabb6wp7f5h7pph10hrkrik1wf4k3mzb4k3";
sha256 = "04mj6r0whikliblxfbz92pibwcd7a3ywkryf01a89zd4bi1jk2rc";
};
configureFlags = [ "BOOST_LIB_SUFFIX=" ]

View file

@ -5,11 +5,6 @@
let
major = "3.16";
minor = "1";
GST_PLUGIN_PATH = stdenv.lib.makeSearchPath "lib/gstreamer-1.0" [
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-libav ];
in stdenv.mkDerivation rec {
version = "${major}.${minor}";
@ -24,15 +19,16 @@ in stdenv.mkDerivation rec {
gnome3.gsettings_desktop_schemas libmusicbrainz5 libdiscid isocodes
makeWrapper gnome3.dconf
gst_all_1.gstreamer gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
gst_all_1.gst-libav
];
preFixup = ''
for f in $out/bin/* $out/libexec/*; do
wrapProgram "$f" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \
--prefix GST_PLUGIN_PATH : "${GST_PLUGIN_PATH}"
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
done
'';

View file

@ -1,12 +1,12 @@
{ pkgs, fetchurl, tk, buildPythonApplication, pythonPackages }:
buildPythonApplication rec {
version = "0.9.2";
version = "0.9.7";
name = "nvpy-${version}";
src = fetchurl {
url = "https://github.com/cpbotha/nvpy/archive/v${version}.tar.gz";
sha256 = "78e41b80fc5549cba8cfd92b52d6530e8dfc8e8f37e96e4b219f30c266af811d";
sha256 = "1rd3vlaqkg16iz6qcw6rkbq0jmyvc0843wa3brnvn1nz0kla243f";
};
buildInputs = [tk];
@ -14,6 +14,7 @@ buildPythonApplication rec {
propagatedBuildInputs = [
pythonPackages.markdown
pythonPackages.tkinter
pythonPackages.docutils
];
postInstall = ''

View file

@ -21,7 +21,7 @@ stdenv.mkDerivation {
"--with-wxwidgets"
"--with-netcdf"
"--with-geos"
"--with-postgres"
"--with-postgres" "--with-postgres-libs=${postgresql.lib}/lib/"
"--with-mysql" "--with-mysql-includes=${mysql.lib}/include/mysql"
"--with-blas"
];

View file

@ -13,7 +13,7 @@ in
stdenv.mkDerivation rec {
name = "imagemagick-${version}";
version = "6.9.2-0";
version = "6.9.3-8";
src = fetchurl {
urls = [
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
# the original source above removes tarballs quickly
"http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
];
sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7";
sha256 = "129s4cwp6cbhgsr3xr8186q5j02zpbk6kqfk4j7ayb563zsrdb4h";
};
outputs = [ "out" "doc" ];

View file

@ -1,14 +1,9 @@
{ stdenv, fetchurl, cmake, makeWrapper, exiv2, graphicsmagick
{ stdenv, fetchurl, cmake, makeQtWrapper, exiv2, graphicsmagick
, qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools
}:
let
version = "1.3";
qmlPath = stdenv.lib.makeSearchPath "lib/qt5/qml/" [
qtquickcontrols
qtdeclarative
qtmultimedia
];
in
stdenv.mkDerivation rec {
name = "photoqt-${version}";
@ -18,7 +13,8 @@ stdenv.mkDerivation rec {
};
buildInputs = [
cmake makeWrapper qtbase qtquickcontrols qttools exiv2 graphicsmagick
cmake makeQtWrapper qtbase qtquickcontrols qttools exiv2 graphicsmagick
qtmultimedia qtdeclarative
];
preConfigure = ''
@ -26,7 +22,7 @@ stdenv.mkDerivation rec {
'';
postInstall = ''
wrapProgram $out/bin/photoqt --set QML2_IMPORT_PATH "${qmlPath}"
wrapQtProgram $out/bin/photoqt
'';
meta = {

View file

@ -1,10 +1,10 @@
{ stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }:
stdenv.mkDerivation {
name = "pcmanfm-1.2.3";
stdenv.mkDerivation rec {
name = "pcmanfm-1.2.4";
src = fetchurl {
url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.3.tar.xz";
sha256 = "1033rw5jd7nlzbcdpx3bik7347kyh1sg1gkla424gq9vqqpxia6g";
url = "mirror://sourceforge/pcmanfm/${name}.tar.xz";
sha256 = "04z3vd9si24yi4c8calqncdpb9b6mbj4cs4f3fs86i6j05gvpk9q";
};
buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ];

View file

@ -1,18 +1,38 @@
{ stdenv, fetchurl, libX11, libXt }:
{ stdenv, fetchurl
, pkgconfig, libtool
, libX11, libXt, libXpm }:
stdenv.mkDerivation {
name = "rxvt-2.6.4";
stdenv.mkDerivation rec {
name = "rxvt-${version}";
version = "2.7.10";
src = fetchurl {
url = mirror://sourceforge/rxvt/rxvt-2.6.4.tar.gz;
sha256 = "0hi29whjv8v11nkjbq1i6ms411v6csykghmlpkmayfjn9nxr02xg";
url = "mirror://sourceforge/rxvt/${name}.tar.gz";
sha256 = "0jfl71gz3k7zh3kxdb8lxi06kajjnx7bq1rxjgk680l209jxask1";
};
buildInputs = [ libX11 libXt ];
buildInputs = [ pkgconfig libtool libX11 libXt libXpm ];
meta = {
configurePhase = ''
LIBTOOL=${libtool}/bin/libtool ./configure --prefix=$out --enable-everything --enable-smart-resize --enable-256-color
'';
meta = with stdenv.lib; {
homepage = http://rxvt.sourceforge.net/;
description = "Colour vt102 terminal emulator with less features and lower memory consumption";
homepage = http://www.rxvt.org/;
license = "GPL";
longDescription = ''
rxvt (acronym for our extended virtual terminal) is a terminal
emulator for the X Window System, originally written by Rob Nation
as an extended version of the older xvt terminal by John Bovey of
University of Kent. Mark Olesen extensively modified it later and
took over maintenance for several years.
rxvt is intended to be a slimmed-down alternate for xterm,
omitting some of its little-used features, like Tektronix 4014
emulation and toolkit-style configurability.
'';
maintainers = with maintainers; [ AndersonTorres ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft, fontconfig
, conf? null}:
, conf ? null, patches ? []}:
with stdenv.lib;
@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "0avsfc1qp8zvshsfjwwrkvk411jlqy58z225bsdhjkl1qc40qcc5";
};
inherit patches;
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, writeText
, ncurses, wayland, wld, libxkbcommon, fontconfig, pixman
, conf? null}:
, conf ? null, patches ? [] }:
with stdenv.lib;
@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
sha256 = "7164da135f02405dba5ae3131dfd896e072df29ac6c0928f3b887beffb8a7d97";
};
inherit patches;
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";

View file

@ -4,187 +4,187 @@
# ruby generate_sources.rb > sources.nix
{
version = "45.0.1";
version = "45.0.2";
sources = [
{ locale = "ach"; arch = "linux-i686"; sha256 = "6dff17afbbbb9ba8e064b431db1f6b6a1862ec56e11dfa8cb8ef5d89dd9f7705"; }
{ locale = "ach"; arch = "linux-x86_64"; sha256 = "4f806511a1e7c2100d976a9753f0e7ecee483f19ca1176e1867021a55725aabf"; }
{ locale = "af"; arch = "linux-i686"; sha256 = "0a2e0b55e43b41304895f624ae95372e4ab52b06c8892e0ef02a8e41c5ff28e5"; }
{ locale = "af"; arch = "linux-x86_64"; sha256 = "c865d4a431c3b92347393b62c4589fe67f4323458faf1ee07367e1f432d0e839"; }
{ locale = "an"; arch = "linux-i686"; sha256 = "d58dcdb222fad88650d65623005897de7a693d16c44d86f25694a00d7fa5111d"; }
{ locale = "an"; arch = "linux-x86_64"; sha256 = "b00ac5cf76fe562cac8f72327cdf0e54b2c4384586fbb064deb72d2741e05268"; }
{ locale = "ar"; arch = "linux-i686"; sha256 = "42851096189bc53d18ea26d9de1d0321b033a5601594c0515530263cf3155b12"; }
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "4d7e8760da3dac6cffa8eafeb22c759bfad3664bba7f690c0f1d1aa5284aed3c"; }
{ locale = "as"; arch = "linux-i686"; sha256 = "706d584ea78172ec88c29d124abf2bd34881c9752231fdb3f491d0bf858fc5c5"; }
{ locale = "as"; arch = "linux-x86_64"; sha256 = "13ed628c2ef29b8d3188274e6fc101ba622d4e1ca20880b381e62225c5f057d5"; }
{ locale = "ast"; arch = "linux-i686"; sha256 = "9f8f5870245cf0016d4a9a540d29d31249188fa8f390c47cfd330874eb20e8dd"; }
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "9bd85381abe1335ca9208ad764477e6f2a926288058c91aee0af3a3967aa1e57"; }
{ locale = "az"; arch = "linux-i686"; sha256 = "9e117f5aabdb8f71bcaf8073c76c4b795c957e6739471fed0f484d0ed39b5a98"; }
{ locale = "az"; arch = "linux-x86_64"; sha256 = "06ee5bd4f1096e6728120fbed4ed6cbc88cb1003c484a15dd624254ae93ed849"; }
{ locale = "be"; arch = "linux-i686"; sha256 = "c6091272b395905e746271176d354ff59eccc9d96c5e1ecc2e8e5c3ac65ed2f0"; }
{ locale = "be"; arch = "linux-x86_64"; sha256 = "090ba5d28858b2c58a6a29ce0f435797a938cd788ebd3413db4ced224329d2e4"; }
{ locale = "bg"; arch = "linux-i686"; sha256 = "1b8b5bbe6473b13fb80ca31514f7386015f5920c7a3d8391aa5549eedcfd09ce"; }
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "b49fa01d8749c1b4d327dca2379e4940d5d85d310e998cad66efecc2f485cf9c"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "3372a82af514706d8eacc5e4d35584379408db964c3cfd35ea75597ddefad7e8"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "798a2a405e175f8347dfd933300eba728cde6dbe47fa831552e40b87455bd921"; }
{ locale = "bn-IN"; arch = "linux-i686"; sha256 = "3895feec666feb59a554310efc70b248d63906ca6bde59c03d9a29fa2d4cd7c2"; }
{ locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "58725666980beeb5a651683a76be2084ba9d40530a063f1f1ebf160fb4db8e0b"; }
{ locale = "br"; arch = "linux-i686"; sha256 = "21d56c17d225a6a35711bb8354724a05ad15ec565cc70ec128384f9b8762edba"; }
{ locale = "br"; arch = "linux-x86_64"; sha256 = "c0cc5568b2fac5ba35ef742fd1f87fbb73e1bca47240e888848ac804f4bd7714"; }
{ locale = "bs"; arch = "linux-i686"; sha256 = "4b2d818c81bc15dad48c47847c14a00cec5b93615a23cb5d2068f4a2ef98b810"; }
{ locale = "bs"; arch = "linux-x86_64"; sha256 = "a35a4cd723c446ac5593989f7fc4a56aace5cbf6bce757f3a92986e795ab07ba"; }
{ locale = "ca"; arch = "linux-i686"; sha256 = "66497de3bf6069c1af68f6a50988919b8ff37afb9da7ce327a5beb014b75aa0f"; }
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "188b43172959c2ef064ef558d0b6518409eb19bb33add98d77a8bf260def55e6"; }
{ locale = "cs"; arch = "linux-i686"; sha256 = "2ccd96ef1b831580dcfe84f62501fcebae7fdf8a803786913bd24a9cc9904ff7"; }
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "c9e1665399f055c561ec6d8df90235c3bfb3570d7ec613b959e80c5080e7c614"; }
{ locale = "cy"; arch = "linux-i686"; sha256 = "789aadc04e83af8cc08cb9dd67bc61aef337a31d2ac17239c194de2d12608b6e"; }
{ locale = "cy"; arch = "linux-x86_64"; sha256 = "6d695037d9000911422a6b50d09ef250044d629368900ec569a06ac245c1eb2a"; }
{ locale = "da"; arch = "linux-i686"; sha256 = "b63788d28be0cbc37499e5ad41b8a904413c537a5786b1c2934c304f2adf4ded"; }
{ locale = "da"; arch = "linux-x86_64"; sha256 = "a5d4cf1dec637ce5c09ee9f8be82ad32756a56ff0e8c529c945b40adb3b928e0"; }
{ locale = "de"; arch = "linux-i686"; sha256 = "ae3b299a514423faf79bd21952f90e37a4d8e7be2cadca9a1befff4160f103e7"; }
{ locale = "de"; arch = "linux-x86_64"; sha256 = "971b80131db7e1facd480546d9bd780bf69d2a99338d9e50415eb6583e550cdd"; }
{ locale = "dsb"; arch = "linux-i686"; sha256 = "87c439cfbd139477055e5a8bd421aa65cb75cdb93090a54899d25411ab3d5dde"; }
{ locale = "dsb"; arch = "linux-x86_64"; sha256 = "2a04b723d1ed3f9bab3dc9f11fc315fbce2543bfff37532e7cd7a4b9a33d7936"; }
{ locale = "el"; arch = "linux-i686"; sha256 = "37e02fb347d8cb1f3b5079c3be055c0e37cdb3a6ab97b2928237beeb446e800e"; }
{ locale = "el"; arch = "linux-x86_64"; sha256 = "9a439341ff9c39cfe8dcb6681221d0d78690ad063ac99a201001f5787b5ec270"; }
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "a3cc4951a826e483ddb7832333e032e9197418cacdb4250e5072de1ad2fef5d2"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "433ecbabc4d1fabb2ebad958c4e7a0bb9cff9a657b1a641f820d5f0a7ba8c1f1"; }
{ locale = "en-US"; arch = "linux-i686"; sha256 = "a78498b51059f46d42cf2fcb2232d57d97f2ab4e8a789151d3a26e013132dbb8"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "251e8d67abe989ddbf7cf9e78bba58eee43e3b1eb0c461a9c6c376bda6c71a87"; }
{ locale = "en-ZA"; arch = "linux-i686"; sha256 = "d6195b72e56ca9ea366ab47885ee22b0f7bf4811b3cc937c36af53fe4e6f5d89"; }
{ locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "f82eba9a593fd6ad8a9b5b8b61d2ccf986080a1cff2af598afe930cd96423a5d"; }
{ locale = "eo"; arch = "linux-i686"; sha256 = "b6bcfea89be5883e1e5d2899bab371b7d972d4be5717d21d522bc56679463dd9"; }
{ locale = "eo"; arch = "linux-x86_64"; sha256 = "4908438cf56646665f91bf12e46c611818c5323979048d01bbdc4d5cf945832d"; }
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "ace48b5a36bccf1d21e17611e9ef7c21786f207da111473479473e5bc5817fe9"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "277ec48d9b45bd41dcaa141d67f5f814845d5e0faeca97c6f5d507f8c9ce5312"; }
{ locale = "es-CL"; arch = "linux-i686"; sha256 = "78cb60452201df5cff7ed7da54f3f876596de0a895887f8016b3d642d727e96c"; }
{ locale = "es-CL"; arch = "linux-x86_64"; sha256 = "3be79c28ea7f7ea075fc92e418ff980176dc9707329f1043c54161e703b43028"; }
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "4bb8d2732754c1112bc8d32a26b0cfee79449447a4cb8ca368f1d41e9ba43d37"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "f512f8f1b163c72234173944c5781550810b90c2b6a1a6f8d070b87a8f85192e"; }
{ locale = "es-MX"; arch = "linux-i686"; sha256 = "01f2b5e09792714b6315933ec714c5d1baa77bbab5b4e4d06ecf670c47c75d40"; }
{ locale = "es-MX"; arch = "linux-x86_64"; sha256 = "c7af08a37c116a5cb805cf0b60ef1b1a8f956fec3381ceb0288c62355b05c91b"; }
{ locale = "et"; arch = "linux-i686"; sha256 = "0aac86a5cd520a806aedc2f8111798eebcb08919099973f7d7fc7addfbaa0584"; }
{ locale = "et"; arch = "linux-x86_64"; sha256 = "fa0ad1bfd65d231cc58c9d79fb07cd4a98d5976e870af017642a77ebd7a4b260"; }
{ locale = "eu"; arch = "linux-i686"; sha256 = "4bad5d7e4e2d917606f63efa079092516ff1435013adb8aedbe95a53aa2c594a"; }
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "9e390ebf06c5abc46f80ec8c77bd7572de827ee5d368de34c1252ee386687372"; }
{ locale = "fa"; arch = "linux-i686"; sha256 = "9738ddfbaaf3e34c5546c584d9dbdeca68086e66f06b438760befb23e07593cd"; }
{ locale = "fa"; arch = "linux-x86_64"; sha256 = "55e8f1f2547a9c7c3bb3cf7029e166ae42a3745f51b58c87d7eeaf6ecdb81952"; }
{ locale = "ff"; arch = "linux-i686"; sha256 = "dfb266913e27299469de2a5ffedd5fa47f344d6d7e092ddf630cde726b94934d"; }
{ locale = "ff"; arch = "linux-x86_64"; sha256 = "370e310c39f0a87cc8e3ecc5bd6c8f3bbd863b1a8d7e613a0c2fa9be7b8b988c"; }
{ locale = "fi"; arch = "linux-i686"; sha256 = "2d10c5e21f414cc83a5413e8a2fc53124c2dadb718861410fa45e57c8ba4fd7c"; }
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "d791eda3135572d0735393ee1101383b4d20142a4279dfe615a9e20c341ea4ea"; }
{ locale = "fr"; arch = "linux-i686"; sha256 = "94118a53c25a0fb243b63d51a64c077672c4c93d7ca964f6384e3bb8234891a1"; }
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "6ccd8216017b2593430a812ea167a97012060d41fbf610bf518b8d997ac59c53"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "bd5cfd3565353ae8d01d8c9089a364394aa0ebc4547a41dba11ced14a494ed9d"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "0db0aa59c0df881f901d794fdf99f5abd27db88e0c3ab2d364b22eb7326152db"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "59486516e8aa13ca113e1f2998b05509dba0546aa7b11d99ff6da55a6f069f64"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "1cda950ea6cc6d8957d580fd2c59784bf6cd339083f0fc3cd3a084e0326b0041"; }
{ locale = "gd"; arch = "linux-i686"; sha256 = "602047e1669e9551f7a3501082e81e3e79287082b981d59f515887c5e892fb70"; }
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "d5b901d78e06a75d2534214bb849e31696ec44349c18b9b511e68951d29fde90"; }
{ locale = "gl"; arch = "linux-i686"; sha256 = "d55a556321c600024ea2fc38d9671f34c490046da88a89e4ae46d9217bf64677"; }
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "3deb86b766f51a218266cf4d97e1b3332c8ca7d75cc86491d940a8b9f37c0bb5"; }
{ locale = "gn"; arch = "linux-i686"; sha256 = "f38099f998e5bc396360856fe2543152feed086b64a85b7ac3bd2b9e3e0ad609"; }
{ locale = "gn"; arch = "linux-x86_64"; sha256 = "af4055322dc0524a00fc3ac08a4b2eb40a305dd574b92cc591fee6a00482c4b6"; }
{ locale = "gu-IN"; arch = "linux-i686"; sha256 = "3210857982a6628f8c2632995c248eed1bd1c719ddcbacb663839990e67b88c8"; }
{ locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "bb2154aba760896180ae747648530880127c8c46481b04a1ea0cb3b47c2a6f41"; }
{ locale = "he"; arch = "linux-i686"; sha256 = "18b5217fee9e30bd4bb7f1ea27445ff4aede149a286c07b7c8e9740330b7e6eb"; }
{ locale = "he"; arch = "linux-x86_64"; sha256 = "2f51ccc6e5c64976c2f81818d0a4381e508aa5f70ec2108f0e6f512a51574709"; }
{ locale = "hi-IN"; arch = "linux-i686"; sha256 = "555318d41795c988f41655bcf4653aef259c2e3dc80fdcf95670c6ada7fe687c"; }
{ locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "683e0437ff9168e159e933bf72f6db2d95ae94bb06bc48a1d1fafd30b7028fe1"; }
{ locale = "hr"; arch = "linux-i686"; sha256 = "c7a2cfb5f4594a3690797ee5559949154b3dd8c9e6a4dbd774e312f914e0b268"; }
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "94098ca5f069445a6514d4b7500ae10b018b4e1dba2eb7052a200c5eb707ba41"; }
{ locale = "hsb"; arch = "linux-i686"; sha256 = "c81cde05298660186d2760e977e43e554a896105765c043caac74b09326358fb"; }
{ locale = "hsb"; arch = "linux-x86_64"; sha256 = "4cdd381d2eb94f163637a328e5ee9369eddc0559f17861377566853e2a7ec571"; }
{ locale = "hu"; arch = "linux-i686"; sha256 = "0af518a42e35174f838b958823ad1aa24a14ff75a6058c2171594e16d5670d77"; }
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "b4c0212fe6a8df9689d5dfcaa9ebb2a1cf07e1e9817727581411542ea9bf26b5"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "0d62e6627e3ea838089a6b8b8692d034a64b47c66af80561a23bcdd74fcc777b"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "0e07e77cfac6588f8b1c3579b7dfc62feafcb72e7f9f57e2618364e3c02c0527"; }
{ locale = "id"; arch = "linux-i686"; sha256 = "9361b3c83f4b3fe84d2918810b4651bc2878eeb3cdc849c513aa3faa17bb9a72"; }
{ locale = "id"; arch = "linux-x86_64"; sha256 = "baaa11970fb695434fc2c7829d99578f7f48debb5e11729f94b58df330608c36"; }
{ locale = "is"; arch = "linux-i686"; sha256 = "3f1fc35dc18a684a22c05a2ce468b5a164b6c83457694f9de4e6f9a72c28c6df"; }
{ locale = "is"; arch = "linux-x86_64"; sha256 = "046fa860343ea079db768d94c5dbc563d6564df5a177f2a5cb7fdfa965576019"; }
{ locale = "it"; arch = "linux-i686"; sha256 = "ce736af6240e803a3c1fabb58bdae2e27e44ff593e56172b3d6d174c89f606e5"; }
{ locale = "it"; arch = "linux-x86_64"; sha256 = "e2a8fb6e3f18b2be4b7736e3c8adf77968bc13dea7f981e20ae47430b137695c"; }
{ locale = "ja"; arch = "linux-i686"; sha256 = "2153c10104c62a5814a4f72fab7be6ffa2e03e5c5cc5f7172820d0a139134fe6"; }
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "446a20d4ca5c7086045f8750eb0bcc850118d2f020a77f8fa4d116064b443953"; }
{ locale = "kk"; arch = "linux-i686"; sha256 = "3ddda0311feee7c247fd309a7721f4be8458fa528e63a2e8f58c005f70007144"; }
{ locale = "kk"; arch = "linux-x86_64"; sha256 = "4dd8f3ea040fb2d6056f0c0f615ed38f09c980cee660fba1f8aaf0fd506745eb"; }
{ locale = "km"; arch = "linux-i686"; sha256 = "a295d9d466aef89c95989866a38080d3d1b110e4efb52b1a01479817dd1c866c"; }
{ locale = "km"; arch = "linux-x86_64"; sha256 = "dbb249a1398c335a155ea2b2f6ac4656f8ff00b999035dce9f5a59532043f9c3"; }
{ locale = "kn"; arch = "linux-i686"; sha256 = "357077be38c6869602a13abf1f494ec8a124a9eb2c03a395a1b30276110b6913"; }
{ locale = "kn"; arch = "linux-x86_64"; sha256 = "11658a25f30558a6f11f28c80a98800095ef4c5879d456dc3503737a8d9cb465"; }
{ locale = "ko"; arch = "linux-i686"; sha256 = "a653f4030480ab17d77c48b144296e78faba7ad48fdce812afbe8243299575c5"; }
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "182858b0c4bd6ece47aff2b406da7442eb3fbe148c3bc20975f6bafd2acd37ac"; }
{ locale = "lij"; arch = "linux-i686"; sha256 = "449088107c0077318d95176a90a65219a76c851c98dd5b929452bfde2a87773f"; }
{ locale = "lij"; arch = "linux-x86_64"; sha256 = "8b45df098143a01f915b8eee0f8b7d56b4ec73fc9cfd0fba8c5f4b8582992f80"; }
{ locale = "lt"; arch = "linux-i686"; sha256 = "085e9873154fab87c909cef005a82f0d5ab81a8ece9adfe46766ae69418084f6"; }
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "dde643769a14714cb9990fa489389fd5cabcfb26b23c31bb32dbaa17a38f5150"; }
{ locale = "lv"; arch = "linux-i686"; sha256 = "f6363da3c7ebd5f9d80454ad126ac1cf03ef2c9fd2eebf5cb174f0d7a9cf1e36"; }
{ locale = "lv"; arch = "linux-x86_64"; sha256 = "41fb793c10d5eb52dd3847f9dee30c3f67c8ad5061897d9f13135b7d1666a84b"; }
{ locale = "mai"; arch = "linux-i686"; sha256 = "96af787075b06d96a2e8a261b900f6eb590f4997354dcd9f57a8714af3432a12"; }
{ locale = "mai"; arch = "linux-x86_64"; sha256 = "514e75157308cd6fc96c54592dd1c1f5b556c15c5b211543644f324eee09b1a2"; }
{ locale = "mk"; arch = "linux-i686"; sha256 = "1f809ef4d0afcb13bb40459a63be49ab6e074641e8f4ce54e9d2bd89c4b0b141"; }
{ locale = "mk"; arch = "linux-x86_64"; sha256 = "4931d99ddd6851e4e4596a808e6b6e5fe45012711723c6748b752217c70be9d6"; }
{ locale = "ml"; arch = "linux-i686"; sha256 = "5081b42676c174226c357c798d64cade2acecf6e935bbfabdaab548d364dd1ff"; }
{ locale = "ml"; arch = "linux-x86_64"; sha256 = "1cbaa2c64d8fc098b67f77660e18a3df3e051396a3d5e0f984294b0823324365"; }
{ locale = "mr"; arch = "linux-i686"; sha256 = "d1cc4ef0d9938c85a21e64e4a71539d46a78c709edd1ac1dc331da8ae6af57e1"; }
{ locale = "mr"; arch = "linux-x86_64"; sha256 = "8fc0abfe8e834c0894187fab63becd1e3d4e071609676c1d0a8fd35a4265ec60"; }
{ locale = "ms"; arch = "linux-i686"; sha256 = "7f471e30f28f0ccf6bc285d24923be2b53415891f4f0909c31160bd09d8e2c21"; }
{ locale = "ms"; arch = "linux-x86_64"; sha256 = "150101c5a3556664a9e3827edf36c412c64037871a5af5f66c47bed448c8931d"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "67b888c5b666e1428c182dfa79aa1a9a471c785d4dac85e6cf1f618dee9c796a"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "57c1aee6f309536788a9a9bd2be3046d65c9b174583de7e0b72cf45f28156f67"; }
{ locale = "nl"; arch = "linux-i686"; sha256 = "43feb0205631ff5caa6e7d71fa37a6643b3b3fd92fc06b77cef9e9a0113bb1ce"; }
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "182481c49deb71d9344a8789db40e233326719dbe19973fedeaaa504ba771fcb"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "995abcace6138d11252b60958a8d5a13a1abf94c8017e567053468f811549b24"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "d449fa5534d9a7f5e772678388770f14fa32226b0366e9a2adf7cd245b911139"; }
{ locale = "or"; arch = "linux-i686"; sha256 = "a7abea23a03ed38048e724e2f7fa234e24f0f74d8681e39bca5ef183178df923"; }
{ locale = "or"; arch = "linux-x86_64"; sha256 = "b05963dc6e13757b4afd1a1fa72c3128cbdfc9db3ba16adc20d2fd2eb101f165"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "4a30beb8ca9feca58487264abbed2a403336835140767ebac31be24bcf4b9386"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "77b77274a7eac09f4d1a7163ba5555ced722369717d98ba1dab014140a4ac235"; }
{ locale = "pl"; arch = "linux-i686"; sha256 = "699b72fd6bdda12d71521bc0e32fb1a95d933dc45f62595e6b02f5441ff6d016"; }
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "d748461e3e45a3d07aa36bde8fd265a51888e34ce0a8e23fdf893e540cc90e16"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "0b7062f911ce1d70e5300cd85328aa507c9a39ad14110a0241e23280af0f6db5"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "b2de3df121d0ca4b4c322533040ae5187cff9fad8e8b83997425867c051b636c"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "801a04cd65d7253c95bfb9b680abba87b45e3f0cff18f94b81945ed47154b9e7"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "5e6a28463b388fb2a242af899e521a7c2a4bcc48959d0f6813335fd11e3b5861"; }
{ locale = "rm"; arch = "linux-i686"; sha256 = "57d8127547da954a6fdecaaab0006d570125ad577ad7d66e53c97e1c2194258e"; }
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "f6158506cbf3c96a5f6a551969338a65369f2be52bfa80359da3941d2f3277bb"; }
{ locale = "ro"; arch = "linux-i686"; sha256 = "980701a87255b999c4df5d82a53b653bb513675ba93e5138bc47e91174d03c3f"; }
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "95e80b8bbd38510719463ca1b67e574f0a1d62daa8fbd09f4bba277749c57517"; }
{ locale = "ru"; arch = "linux-i686"; sha256 = "16e6775a26756b445e5c72220297062b3e4e1ab66efd0324eb161a4d5b353874"; }
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "9bc067f5c158f33fdafd8b7ea1ab3492002ceca579a177a292a835d52c430c27"; }
{ locale = "si"; arch = "linux-i686"; sha256 = "2fdc744bc85488514b9bcf93b017e6f6fcfd4cf7c249c1e7d307956cb62baf43"; }
{ locale = "si"; arch = "linux-x86_64"; sha256 = "366893e7b7337ff6bdfe0def0ac88615e9cadb460fbcb17dd047f18172782208"; }
{ locale = "sk"; arch = "linux-i686"; sha256 = "3efabb4f04376688f51df5c70fb4cfc0b382e9b6160eb625969945a8e3272a18"; }
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "dd97fc87382cca475b4b8ef8ab137b8f436e4a4792bfc06bcf0e7736e1f5e452"; }
{ locale = "sl"; arch = "linux-i686"; sha256 = "3ba940deb5b1db31aaf07c005e62ddbd6acf44d3d0e775aab51c2eb0dc2da936"; }
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "dae438abc4cdd552bc7750ecebe958cbb7ef0edbb745d19e9b670db1e5c9fa8f"; }
{ locale = "son"; arch = "linux-i686"; sha256 = "ef1baa4e6b333cd19df938dd13b91e091c9ed838b72767def2c0eec7a473532f"; }
{ locale = "son"; arch = "linux-x86_64"; sha256 = "c2e45137b18717889977e0203951ddd078e1379f05875915f295b14677b6e75a"; }
{ locale = "sq"; arch = "linux-i686"; sha256 = "d4f48c90a2bd4f8751b66653e0aed0de3f4ff9b40bba306377577ef8cbf94541"; }
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "85cf583913978c109dcaf07b22442505554813b6129862668ef78f491588a153"; }
{ locale = "sr"; arch = "linux-i686"; sha256 = "08725f28304608e029e9e4ccf0fb478eda4b6cde138ad65a53e2f88af97e8a6c"; }
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "bfdca6d30f044bed181d45396c81f0a1d0e9b9026607e0700cc1bf225408ac20"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "01f98e4954e1a1df5b0aaf711696b6f7e7237ea3df57071479e8749c621fbbf1"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "b1c292410edaa4d6595b21b803287030d21ddd64e7a6a941d7627bb4cbff2435"; }
{ locale = "ta"; arch = "linux-i686"; sha256 = "d6d62857ccfe54ab870bcbe0ea98e41d59524b3958c28ddffcfb009d6305fde0"; }
{ locale = "ta"; arch = "linux-x86_64"; sha256 = "253080f66f47850222c676d98626c5a879ee708d1f03b3598d4ac205998676c4"; }
{ locale = "te"; arch = "linux-i686"; sha256 = "ffa9371d8960707a0062bc6cb5ed5aa84c9e5b9b898ddc403b346b519bf6f814"; }
{ locale = "te"; arch = "linux-x86_64"; sha256 = "69c3776bfd41bae4067da4f5f350c5f0a906c2b8d1edffe5d3907bc7ca2ee863"; }
{ locale = "th"; arch = "linux-i686"; sha256 = "3dbead624ae46c14208a61ed8c6b515117d472a8f8bebf14478bc467da23eeee"; }
{ locale = "th"; arch = "linux-x86_64"; sha256 = "4c0db90021ad46d67f68b3d2d928a279cdff14b7d62f8fa4e07a33135ab925b7"; }
{ locale = "tr"; arch = "linux-i686"; sha256 = "744327c6a3c514ff7b0bc5940f1744c95c6ac47165d5b316bbea11412a2d8550"; }
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "321f096a89898ed027b95efa4f02fdaa9118eb414e35088ce259b76048bf77fd"; }
{ locale = "uk"; arch = "linux-i686"; sha256 = "f3d0a5a328b686cf18339e50a59920fe002166b35c5b5b29c04156bc5b5c6d4b"; }
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "b15e82737c69703bcdd97f5699280338e4c2029b5eea7df98fb218a5e2a579f3"; }
{ locale = "uz"; arch = "linux-i686"; sha256 = "dfdf28670cacfd43f71d81c609fc2961682ec2c7a64ea540e49a571195e68852"; }
{ locale = "uz"; arch = "linux-x86_64"; sha256 = "eaacd1534711def0ab30eb9a53db2553c4cc202ec07c40bc5b2ded7e729347ac"; }
{ locale = "vi"; arch = "linux-i686"; sha256 = "4b4753038753d814d1e5a1ff995445abec80fd74d9443cac38495193bf039762"; }
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "3051a5f8b0d47860f98839c4496298d71aeb6ef98f099937b8da9d87d7a1986c"; }
{ locale = "xh"; arch = "linux-i686"; sha256 = "2798bca7d894a0ba223694fe585e1b9fcf60cc96d881d7570c06a4d77afc4b20"; }
{ locale = "xh"; arch = "linux-x86_64"; sha256 = "acb1084e32bc467cd3374e6930c8f51deea38e94ddde09bf5a257d473d2579e8"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "93a3f1b92aeb7a3e7659ebe0ad7c7df966279926fe3fdc7b0047bd858482234f"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "047d74546e4767d728e7522d908056c8aaad9cd8152517425443b59ff580bebe"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "b710126e2d7cd6f55b0dd54811de64c30eb69f97ea8a71905b3ea49e59abdfe2"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "d3b52404ab397385fcbb617f6cd8cda821d3927852e0a617dd60443c2cad6b65"; }
{ locale = "ach"; arch = "linux-i686"; sha256 = "3e925e9594f84e6bce3f24fa0a1207ec584818df4815ae04a6c882644e2f7cc6"; }
{ locale = "ach"; arch = "linux-x86_64"; sha256 = "c960352a5288f09752ff76440278e76700a1921109f0976b4d922ceeedec8e9c"; }
{ locale = "af"; arch = "linux-i686"; sha256 = "3067a999cc678fe225c11288ed5659a251f237e098903b2cf6f23bdbceb70a9f"; }
{ locale = "af"; arch = "linux-x86_64"; sha256 = "f329f7f3e15cd90263d70269c946f83bca01384618a59d590ca371930e7b1939"; }
{ locale = "an"; arch = "linux-i686"; sha256 = "564ba48104a2db7709e4b9b25cf8d2853ef8a2b919a14030d7cc59751ac8ab8c"; }
{ locale = "an"; arch = "linux-x86_64"; sha256 = "c2628a079e4c601d54c869d3b13ec1a772353885b29a63559aa544d5f48d4873"; }
{ locale = "ar"; arch = "linux-i686"; sha256 = "3097a13c59a324f3f9b7504b4941b1846cfbd5593c91597a2475fe87efbb61f7"; }
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "b5778932fb122de9f7070393b4ae98e190e648857c94096a495e021a3c956a04"; }
{ locale = "as"; arch = "linux-i686"; sha256 = "b6751bdaf612b8a975122812db0e7641eb5932e6c13879d7b48f2b7f5e8a2c6a"; }
{ locale = "as"; arch = "linux-x86_64"; sha256 = "6501b0e3c4c55eef08e94dcd6f5fab70d01f88e57630f5a999279286fc9b1058"; }
{ locale = "ast"; arch = "linux-i686"; sha256 = "40b5f29d2a818e60d5ed1ef2f37ed5a65bf52b9138b2e4fd1c110b404fbf3910"; }
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "6f9e6266d790784d57cab715d8d6fa5e648ec20287c8d6ad746972e284f5558b"; }
{ locale = "az"; arch = "linux-i686"; sha256 = "005ca6c0184a9c5a2eee8d49b00782872abbe202c70654d856fd519ce62ea47a"; }
{ locale = "az"; arch = "linux-x86_64"; sha256 = "32d5179de71be41b855d0454004e43d336289a6fe4967e869d0b9fb42fe2fe71"; }
{ locale = "be"; arch = "linux-i686"; sha256 = "0fadc3acdd104cc171a18c74e11e853a9a322017f3f63b79712dc6628246630c"; }
{ locale = "be"; arch = "linux-x86_64"; sha256 = "3fe751e0c702fc8a03f63cba1d1f2e0897b2f729c1b607f68f9934926a3343d8"; }
{ locale = "bg"; arch = "linux-i686"; sha256 = "80c49634c1b0acb2ee533ddd6581845270f05a3406cd7b41bf5962182166c000"; }
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "12e74f5a3b8500f18126e305d49cf26290fb145d62d888bd00fd44b412dec105"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "22511d1c27f3876bbe7c4e791accdfa205e05cd3fc4143070f8e1e75521fa12e"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "239e59d26a842efd2ec61dcca73f7b6aadca6d4bb969e7447bf8ef2ed880a77c"; }
{ locale = "bn-IN"; arch = "linux-i686"; sha256 = "72f72e6528c5d9e373e21065eba623cbbfc6c82e73db0df3581a1ffebe664cbd"; }
{ locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "580564e4a1e249a7cb6c83736343af43f903df82a97f8d2e19bd749e01867339"; }
{ locale = "br"; arch = "linux-i686"; sha256 = "1dbc1d60e99812077b1b43a6f294e9c834db5b08ad67976290a5ea6f07d44c05"; }
{ locale = "br"; arch = "linux-x86_64"; sha256 = "2c6524b05b9ab8da113066de6d6380cad29b681921c03486618dd2b6d10ca1ae"; }
{ locale = "bs"; arch = "linux-i686"; sha256 = "11b706f2621a8026e10de074f0cbcb6bab4a7b0a17d144640c8296ea35e92c95"; }
{ locale = "bs"; arch = "linux-x86_64"; sha256 = "e4ff831c617918c52b3b2a9e69a1f35f8b3e825f407cf6729d7e2b479860de29"; }
{ locale = "ca"; arch = "linux-i686"; sha256 = "1c2aefd0ab56bcfd619705aba70018873581c7482307c32842ffdb68ce441f10"; }
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "47ab6aa2c474b9b04f246822c471548b2452559d04e4ec8cc099f3686729d285"; }
{ locale = "cs"; arch = "linux-i686"; sha256 = "f2c4028d562148ad39390853d388ed0617419e97bda55a0c6c47bf0e94145446"; }
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "28d6eb534884b2c05afe87981b894c790fe57508b3e866cdcf341e1f9c51080c"; }
{ locale = "cy"; arch = "linux-i686"; sha256 = "684b11673d16778961115b990734888975267c3c253a8081519e53ae95df5798"; }
{ locale = "cy"; arch = "linux-x86_64"; sha256 = "d17294841995094d6395a4e65d50e5382e845d59e5949c952e96f4fe739d9bc4"; }
{ locale = "da"; arch = "linux-i686"; sha256 = "4f2d29d52968c1b7a96af37beeee7150504bd3c32c4178a814ab0c4f86fe9644"; }
{ locale = "da"; arch = "linux-x86_64"; sha256 = "65d01baab9e71a5a3d92124dbcc44c158277b273e8b6bcb302f853f61babde71"; }
{ locale = "de"; arch = "linux-i686"; sha256 = "55af9ad39962559a48720c65f66d3bbab037ff30e777439428e2467a4559f039"; }
{ locale = "de"; arch = "linux-x86_64"; sha256 = "835ea2e3757beb74c939296aa3d00092ff3f9d6d8805b64a267bcde28de0cb94"; }
{ locale = "dsb"; arch = "linux-i686"; sha256 = "5b419a8f5e03257718237249be9c76eee759e46147d154bf994774139bb56be8"; }
{ locale = "dsb"; arch = "linux-x86_64"; sha256 = "90d5dae350d65c6db8b156764ccdffe0f9951be29339a68db22018840c2247c1"; }
{ locale = "el"; arch = "linux-i686"; sha256 = "77cc23059dc3b2956f3caf5802091ba48c4a42f5d86066f06282f82cb00845b7"; }
{ locale = "el"; arch = "linux-x86_64"; sha256 = "daa2180f15708ec07902b639fe30cdb9c2c230622a92011e1065d24b706bbc62"; }
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "15b084bfeac2e49a0d40b37a890321500eede1bed2edaa95cf3bba8981bb6a08"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "c5d17b6386dcae9cf88b2d80b38e921646936f253616104bec5a2fbb58d25fbd"; }
{ locale = "en-US"; arch = "linux-i686"; sha256 = "6ef1fb2322cf448afe2c09b008eb2bab0c2efa94378b2ae9889bf83ac6f779af"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "4068eb3eb07e9798ddc1449186a1c60196bb6051ca7217f6bcee5da21e41c6c5"; }
{ locale = "en-ZA"; arch = "linux-i686"; sha256 = "4a61661b05ddd62f9e28ada0b39fe1a81cb5d737fa50d636561f79ec324e689c"; }
{ locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "ddc551e2d8d0c50ba268ba1e8fd9ecbe52e05b0de0d1bb586045206a9e745a7a"; }
{ locale = "eo"; arch = "linux-i686"; sha256 = "236a9b6b632d1f30d63989f03783288eb8c1f144cae80b4549c0eded5dd95f1f"; }
{ locale = "eo"; arch = "linux-x86_64"; sha256 = "0f3a07a470e146891326ac36aa38b58018a4aa9ae668c8bbedc3b95c28d3fcb4"; }
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "6feb23d97fa5a2356365d5779c18af5fc2a00b0e91c92a5127f4d576f916f7a1"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "5e2afba4834e6c44e8717090b832c76dfb5303617bc466be5299d579e9b298dc"; }
{ locale = "es-CL"; arch = "linux-i686"; sha256 = "3734590f319e8e281938dae65ad2e6fd7496c0c480123a6a819b3bb5d1489c69"; }
{ locale = "es-CL"; arch = "linux-x86_64"; sha256 = "e0fcfccfe80dcc71a7d527539e42acfc6d6786a9e8491b426aab7fc3789c8cb6"; }
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "126cf64e6f7754fe0ff8a97499ccd528896ad3bbd89296271609092ade68524a"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "c8dbda78bffec09d401b39b76d9684a03f47102955d04604cfc2e7ddb0315f2f"; }
{ locale = "es-MX"; arch = "linux-i686"; sha256 = "8f116ccad3093783476a60ea605e324b0046b84b59c9f858dc080d2e275cac51"; }
{ locale = "es-MX"; arch = "linux-x86_64"; sha256 = "e6a9c775983e310d3ed8a98530860ce19e7a78df16dffb95e4735007fcf82a57"; }
{ locale = "et"; arch = "linux-i686"; sha256 = "1b2b205731ce638823bd448b3d90e919d13e24b9b92e25eebef3766bac3e8330"; }
{ locale = "et"; arch = "linux-x86_64"; sha256 = "97ecc57e21229d46d9d152d7821e860f3f2a53c10eda7caeb865af1919c6a0fe"; }
{ locale = "eu"; arch = "linux-i686"; sha256 = "5f0e7875993532ad234fe7af2a191619e308be726ed6ae8be01afc79f8c5f3c8"; }
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "bf2a52f3fce8ff4142cb1346cb5ce0f8b51959755698377db0807bc1e87e01eb"; }
{ locale = "fa"; arch = "linux-i686"; sha256 = "12d593a12a0fcfcd720a6a5324b349c139f6e6759b111dab869e851241736e28"; }
{ locale = "fa"; arch = "linux-x86_64"; sha256 = "29cb4531e485af7dae2a45a1b9a0620292eaa2764b4cd24504bce0e54c8b71ae"; }
{ locale = "ff"; arch = "linux-i686"; sha256 = "d67f9937780713ed4c130713239254a1e0d3918f2d2f528b74651b413e281cbf"; }
{ locale = "ff"; arch = "linux-x86_64"; sha256 = "140b199b0ce0a32fcf363946c942d733b587d9569c75f2dbab19161385f12d9b"; }
{ locale = "fi"; arch = "linux-i686"; sha256 = "586346c2bc47b1b2693d03e4f2fe3b36de00966244120272426c597b94044595"; }
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "160d0036392cb38de1a7e15ba9d0d1acf0538ff1b575ab1d1df11d187c5ac74d"; }
{ locale = "fr"; arch = "linux-i686"; sha256 = "f33b267d223d704beef813d0c7c8ab534152373435ef04db3b039ad56b02c556"; }
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "c141b154d5c56eefd94bfe7e391d0fa4027cee6685820e8be304c801d7064c65"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "2fff2f173cf6008b7bc17cad2ce16a43901f8484f3eb2700368acd64f98f075b"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "88227c796a82290c27b97cb27d8f606f1982115eb5724fe4a6169056ac000816"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "f9deacaf81e46267fd1d7297149e9f7e330bc2a58981cd65857c6add5eef6402"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c376d517de3aad4152c0d5dceb8ef1a2deef1213e568404f06163f9d4adbe777"; }
{ locale = "gd"; arch = "linux-i686"; sha256 = "f4f11f104fe964196e1588b1cddf5a43c5a8591d41ec7baf365264562240d5be"; }
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "40993cbe7c6a42c467868e8cd60eb67aa8d0b7357617f5babb415cc3ffd608e9"; }
{ locale = "gl"; arch = "linux-i686"; sha256 = "23c4a4a47fe7150c70f8489921b756ada22e45140e01d6817f9145de32b4d35a"; }
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "d3fa81ba627c6e75fea42715d8dc4c5fdbed841429a0493081f915623ad603c4"; }
{ locale = "gn"; arch = "linux-i686"; sha256 = "ebbf6f05f6b61a6ecb7f5c91ca4a6b87824edced41777fe35293b5ba6836a6cf"; }
{ locale = "gn"; arch = "linux-x86_64"; sha256 = "d9917c8dc1d236e569d040db1512872ce145af934ee3fad7a7e2d5a9a845a856"; }
{ locale = "gu-IN"; arch = "linux-i686"; sha256 = "598f3feaa412fa85619fd60ca1a48b2a691867d8aab92b39d98d12a3ebee2253"; }
{ locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "f238f84dcc0f41f99073aa4c7bff1fd2dc5f896fb1b9cae00d9d21d199383879"; }
{ locale = "he"; arch = "linux-i686"; sha256 = "22aacab2263a799f5503e6d73d76c6c7e8c3f2d39d9a8945d7e062e4078f4eea"; }
{ locale = "he"; arch = "linux-x86_64"; sha256 = "6288418353ab0d51ba8b7a02a302e68dc3b26e5565cb14e50316e5300cb2f696"; }
{ locale = "hi-IN"; arch = "linux-i686"; sha256 = "2ee18b7653f9edf926ff7927d24c04e9aba503174b4fa773a136fd3e29a256db"; }
{ locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "3f18f821cbc4781a9e6d84e54e0a70e2cdd18bcb61342922b1402a3eabb75839"; }
{ locale = "hr"; arch = "linux-i686"; sha256 = "c8633fb837adf08b257d19b88e9e5d35c2b24a658da7088a3902b4b9b833e7dd"; }
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "714fcde1e42db06a9083946bb929a182891aadfd249bf5b63aa7f6ca744bcf0b"; }
{ locale = "hsb"; arch = "linux-i686"; sha256 = "7f86d45ceb3f551b5b371047bbcccf9a75fe2f99df632b42d838419ee0c6d757"; }
{ locale = "hsb"; arch = "linux-x86_64"; sha256 = "add010dbfe8a842c16a8dceb019675e04acb7b8de6d952d4b4faa2a368d37f1d"; }
{ locale = "hu"; arch = "linux-i686"; sha256 = "cc994b9cfb60517062ce3570839b5e76def0a385b4e8793156d6a4719dd707b3"; }
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "a36d229286d5422dd15d5e0f33e7fb99f6ddff3db4efabc3be244fa26c7bd24d"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "508a5d85df7508c453a991e4a9679b31270da70983607cd9d127a8e432728a3c"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e21375aa7d5351a841ba05c8b0d921af1f334d37f714ed3c4303e90b5d4e34aa"; }
{ locale = "id"; arch = "linux-i686"; sha256 = "58d7e3a898f5ae05bc7b0e99e83d8a39a7f5f935a086081af4a9d7ea98b927a3"; }
{ locale = "id"; arch = "linux-x86_64"; sha256 = "c4b803b519780a0fd5a43fd23a3aef81d4197e860ad8e2908c5ddf2b76f538c3"; }
{ locale = "is"; arch = "linux-i686"; sha256 = "a9fd41eb35ed7430915d9b09807555af1d8d81f5520deb4aae58e38edf3ca11a"; }
{ locale = "is"; arch = "linux-x86_64"; sha256 = "74c6a4183f32043fcb6a3b52c71e8a23b36fc1381caff0dae8366cd80af391dc"; }
{ locale = "it"; arch = "linux-i686"; sha256 = "b6d615f519b7664acb335a305d99bd6c6eb7db98eb29c7957b073fbeb468d63a"; }
{ locale = "it"; arch = "linux-x86_64"; sha256 = "f65370cd57b1a885169447cc0b879dde715c58309db49f6c268db5113952a05f"; }
{ locale = "ja"; arch = "linux-i686"; sha256 = "1b3766bd19c8841922cbe1e3a8144d9efe5ab4a3c9b2fe216811caff54607704"; }
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "68e14f495852e023534bce66626287621a7155464fd56bbe41b38b5bc7305341"; }
{ locale = "kk"; arch = "linux-i686"; sha256 = "4a72592497d392d4f749733eeaa7964a95fcc3de007127ec198ac86f6a266382"; }
{ locale = "kk"; arch = "linux-x86_64"; sha256 = "9d6333875c11425a467a32ebf649b7577462920592155ed54ec6130ce76073a0"; }
{ locale = "km"; arch = "linux-i686"; sha256 = "e380caedd69287569274115aa4cee7b8d2187050d9f65a10ae36c9d48fd1d007"; }
{ locale = "km"; arch = "linux-x86_64"; sha256 = "95794fa36975d732987012d406770710985c270c8f4e4c99407711d16279d941"; }
{ locale = "kn"; arch = "linux-i686"; sha256 = "b0cd3f0c6da99b3e86ec4b08b962abb0d823329460e87761733db5d7987f1e5d"; }
{ locale = "kn"; arch = "linux-x86_64"; sha256 = "47399283f7b395c5079b592c83a93487a17a2cab0e68d35c54aa6e5e647d2c66"; }
{ locale = "ko"; arch = "linux-i686"; sha256 = "5f9b1c691d9c9a99dd280e3fff8df813aeeefe42ce5273ddf2848352bfde44f6"; }
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "360c82f93b7f529173f9259a4f475595d0ec4dc4b63b6ac46785bccd549e3dbd"; }
{ locale = "lij"; arch = "linux-i686"; sha256 = "29f2d93c1f6695c22d4e766ee049bbe4f6fb034e22c12be407062db3deb0805c"; }
{ locale = "lij"; arch = "linux-x86_64"; sha256 = "c47c6e13b44b8560487f39c6f668fc03ea42bf848fcb9926cf8e0e0014218fc3"; }
{ locale = "lt"; arch = "linux-i686"; sha256 = "5915cf516690de51021eeccc66cce8142fee7882efd7add7a0bfaa5b04d65dbf"; }
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "04673232b52aae6b34b87b6a2638ad653a4e81430d21998919a56dbde10febd7"; }
{ locale = "lv"; arch = "linux-i686"; sha256 = "6648a4a4b8be23ed6fb64efc0bb3e49c1807b5408d2df19d45a3b098b9bb605d"; }
{ locale = "lv"; arch = "linux-x86_64"; sha256 = "769020e490b9b74608cbbb319254694f7a32c62b6397ff8c563fa27a33cbe16b"; }
{ locale = "mai"; arch = "linux-i686"; sha256 = "5646fac52682c1053e7b58fa0b13fcf74c8b79e344ffa3a9614fa2509ef2b38d"; }
{ locale = "mai"; arch = "linux-x86_64"; sha256 = "eb5db15e6584a5272d9c496d29ce4f500811ed4b49277b93ae432498aef80d0f"; }
{ locale = "mk"; arch = "linux-i686"; sha256 = "8430792262871155bf07b652c5f8ae5408b0bb16fd9e6548010e86b2a1d604d0"; }
{ locale = "mk"; arch = "linux-x86_64"; sha256 = "273812699d47c99f20d18fdcf547cd9c5386a4d8049dcb93e34c0303a9aae7a5"; }
{ locale = "ml"; arch = "linux-i686"; sha256 = "bc3b9905214fde7623aa5567f6a6792b2c5cb32fde1172ad60b108a42a372c24"; }
{ locale = "ml"; arch = "linux-x86_64"; sha256 = "0e21ef50fd3ecb301d0a62baf3e084723c0cc05c3a9569ce08ccf2698f40a526"; }
{ locale = "mr"; arch = "linux-i686"; sha256 = "fb83926aa70735befc1c8c79c950a9dbb01344dfceff82aefa7640e79f659139"; }
{ locale = "mr"; arch = "linux-x86_64"; sha256 = "ae6622f7cb9261985d8cc0bf06af9a51d7d8b391386aded9bf07576be60c5f12"; }
{ locale = "ms"; arch = "linux-i686"; sha256 = "16b35b29882238095475719a4f8cecd5e49a8e50bfe5c2b943c604274cfb02ae"; }
{ locale = "ms"; arch = "linux-x86_64"; sha256 = "04e390cdeabc686eee093ae2280628375b706c2b09b9aa29e788bc1663b21ad0"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "b3b931e5a38fc71aee2dc2290adb600b0d8e56923c30c748bacbbf527e2e8960"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "4d3c6f639e8c6579c525c6e8c5bd036b3c6abe0e2d14ee0596ac207b3f291f84"; }
{ locale = "nl"; arch = "linux-i686"; sha256 = "40cc8d419bc536e2826766dbd9b3e58bb98730ed38926387bcadcc5b30c8b742"; }
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "4595b76ab812dd9ed16405d0863225c0d6f40dd70a96baee2632a5f8e4d2aab5"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "8cad1d60633dfb059c4e29b3a226397822ed10938909dd783b9b8c7bac0e8866"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "d0ac3c7ff26c4747222f2d7a1d5b4b69a861dee261ad338ed88ab8b35cf44ffc"; }
{ locale = "or"; arch = "linux-i686"; sha256 = "b05473429fb2b844d96ee88108891e5cdc13c56526017ff6db1909ff60dbe1b5"; }
{ locale = "or"; arch = "linux-x86_64"; sha256 = "406816e487831cd9a928fd9c140290f53d4a9575024adf71e1565d24e573abdc"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "beb60cd44b31c3c1ebfae25efb17d78d001f0009bb5a8304e319791ae535daa0"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "1abab6f91bd2ff22cd6d9075bcb83ddf6a190291997e5d379eff53fc10fd8c5e"; }
{ locale = "pl"; arch = "linux-i686"; sha256 = "65ceeb5cfeaa7d2c246ba3d152ea1fb892a7d50eafd46da2f41d7ec0a4efa759"; }
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "d3565007522b0e3a4de15b913c8f1c9421d1d9614fa4f2d6657a4af730f26c87"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "7a0593b15eac64c1261e413f4a22ca2cbb5f489530ae72a637de9bc0de99f2be"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "243c12ea35617336d307d8040d1bee1a1827f3c8815e78185e5d5f8c2b58a5d6"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "ed06f6d30204728089609114c5d08a8b2346ca024d6e5743179d0f2f0da753bf"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "65cf06f13ce3930b4c6b645e0fa442003d41a3ff99d4ff6ad06039c806bf9815"; }
{ locale = "rm"; arch = "linux-i686"; sha256 = "5b230c43a6b56c4052e054d117c2c80450b36d52b166ac3a9c9e3d13b336e44b"; }
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "341495282263ce7293350c3623d25a6fc7952429bbc36316687be402831c4376"; }
{ locale = "ro"; arch = "linux-i686"; sha256 = "12940db350559cc1ef5dd148f2fd34cb4f445fbd1928d0d8dac6e57b0186e08e"; }
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "a53c18fcf239dce6a49a44bbb42a210b6161f5d21e64e9e33096e36b7a187bf2"; }
{ locale = "ru"; arch = "linux-i686"; sha256 = "823ecb8bb5b772e896b51bf23ac1fa271b02c1abba9fb4c679c687586047db0b"; }
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "fd4e34dd08c5f712c68826710496ac4eab262a4356e06a02718b27dd8c65d35b"; }
{ locale = "si"; arch = "linux-i686"; sha256 = "6cc4f9828e366d59a86922292ca8878ef4bb6cee9ee5316b8733d0704dc6f390"; }
{ locale = "si"; arch = "linux-x86_64"; sha256 = "ed3c28af72df9960b08071d181b1d097d0326a0cd6eaae673866083f87db18f5"; }
{ locale = "sk"; arch = "linux-i686"; sha256 = "cfa4b71bb7acdaa689a28f8aa58f7f9375c7d7e4301cce0aea0eccc60d897d2f"; }
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "736ff619f9d9848d202fe9eaa56b6a29e37e47589282adf7d97f8d7103edecfe"; }
{ locale = "sl"; arch = "linux-i686"; sha256 = "c8af219be7f7cc7f878425b446b1c02838f651e64a0fcbfae4ec818326927097"; }
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "d3309efc0b469e9d24e7e01216b52b31ad854653f3904c76fd136d615d75609b"; }
{ locale = "son"; arch = "linux-i686"; sha256 = "fdc1e500f8499b648cf0fd3d99601cfcd0f7d89ae09d800520793751a6b32fee"; }
{ locale = "son"; arch = "linux-x86_64"; sha256 = "e1f7038aa136492e3d296b9ff50a3f815f4b587944783ea0ea607717788cb48b"; }
{ locale = "sq"; arch = "linux-i686"; sha256 = "c6881862ff53402d427d998c59a741c4abd9b2713c1fbbc5315b140d02445507"; }
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "2a83117de89e2b9036c0f7fde6617d9f55fef4955432cd566692e7a2829b1128"; }
{ locale = "sr"; arch = "linux-i686"; sha256 = "f214aa32eef11535a73449d7f2626c90b1ce78e469d96c8cc6cd53979582197b"; }
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "9931d18c18a785569aade6fd233d3c34910ece758f3355b694b553ce6c5dae7a"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "cd5695110c90744a1b750d34c7294f1109b5c7829025eb28101b6ead5bbbcb3d"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "f52fe8f60420171385638a9de46b2b11c03b13239a17ef9fb4f7305774bab664"; }
{ locale = "ta"; arch = "linux-i686"; sha256 = "8910a680bc6a6e58433686a020916b072e0d5d95e896cb7fa5a212c00ee20b93"; }
{ locale = "ta"; arch = "linux-x86_64"; sha256 = "ae727422e4b7cb2de2b098f6b4adedb2dc788b57eda7ec2ee7ac2d60b645ee64"; }
{ locale = "te"; arch = "linux-i686"; sha256 = "0088dcb813864a4e231afd10d4aefca656131a3589b316721e2d87cb29a78dbf"; }
{ locale = "te"; arch = "linux-x86_64"; sha256 = "6ef6aa557e691324072d201ad7876dd4d2417dfaaab08d3bfa4620c4626d1380"; }
{ locale = "th"; arch = "linux-i686"; sha256 = "da72450d756950635c0b2d95285b5d998aeddd60b43d9ca98ac4b1b707289a96"; }
{ locale = "th"; arch = "linux-x86_64"; sha256 = "89ac8220a7be503ecae8dd5a241df4654b93adfac6f431f08b83bb5f7f63de7f"; }
{ locale = "tr"; arch = "linux-i686"; sha256 = "64b3e853efe96d75282e0a9ca78db876c3f03b609be0acb551d1d6a7b50e116b"; }
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "fe01dcbfe855e661c79ec63c80098d18c1a051c85fc3fb27ac3df8b9c6d1df92"; }
{ locale = "uk"; arch = "linux-i686"; sha256 = "1052bb8de8acd200dfed598f5afc1c87a55772b89b2f2ec59b710af1d1bfea90"; }
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "986d01b61e36188f1293ee7ab1198f2583605469174e2dd9ead8eec241480cec"; }
{ locale = "uz"; arch = "linux-i686"; sha256 = "b114d4696cf20320ec71c7ff92ac2d6477784e4f0c9f15a54701473a469e4667"; }
{ locale = "uz"; arch = "linux-x86_64"; sha256 = "19fdc20d1b6a5b556856ad4d43d05cd7ae4bbd0207d326c9f2b0a4a0e3f9425b"; }
{ locale = "vi"; arch = "linux-i686"; sha256 = "ec48f6eb7b3fba76d07a4ff4192fe28b4faeaf7dfa2317453f1266dd4cb5e66f"; }
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "89a9c826522dece360abc207260b6a71955d1c86f8f0b783e3013d4c7d5edfdb"; }
{ locale = "xh"; arch = "linux-i686"; sha256 = "4671201bd924bfb4e290bdd5247b5d972b2dff986db0dd21b26ee0d30f94566f"; }
{ locale = "xh"; arch = "linux-x86_64"; sha256 = "f381cc509369405e7a06c78c07de3ee01f8b0cf66d3300cfb10f27cab14d34b0"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "abaac014c04bd29dcb5617c489d4b047522f6ede9139781b04c0a73ff20a19a4"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "5da12cc28e6bad8739a0050410efb1ca22d46a42c33fed312acca29e89de007b"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "7279f9ba36dfa988ffade1f54e4f2dcced30be5fab48476d5b6d20d989204274"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "e943d7736ec12d269512363d20d5b2a2e8c740c81a764f44f308d497fe95f0ea"; }
];
}

View file

@ -18,14 +18,14 @@ assert stdenv.cc ? libc && stdenv.cc.libc != null;
let
common = { pname, version, sha256 }: stdenv.mkDerivation rec {
common = { pname, version, sha512 }: stdenv.mkDerivation rec {
name = "${pname}-unwrapped-${version}";
src = fetchurl {
url =
let ext = if lib.versionAtLeast version "41.0" then "xz" else "bz2";
in "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.${ext}";
inherit sha256;
inherit sha512;
};
buildInputs =
@ -130,14 +130,14 @@ in {
firefox-unwrapped = common {
pname = "firefox";
version = "45.0.1";
sha256 = "1j6raz51zcj2hxk0spk5zq8xzxi5nlxxm60dpnb7cs6dv334m0fi";
version = "45.0.2";
sha512 = "8c0b7afb41a1a405fe499299d1a8b1138dac52b9ad67bfc8761b70a26f330581c2aa1d76d67075896ec3a0c3f5367b8b58365ebc8b3a01f801fa37071b3de526";
};
firefox-esr-unwrapped = common {
pname = "firefox-esr";
version = "45.0.1esr";
sha256 = "0rkk3cr3r7v5xzbcqhyx8b633v4a16ika0wk46p0ichh9n5mci0s";
version = "45.0.2esr";
sha512 = "a1e9e9371ee47181b01252d60166c405a7835063dffb4928dfb8abb9f151edd8db1dd2b59f35d7898f1660a0fcd8e41f91a3e799c25b6dd43b6ab056bc5ad6bf";
};
}

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl}:
{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl, libXt}:
let
srcData = # Generated upstream information
rec {
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
export configureFlags="$configureFlags --target-cpu=$(uname -m)"
'';
buildInputs = [which pkgconfig file glib gtk2 gtk3 curl];
buildInputs = [which pkgconfig file glib gtk2 gtk3 curl libXt];
preferLocalBuild = true;

View file

@ -0,0 +1,77 @@
{ stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE
, libXfixes, libXt, libXi, libXcursor, libXScrnSaver, libXcomposite, libXdamage, libXtst, libXrandr
, alsaLib, dbus_libs, cups, libexif, ffmpeg, libudev
, freetype, fontconfig, libXft, libXrender, libxcb, expat, libXau, libXdmcp
, libuuid, xz
, gstreamer, gst_plugins_base, libxml2
, glib, gtk, pango, gdk_pixbuf, cairo, atk, gnome3
, nss, nspr
, patchelf
}:
let
archUrl = name: arch: "https://vivaldi.com/download/stable/${name}_${arch}.deb";
in
stdenv.mkDerivation rec {
version = "1.0";
debversion = "stable_1.0.435.40-1";
product = "vivaldi";
name = "${product}-${version}";
src = if stdenv.system == "x86_64-linux"
then fetchurl {
url = archUrl "vivaldi-${debversion}" "amd64";
sha256 = "12c051a40258a95f9594eed2f73fa5f591482ac2a41d5cf643811b1ea2a1efbf";
}
else if stdenv.system == "i686-linux"
then fetchurl {
url = archUrl "vivaldi-${debversion}" "i386";
sha256 = "6e0b84fba38211bab9a71bc10e97398fca77c0acd82791923c1d432b20846f0f";
}
else throw "Vivaldi is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
unpackPhase = ''
ar vx ${src}
tar -xvf data.tar.xz
'';
buildInputs =
[ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE
libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr
atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg libudev
freetype fontconfig libXrender libuuid expat glib nss nspr
gstreamer libxml2 gst_plugins_base pango cairo gnome3.gconf
patchelf
];
libPath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
(":" + stdenv.lib.makeSearchPath "lib64" buildInputs);
buildPhase = ''
echo "Patching Vivaldi binaries"
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \
opt/vivaldi/vivaldi-bin
echo "Finished patching Vivaldi binaries"
'';
dontPatchELF = true;
dontStrip = true;
installPhase = ''
mkdir -p "$out"
cp -r opt "$out"
mkdir "$out/bin"
ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi"
'';
meta = with stdenv.lib; {
description = "A Browser for our Friends, powerful and personal";
homepage = "https://vivaldi.com";
license = licenses.unfree;
maintainers = with maintainers; [ otwieracz ];
platforms = platforms.linux;
};
}

View file

@ -16,7 +16,8 @@ stdenv.mkDerivation {
phases = "unpackPhase installPhase";
installPhase = ''
mkdir -p "$out/bin/"
mkdir -p "$out/bin/" "$out/share/applications"
cp data/dropbox.desktop "$out/share/applications"
substitute "dropbox.in" "$out/bin/dropbox" \
--replace '@PACKAGE_VERSION@' ${version} \
--replace '@DESKTOP_FILE_DIR@' "$out/share/applications" \
@ -24,7 +25,6 @@ stdenv.mkDerivation {
--replace '@IMAGEDATA64@' '"too-lazy-to-fix"'
sed -i 's:db_path = .*:db_path = "${dropboxd}":' $out/bin/dropbox
chmod +x "$out/bin/"*
mv $out/bin/dropbox $out/bin/dropbox-cli
patchShebangs "$out/bin"
'';

View file

@ -20,11 +20,11 @@
let
# NOTE: When updating, please also update in current stable, as older versions stop working
version = "3.14.7";
version = "3.18.1";
sha256 =
{
"x86_64-linux" = "1pwmghpr0kyca2biysyk90kk9k6ffv4i95vs5rq96vc0zbckws6n";
"i686-linux" = "08yqrxh09cfd80kbiq1f2sirx9s85acij4khpklvvwrnf2x1i1zm";
"x86_64-linux" = "1qdahr8xzk3zrrv89335l3aa2gfgjn1ymfixj9zgipv34grkjghm";
"i686-linux" = "015bjkr2dwyac410i398qm1v60rqln539wcj5f25q776haycbcji";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch =

View file

@ -4,11 +4,11 @@
, gsm, speex, portaudio, spandsp, libuuid
}:
stdenv.mkDerivation rec {
version = "0.4.17";
version = "0.4.18";
name = "baresip-${version}";
src=fetchurl {
url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
sha256 = "106nagdyayyxj3q68bs3fsps5wnwzjh82vcmy98fp42j33q6yzny";
sha256 = "1qgmw0261y89zka9dgqzvirfk3bg8p5b929vqm1418859mw9i87a";
};
buildInputs = [zlib openssl libre librem pkgconfig
cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good

View file

@ -2,7 +2,7 @@
, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf
, glib, gnome, gtk, libnotify, libX11, libXcomposite, libXcursor, libXdamage
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, pango
, udev }:
, libudev }:
let version = "0.0.1"; in
@ -19,7 +19,7 @@ stdenv.mkDerivation {
stdenv.cc.cc alsaLib atk cairo cups dbus expat fontconfig freetype
gdk_pixbuf glib gnome.GConf gtk libnotify libX11 libXcomposite
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
libXtst nspr nss pango udev
libXtst nspr nss pango libudev
];
installPhase = ''
@ -35,7 +35,7 @@ stdenv.mkDerivation {
ln -s $out/DiscordCanary $out/bin/
# Putting udev in the path won't work :(
ln -s ${udev}/lib/libudev.so.1 $out
ln -s ${libudev}/lib/libudev.so.1 $out
'';
meta = with stdenv.lib; {

View file

@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
# Fixup desktop file
substituteInPlace skype.desktop --replace \
"Icon=skype.png" "Icon=$out/libexec/skype/icons/SkypeBlue_48x48.png"
"Icon=skype.png" "Icon=$out/libexec/skype/icons/SkypeBlue_128x128.png"
substituteInPlace skype.desktop --replace \
"Terminal=0" "Terminal=false"
mkdir -p $out/share/applications

View file

@ -4,7 +4,7 @@
let
version = "2.0.1";
version = "2.0.3";
rpath = stdenv.lib.makeSearchPath "lib" [
alsaLib
@ -41,7 +41,7 @@ let
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/slack-desktop-${version}-amd64.deb";
sha256 = "12d84e61ba366cc5bac105b3f9930f2dfdd64c1e5fabbb08a6877e1c98bfb9c7";
sha256 = "0pp8n1w9kmh3pph5kc6akdswl3z2lqwryjg9d267wgj62mslr3cg";
}
else
throw "Slack is not supported on ${stdenv.system}";
@ -64,16 +64,16 @@ in stdenv.mkDerivation {
for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
patchelf --set-rpath ${rpath}:$out/share/slack $file || true
patchelf --set-rpath ${rpath}:$out/lib/slack $file || true
done
# Fix the symlink
rm $out/bin/slack
ln -s $out/share/slack/slack $out/bin/slack
ln -s $out/lib/slack/slack $out/bin/slack
# Fix the desktop link
substituteInPlace $out/share/applications/slack.desktop \
--replace /usr/share/slack/slack $out/share/slack/slack
--replace /usr/lib/slack/slack $out/lib/slack/slack
'';
meta = with stdenv.lib; {

View file

@ -12,7 +12,7 @@
, libatomic_ops, graphite2, harfbuzz, libodfgen
, librevenge, libe-book, libmwaw, glm, glew, gst_all_1
, gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas
, defaultIconTheme, glib
, defaultIconTheme, glib, ncurses
, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" ]
, withHelp ? true
, kdeIntegration ? false
@ -23,8 +23,8 @@ let
langsSpaces = lib.concatStringsSep " " langs;
major = "5";
minor = "1";
patch = "0";
tweak = "3";
patch = "2";
tweak = "2";
subdir = "${major}.${minor}.${patch}";
version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
@ -50,14 +50,14 @@ let
translations = fetchSrc {
name = "translations";
sha256 = "1qqffq7646yh7rskzd1wvy0zgkdnkpdbyhvsny424lxqjglyw3px";
sha256 = "1w2m4hfrxb706p8bjfgklqv0j5hnivbvif3vav7sbngp5ms0vgvz";
};
# TODO: dictionaries
help = fetchSrc {
name = "help";
sha256 = "0ixlq6yzn6z8hsih24l934sa05vvz2vk3p03nalpqqrhm7vdzsf2";
sha256 = "0lr90z5fdg157lcid5w4p0zxi72c4xziiw51kh38kbbqrbb9ykfw";
};
};
@ -66,7 +66,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
sha256 = "1csphxpbpc7bxrwnl5i9nvm3bh3p0j7r3h9ivsdl7cys13q066xl";
sha256 = "108p8jg22lg3g9wypqv5d71j4vkcpmg2x2w9l2v4z9h10agdrv2l";
};
# Openoffice will open libcups dynamically, so we link it directly
@ -240,7 +240,7 @@ in stdenv.mkDerivation rec {
python3 sablotron sane-backends tcsh unzip vigra which zip zlib
mdds bluez5 glibc libcmis libwps libabw
libxshmfence libatomic_ops graphite2 harfbuzz
librevenge libe-book libmwaw glm glew
librevenge libe-book libmwaw glm glew ncurses
libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper
]
++ lib.optional kdeIntegration kde4.kdelibs;

View file

@ -190,8 +190,8 @@
brief = false;
}
{
name = "graphite2-minimal-1.3.4.tgz";
md5 = "5c0c9ac0996fbb4a0e17780ff5441959";
name = "graphite-minimal-1.3.6.tgz";
md5 = "17df8301bcc459e83f8a8f3aca6183b2";
brief = false;
}
{
@ -285,8 +285,8 @@
brief = true;
}
{
name = "language-subtag-registry-2015-08-04.tar.bz2";
md5 = "bf5986dbfa1c9a0f26cf1b00ed369484";
name = "language-subtag-registry-2016-02-10.tar.bz2";
md5 = "d1e7c55a0383f7d720d3ead0b6117284";
brief = true;
}
{
@ -376,13 +376,13 @@
brief = false;
}
{
name = "neon-0.29.5.tar.gz";
md5 = "ff369e69ef0f0143beb5626164e87ae2";
name = "neon-0.30.1.tar.gz";
md5 = "231adebe5c2f78fded3e3df6e958878e";
brief = false;
}
{
name = "nss-3.19.4-with-nspr-4.10.10.tar.gz";
md5 = "478e0e90ebc4a90159549e77021021fd";
name = "nss-3.22.2-with-nspr-4.12.tar.gz";
md5 = "6b254cf2f8cb4b27a3f0b8b7b9966ea7";
brief = false;
}
{
@ -401,8 +401,8 @@
brief = false;
}
{
name = "openssl-1.0.2a.tar.gz";
md5 = "a06c547dac9044161a477211049f60ef";
name = "openssl-1.0.2g.tar.gz";
md5 = "f3c710c045cdee5fd114feb69feba7aa";
brief = true;
}
{

View file

@ -0,0 +1,19 @@
{ stdenv, fetchurl, zlib, ncurses }:
stdenv.mkDerivation rec {
name = "samtools-${version}";
version = "1.3";
src = fetchurl {
url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2";
sha256 = "03mnf0mhbfwhqlqfslrhfnw68s3g0fs1as354i9a584mqw1l1smy";
};
buildInputs = [ zlib ncurses ];
meta = with stdenv.lib; {
description = "Tools (written in C using htslib) for manipulating next-generation sequencing data";
license = licenses.mit;
homepage = http://www.htslib.org/;
};
}

View file

@ -6,7 +6,7 @@
{stdenv, fetchurl, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}:
let
version = "8.5";
version = "8.5pl1";
coq-version = "8.5";
buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@ -23,8 +23,8 @@ stdenv.mkDerivation {
inherit ocaml camlp5;
src = fetchurl {
url = https://coq.inria.fr/distrib/V8.5/files/coq-8.5.tar.gz;
sha256 = "0gdfm6k5q1f8sz1xr9ijdkkvwqsb7v8prj21gmwv0z0yp6w2zac9";
url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
sha256 = "1w2xvm6w16khfn63bp95s25hnkn2ny3w0yqg3lq63gp11aqpbyjb";
};
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];

View file

@ -0,0 +1,31 @@
{stdenv, fetchurl, xlibs, cmake, subversion, mesa, qt5, boost,
python27, python27Packages}:
stdenv.mkDerivation rec {
version = "201409.1";
build_nr = "13892";
name = "mcrl2-${version}";
src = fetchurl {
url = "http://www.mcrl2.org/download/devel/mcrl2-${version}.${build_nr}.tar.gz";
sha256 = "0cknpind6rma12q93rbm638ijhy8sj8nd20wnw8l0f651wm0x036";
};
buildInputs = [ xlibs.libX11 cmake subversion mesa qt5.qtbase boost
python27 python27Packages.pyyaml python27Packages.psutil ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "A toolset for model-checking concurrent systems and protocols";
longDescription = ''
A formal specification language with an associated toolset,
that can be used for modelling, validation and verification of
concurrent systems and protocols
'';
homepage = http://www.mcrl2.org/;
license = licenses.boost;
maintainers = with maintainers; [ moretea ];
platforms = platforms.unix;
};
}

View file

@ -1,25 +1,24 @@
{ pkgs, lib, mercurial, pyPackages ? pkgs.python27Packages }:
{lib, fetchurl, mercurial, pythonPackages}:
pkgs.buildPythonApplication rec {
pythonPackages.buildPythonApplication rec {
name = "tortoisehg-${version}";
version = "3.6";
version = "3.7.1";
namePrefix = "";
src = pkgs.fetchurl {
src = fetchurl {
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
sha256 = "ec43d13f029bb23a12129d2a2c3b3b4daf3d8121cbb5c9c23e4872f7b0b75ad8";
sha256 = "1ycf8knwk1rs99s5caq611sk4c4nzwyzq8g35hw5kwj15b6dl4k6";
};
pythonPath = [ pkgs.pyqt4 mercurial ]
++ (with pyPackages; [qscintilla iniparse]);
pythonPath = with pythonPackages; [ pyqt4 mercurial qscintilla iniparse ];
propagatedBuildInputs = with pyPackages; [ qscintilla iniparse ];
propagatedBuildInputs = with pythonPackages; [ qscintilla iniparse ];
doCheck = false;
postUnpack = ''
substituteInPlace $sourceRoot/setup.py \
--replace "/usr/share/" "$out/share/"
--replace "sharedir = os.path.join(installcmd.install_data[rootlen:], 'share')" "sharedir = '$out/share/'"
'';
postInstall = ''

View file

@ -1,7 +1,9 @@
{ stdenv, lib, fetchurl, cmake, pkgconfig, lndir
, zlib, gettext, libvdpau, libva, libXv, sqlite, x265
, yasm, fribidi, gtk3, qt4
, zlib, gettext, libvdpau, libva, libXv, sqlite
, yasm, freetype, fontconfig, fribidi, gtk3, qt4
, withX265 ? true, x265
, withX264 ? true, x264
, withXvid ? true, xvidcore
, withLAME ? true, lame
, withFAAC ? false, faac
, withVorbis ? true, libvorbis
@ -11,8 +13,7 @@
, withVPX ? true, libvpx
}:
stdenv.mkDerivation rec {
name = "avidemux-${version}";
let
version = "2.6.12";
src = fetchurl {
@ -20,96 +21,108 @@ stdenv.mkDerivation rec {
sha256 = "0nz52yih8sff53inndkh2dba759xjzsh4b8xjww419lcpk0qp6kn";
};
nativeBuildInputs = [ cmake pkgconfig yasm lndir ];
buildInputs = [ zlib gettext libvdpau libva libXv sqlite x265 fribidi gtk3 qt4 ]
++ lib.optional withX264 x264
++ lib.optional withLAME lame
++ lib.optional withFAAC faac
++ lib.optional withVorbis libvorbis
++ lib.optional withPulse libpulseaudio
++ lib.optional withFAAD faad2
++ lib.optional withOpus libopus
++ lib.optional withVPX libvpx
;
common = {
inherit version src;
enableParallelBuilding = false;
patches = [ ./dynamic_install_dir.patch ];
outputs = [ "out" "cli" "gtk" "qt4" ];
enableParallelBuilding = false;
patches = [ ./dynamic_install_dir.patch ];
nativeBuildInputs = [ cmake pkgconfig yasm ];
buildInputs = [ zlib gettext libvdpau libva libXv sqlite fribidi fontconfig freetype ]
++ lib.optional withX264 x264
++ lib.optional withX265 x265
++ lib.optional withXvid xvidcore
++ lib.optional withLAME lame
++ lib.optional withFAAC faac
++ lib.optional withVorbis libvorbis
++ lib.optional withPulse libpulseaudio
++ lib.optional withFAAD faad2
++ lib.optional withOpus libopus
++ lib.optional withVPX libvpx
;
buildCommand = ''
unpackPhase
cd "$sourceRoot"
patchPhase
meta = {
homepage = http://fixounet.free.fr/avidemux/;
description = "Free video editor designed for simple video editing tasks";
maintainers = with stdenv.lib.maintainers; [ viric abbradar ];
platforms = with stdenv.lib.platforms; linux;
license = stdenv.lib.licenses.gpl2;
};
};
export cmakeFlags="$cmakeFlags -DAVIDEMUX_SOURCE_DIR=$(pwd)"
core = stdenv.mkDerivation (common // {
name = "avidemux-${version}";
function buildOutput() {
( plugin_ui="$1"
output_dir="$2"
shift 2
export cmakeFlags="$cmakeFlags -DPLUGIN_UI=$plugin_ui -DCMAKE_INSTALL_PREFIX=$output_dir"
for i in "$@" avidemux_plugins; do
( cd "$i"
cmakeConfigurePhase
buildPhase
installPhase
)
done
rm -rf avidemux_plugins/build
)
}
preConfigure = ''
cd avidemux_core
'';
});
function buildUi() {
plugin_ui="$1"
output_dir="$2"
shift 2
buildPlugin = args: stdenv.mkDerivation (common // {
name = "avidemux-${args.pluginName}-${version}";
# Hack to split builds properly
mkdir -p $output_dir
lndir $out $output_dir
buildOutput $plugin_ui $output_dir "$@"
}
buildInputs = (args.buildInputs or []) ++ common.buildInputs ++ [ lndir ];
function fixupUi() {
output_dir="$1"
shift
cmakeFlags = [ "-DPLUGIN_UI=${args.pluginUi}" ];
find $output_dir -lname $out\* -delete
find $output_dir -type f | while read -r f; do
rpath="$(patchelf --print-rpath $f 2>/dev/null)" || continue
new_rpath=""
IFS=':' read -ra old_rpath <<< "$rpath"
for p in "''${old_rpath[@]}"; do
new_rpath="$new_rpath:$p"
if [[ $p = $output_dir* ]]; then
new_rpath="$new_rpath:$out/''${p#$output_dir}"
fi
done
patchelf --set-rpath "$new_rpath" $f
patchelf --shrink-rpath $f
passthru.isUi = args.isUi or false;
buildCommand = ''
unpackPhase
cd "$sourceRoot"
patchPhase
mkdir $out
lndir ${core} $out
export cmakeFlags="$cmakeFlags -DAVIDEMUX_SOURCE_DIR=$(pwd)"
for i in ${toString (args.buildDirs or [])} avidemux_plugins; do
( cd "$i"
cmakeConfigurePhase
buildPhase
installPhase
)
done
}
buildOutput COMMON $out avidemux_core
buildOutput SETTINGS $out
buildUi CLI $cli avidemux/cli
buildUi GTK $gtk avidemux/gtk
buildUi QT4 $qt4 avidemux/qt4
fixupPhase
'';
});
fixupPhase
in {
avidemux_core = core;
fixupUi $cli
fixupUi $gtk
fixupUi $qt4
'';
avidemux_cli = buildPlugin {
pluginName = "cli";
pluginUi = "CLI";
isUi = true;
buildDirs = [ "avidemux/cli" ];
};
meta = {
homepage = http://fixounet.free.fr/avidemux/;
description = "Free video editor designed for simple video editing tasks";
maintainers = with stdenv.lib.maintainers; [ viric abbradar ];
platforms = with stdenv.lib.platforms; linux;
license = stdenv.lib.licenses.gpl2;
avidemux_qt4 = buildPlugin {
pluginName = "qt4";
buildInputs = [ qt4 ];
pluginUi = "QT4";
isUi = true;
buildDirs = [ "avidemux/qt4" ];
};
avidemux_gtk = buildPlugin {
pluginName = "gtk";
buildInputs = [ gtk3 ];
pluginUi = "GTK";
isUi = true;
buildDirs = [ "avidemux/gtk" ];
};
avidemux_common = buildPlugin {
pluginName = "common";
pluginUi = "COMMON";
};
avidemux_settings = buildPlugin {
pluginName = "settings";
pluginUi = "SETTINGS";
};
}

View file

@ -1,15 +1,18 @@
{ buildEnv, avidemux, makeWrapper
{ buildEnv, avidemux_unwrapped, makeWrapper
# GTK version is broken upstream, see https://bugzilla.redhat.com/show_bug.cgi?id=1244340
, withUi ? "qt4"
}:
let
ui = builtins.getAttr withUi avidemux;
let ui = builtins.getAttr "avidemux_${withUi}" avidemux_unwrapped; in
in buildEnv {
name = "avidemux-${withUi}-" + avidemux.version;
assert ui.isUi;
paths = [ avidemux ui ];
buildEnv {
name = "avidemux-${withUi}-" + ui.version;
paths = [ ui avidemux_unwrapped.avidemux_common avidemux_unwrapped.avidemux_settings ];
ignoreCollisions = true;
buildInputs = [ makeWrapper ];
@ -26,4 +29,6 @@ in buildEnv {
wrapProgram $i --set ADM_ROOT_DIR $out
done
'';
meta = ui.meta;
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python, which, makeWrapper
{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python, which, makeQtWrapper
, libX11, libxcb, mesa
, qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras
, ffmpeg
@ -27,9 +27,6 @@ assert pulseSupport -> libpulseaudio != null;
assert cddaSupport -> libcdda != null;
assert youtubeSupport -> youtube-dl != null;
let qtPath = makeSearchPath "lib/qt5/qml" [ qtdeclarative qtquickcontrols ];
in
stdenv.mkDerivation rec {
name = "bomi-${version}";
version = "0.9.11";
@ -56,6 +53,7 @@ stdenv.mkDerivation rec {
libvdpau
libva
libbluray
qtdeclarative
qtquickcontrols
]
++ optional jackSupport jack
@ -74,8 +72,7 @@ stdenv.mkDerivation rec {
'';
postInstall = ''
wrapProgram $out/bin/bomi \
--set QML2_IMPORT_PATH ${qtPath} \
wrapQtProgram $out/bin/bomi \
${optionalString youtubeSupport "--prefix PATH ':' '${youtube-dl}/bin'"}
'';
@ -87,7 +84,7 @@ stdenv.mkDerivation rec {
++ optional cddaSupport "--enable-cdda"
;
nativeBuildInputs = [ pkgconfig perl python which qttools makeWrapper ];
nativeBuildInputs = [ pkgconfig perl python which qttools makeQtWrapper ];
enableParallelBuilding = true;

View file

@ -1,5 +1,6 @@
{ stdenv, fetchurl, docutils, makeWrapper, perl, pkgconfig, python, which
, ffmpeg, freefont_ttf, freetype, libass, libpthreadstubs, lua, lua5_sockets
, libuchardet, rubberband
, x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null
, xineramaSupport ? true, libXinerama ? null
, xvSupport ? true, libXv ? null
@ -59,11 +60,11 @@ in
stdenv.mkDerivation rec {
name = "mpv-${version}";
version = "0.16.0";
version = "0.17.0";
src = fetchurl {
url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
sha256 = "1fiqxx85s418qynq2fp0v7cpzrz8j285hwmc4fqgn5ny1vg1jdpw";
sha256 = "0vms3viwqcwl1mrgmf2yy4c69fvv7xpbkyrl693l6zpwynqd4b30";
};
patchPhase = ''
@ -89,7 +90,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ docutils makeWrapper perl pkgconfig python which ];
buildInputs = [
ffmpeg freetype libass libpthreadstubs lua lua5_sockets
ffmpeg freetype libass libpthreadstubs lua lua5_sockets libuchardet rubberband
] ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ]
++ optional alsaSupport alsaLib
++ optional xvSupport libXv

View file

@ -9,13 +9,13 @@
, libvdpau, libsamplerate, live555, fluidsynth
, onlyLibVLC ? false
, qt4 ? null
, withQt5 ? false, qtbase ? null
, withQt5 ? false, qtbase ? null, qtx11extras ? null
, jackSupport ? false
}:
with stdenv.lib;
assert (withQt5 -> qtbase != null);
assert (withQt5 -> qtbase != null && qtx11extras != null);
assert (!withQt5 -> qt4 != null);
stdenv.mkDerivation rec {
@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
fluidsynth
]
++ [(if withQt5 then qtbase else qt4)]
++ optional withQt5 qtx11extras
++ optional jackSupport libjack2;
nativeBuildInputs = [ pkgconfig ];

View file

@ -1,22 +1,24 @@
{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, which, xorg,
libX11, libXext, libXinerama, libXpm, libXft, libXau, libXdmcp, libpng,
libjpeg, expat, xproto, xextproto, xineramaproto, librsvg, gettext,
libX11, libXext, libXinerama, libXpm, libXft, libXau, libXdmcp, libXmu,
libpng, libjpeg, expat, xproto, xextproto, xineramaproto, librsvg, gettext,
freetype, fontconfig }:
stdenv.mkDerivation rec {
name = "jwm-${version}";
version = "1406";
version = "1495";
src = fetchurl {
url = "https://github.com/joewing/jwm/archive/s${version}.tar.gz";
sha256 = "0yk22b7cshhyfpcqnb4p59yxspx95xg9yp1kmkxi2fyw95cacab4";
sha256 = "0sn9la3k36k1d9qyxab1sbv2mqicq2w7q4wgy4bj8d48zc8xjy6v";
};
nativeBuildInputs = [ pkgconfig automake autoconf libtool which ];
nativeBuildInputs = [ pkgconfig automake autoconf libtool which gettext ];
buildInputs = [ libX11 libXext libXinerama libXpm libXft xorg.libXrender
libXau libXdmcp libpng libjpeg expat xproto xextproto xineramaproto
librsvg gettext freetype fontconfig ];
libXau libXdmcp libXmu libpng libjpeg expat xproto xextproto xineramaproto
librsvg freetype fontconfig ];
enableParallelBuilding = true;
preConfigure = "./autogen.sh";

View file

@ -3,6 +3,7 @@
{ name, profile ? ""
, pkgs ? null, targetPkgs ? pkgs: [], multiPkgs ? pkgs: []
, extraBuildCommands ? "", extraBuildCommandsMulti ? ""
, extraOutputsToInstall ? []
}:
# HOWTO:
@ -57,6 +58,7 @@ let
export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive'
export LD_LIBRARY_PATH='/run/opengl-driver/lib:/run/opengl-driver-32/lib:/usr/lib:/usr/lib32'
export PATH='/var/setuid-wrappers:/usr/bin:/usr/sbin'
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
# Force compilers to look in default search paths
export NIX_CFLAGS_COMPILE='-idirafter /usr/include'
@ -118,12 +120,14 @@ let
staticUsrProfileTarget = nixpkgs.buildEnv {
name = "${name}-usr-target";
paths = [ etcPkg ] ++ basePkgs ++ targetPaths;
extraOutputsToInstall = [ "lib" "out" ] ++ extraOutputsToInstall;
ignoreCollisions = true;
};
staticUsrProfileMulti = nixpkgs.buildEnv {
name = "system-profile-multi";
paths = multiPaths;
extraOutputsToInstall = [ "lib" "out" ] ++ extraOutputsToInstall;
ignoreCollisions = true;
};
@ -157,8 +161,8 @@ let
cp -rsHf ${staticUsrProfileTarget}/lib64/* lib64/ && chmod u+w -R lib64/
# copy gcc libs
cp -rsHf ${chosenGcc.cc}/lib/* lib32/
cp -rsHf ${chosenGcc.cc}/lib64/* lib64/
cp -rsHf ${chosenGcc.cc.lib}/lib/* lib32/
cp -rsHf ${chosenGcc.cc.lib}/lib64/* lib64/
# symlink 32-bit ld-linux.so
ln -s ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/

View file

@ -1,5 +1,5 @@
{ stdenv, lib, callPackage, runCommand, writeReferencesToFile, writeText, vmTools, writeScript
, docker, shadow, utillinux, coreutils, jshon, e2fsprogs, goPackages }:
, docker, shadow, utillinux, coreutils, jshon, e2fsprogs, goPackages, pigz }:
# WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future.
@ -45,27 +45,6 @@ rec {
done
'';
mkTarball = { name ? "docker-tar", drv, onlyDeps ? false }:
runCommand "${name}.tar.gz" rec {
inherit drv onlyDeps;
drvClosure = writeReferencesToFile drv;
} ''
while read dep; do
echo Copying $dep
dir="$(dirname "$dep")"
mkdir -p "rootfs/$dir"
cp -drf --preserve=mode $dep "rootfs/$dir/"
done < "$drvClosure"
if [ -z "$onlyDeps" ]; then
cp -drf --preserve=mode $drv/* rootfs/
fi
tar -C rootfs/ -cpzf $out .
'';
shellScript = text:
writeScript "script.sh" ''
#!${stdenv.shell}
@ -99,16 +78,6 @@ EOF
fi
'';
# Append to tar instead of unpacking
mergeTarballs = tarballs:
runCommand "merge-tars" { inherit tarballs; } ''
mkdir tmp
for tb in $tarballs; do
tar -C tmp -xkpf $tb
done
tar -C tmp -cpzf $out .
'';
runWithOverlay = { name , fromImage ? null, fromImageName ? null, fromImageTag ? null
, diskSize ? 1024, preMount ? "", postMount ? "", postUmount ? "" }:
vmTools.runInLinuxVM (
@ -182,7 +151,7 @@ EOF
postMount = ''
echo Packing raw image
tar -C mnt -czf $out .
tar -C mnt -cf $out .
'';
};
@ -262,8 +231,8 @@ EOF
# 6. repack the image
buildImage = args@{ name, tag ? "latest"
, fromImage ? null, fromImageName ? null, fromImageTag ? null
, contents ? null, tarballs ? [], config ? null
, runAsRoot ? null, diskSize ? 1024, extraCommands ? "" }:
, contents ? null, config ? null, runAsRoot ? null
, diskSize ? 1024, extraCommands ? "" }:
let
@ -275,22 +244,18 @@ EOF
os = "linux";
config = config;
});
layer = (if runAsRoot == null
then mkPureLayer { inherit baseJson contents extraCommands; }
else mkRootLayer { inherit baseJson fromImage fromImageName fromImageTag contents runAsRoot diskSize extraCommands; });
depsTarball = mkTarball { name = "${baseName}-deps";
drv = layer;
onlyDeps = true; };
result = runCommand "${baseName}.tar.gz" {
buildInputs = [ jshon ];
buildInputs = [ jshon pigz ];
imageName = name;
imageTag = tag;
inherit fromImage baseJson;
mergedTarball = if tarballs == [] then depsTarball else mergeTarballs ([ depsTarball ] ++ tarballs);
layerClosure = writeReferencesToFile layer;
passthru = {
buildArgs = args;
@ -320,22 +285,17 @@ EOF
mkdir temp
cp ${layer}/* temp/
chmod ug+w temp/*
echo Adding dependencies
touch layerFiles
for dep in $(cat $layerClosure); do
find $dep >> layerFiles
done
echo Adding layer
tar -tf temp/layer.tar >> baseFiles
tar -tf "$mergedTarball" | grep -v ${layer} > layerFiles
if [ "$(wc -l layerFiles|cut -d ' ' -f 1)" -gt 3 ]; then
sed -i -e 's|^[\./]\+||' baseFiles layerFiles
comm <(sort -n baseFiles|uniq) <(sort -n layerFiles|uniq) -1 -3 > newFiles
mkdir deps
pushd deps
tar -xpf "$mergedTarball" --no-recursion --files-from ../newFiles 2>/dev/null || true
tar -rf ../temp/layer.tar --no-recursion --files-from ../newFiles 2>/dev/null || true
popd
else
echo No new deps, no diffing needed
fi
comm <(sort -n baseFiles|uniq) <(sort -n layerFiles|uniq|grep -v ${layer}) -1 -3 > newFiles
tar -rpf temp/layer.tar --no-recursion --files-from newFiles 2>/dev/null || true
echo Adding meta
if [ -n "$parentID" ]; then
@ -357,7 +317,7 @@ EOF
chmod -R a-w image
echo Cooking the image
tar -C image -czf $out .
tar -C image -c . | pigz > $out
'';
in

View file

@ -61,6 +61,7 @@ in
, md5 ? ""
, sha1 ? ""
, sha256 ? ""
, sha512 ? ""
, recursiveHash ? false
@ -91,7 +92,7 @@ assert (urls == []) != (url == "");
let
hasHash = showURLs || (outputHash != "" && outputHashAlgo != "")
|| md5 != "" || sha1 != "" || sha256 != "";
|| md5 != "" || sha1 != "" || sha256 != "" || sha512 != "";
urls_ = if urls != [] then urls else [url];
in
@ -114,9 +115,9 @@ if (!hasHash) then throw "Specify hash for fetchurl fixed-output derivation: ${s
# New-style output content requirements.
outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else
if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5";
if sha512 != "" then "sha512" else if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5";
outputHash = if outputHash != "" then outputHash else
if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
if sha512 != "" then sha512 else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
outputHashMode = if (recursiveHash || executable) then "recursive" else "flat";

View file

@ -114,16 +114,10 @@ let
"-${grkern.grversion}-${grkern.revision}";
grsecurityOverrider = args: grkern: {
# Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins)
# include libgmp headers, so we need these extra tweaks
# As of gcc5 we also need libmpc
buildInputs = args.buildInputs ++ [ pkgs.gmp pkgs.libmpc pkgs.mpfr ];
preConfigure = ''
extraIncludes="-I${pkgs.gmp.dev}/include -I${pkgs.libmpc}/include -I${pkgs.mpfr.dev}/include"
${args.preConfigure or ""}
sed -i "s|-I|$extraIncludes -I|" scripts/gcc-plugin.sh
sed -i "s|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += $extraIncludes|" tools/gcc/Makefile
sed -i "s|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += $extraIncludes|" tools/gcc/Makefile
# additional build inputs for gcc plugins, required by some PaX/grsec features
nativeBuildInputs = args.nativeBuildInputs ++ (with pkgs; [ gmp libmpc mpfr ]);
preConfigure = args.preConfigure or "" + ''
rm localversion-grsec
echo ${localver grkern} > localversion-grsec
'';

View file

@ -7,19 +7,23 @@ stdenv.mkDerivation rec {
url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.gz";
sha256 = "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg";
};
buildInputs = [ elementary efl automake autoconf libtool pkgconfig
makeWrapper ];
GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [
buildInputs = [
elementary efl automake autoconf libtool pkgconfig
makeWrapper
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-libav ];
gst_all_1.gst-libav
];
configurePhase = ''
./autogen.sh --prefix=$out
'';
postInstall = ''
wrapProgram $out/bin/rage \
--prefix GST_PLUGIN_PATH : "$GST_PLUGIN_PATH"
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
'';
meta = {
description = "Video + Audio player along the lines of mplayer";

View file

@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo
clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins
gst_all_1.gstreamer gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly gst_all_1.gst-libav
gnome3.libpeas pygobject3 shared_mime_info dbus_glib
gdk_pixbuf gnome3.defaultIconTheme librsvg gnome3.gnome_desktop
gnome3.gsettings_desktop_schemas makeWrapper file ];

View file

@ -1,4 +1,5 @@
{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses }:
{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses
, dirName ? null, subdirName ? null }:
with stdenv.lib;
let
versionParts = splitString "-" version; # 4.7 2013q3 20130916
@ -8,13 +9,15 @@ let
yearQuarterParts = splitString "q" yearQuarter; # 2013 3
year = elemAt yearQuarterParts 0; # 2013
quarter = elemAt yearQuarterParts 1; # 3
subdirName = "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update
dirName_ = if dirName != null then dirName else majorVersion;
subdirName_ = if subdirName != null then subdirName
else "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update
in
stdenv.mkDerivation {
name = "gcc-arm-embedded-${version}";
src = fetchurl {
url = "https://launchpad.net/gcc-arm-embedded/${majorVersion}/${subdirName}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2";
url = "https://launchpad.net/gcc-arm-embedded/${dirName_}/${subdirName_}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2";
sha256 = sha256;
};

View file

@ -218,7 +218,7 @@ stdenv.mkDerivation ({
inherit patches;
outputs = [ "out" "lib" "man" "info" ];
outputs = if langJava then ["out" "man" "info"] else [ "out" "lib" "man" "info" ];
setOutputFlags = false;
NIX_NO_SELF_RPATH = true;
@ -315,7 +315,11 @@ stdenv.mkDerivation ({
FLAGS_FOR_TARGET=-F$SDKROOT/System/Library/Frameworks \
)
fi
'';
''
+ stdenv.lib.optionalString langJava ''
export lib=$out;
''
;
dontDisableStatic = true;
@ -538,4 +542,10 @@ stdenv.mkDerivation ({
// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
// optionalAttrs (langJava) {
postFixup = ''
target="$(echo "$out/libexec/gcc"/*/*/ecj*)"
patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target"
'';}
)

View file

@ -130,10 +130,10 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = [ "-fPIC" ];
LD_LIBRARY_PATH = makeSearchPath "lib" [
LD_LIBRARY_PATH = makeSearchPath "lib" (concatLists (map (x : x.all) [
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
openspecfun pcre2 suitesparse
];
]));
dontStrip = true;
dontPatchELF = true;

View file

@ -1,9 +1,10 @@
{ stdenv, fetchFromGitHub, coq }:
let param =
if coq.coq-version == "8.4"
then { version = "0.9.0"; sha256 = "1n3bk003vvbghbrxkhal6drnc0l65jv9y77wd56is3jw9xgiif0w"; }
else { version = "0.9.0-beta3"; sha256 = "1dya0sqp5jjb2cl7cv2ry4gvcr359bkzzqcz0plknf3f1c5zrv0s"; };
{
"8.4" = { version = "0.9.0"; sha256 = "1n3bk003vvbghbrxkhal6drnc0l65jv9y77wd56is3jw9xgiif0w"; };
"8.5" = { version = "0.9.3"; sha256 = "05zff5mrkxpvcsw4gi8whjj5w0mdbqzjmb247lq5b7mry0bypwc5"; };
}."${coq.coq-version}";
in
stdenv.mkDerivation rec {

View file

@ -154,7 +154,6 @@ self: super: {
gl = dontHaddock super.gl;
groupoids = dontHaddock super.groupoids;
hamlet = dontHaddock super.hamlet;
haste-compiler = dontHaddock super.haste-compiler;
HaXml = dontHaddock super.HaXml;
HDBC-odbc = dontHaddock super.HDBC-odbc;
hoodle-core = dontHaddock super.hoodle-core;
@ -964,4 +963,8 @@ self: super: {
# https://github.com/danidiaz/pipes-transduce/issues/2
pipes-transduce = super.pipes-transduce.override { foldl = self.foldl_1_1_6; };
# Haste stuff
haste-Cabal = self.callPackage ../tools/haskell/haste/haste-Cabal.nix {};
haste-cabal-install = self.callPackage ../tools/haskell/haste/haste-cabal-install.nix { Cabal = self.haste-Cabal; HTTP = self.HTTP_4000_2_23; };
haste-compiler = self.callPackage ../tools/haskell/haste/haste-compiler.nix { inherit overrideCabal; super-haste-compiler = super.haste-compiler; };
}

View file

@ -3,10 +3,10 @@ let
s = # Generated upstream information
rec {
baseName="angelscript";
version = "2.30.2";
version = "2.31.0";
name="${baseName}-${version}";
url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
sha256 = "1myp691m0nzv51pyfq6qmjyi0asbkx2v8slrnhj32s6aq55pf24c";
sha256 = "03a0gmz95di62552dv873iwwy1ym96kpyrc0s708assjlslr9716";
};
buildInputs = [
unzip

View file

@ -294,13 +294,13 @@ let
in {
php55 = generic {
version = "5.5.33";
sha256 = "1a8ac1zcq68irvdffh08cpi4aaaira4hsqwgns7b95pm9pnv3464";
version = "5.5.34";
sha256 = "0745wn0qg9rqibwr948bzc719s7pywizvl1ahkg1j9m92r28i25g";
};
php56 = generic {
version = "5.6.19";
sha256 = "0s61fncsdgr1mqgh8jma6pi6xxz4gl350467lk00ls3i97wa691a";
version = "5.6.20";
sha256 = "07xz48dz1ijwq45vh90jfzdd56k0s5ppi3j5rwc9p9y7mrybziss";
};
php70 = generic {

View file

@ -2,7 +2,7 @@
callPackage ./generic.nix (args // {
baseVersion = "1.11";
revision = "28";
sha256 = "0cjr3zkara8js1fbm8ddcbd5mkizxh1wm6fja13psw5j8mpwj554";
revision = "29";
sha256 = "157bp8716h17agrxyj7xpsj2i5sqhafj1nfx4gpzccx7y2kyq176";
openssl = null;
})

View file

@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "geoclue-2.4.2";
name = "geoclue-2.4.3";
src = fetchurl {
url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz";
sha256 = "0g4krigdaf5ipkp4mi16rca62crr8pdk3wkhm0fxbcqnil75fyy4";
sha256 = "0pk07k65dlw37nz8z5spksivsv5nh96xmbi336rf2yfxf2ldpadd";
};
buildInputs =

View file

@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
];
cmakeFlags = "-DBUILD_SHARED_LIBS=ON";
NIX_LDFLAGS= "-lpthread -L${stdenv.cc.libc.out}/lib";
meta = with stdenv.lib; {
description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl}:
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "libdvdcss-${version}";
@ -9,8 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "158k9zagmbk5bkbz96l6lwhh7xcgfcnzflkr4vblskhcab6llhbw";
};
meta = {
meta = with stdenv.lib; {
homepage = http://www.videolan.org/developers/libdvdcss.html;
description = "A library for decrypting DVDs";
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View file

@ -3,11 +3,15 @@
let
inherit (stdenv.lib) optional;
in
stdenv.mkDerivation {
name = if extraOnly then "libfm-extra-1.2.3" else "libfm-1.2.3";
stdenv.mkDerivation rec {
name = if extraOnly
then "libfm-extra-${version}"
else "libfm-${version}";
version = "1.2.4";
src = fetchurl {
url = "mirror://sourceforge/pcmanfm/libfm-1.2.3.tar.xz";
sha256 = "1ygvw52262r3jp1f45m9cdpx5xgvd4rkyfszslfqvg2c99ig34n6";
url = "mirror://sourceforge/pcmanfm/libfm-${version}.tar.xz";
sha256 = "0bsh4p7h2glhxf1cc1lvbxyb4qy0y1zsnl9izf7vrldkikrgc13q";
};
buildInputs = [ glib gtk intltool pango pkgconfig vala ]

View file

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
sha256 = "0chz57rhzdz1cbdjw1q5rs439s879kk06jrci4jyn5rlm7iyic6d";
sha256 = "1wjf79ipqwb5phfjjwf15rwgigakylnfqaj4crs5qnds6ba6i1ld";
};
nativeBuildInputs = [ pkgconfig gettext ];
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
MTP, and other vendor specific protocols for controlling and transferring data
from digital cameras.
'';
version = "2.5.9";
version = "2.5.10";
# XXX: the homepage claims LGPL, but several src files are lgpl21Plus
license = stdenv.lib.licenses.lgpl21Plus;
platforms = with stdenv.lib.platforms; unix;

View file

@ -4,11 +4,11 @@
with { inherit (stdenv.lib) optionals; };
stdenv.mkDerivation rec {
name = "libgsf-1.14.34";
name = "libgsf-1.14.36";
src = fetchurl {
url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz";
sha256 = "f0fea447e0374a73df45b498fd1701393f8e6acb39746119f8a292fb4a0cb528";
sha256 = "0h19ssxzz0cmznwga2xy55kjibm24mwxqarnpd0w7xy0hrzm1dvi";
};
nativeBuildInputs = [ pkgconfig intltool ];

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "libuchardet-${version}";
version = "0.0.1";
version = "0.0.5";
src = fetchFromGitHub {
owner = "BYVoid";
repo = "uchardet";
rev = "69b7133995e4ee260b093323c57a7f8c6c6803b8";
sha256 = "0yqrc9a7wxsh2fvigjppjp55v4r1q8p40yh048xsvl3kly2rkqy9";
rev = "v${version}";
sha256 = "0rkym5bhq3hn7623fy0fggw0qaghha71k8bi41ywqd2lchpahrrm";
};
buildInputs = [ cmake ];

View file

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
name = "libvirt-${version}";
version = "1.3.2";
version = "1.3.3";
src = fetchurl {
url = "http://libvirt.org/sources/${name}.tar.gz";
sha256 = "01fg9jbifndwc3jzzizsisvz98q325xarczgf6rn11hphckgrip3";
sha256 = "13w56fhspf7ygr3v0jhh44g25xbcx5vmrprzcy9cajsppa6knq4r";
};
patches = [ ./build-on-bsd.patch ];

View file

@ -1,9 +1,12 @@
{stdenv, fetchFromGitHub, libX11, unzip, ogre, cmake, ois, freetype, libuuid, boost, pkgconfig}:
{ stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid,
boost, pkgconfig, withOgre ? false, ogre ? null, mesa ? null } :
stdenv.mkDerivation rec {
let
renderSystem = if withOgre then "3" else "4";
in stdenv.mkDerivation rec {
name = "mygui-${version}";
version = "3.2.2";
src = fetchFromGitHub {
owner = "MyGUI";
repo = "mygui";
@ -13,11 +16,15 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
buildInputs = [ libX11 unzip ogre cmake ois freetype libuuid boost pkgconfig ];
buildInputs = [ libX11 unzip cmake ois freetype libuuid boost pkgconfig (if withOgre then ogre else mesa) ];
meta = {
# Tools are disabled due to compilation failures.
cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ];
meta = with stdenv.lib; {
homepage = http://mygui.info/;
description = "Library for creating GUIs for games and 3D applications";
license = stdenv.lib.licenses.lgpl3Plus;
license = licenses.lgpl3Plus;
platforms = platforms.linux;
};
}

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
buildInputs = [ ois ogre libX11 boost ];
nativeBuildInputs = [ cmake pkgconfig ];
cmakeFlags = "-DPAGEDGEOMETRY_BUILD_SAMPLES=OFF";
cmakeFlags = [ "-DPAGEDGEOMETRY_BUILD_SAMPLES=OFF" ];
enableParallelBuilding = true;
@ -19,5 +19,7 @@ stdenv.mkDerivation rec {
description = "Paged Geometry for Ogre3D";
homepage = http://code.google.com/p/ogre-paged/;
license = stdenv.lib.licenses.mit;
# Build failures
broken = true;
};
}

View file

@ -1,8 +1,9 @@
{ stdenv, fetchurl, cmake, giflib, libjpeg, libtiff, lib3ds, freetype
{ stdenv, lib, fetchurl, cmake, giflib, libjpeg, libtiff, lib3ds, freetype
, libpng, coin3d, jasper, gdal_1_11, xproto, libX11, libXmu
, freeglut, mesa, doxygen, ffmpeg, xineLib, unzip, zlib, openal
, libxml2, curl, a52dec, faad2, gdk_pixbuf, pkgconfig, kbproto, SDL
, qt4, poppler, librsvg, gtk }:
, qt4, poppler, librsvg, gtk
, withApps ? true }:
stdenv.mkDerivation rec {
name = "openscenegraph-${version}";
@ -20,11 +21,13 @@ stdenv.mkDerivation rec {
pkgconfig kbproto SDL qt4 poppler librsvg gtk
];
enableParallelBuilding = true;
cmakeFlags = [
"-DMATH_LIBRARY="
"-DCMAKE_C_FLAGS=-D__STDC_CONSTANT_MACROS=1"
"-DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS=1"
];
] ++ lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF";
meta = with stdenv.lib; {
description = "A 3D graphics toolkit";

View file

@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
cmakeFlags = "-DMAN_INSTALL_DIR=share/man/man1 -DDOC_INSTALL_DIR=share/doc/qhull";
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include <iterator>/' ./src/libqhullcpp/QhullIterator.h
sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include <iterator>/' ./src/libqhullcpp/QhullLinkedList.h
'';
meta = {
homepage = http://www.qhull.org/;
description = "Computes the convex hull, Delaunay triangulation, Voronoi diagram and more";

View file

@ -0,0 +1,24 @@
{ stdenv, fetchurl, cmake, boost
}:
stdenv.mkDerivation rec {
name = "ispike-${version}";
version = "2.1.1";
src = fetchurl {
url = "mirror://sourceforge/ispike/${name}.tar.gz";
sha256 = "0khrxp43bi5kisr8j4lp9fl4r5marzf7b4inys62ac108sfb28lp";
};
buildInputs = [ cmake boost ];
meta = {
description = "Spiking neural interface between iCub and a spiking neural simulator";
homepage = https://sourceforge.net/projects/ispike/;
license = stdenv.lib.licenses.lgpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.nico202 ];
};
}

View file

@ -1,5 +1,8 @@
{ stdenv, fetchurl }:
let
SHLIB_EXT = if stdenv.isDarwin then "dylib" else "so";
in
stdenv.mkDerivation {
name = "tbb-4.4-u2";
@ -13,7 +16,7 @@ stdenv.mkDerivation {
installPhase = ''
mkdir -p $out/{lib,share/doc}
cp "build/"*release*"/"*so* $out/lib/
cp "build/"*release*"/"*${SHLIB_EXT}* $out/lib/
mv include $out/
rm $out/include/index.html
mv doc/html $out/share/doc/tbb
@ -33,7 +36,7 @@ stdenv.mkDerivation {
represents a higher-level, task-based parallelism that abstracts platform
details and threading mechanisms for scalability and performance.
'';
platforms = stdenv.lib.platforms.linux;
platforms = with stdenv.lib.platforms; linux ++ darwin;
maintainers = with stdenv.lib.maintainers; [ simons thoughtpolice ];
};
}

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