Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2017-02-09 08:42:04 +01:00
commit 6bea415b5e
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
282 changed files with 6518 additions and 4783 deletions

View file

@ -14,14 +14,22 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
* Format the commits in the following way:
`(pkg-name | service-name): (from -> to | init at version | refactor | etc)`
```
(pkg-name | service-name): (from -> to | init at version | refactor | etc)
(Motivation for change. Additional information.)
```
Examples:
* nginx: init at 2.0.1
* firefox: 3.0 -> 3.1.1
* hydra service: add bazBaz option
Dual baz behavior is needed to do foo.
* nginx service: refactor config generation
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
* `meta.description` should:
* Be capitalized
@ -30,6 +38,12 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
See the nixpkgs manual for more details on how to [Submit changes to nixpkgs](https://nixos.org/nixpkgs/manual/#chap-submitting-changes).
## Writing good commit messages
In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list archives, pull request discussions or upstream changes, it may require a lot of work.
For package version upgrades and such a one-line commit message is usually sufficient.
## Reviewing contributions
See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#sec-reviewing-contributions).

View file

@ -25,7 +25,7 @@
<!--============================================================-->
<section xml:id="sec-cross-packaging">
<title>Packing in a cross-friendly manner</title>
<title>Packaging in a cross-friendly manner</title>
<section>
<title>Platform parameters</title>
@ -105,14 +105,15 @@
This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
In this manner, given the 3 platforms for one package, we can determine the three platforms for all its transitive dependencies.
</para>
<para>
Some examples will probably make this clearer.
If a package is being built with a <literal>(build, host, target)</literal> platform triple of <literal>(foo, bar, bar)</literal>, then its build-time dependencies would have a triple of <literal>(foo, foo, bar)</literal>, and <emphasis>those packages'</emphasis> build-time dependencies would have triple of <literal>(foo, foo, foo)</literal>.
In other words, it should take two "rounds" of following build-time dependency edges before one reaches a fixed point where, by the sliding window principle, the platform triple no longer changes.
Indeed, this happens with cross compilation, where only rounds of native dependencies starting with the second necessarily coincide with native packages.
</para>
<note><para>
The depending package's target platform is unconstrained by the sliding window principle, which makes sense in that one can in principle build cross compilers targeting arbitrary platforms.
</para></note>
<warning><para>
From the above, one would surmise that if a package is being built with a <literal>(build, host, target)</literal> platform triple of <literal>(foo, bar, bar)</literal>, then its build-time dependencies would have a triple of <literal>(foo, foo, bar)</literal>, and <emphasis>those packages'</emphasis> build-time dependencies would have triple of <literal>(foo, foo, foo)</literal>.
In other words, it should take two "rounds" of following build-time dependency edges before one reaches a fixed point where, by the sliding window principle, the platform triple no longer changes.
Unfortunately, at the moment, we do <emphasis>not</emphasis> implement this correctly, and after only one round of following build-time dependencies is the fixed point reached, with target incorrectly kept different than the others.
</para></warning>
<para>
How does this work in practice? Nixpkgs is now structured so that build-time dependencies are taken from from <varname>buildPackages</varname>, whereas run-time dependencies are taken from the top level attribute set.
For example, <varname>buildPackages.gcc</varname> should be used at build time, while <varname>gcc</varname> should be used at run time.
@ -131,9 +132,23 @@
<section xml:id="sec-cross-usage">
<title>Cross-building packages</title>
<note><para>
More information needs to moved from the old wiki, especially <link xlink:href="https://nixos.org/wiki/CrossCompiling" />, for this section.
</para></note>
<para>
To be written.
This is basically unchanged so see the old wiki for now.
Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, and, optionally, <varname>crossSystem</varname> to nixpkgs:
<literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>.
<varname>system</varname> and <varname>platform</varname> together determine the system on which packages are built, and <varname>crossSystem</varname> specifies the platform on which packages are ultimately intended to run, if it is different.
This still works, but with more recent changes, one can alternatively pass <varname>localSystem</varname>, containing <varname>system</varname> and <varname>platform</varname>, for symmetry.
</para>
<para>
One would think that <varname>localSystem</varname> and <varname>crossSystem</varname> overlap horribly with the three <varname>*Platforms</varname> (<varname>buildPlatform</varname>, <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see <varname>stage.nix</varname> or the manual).
Actually, those identifiers are purposefully not used here to draw a subtle but important distinction:
While the granularity of having 3 platforms is necessary to properly *build* packages, it is overkill for specifying the user's *intent* when making a build plan or package set.
A simple "build vs deploy" dichotomy is adequate: the sliding window principle described in the previous section shows how to interpolate between the these two "end points" to get the 3 platform triple for each bootstrapping stage.
That means for any package a given package set, even those not bound on the top level but only reachable via dependencies or <varname>buildPackages</varname>, the three platforms will be defined as one of <varname>localSystem</varname> or <varname>crossSystem</varname>, with the former replacing the latter as one traverses build-time dependencies.
A last simple difference then is <varname>crossSystem</varname> should be null when one doesn't want to cross-compile, while the <varname>*Platform</varname>s are always non-null.
<varname>localSystem</varname> is always non-null.
</para>
</section>

View file

@ -379,6 +379,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "Mozilla Public License 2.0";
};
mspl = spdx {
spdxId = "MS-PL";
fullName = "Microsoft Public License";
};
msrla = {
fullName = "Microsoft Research License Agreement";
url = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";

View file

@ -81,6 +81,7 @@
c0dehero = "CodeHero <codehero@nerdpol.ch>";
calrama = "Moritz Maxeiner <moritz@ucworks.org>";
campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
canndrew = "Andrew Cann <shum@canndrew.org>";
carlsverre = "Carl Sverre <accounts@carlsverre.com>";
cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
@ -111,6 +112,7 @@
cwoac = "Oliver Matthews <oliver@codersoffortune.net>";
DamienCassou = "Damien Cassou <damien@cassou.me>";
danbst = "Danylo Hlynskyi <abcz2.uprola@gmail.com>";
dancek = "Hannu Hartikainen <hannu.hartikainen@gmail.com>";
danielfullmer = "Daniel Fullmer <danielrf12@gmail.com>";
dasuxullebt = "Christoph-Simon Senjak <christoph.senjak@googlemail.com>";
davidak = "David Kleuker <post@davidak.de>";
@ -296,6 +298,7 @@
mdaiter = "Matthew S. Daiter <mdaiter8121@gmail.com>";
meditans = "Carlo Nucera <meditans@gmail.com>";
meisternu = "Matt Miemiec <meister@krutt.org>";
metabar = "Celine Mercier <softs@metabarcoding.org>";
mguentner = "Maximilian Güntner <code@klandest.in>";
mic92 = "Jörg Thalheim <joerg@higgsboson.tk>";
michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";

View file

@ -46,6 +46,7 @@ following incompatible changes:</para>
for what those parameters represent.
</para>
</listitem>
<listitem>
<para>
<literal>ansible</literal> now defaults to ansible version 2 as version 1
@ -54,6 +55,7 @@ following incompatible changes:</para>
vulnerability</link> unpatched by upstream.
</para>
</listitem>
<listitem>
<para>
<literal>gnome</literal> alias has been removed along with
@ -116,7 +118,6 @@ following incompatible changes:</para>
</listitem>
<listitem>
<para><literal>overridePackages</literal> function no longer exists.
It is replaced by <link
xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install">
@ -153,18 +154,39 @@ following incompatible changes:</para>
</para>
</listitem>
<listitem>
<para>
<literal>local_recipient_maps</literal> is not set to empty value by
Postfix service. It's an insecure default as stated by Postfix
documentation. Those who want to retain this setting need to set it via
<literal>services.postfix.extraConfig</literal>.
</para>
</listitem>
</itemizedlist>
<para>Other notable improvements:</para>
<itemizedlist>
<listitem>
<para>Module type system have a new extensible option types feature that
allow to extend certain types, such as enum, through multiple option
declarations of the same option across multiple modules.
</para>
</listitem>
<listitem>
<para>
<literal>jre</literal> now defaults to GTK+ UI by default. This
improves visual consistency and makes Java follow system font style,
improving the situation on HighDPI displays. This has a cost of increased
closure size; for server and other headless workloads it's recommended to
use <literal>jre_headless</literal>.
</para>
</listitem>
</itemizedlist>

View file

@ -21,6 +21,8 @@ in
config = mkIf enabled {
nixpkgs.config.xorg.abiCompat = "1.18";
services.xserver.drivers = singleton
{ name = "amdgpu"; modules = [ package ]; libPath = [ package ]; };

View file

@ -18,7 +18,7 @@ in
config = mkIf enabled {
nixpkgs.config.xorg.fglrxCompat = true;
nixpkgs.config.xorg.abiCompat = "1.17";
services.xserver.drivers = singleton
{ name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; };

View file

@ -76,7 +76,7 @@ in
config = mkIf cfg.enable {
boot.blacklistedKernelModules = [ "nvidia-drm" "nvidia" "nouveau" ];
boot.kernelModules = optional useBbswitch [ "bbswitch" ];
boot.kernelModules = optional useBbswitch "bbswitch";
boot.extraModulePackages = optional useBbswitch kernel.bbswitch ++ optional useNvidia kernel.nvidia_x11;
environment.systemPackages = [ bumblebee primus ];

View file

@ -208,9 +208,6 @@ foreach my $path (glob "/sys/bus/pci/devices/*") {
pciCheck $path;
}
push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver;
# Idem for USB devices.
sub usbCheck {
@ -277,6 +274,12 @@ if ($virt eq "qemu" || $virt eq "kvm" || $virt eq "bochs") {
push @imports, "<nixpkgs/nixos/modules/profiles/qemu-guest.nix>";
}
# Also for Hyper-V.
if ($virt eq "microsoft") {
push @initrdAvailableKernelModules, "hv_storvsc";
$videoDriver = "fbdev";
}
# Pull in NixOS configuration for containers.
if ($virt eq "systemd-nspawn") {
@ -307,6 +310,7 @@ sub findStableDevPath {
return $dev;
}
push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver;
# Generate the swapDevices option from the currently activated swap
# devices.
@ -588,6 +592,12 @@ $bootLoaderConfig
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Enable CUPS to print documents.
# services.printing.enable = true;

View file

@ -286,6 +286,7 @@
gogs = 268;
pdns-recursor = 269;
kresd = 270;
rpc = 271;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -541,6 +542,7 @@
couchpotato = 267;
gogs = 268;
kresd = 270;
#rpc = 271; # unused
# 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

@ -197,6 +197,7 @@
./services/hardware/bluetooth.nix
./services/hardware/brltty.nix
./services/hardware/freefall.nix
./services/hardware/illum.nix
./services/hardware/irqbalance.nix
./services/hardware/nvidia-optimus.nix
./services/hardware/pcscd.nix
@ -205,6 +206,7 @@
./services/hardware/tcsd.nix
./services/hardware/tlp.nix
./services/hardware/thinkfan.nix
./services/hardware/trezord.nix
./services/hardware/udev.nix
./services/hardware/udisks2.nix
./services/hardware/upower.nix
@ -339,6 +341,7 @@
./services/monitoring/zabbix-server.nix
./services/network-filesystems/cachefilesd.nix
./services/network-filesystems/drbd.nix
./services/network-filesystems/glusterfs.nix
./services/network-filesystems/ipfs.nix
./services/network-filesystems/netatalk.nix
./services/network-filesystems/nfsd.nix

View file

@ -42,6 +42,9 @@
# Virtio (QEMU, KVM etc.) support.
"virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console"
# Hyper-V support.
"hv_storvsc"
# Keyboards
"usbhid" "hid_apple" "hid_logitech_dj" "hid_lenovo_tpkbd" "hid_roccat"
];

View file

@ -172,6 +172,10 @@ with lib;
(mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
(mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths" )
# nfs
(mkRenamedOptionModule [ "services" "nfs" "lockdPort" ] [ "services" "nfs" "server" "lockdPort" ])
(mkRenamedOptionModule [ "services" "nfs" "statdPort" ] [ "services" "nfs" "server" "statdPort" ])
# Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
(mkRemovedOptionModule [ "programs" "bash" "enable" ] "")

View file

@ -7,21 +7,20 @@
<title>Grsecurity/PaX</title>
<para>
Grsecurity/PaX is a set of patches against the Linux kernel that make it
harder to exploit bugs. The patchset includes protections such as
enforcement of non-executable memory, address space layout randomization,
and chroot jail hardening. These and other
Grsecurity/PaX is a set of patches against the Linux kernel that
implements an extensive suite of
<link xlink:href="https://grsecurity.net/features.php">features</link>
render entire classes of exploits inert without additional efforts on the
part of the adversary.
designed to increase the difficulty of exploiting kernel and
application bugs.
</para>
<para>
The NixOS grsecurity/PaX module is designed with casual users in mind and is
intended to be compatible with normal desktop usage, without unnecessarily
compromising security. The following sections describe the configuration
and administration of a grsecurity/PaX enabled NixOS system. For
more comprehensive coverage, please refer to the
intended to be compatible with normal desktop usage, without
<emphasis>unnecessarily</emphasis> compromising security. The
following sections describe the configuration and administration of
a grsecurity/PaX enabled NixOS system. For more comprehensive
coverage, please refer to the
<link xlink:href="https://en.wikibooks.org/wiki/Grsecurity">grsecurity wikibook</link>
and the
<link xlink:href="https://wiki.archlinux.org/index.php/Grsecurity">Arch
@ -35,7 +34,7 @@
and each configuration requires quite a bit of testing to ensure that the
resulting packages work as advertised. Defining additional package sets
would likely result in a large number of functionally broken packages, to
nobody's benefit.</para></note>.
nobody's benefit.</para></note>
</para>
<sect1 xml:id="sec-grsec-enable"><title>Enabling grsecurity/PaX</title>
@ -126,10 +125,10 @@
The NixOS kernel is built using upstream's recommended settings for a
desktop deployment that generally favours security over performance. This
section details deviations from upstream's recommendations that may
compromise operational security.
compromise security.
<warning><para>There may be additional problems not covered here!</para>
</warning>.
</warning>
</para>
<itemizedlist>
@ -159,8 +158,8 @@
<listitem><para>
The NixOS module conditionally weakens <command>chroot</command>
restrictions to accommodate NixOS lightweight containers and sandboxed Nix
builds. This is problematic if the deployment also runs a privileged
network facing process that <emphasis>relies</emphasis> on
builds. This can be problematic if the deployment also runs privileged
network facing processes that <emphasis>rely</emphasis> on
<command>chroot</command> for isolation.
</para></listitem>
@ -221,15 +220,18 @@
</para>
<para>
The wikibook provides an exhaustive listing of
The grsecurity/PaX wikibook provides an exhaustive listing of
<link xlink:href="https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options">kernel configuration options</link>.
</para>
<para>
The NixOS module makes several assumptions about the kernel and so
may be incompatible with your customised kernel. Currently, the only way
to work around incompatibilities is to eschew the NixOS module.
to work around these incompatibilities is to eschew the NixOS
module.
</para>
<para>
If not using the NixOS module, a custom grsecurity package set can
be specified inline instead, as in
<programlisting>
@ -290,7 +292,7 @@
<listitem><para>User initiated autoloading of modules (e.g., when
using fuse or loop devices) is disallowed; either load requisite modules
as root or add them to<option>boot.kernelModules</option>.</para></listitem>
as root or add them to <option>boot.kernelModules</option>.</para></listitem>
<listitem><para>Virtualization: KVM is the preferred virtualization
solution. Xen, Virtualbox, and VMWare are

View file

@ -2,41 +2,9 @@
with lib;
let
bluez-bluetooth = if config.services.xserver.desktopManager.kde4.enable then pkgs.bluez else pkgs.bluez5;
isBluez4 = config.services.xserver.desktopManager.kde4.enable;
bluez-bluetooth = if isBluez4 then pkgs.bluez4 else pkgs.bluez;
configBluez = {
description = "Bluetooth Service";
serviceConfig = {
Type = "dbus";
BusName = "org.bluez";
ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n";
};
wantedBy = [ "bluetooth.target" ];
};
configBluez5 = {
description = "Bluetooth Service";
serviceConfig = {
Type = "dbus";
BusName = "org.bluez";
ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n";
NotifyAccess="main";
CapabilityBoundingSet="CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
LimitNPROC=1;
};
wantedBy = [ "bluetooth.target" ];
};
obexConfig = {
description = "Bluetooth OBEX service";
serviceConfig = {
Type = "dbus";
BusName = "org.bluez.obex";
ExecStart = "${getBin bluez-bluetooth}/bin/obexd";
};
};
bluezConfig = if config.services.xserver.desktopManager.kde4.enable then configBluez else configBluez5;
in
{
@ -58,10 +26,21 @@ in
config = mkIf config.hardware.bluetooth.enable {
environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];
services.udev.packages = [ bluez-bluetooth ];
services.dbus.packages = [ bluez-bluetooth ];
systemd.services."dbus-org.bluez" = bluezConfig;
systemd.services."dbus-org.bluez.obex" = obexConfig;
systemd.packages = [ bluez-bluetooth ];
systemd.services.bluetooth = {
wantedBy = [ "bluetooth.target" ];
aliases = [ "dbus-org.bluez.service" ];
};
systemd.user.services.obex = mkIf (!isBluez4) {
aliases = [ "dbus-org.bluez.obex.service" ];
};
};

View file

@ -0,0 +1,35 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.illum;
in {
options = {
services.illum = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Enable illum, a daemon for controlling screen brightness with brightness buttons.
'';
};
};
};
config = mkIf cfg.enable {
systemd.services.illum = {
description = "Backlight Adjustment Service";
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.illum}/bin/illum-d";
};
};
}

View file

@ -51,7 +51,7 @@ in
Enable support for SANE scanners.
<note><para>
Users in the "scanner" group will gain access to the scanner.
Users in the "scanner" group will gain access to the scanner, or the "lp" group if it's also a printer.
</para></note>
'';
};

View file

@ -0,0 +1,54 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.trezord;
in {
### interface
options = {
services.trezord = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable Trezor bridge daemon, for use with Trezor hardware bitcoin wallets.
'';
};
};
};
### implementation
config = mkIf cfg.enable {
services.udev.packages = lib.singleton (pkgs.writeTextFile {
name = "trezord-udev-rules";
destination = "/etc/udev/rules.d/51-trezor.rules";
text = ''
SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0666", GROUP="dialout", SYMLINK+="trezor%n"
KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0666", GROUP="dialout"
'';
});
systemd.services.trezord = {
description = "TREZOR Bridge";
after = [ "systemd-udev-settle.service" "network.target" ];
wantedBy = [ "multi-user.target" ];
path = [];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.trezord}/bin/trezord -f";
User = "trezord";
};
};
users.users.trezord = {
group = "trezord";
description = "Trezor bridge daemon user";
};
users.groups.trezord = {};
};
}

View file

@ -79,8 +79,6 @@ let
relay_domains = ${concatStringsSep ", " cfg.relayDomains}
''
+ ''
local_recipient_maps =
relayhost = ${if cfg.lookupMX || cfg.relayHost == "" then
cfg.relayHost
else

View file

@ -208,6 +208,7 @@ in
group = "gogs";
home = cfg.stateDir;
createHome = true;
shell = pkgs.bash;
};
extraGroups.gogs.gid = config.ids.gids.gogs;
};

View file

@ -125,10 +125,10 @@ let
server.key = ${cfg.dataDir}/keys/server.key
server.crl = ${cfg.dataDir}/keys/server.crl
'' else ''
ca.cert = ${cfg.pki.ca.cert}
server.cert = ${cfg.pki.server.cert}
server.key = ${cfg.pki.server.key}
server.crl = ${cfg.pki.server.crl}
ca.cert = ${cfg.pki.manual.ca.cert}
server.cert = ${cfg.pki.manual.server.cert}
server.key = ${cfg.pki.manual.server.key}
server.crl = ${cfg.pki.manual.server.crl}
''}
'' + cfg.extraConfig);

View file

@ -0,0 +1,84 @@
{ config, lib, pkgs, ... }:
with lib;
let
inherit (pkgs) glusterfs;
cfg = config.services.glusterfs;
in
{
###### interface
options = {
services.glusterfs = {
enable = mkEnableOption "GlusterFS Daemon";
logLevel = mkOption {
type = types.enum ["DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL" "TRACE" "NONE"];
description = "Log level used by the GlusterFS daemon";
default = "INFO";
};
extraFlags = mkOption {
type = types.listOf types.str;
description = "Extra flags passed to the GlusterFS daemon";
default = [];
};
};
};
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.glusterfs ];
services.rpcbind.enable = true;
systemd.services.glusterd = {
description = "GlusterFS, a clustered file-system server";
wantedBy = [ "multi-user.target" ];
requires = [ "rpcbind.service" ];
after = [ "rpcbind.service" "network.target" "local-fs.target" ];
before = [ "network-online.target" ];
preStart = ''
install -m 0755 -d /var/log/glusterfs
'';
serviceConfig = {
Type="forking";
PIDFile="/run/glusterd.pid";
LimitNOFILE=65536;
ExecStart="${glusterfs}/sbin/glusterd -p /run/glusterd.pid --log-level=${cfg.logLevel} ${toString cfg.extraFlags}";
KillMode="process";
};
};
systemd.services.glustereventsd = {
description = "Gluster Events Notifier";
wantedBy = [ "multi-user.target" ];
after = [ "syslog.target" "network.target" ];
serviceConfig = {
Type="simple";
Environment="PYTHONPATH=${glusterfs}/usr/lib/python2.7/site-packages";
PIDFile="/run/glustereventsd.pid";
ExecStart="${glusterfs}/sbin/glustereventsd --pid-file /run/glustereventsd.pid";
ExecReload="/bin/kill -SIGUSR2 $MAINPID";
KillMode="control-group";
};
};
};
}

View file

@ -20,6 +20,7 @@ in
server = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable the kernel's NFS server.
@ -27,6 +28,7 @@ in
};
exports = mkOption {
type = types.lines;
default = "";
description = ''
Contents of the /etc/exports file. See
@ -36,6 +38,7 @@ in
};
hostName = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Hostname or address on which NFS requests will be accepted.
@ -46,6 +49,7 @@ in
};
nproc = mkOption {
type = types.int;
default = 8;
description = ''
Number of NFS server threads. Defaults to the recommended value of 8.
@ -53,11 +57,13 @@ in
};
createMountPoints = mkOption {
type = types.bool;
default = false;
description = "Whether to create the mount points in the exports file at startup time.";
};
mountdPort = mkOption {
type = types.nullOr types.int;
default = null;
example = 4002;
description = ''
@ -66,11 +72,26 @@ in
};
lockdPort = mkOption {
default = 0;
type = types.nullOr types.int;
default = null;
example = 4001;
description = ''
Fix the lockd port number. This can help setting firewall rules for NFS.
Use a fixed port for the NFS lock manager kernel module
(<literal>lockd/nlockmgr</literal>). This is useful if the
NFS server is behind a firewall.
'';
};
statdPort = mkOption {
type = types.nullOr types.int;
default = null;
example = 4000;
description = ''
Use a fixed port for <command>rpc.statd</command>. This is
useful if the NFS server is behind a firewall.
'';
};
};
};
@ -82,60 +103,47 @@ in
config = mkIf cfg.enable {
services.nfs.extraConfig = ''
[nfsd]
threads=${toString cfg.nproc}
${optionalString (cfg.hostName != null) "host=${cfg.hostName}"}
[mountd]
${optionalString (cfg.mountdPort != null) "port=${toString cfg.mountdPort}"}
[statd]
${optionalString (cfg.statdPort != null) "port=${toString cfg.statdPort}"}
[lockd]
${optionalString (cfg.lockdPort != null) ''
port=${toString cfg.lockdPort}
udp-port=${toString cfg.lockdPort}
''}
'';
services.rpcbind.enable = true;
boot.supportedFilesystems = [ "nfs" ]; # needed for statd and idmapd
environment.systemPackages = [ pkgs.nfs-utils ];
environment.etc.exports.source = exports;
boot.kernelModules = [ "nfsd" ];
systemd.services.nfsd =
{ description = "NFS Server";
systemd.services.nfs-server =
{ enable = true;
wantedBy = [ "multi-user.target" ];
requires = [ "rpcbind.service" "mountd.service" ];
after = [ "rpcbind.service" "mountd.service" "idmapd.service" ];
before = [ "statd.service" ];
path = [ pkgs.nfs-utils ];
script =
preStart =
''
# Create a state directory required by NFSv4.
mkdir -p /var/lib/nfs/v4recovery
${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_tcpport=${builtins.toString cfg.lockdPort}
${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_udpport=${builtins.toString cfg.lockdPort}
rpc.nfsd \
${if cfg.hostName != null then "-H ${cfg.hostName}" else ""} \
${builtins.toString cfg.nproc}
'';
postStop = "rpc.nfsd 0";
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
};
systemd.services.mountd =
{ description = "NFSv3 Mount Daemon";
requires = [ "rpcbind.service" ];
after = [ "rpcbind.service" "local-fs.target" ];
path = [ pkgs.nfs-utils pkgs.sysvtools pkgs.utillinux ];
systemd.services.nfs-mountd =
{ enable = true;
restartTriggers = [ exports ];
preStart =
''
mkdir -p /var/lib/nfs
touch /var/lib/nfs/rmtab
mountpoint -q /proc/fs/nfsd || mount -t nfsd none /proc/fs/nfsd
${optionalString cfg.createMountPoints
''
@ -146,18 +154,7 @@ in
| xargs -d '\n' mkdir -p
''
}
exportfs -rav
'';
restartTriggers = [ exports ];
serviceConfig.Type = "forking";
serviceConfig.ExecStart = ''
@${pkgs.nfs-utils}/sbin/rpc.mountd rpc.mountd \
${if cfg.mountdPort != null then "-p ${toString cfg.mountdPort}" else ""}
'';
serviceConfig.Restart = "always";
};
};

View file

@ -12,6 +12,25 @@ let
cfg = config.services.chrony;
configFile = pkgs.writeText "chrony.conf" ''
${concatMapStringsSep "\n" (server: "server " + server) cfg.servers}
${optionalString
cfg.initstepslew.enabled
"initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.initstepslew.servers}"
}
driftfile ${stateDir}/chrony.drift
keyfile ${keyFile}
${optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"}
${cfg.extraConfig}
'';
chronyFlags = "-n -m -u chrony -f ${configFile} ${toString cfg.extraFlags}";
in
{
@ -58,6 +77,13 @@ in
<literal>chrony.conf</literal>
'';
};
extraFlags = mkOption {
default = [];
example = [ "-s" ];
type = types.listOf types.str;
description = "Extra flags passed to the chronyd command.";
};
};
};
@ -70,25 +96,6 @@ in
# Make chronyc available in the system path
environment.systemPackages = [ pkgs.chrony ];
environment.etc."chrony.conf".text =
''
${concatMapStringsSep "\n" (server: "server " + server) cfg.servers}
${optionalString
cfg.initstepslew.enabled
"initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.initstepslew.servers}"
}
driftfile ${stateDir}/chrony.drift
keyfile ${keyFile}
generatecommandkey
${optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"}
${cfg.extraConfig}
'';
users.extraGroups = singleton
{ name = "chrony";
gid = config.ids.gids.chrony;
@ -124,7 +131,7 @@ in
'';
serviceConfig =
{ ExecStart = "${pkgs.chrony}/bin/chronyd -n -m -u chrony";
{ ExecStart = "${pkgs.chrony}/bin/chronyd ${chronyFlags}";
};
};

View file

@ -258,9 +258,8 @@ in
Restart = "always";
StartLimitInterval = 0;
RestartSec = 1;
CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_RAW";
AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_RAW";
ProtectSystem = "full";
CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_RAW CAP_SETUID";
ProtectSystem = true;
MemoryDenyWriteExecute = true;
ProtectHome = true;
PrivateTmp = true;

View file

@ -3,23 +3,28 @@
with lib;
let
cfg = config.services;
cfgs = config.services;
cfg = cfgs.dnschain;
dnschainConf = pkgs.writeText "dnschain.conf" ''
dataDir = "/var/lib/dnschain";
username = "dnschain";
configFile = pkgs.writeText "dnschain.conf" ''
[log]
level=info
level = info
[dns]
host = 127.0.0.1
port = 5333
host = ${cfg.dns.address}
port = ${toString cfg.dns.port}
oldDNSMethod = NO_OLD_DNS
# TODO: check what that address is acutally used for
externalIP = 127.0.0.1
externalIP = ${cfg.dns.address}
[http]
host = 127.0.0.1
port=8088
tlsPort=4443
host = ${cfg.api.hostname}
port = ${toString cfg.api.port}
tlsPort = ${toString cfg.api.tlsPort}
${cfg.extraConfig}
'';
in
@ -32,28 +37,81 @@ in
services.dnschain = {
enable = mkOption {
type = types.bool;
default = false;
enable = mkEnableOption ''
DNSChain, a blockchain based DNS + HTTP server.
To resolve .bit domains set <literal>services.namecoind.enable = true;</literal>
and an RPC username/password.
'';
dns.address = mkOption {
type = types.str;
default = "127.0.0.1";
description = ''
Whether to run dnschain. That implies running
namecoind as well, so make sure to configure
it appropriately.
The IP address that will be used to reach this machine.
Leave this unchanged if you do not wish to directly expose the DNSChain resolver.
'';
};
dns.port = mkOption {
type = types.int;
default = 5333;
description = ''
The port the DNSChain resolver will bind to.
'';
};
api.hostname = mkOption {
type = types.str;
default = "0.0.0.0";
description = ''
The hostname (or IP address) the DNSChain API server will bind to.
'';
};
api.port = mkOption {
type = types.int;
default = 8080;
description = ''
The port the DNSChain API server (HTTP) will bind to.
'';
};
api.tlsPort = mkOption {
type = types.int;
default = 4433;
description = ''
The port the DNSChain API server (HTTPS) will bind to.
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
[log]
level = debug
'';
description = ''
Additional options that will be appended to the configuration file.
'';
};
};
services.dnsmasq = {
resolveDnschainQueries = mkOption {
type = types.bool;
default = false;
description = ''
Resolve <literal>.bit</literal> top-level domains
with dnschain and namecoind.
'';
};
services.dnsmasq.resolveDNSChainQueries = mkOption {
type = types.bool;
default = false;
description = ''
Resolve <literal>.bit</literal> top-level domains using DNSChain and namecoin.
'';
};
services.pdns-recursor.resolveDNSChainQueries = mkOption {
type = types.bool;
default = false;
description = ''
Resolve <literal>.bit</literal> top-level domains using DNSChain and namecoin.
'';
};
};
@ -61,48 +119,47 @@ in
###### implementation
config = mkIf cfg.dnschain.enable {
config = mkIf cfg.enable {
services.namecoind.enable = true;
services.dnsmasq.servers = optionals cfgs.dnsmasq.resolveDNSChainQueries
[ "/.bit/127.0.0.1#${toString cfg.dns.port}"
"/.dns/127.0.0.1#${toString cfg.dns.port}"
];
services.dnsmasq.servers = optionals cfg.dnsmasq.resolveDnschainQueries [ "/.bit/127.0.0.1#5333" ];
users.extraUsers = singleton
{ name = "dnschain";
uid = config.ids.uids.dnschain;
extraGroups = [ "namecoin" ];
description = "Dnschain daemon user";
home = "/var/lib/dnschain";
createHome = true;
services.pdns-recursor.forwardZones = mkIf cfgs.pdns-recursor.resolveDNSChainQueries
{ bit = "127.0.0.1:${toString cfg.dns.port}";
dns = "127.0.0.1:${toString cfg.dns.port}";
};
systemd.services.dnschain = {
description = "Dnschain Daemon";
after = [ "namecoind.target" ];
wantedBy = [ "multi-user.target" ];
path = [ pkgs.openssl ];
preStart = ''
# Link configuration file into dnschain HOME directory
if [ "$(${pkgs.coreutils}/bin/realpath /var/lib/dnschain/.dnschain.conf)" != "${dnschainConf}" ]; then
rm -rf /var/lib/dnschain/.dnschain.conf
ln -s ${dnschainConf} /var/lib/dnschain/.dnschain.conf
fi
users.extraUsers = singleton {
name = username;
description = "DNSChain daemon user";
home = dataDir;
createHome = true;
uid = config.ids.uids.dnschain;
extraGroups = optional cfgs.namecoind.enable "namecoin";
};
# Create empty namecoin.conf so that dnschain is not
# searching for /etc/namecoin/namecoin.conf
if [ ! -e /var/lib/dnschain/.namecoin/namecoin.conf ]; then
mkdir -p /var/lib/dnschain/.namecoin
touch /var/lib/dnschain/.namecoin/namecoin.conf
fi
'';
serviceConfig = {
Type = "simple";
User = "dnschain";
EnvironmentFile = config.services.namecoind.userFile;
ExecStart = "${pkgs.dnschain}/bin/dnschain --rpcuser=\${USER} --rpcpassword=\${PASSWORD} --rpcport=8336";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID";
};
systemd.services.dnschain = {
description = "DNSChain daemon";
after = optional cfgs.namecoind.enable "namecoind.target";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "dnschain";
Restart = "on-failure";
ExecStart = "${pkgs.dnschain}/bin/dnschain";
};
preStart = ''
# Link configuration file into dnschain home directory
configPath=${dataDir}/.dnschain/dnschain.conf
mkdir -p ${dataDir}/.dnschain
if [ "$(realpath $configPath)" != "${configFile}" ]; then
rm -f $configPath
ln -s ${configFile} $configPath
fi
'';
};
};

View file

@ -38,9 +38,9 @@ let
cfg = config.networking.firewall;
kernelPackages = config.boot.kernelPackages;
inherit (config.boot.kernelPackages) kernel;
kernelHasRPFilter = kernelPackages.kernel.features.netfilterRPFilter or false;
kernelHasRPFilter = ((kernel.config.isEnabled or (x: false)) "IP_NF_MATCH_RPFILTER") || (kernel.features.netfilterRPFilter or false);
helpers =
''

View file

@ -3,25 +3,35 @@
with lib;
let
cfg = config.services.namecoind;
cfg = config.services.namecoind;
dataDir = "/var/lib/namecoind";
useSSL = (cfg.rpc.certificate != null) && (cfg.rpc.key != null);
useRPC = (cfg.rpc.user != null) && (cfg.rpc.password != null);
namecoinConf =
let
useSSL = (cfg.rpcCertificate != null) && (cfg.rpcKey != null);
in
pkgs.writeText "namecoin.conf" ''
listToConf = option: list:
concatMapStrings (value :"${option}=${value}\n") list;
configFile = pkgs.writeText "namecoin.conf" (''
server=1
daemon=0
rpcallowip=127.0.0.1
walletpath=${cfg.wallet}
gen=${if cfg.generate then "1" else "0"}
rpcssl=${if useSSL then "1" else "0"}
${optionalString useSSL "rpcsslcertificatechainfile=${cfg.rpcCertificate}"}
${optionalString useSSL "rpcsslprivatekeyfile=${cfg.rpcKey}"}
${optionalString useSSL "rpcsslciphers=TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH"}
txindex=1
txprevcache=1
'';
walletpath=${cfg.wallet}
gen=${if cfg.generate then "1" else "0"}
${listToConf "addnode" cfg.extraNodes}
${listToConf "connect" cfg.trustedNodes}
'' + optionalString useRPC ''
rpcbind=${cfg.rpc.address}
rpcport=${toString cfg.rpc.port}
rpcuser=${cfg.rpc.user}
rpcpassword=${cfg.rpc.password}
${listToConf "rpcallowip" cfg.rpc.allowFrom}
'' + optionalString useSSL ''
rpcssl=1
rpcsslcertificatechainfile=${cfg.rpc.certificate}
rpcsslprivatekeyfile=${cfg.rpc.key}
rpcsslciphers=TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH
'');
in
@ -33,40 +43,17 @@ in
services.namecoind = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to run namecoind.
'';
};
enable = mkEnableOption "namecoind, Namecoin client.";
wallet = mkOption {
type = types.path;
example = "/etc/namecoin/wallet.dat";
default = "${dataDir}/wallet.dat";
description = ''
Wallet file. The ownership of the file has to be
namecoin:namecoin, and the permissions must be 0640.
'';
};
userFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/etc/namecoin/user";
description = ''
File containing the user name and user password to
authenticate RPC connections to namecoind.
The content of the file is of the form:
<literal>
USER=namecoin
PASSWORD=secret
</literal>
The ownership of the file has to be namecoin:namecoin,
and the permissions must be 0640.
'';
};
generate = mkOption {
type = types.bool;
default = false;
@ -75,24 +62,83 @@ in
'';
};
rpcCertificate = mkOption {
extraNodes = mkOption {
type = types.listOf types.str;
default = [ ];
description = ''
List of additional peer IP addresses to connect to.
'';
};
trustedNodes = mkOption {
type = types.listOf types.str;
default = [ ];
description = ''
List of the only peer IP addresses to connect to. If specified
no other connection will be made.
'';
};
rpc.user = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
User name for RPC connections.
'';
};
rpc.password = mkOption {
type = types.str;
default = null;
description = ''
Password for RPC connections.
'';
};
rpc.address = mkOption {
type = types.str;
default = "0.0.0.0";
description = ''
IP address the RPC server will bind to.
'';
};
rpc.port = mkOption {
type = types.int;
default = 8332;
description = ''
Port the RPC server will bind to.
'';
};
rpc.certificate = mkOption {
type = types.nullOr types.path;
default = null;
example = "/etc/namecoin/server.cert";
example = "/var/lib/namecoind/server.cert";
description = ''
Certificate file for securing RPC connections.
'';
};
rpcKey = mkOption {
rpc.key = mkOption {
type = types.nullOr types.path;
default = null;
example = "/etc/namecoin/server.pem";
example = "/var/lib/namecoind/server.pem";
description = ''
Key file for securing RPC connections.
'';
};
rpc.allowFrom = mkOption {
type = types.listOf types.str;
default = [ "127.0.0.1" ];
description = ''
List of IP address ranges allowed to use the RPC API.
Wiledcards (*) can be user to specify a range.
'';
};
};
};
@ -102,47 +148,54 @@ in
config = mkIf cfg.enable {
users.extraUsers = singleton
{ name = "namecoin";
uid = config.ids.uids.namecoin;
description = "Namecoin daemon user";
home = "/var/lib/namecoin";
createHome = true;
};
services.dnschain.extraConfig = ''
[namecoin]
config = ${configFile}
'';
users.extraGroups = singleton
{ name = "namecoin";
gid = config.ids.gids.namecoin;
};
users.extraUsers = singleton {
name = "namecoin";
uid = config.ids.uids.namecoin;
description = "Namecoin daemon user";
home = dataDir;
createHome = true;
};
users.extraGroups = singleton {
name = "namecoin";
gid = config.ids.gids.namecoin;
};
systemd.services.namecoind = {
description = "Namecoind Daemon";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
if [ "$(stat --printf '%u' ${cfg.userFile})" != "${toString config.ids.uids.namecoin}" \
-o "$(stat --printf '%g' ${cfg.userFile})" != "${toString config.ids.gids.namecoin}" \
-o "$(stat --printf '%a' ${cfg.userFile})" != "640" ]; then
echo "ERROR: bad ownership or rights on ${cfg.userFile}" >&2
exit 1
fi
if [ "$(stat --printf '%u' ${cfg.wallet})" != "${toString config.ids.uids.namecoin}" \
-o "$(stat --printf '%g' ${cfg.wallet})" != "${toString config.ids.gids.namecoin}" \
-o "$(stat --printf '%a' ${cfg.wallet})" != "640" ]; then
echo "ERROR: bad ownership or rights on ${cfg.wallet}" >&2
exit 1
fi
'';
serviceConfig = {
Type = "simple";
User = "namecoin";
EnvironmentFile = cfg.userFile;
ExecStart = "${pkgs.altcoins.namecoind}/bin/namecoind -conf=${namecoinConf} -rpcuser=\${USER} -rpcpassword=\${PASSWORD} -printtoconsole";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID";
StandardOutput = "null";
Nice = "10";
};
description = "Namecoind daemon";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "namecoin";
Griup = "namecoin";
ExecStart = "${pkgs.altcoins.namecoind}/bin/namecoind -conf=${configFile} -datadir=${dataDir} -printtoconsole";
ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
Nice = "10";
PrivateTmp = true;
TimeoutStopSec = "60s";
TimeoutStartSec = "2s";
Restart = "always";
StartLimitInterval = "120s";
StartLimitBurst = "5";
};
preStart = optionalString (cfg.wallet != "${dataDir}/wallet.dat") ''
# check wallet file permissions
if [ "$(stat --printf '%u' ${cfg.wallet})" != "${toString config.ids.uids.namecoin}" \
-o "$(stat --printf '%g' ${cfg.wallet})" != "${toString config.ids.gids.namecoin}" \
-o "$(stat --printf '%a' ${cfg.wallet})" != "640" ]; then
echo "ERROR: bad ownership or rights on ${cfg.wallet}" >&2
exit 1
fi
'';
};
};

View file

@ -2,35 +2,6 @@
with lib;
let
netconfigFile = {
target = "netconfig";
source = pkgs.writeText "netconfig" ''
#
# The network configuration file. This file is currently only used in
# conjunction with the TI-RPC code in the libtirpc library.
#
# Entries consist of:
#
# <network_id> <semantics> <flags> <protofamily> <protoname> \
# <device> <nametoaddr_libs>
#
# The <device> and <nametoaddr_libs> fields are always empty in this
# implementation.
#
udp tpi_clts v inet udp - -
tcp tpi_cots_ord v inet tcp - -
udp6 tpi_clts v inet6 udp - -
tcp6 tpi_cots_ord v inet6 tcp - -
rawip tpi_raw - inet - - -
local tpi_cots_ord - loopback - - -
unix tpi_cots_ord - loopback - - -
'';
};
in
{
###### interface
@ -58,25 +29,18 @@ in
###### implementation
config = mkIf config.services.rpcbind.enable {
environment.systemPackages = [ pkgs.rpcbind ];
environment.etc = [ netconfigFile ];
systemd.packages = [ pkgs.rpcbind ];
systemd.services.rpcbind =
{ description = "ONC RPC Directory Service";
wantedBy = [ "multi-user.target" ];
requires = [ "basic.target" ];
after = [ "basic.target" ];
unitConfig.DefaultDependencies = false; # don't stop during shutdown
serviceConfig.Type = "forking";
serviceConfig.ExecStart = "@${pkgs.rpcbind}/bin/rpcbind rpcbind";
};
systemd.services.rpcbind = {
wantedBy = [ "multi-user.target" ];
};
users.extraUsers.rpc = {
group = "nogroup";
uid = config.ids.uids.rpc;
};
};
}

View file

@ -82,7 +82,8 @@ in
configFile = {
path = mkOption {
type = types.path;
type = types.nullOr types.path;
default = null;
example = literalExample "/etc/wpa_supplicant.conf";
description = ''
External <literal>wpa_supplicant.conf</literal> configuration file.

View file

@ -63,6 +63,8 @@ let
let
svcFunction =
if svc ? function then svc.function
# instead of using serviceType="mediawiki"; you can copy mediawiki.nix to any location outside nixpkgs, modify it at will, and use serviceExpression=./mediawiki.nix;
else if svc ? serviceExpression then import (toString svc.serviceExpression)
else import (toString "${toString ./.}/${if svc ? serviceType then svc.serviceType else svc.serviceName}.nix");
config = (evalModules
{ modules = [ { options = res.options; config = svc.config or svc; } ];

View file

@ -1,198 +0,0 @@
{ config, lib, pkgs, serverInfo, php, ... }:
with lib;
let
httpd = serverInfo.serverConfig.package;
version24 = !versionOlder httpd.version "2.4";
allGranted = if version24 then ''
Require all granted
'' else ''
Order allow,deny
Allow from all
'';
moodleConfig = pkgs.writeText "config.php"
''
<?php
unset($CFG);
global $CFG;
$CFG = new stdClass();
$CFG->dbtype = '${config.dbType}';
$CFG->dblibrary = 'native';
$CFG->dbhost = '${config.dbHost}';
$CFG->dbname = '${config.dbName}';
$CFG->dbuser = '${config.dbUser}';
$CFG->dbpass = '${config.dbPassword}';
$CFG->prefix = '${config.dbPrefix}';
$CFG->dboptions = array(
'dbpersist' => false,
'dbsocket' => false,
'dbport' => "${config.dbPort}",
);
$CFG->wwwroot = '${config.wwwRoot}';
$CFG->dataroot = '${config.dataRoot}';
$CFG->directorypermissions = 02777;
$CFG->admin = 'admin';
${optionalString (config.debug.noEmailEver == true) ''
$CFG->noemailever = true;
''}
${config.extraConfig}
require_once(dirname(__FILE__) . '/lib/setup.php'); // Do not edit
'';
# Unpack Moodle and put the config file in its root directory.
moodleRoot = pkgs.stdenv.mkDerivation rec {
name= "moodle-2.8.10";
src = pkgs.fetchurl {
url = "https://download.moodle.org/stable28/${name}.tgz";
sha256 = "0c3r5081ipcwc9s6shakllnrkd589y2ln5z5m1q09l4h6a7cy4z2";
};
buildPhase =
''
'';
installPhase =
''
mkdir -p $out
cp -r * $out
cp ${moodleConfig} $out/config.php
'';
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
meta.broken = true;
};
in
{
extraConfig =
''
# this should be config.urlPrefix instead of /
Alias / ${moodleRoot}/
<Directory ${moodleRoot}>
DirectoryIndex index.php
</Directory>
'';
documentRoot = moodleRoot; # TODO: fix this, should be config.urlPrefix
enablePHP = true;
options = {
id = mkOption {
default = "main";
description = ''
A unique identifier necessary to keep multiple Moodle server
instances on the same machine apart.
'';
};
dbType = mkOption {
default = "postgres";
example = "mysql";
description = "Database type.";
};
dbName = mkOption {
default = "moodle";
description = "Name of the database that holds the Moodle data.";
};
dbHost = mkOption {
default = "localhost";
example = "10.0.2.2";
description = ''
The location of the database server.
'';
};
dbPort = mkOption {
default = ""; # use the default port
example = "12345";
description = ''
The port that is used to connect to the database server.
'';
};
dbUser = mkOption {
default = "moodle";
description = "The user name for accessing the database.";
};
dbPassword = mkOption {
default = "";
example = "password";
description = ''
The password of the database user. Warning: this is stored in
cleartext in the Nix store!
'';
};
dbPrefix = mkOption {
default = "mdl_";
example = "my_other_mdl_";
description = ''
A prefix for each table, if multiple moodles should run in a single database.
'';
};
wwwRoot = mkOption {
type = types.string;
example = "http://my.machine.com/my-moodle";
description = ''
The full web address where moodle has been installed.
'';
};
dataRoot = mkOption {
default = "/var/lib/moodledata";
example = "/var/lib/moodledata";
description = ''
The data directory for moodle. Needs to be writable!
'';
type = types.path;
};
extraConfig = mkOption {
type = types.lines;
default = "";
example =
''
'';
description = ''
Any additional text to be appended to Moodle's
configuration file. This is a PHP script.
'';
};
debug = {
noEmailEver = mkOption {
default = false;
example = "true";
description = ''
Set this to true to prevent Moodle from ever sending any email.
'';
};
};
};
startupScript = pkgs.writeScript "moodle_startup.sh" ''
echo "Checking for existence of ${config.dataRoot}"
if [ ! -e "${config.dataRoot}" ]
then
mkdir -p "${config.dataRoot}"
chown ${serverInfo.serverConfig.user}.${serverInfo.serverConfig.group} "${config.dataRoot}"
fi
'';
}

View file

@ -16,7 +16,20 @@ let
) cfg.virtualHosts;
enableIPv6 = config.networking.enableIPv6;
configFile = pkgs.writeText "nginx.conf" ''
configFile = pkgs.runCommand "nginx.conf" {
inherit configFileUnformatted;
passAsFile = [ "configFileUnformatted" ];
# configFileUnformatted is created locally, therefore so should this be.
preferLocalBuild = true;
allowSubstitutes = false;
} ''
cp ${configFileUnformatted} nginx.conf
chmod u+w nginx.conf
${pkgs.nginx-config-formatter}/bin/nginxfmt nginx.conf
cp nginx.conf $out
'';
configFileUnformatted = pkgs.writeText "nginx.unformatted.conf" ''
user ${cfg.user} ${cfg.group};
error_log stderr;
daemon off;
@ -403,7 +416,7 @@ in
acmeEnabledVhosts = filter (vhostConfig: vhostConfig.enableACME) vhostsConfigs;
acmePairs = map (vhostConfig: { name = vhostConfig.serverName; value = {
user = cfg.user;
group = cfg.group;
group = lib.mkDefault cfg.group;
webroot = vhostConfig.acmeRoot;
extraDomains = genAttrs vhostConfig.serverAliases (alias: null);
postRun = ''

View file

@ -159,7 +159,13 @@ rec {
fi
done
# Created .wants and .requires symlinks from the wantedBy and
# Create service aliases from aliases option.
${concatStrings (mapAttrsToList (name: unit:
concatMapStrings (name2: ''
ln -sfn '${name}' $out/'${name2}'
'') unit.aliases) units)}
# Create .wants and .requires symlinks from the wantedBy and
# requiredBy options.
${concatStrings (mapAttrsToList (name: unit:
concatMapStrings (name2: ''

View file

@ -52,6 +52,12 @@ in rec {
description = "Units that want (i.e. depend on) this unit.";
};
aliases = mkOption {
default = [];
type = types.listOf types.str;
description = "Aliases of that unit.";
};
};
concreteUnitOptions = sharedOptions // {

View file

@ -42,7 +42,8 @@ let
"systemd-udevd.service"
"systemd-udev-settle.service"
"systemd-udev-trigger.service"
"systemd-hwdb-update.service"
# hwdb.bin is managed by NixOS
# "systemd-hwdb-update.service"
# Consoles.
"getty.target"
@ -61,7 +62,6 @@ let
# Login stuff.
"systemd-logind.service"
"autovt@.service"
#"systemd-vconsole-setup.service"
"systemd-user-sessions.service"
"dbus-org.freedesktop.login1.service"
"dbus-org.freedesktop.machine1.service"
@ -313,7 +313,7 @@ let
'';
targetToUnit = name: def:
{ inherit (def) wantedBy requiredBy enable;
{ inherit (def) aliases wantedBy requiredBy enable;
text =
''
[Unit]
@ -322,7 +322,7 @@ let
};
serviceToUnit = name: def:
{ inherit (def) wantedBy requiredBy enable;
{ inherit (def) aliases wantedBy requiredBy enable;
text = commonUnitText def +
''
[Service]
@ -342,7 +342,7 @@ let
};
socketToUnit = name: def:
{ inherit (def) wantedBy requiredBy enable;
{ inherit (def) aliases wantedBy requiredBy enable;
text = commonUnitText def +
''
[Socket]
@ -352,7 +352,7 @@ let
};
timerToUnit = name: def:
{ inherit (def) wantedBy requiredBy enable;
{ inherit (def) aliases wantedBy requiredBy enable;
text = commonUnitText def +
''
[Timer]
@ -361,7 +361,7 @@ let
};
pathToUnit = name: def:
{ inherit (def) wantedBy requiredBy enable;
{ inherit (def) aliases wantedBy requiredBy enable;
text = commonUnitText def +
''
[Path]
@ -370,7 +370,7 @@ let
};
mountToUnit = name: def:
{ inherit (def) wantedBy requiredBy enable;
{ inherit (def) aliases wantedBy requiredBy enable;
text = commonUnitText def +
''
[Mount]
@ -379,7 +379,7 @@ let
};
automountToUnit = name: def:
{ inherit (def) wantedBy requiredBy enable;
{ inherit (def) aliases wantedBy requiredBy enable;
text = commonUnitText def +
''
[Automount]
@ -388,7 +388,7 @@ let
};
sliceToUnit = name: def:
{ inherit (def) wantedBy requiredBy enable;
{ inherit (def) aliases wantedBy requiredBy enable;
text = commonUnitText def +
''
[Slice]
@ -753,7 +753,8 @@ in
# Keep a persistent journal. Note that systemd-tmpfiles will
# set proper ownership/permissions.
mkdir -m 0700 -p /var/log/journal
# FIXME: revert to 0700 with systemd v233.
mkdir -m 0750 -p /var/log/journal
'';
users.extraUsers.systemd-network.uid = config.ids.uids.systemd-network;

View file

@ -216,7 +216,7 @@ in
environment.etc.fstab.text =
let
fsToSkipCheck = [ "none" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" ];
fsToSkipCheck = [ "none" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" "glusterfs" ];
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
in ''
# This is a generated file. Do not edit!

View file

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
with lib;
{
config = mkIf (any (fs: fs == "glusterfs") config.boot.supportedFilesystems) {
system.fsPackages = [ pkgs.glusterfs ];
};
}

View file

@ -24,6 +24,8 @@ let
Method = nsswitch
'';
nfsConfFile = pkgs.writeText "nfs.conf" cfg.extraConfig;
cfg = config.services.nfs;
in
@ -32,23 +34,12 @@ in
###### interface
options = {
services.nfs = {
statdPort = mkOption {
default = null;
example = 4000;
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Use a fixed port for <command>rpc.statd</command>. This is
useful if the NFS server is behind a firewall.
'';
};
lockdPort = mkOption {
default = null;
example = 4001;
description = ''
Use a fixed port for the NFS lock manager kernel module
(<literal>lockd/nlockmgr</literal>). This is useful if the
NFS server is behind a firewall.
Extra nfs-utils configuration.
'';
};
};
@ -62,69 +53,49 @@ in
system.fsPackages = [ pkgs.nfs-utils ];
boot.extraModprobeConfig = mkIf (cfg.lockdPort != null) ''
options lockd nlm_udpport=${toString cfg.lockdPort} nlm_tcpport=${toString cfg.lockdPort}
'';
boot.kernelModules = [ "sunrpc" ];
boot.initrd.kernelModules = mkIf inInitrd [ "nfs" ];
# FIXME: should use upstream units from nfs-utils.
systemd.packages = [ pkgs.nfs-utils ];
systemd.generator-packages = [ pkgs.nfs-utils ];
systemd.services.statd =
{ description = "NFSv3 Network Status Monitor";
environment.etc = {
"idmapd.conf".source = idmapdConfFile;
"nfs.conf".source = nfsConfFile;
};
path = [ pkgs.nfs-utils pkgs.sysvtools pkgs.utillinux ];
wants = [ "remote-fs-pre.target" ];
before = [ "remote-fs-pre.target" ];
wantedBy = [ "remote-fs.target" ];
requires = [ "basic.target" "rpcbind.service" ];
after = [ "basic.target" "rpcbind.service" ];
unitConfig.DefaultDependencies = false; # don't stop during shutdown
preStart =
''
mkdir -p ${nfsStateDir}/sm
mkdir -p ${nfsStateDir}/sm.bak
sm-notify -d
'';
serviceConfig.Type = "forking";
serviceConfig.ExecStart = ''
@${pkgs.nfs-utils}/sbin/rpc.statd rpc.statd --no-notify \
${if cfg.statdPort != null then "-p ${toString cfg.statdPort}" else ""}
'';
serviceConfig.Restart = "always";
systemd.services.nfs-blkmap =
{ restartTriggers = [ nfsConfFile ];
};
systemd.services.idmapd =
{ description = "NFSv4 ID Mapping Daemon";
systemd.targets.nfs-client =
{ wantedBy = [ "multi-user.target" "remote-fs.target" ];
};
path = [ pkgs.sysvtools pkgs.utillinux ];
systemd.services.nfs-idmapd =
{ restartTriggers = [ idmapdConfFile ];
};
wants = [ "remote-fs-pre.target" ];
before = [ "remote-fs-pre.target" ];
wantedBy = [ "remote-fs.target" ];
requires = [ "rpcbind.service" ];
after = [ "rpcbind.service" ];
systemd.services.nfs-mountd =
{ restartTriggers = [ nfsConfFile ];
enable = mkDefault false;
};
systemd.services.nfs-server =
{ restartTriggers = [ nfsConfFile ];
enable = mkDefault false;
};
systemd.services.rpc-gssd =
{ restartTriggers = [ nfsConfFile ];
};
systemd.services.rpc-statd =
{ restartTriggers = [ nfsConfFile ];
preStart =
''
mkdir -p ${rpcMountpoint}
mount -t rpc_pipefs rpc_pipefs ${rpcMountpoint}
mkdir -p /var/lib/nfs/{sm,sm.bak}
'';
postStop =
''
umount ${rpcMountpoint}
'';
serviceConfig.Type = "forking";
serviceConfig.ExecStart = "@${pkgs.nfs-utils}/sbin/rpc.idmapd rpc.idmapd -c ${idmapdConfFile}";
serviceConfig.Restart = "always";
};
};

View file

@ -100,15 +100,12 @@ in
}
(mkIf (!config.boot.earlyVconsoleSetup) {
# This is identical to the systemd-vconsole-setup.service unit
# shipped with systemd, except that it uses /dev/tty1 instead of
# /dev/tty0 to prevent putting the X server in non-raw mode, and
# it has a restart trigger.
systemd.services."systemd-vconsole-setup" =
{ wantedBy = [ "sysinit.target" ];
before = [ "display-manager.service" ];
after = [ "systemd-udev-settle.service" ];
restartTriggers = [ vconsoleConf kbdEnv ];
restartIfChanged = false; # fails when tty is inactive
};
})

View file

@ -62,9 +62,9 @@ in
genericNetwork = override: {
DHCP = override (dhcpStr cfg.useDHCP);
} // optionalAttrs (cfg.defaultGateway != null) {
gateway = override [ cfg.defaultGateway ];
gateway = override [ cfg.defaultGateway.address ];
} // optionalAttrs (cfg.defaultGateway6 != null) {
gateway = override [ cfg.defaultGateway6 ];
gateway = override [ cfg.defaultGateway6.address ];
} // optionalAttrs (domains != [ ]) {
domains = override domains;
};

View file

@ -18,8 +18,9 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
enableOCR = true;
machine.imports = [ ./common/x11.nix ];
machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
machine.virtualisation.memorySize = 2047;
machine.services.xserver.displayManager.auto.user = "alice";
machine.environment.systemPackages = [ chromiumPkg ];
startupHTML = pkgs.writeText "chromium-startup.html" ''
@ -43,14 +44,20 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
xdoScript = pkgs.writeText "${name}.xdo" text;
in "${pkgs.xdotool}/bin/xdotool '${xdoScript}'";
in ''
# Run as user alice
sub ru ($) {
my $esc = $_[0] =~ s/'/'\\${"'"}'/gr;
return "su - alice -c '$esc'";
}
sub createNewWin {
$machine->nest("creating a new Chromium window", sub {
$machine->execute("${xdo "new-window" ''
$machine->execute(ru "${xdo "new-window" ''
search --onlyvisible --name "startup done"
windowfocus --sync
windowactivate --sync
''}");
$machine->execute("${xdo "new-window" ''
$machine->execute(ru "${xdo "new-window" ''
key Ctrl+n
''}");
});
@ -58,16 +65,16 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
sub closeWin {
Machine::retry sub {
$machine->execute("${xdo "close-window" ''
$machine->execute(ru "${xdo "close-window" ''
search --onlyvisible --name "new tab"
windowfocus --sync
windowactivate --sync
''}");
$machine->execute("${xdo "close-window" ''
$machine->execute(ru "${xdo "close-window" ''
key Ctrl+w
''}");
for (1..20) {
my ($status, $out) = $machine->execute("${xdo "wait-for-close" ''
my ($status, $out) = $machine->execute(ru "${xdo "wait-for-close" ''
search --onlyvisible --name "new tab"
''}");
return 1 if $status != 0;
@ -80,7 +87,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
my $ret = 0;
$machine->nest("waiting for new Chromium window to appear", sub {
for (1..20) {
my ($status, $out) = $machine->execute("${xdo "wait-for-window" ''
my ($status, $out) = $machine->execute(ru "${xdo "wait-for-window" ''
search --onlyvisible --name "new tab"
windowfocus --sync
windowactivate --sync
@ -113,13 +120,9 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
$machine->waitForX;
my $url = "file://${startupHTML}";
my $args = "--user-data-dir=/tmp/chromium-${channel}";
$machine->execute(
"ulimit -c unlimited; ".
"chromium $args \"$url\" & disown"
);
$machine->execute(ru "ulimit -c unlimited; chromium \"$url\" & disown");
$machine->waitForText(qr/startup done/);
$machine->waitUntilSucceeds("${xdo "check-startup" ''
$machine->waitUntilSucceeds(ru "${xdo "check-startup" ''
search --sync --onlyvisible --name "startup done"
# close first start help popup
key -delay 1000 Escape
@ -134,13 +137,13 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
$machine->screenshot("startup_done");
testNewWin "check sandbox", sub {
$machine->succeed("${xdo "type-url" ''
$machine->succeed(ru "${xdo "type-url" ''
search --sync --onlyvisible --name "new tab"
windowfocus --sync
type --delay 1000 "chrome://sandbox"
''}");
$machine->succeed("${xdo "submit-url" ''
$machine->succeed(ru "${xdo "submit-url" ''
search --sync --onlyvisible --name "new tab"
windowfocus --sync
key --delay 1000 Return
@ -148,15 +151,15 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
$machine->screenshot("sandbox_info");
$machine->succeed("${xdo "submit-url" ''
$machine->succeed(ru "${xdo "submit-url" ''
search --sync --onlyvisible --name "sandbox status"
windowfocus --sync
''}");
$machine->succeed("${xdo "submit-url" ''
$machine->succeed(ru "${xdo "submit-url" ''
key --delay 1000 Ctrl+a Ctrl+c
''}");
my $clipboard = $machine->succeed("${pkgs.xclip}/bin/xclip -o");
my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
die "sandbox not working properly: $clipboard"
unless $clipboard =~ /namespace sandbox.*yes/mi
&& $clipboard =~ /pid namespaces.*yes/mi

View file

@ -40,7 +40,7 @@ in
testScript =
''
$server->waitForUnit("nfsd");
$server->waitForUnit("nfs-server");
$server->succeed("systemctl start network-online.target");
$server->waitForUnit("network-online.target");
@ -54,8 +54,8 @@ in
$client2->succeed("echo bla > /data/bar");
$server->succeed("test -e /data/bar");
# Test whether restarting nfsd works correctly.
$server->succeed("systemctl restart nfsd");
# Test whether restarting nfs-server works correctly.
$server->succeed("systemctl restart nfs-server");
$client2->succeed("echo bla >> /data/bar"); # will take 90 seconds due to the NFS grace period
# Test whether we can get a lock.

View file

@ -1,24 +1,27 @@
{ stdenv, fetchurl, lib
, pkgconfig, intltool, autoconf, makeWrapper
, pkgconfig, intltool, autoconf, gnome3
, glib, dbus, gtk3, libdbusmenu-gtk3, libappindicator-gtk3, gst_all_1
, librsvg, wrapGAppsHook
, pulseaudioSupport ? true, libpulseaudio ? null }:
with lib;
stdenv.mkDerivation rec {
name = "audio-recorder-${version}";
version = "1.7-5";
version = "1.9.4";
src = fetchurl {
name = "${name}-wily.tar.gz";
url = "${meta.homepage}/+archive/ubuntu/ppa/+files/audio-recorder_${version}%7Ewily.tar.gz";
sha256 = "1cdlqhfqw2mg51f068j2lhn8mzxggzsbl560l4pl4fxgmpjywpkj";
name = "${name}-zesty.tar.gz";
url = "${meta.homepage}/+archive/ubuntu/ppa/+files/audio-recorder_${version}%7Ezesty.tar.gz";
sha256 = "062bad38cz4fqzv418wza0x8sa4m5mqr3xsisrr1qgkqj9hg1f6x";
};
nativeBuildInputs = [ pkgconfig intltool autoconf makeWrapper ];
nativeBuildInputs = [ pkgconfig intltool autoconf wrapGAppsHook ];
patches = [ ./icon-names.diff ];
buildInputs = with gst_all_1; [
glib dbus gtk3 libdbusmenu-gtk3 libappindicator-gtk3
glib dbus gtk3 librsvg libdbusmenu-gtk3 libappindicator-gtk3 gnome3.dconf
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
] ++ optional pulseaudioSupport libpulseaudio;
@ -30,10 +33,10 @@ stdenv.mkDerivation rec {
intltoolize
'';
postFixup = ''
wrapProgram $out/bin/audio-recorder \
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
preFixup = ''
gappsWrapperArgs+=('--prefix XDG_DATA_DIRS : "$out/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"')
'';
meta = with stdenv.lib; {

View file

@ -0,0 +1,51 @@
diff -ru audio-recorder/src/main.c audio-recorder.new/src/main.c
--- audio-recorder/src/main.c 2017-01-03 20:27:36.000000000 +0100
+++ audio-recorder.new/src/main.c 2017-01-30 20:19:44.019255096 +0100
@@ -1099,7 +1099,7 @@
gtk_container_add(GTK_CONTAINER(frame2), g_win.timer_text);
// Timer [Save] button
- g_win.timer_save_button = gtk_button_new_from_icon_name("gtk-save", GTK_ICON_SIZE_BUTTON);
+ g_win.timer_save_button = gtk_button_new_from_icon_name("document-save", GTK_ICON_SIZE_BUTTON);
// Hide it
gtk_widget_hide(g_win.timer_save_button);
g_signal_connect(g_win.timer_save_button, "clicked", G_CALLBACK(win_timer_save_text_cb), NULL);
@@ -1129,7 +1129,7 @@
// The [Info] button
GtkWidget *button0 = gtk_button_new();
gtk_widget_show(button0);
- GtkWidget *image = gtk_image_new_from_icon_name("gtk-info", GTK_ICON_SIZE_BUTTON);
+ GtkWidget *image = gtk_image_new_from_icon_name("dialog-information", GTK_ICON_SIZE_BUTTON);
gtk_widget_show(image);
gtk_button_set_always_show_image(GTK_BUTTON(button0), TRUE);
gtk_button_set_image(GTK_BUTTON(button0), image);
@@ -1220,7 +1220,7 @@
// Add [Reload] button
button0 = gtk_button_new();
gtk_widget_show(button0);
- image = gtk_image_new_from_icon_name("gtk-refresh", GTK_ICON_SIZE_BUTTON);
+ image = gtk_image_new_from_icon_name("view-refresh", GTK_ICON_SIZE_BUTTON);
gtk_widget_show(image);
gtk_button_set_always_show_image(GTK_BUTTON(button0), TRUE);
@@ -1297,7 +1297,7 @@
gtk_widget_show(hbox4);
gtk_box_pack_start(GTK_BOX(vbox0), hbox4, FALSE, TRUE, 0);
- button0 = gtk_button_new_from_icon_name("gtk-close", GTK_ICON_SIZE_BUTTON);
+ button0 = gtk_button_new_from_icon_name("window-close", GTK_ICON_SIZE_BUTTON);
gtk_button_set_always_show_image(GTK_BUTTON(button0), TRUE);
gtk_widget_show(button0);
gtk_box_pack_end(GTK_BOX(hbox4), button0, FALSE, FALSE, 0);
diff -ru audio-recorder/src/settings.c audio-recorder.new/src/settings.c
--- audio-recorder/src/settings.c 2017-01-02 10:47:27.000000000 +0100
+++ audio-recorder.new/src/settings.c 2017-01-30 20:23:04.621314105 +0100
@@ -659,7 +659,7 @@
gtk_entry_set_invisible_char(GTK_ENTRY(file_name_pattern), 9679);
button0 = gtk_button_new();
- GtkWidget *image = gtk_image_new_from_icon_name("gtk-info", GTK_ICON_SIZE_BUTTON);
+ GtkWidget *image = gtk_image_new_from_icon_name("dialog-information", GTK_ICON_SIZE_BUTTON);
gtk_button_set_always_show_image(GTK_BUTTON(button0), TRUE);
gtk_button_set_image(GTK_BUTTON(button0), image);
g_signal_connect(button0, "clicked", G_CALLBACK(win_settings_show_filename_help), NULL);

View file

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, libpulseaudio }:
stdenv.mkDerivation {
name = "gbsplay-2016-12-17";
src = fetchFromGitHub {
owner = "mmitch";
repo = "gbsplay";
rev = "2c4486e17fd4f4cdea8c3fd79ae898c892616b70";
sha256 = "1214j67sr87zfhvym41cw2g823fmqh4hr451r7y1s9ql3jpjqhpz";
};
buildInputs = [ libpulseaudio ];
configureFlagsArray =
[ "--without-test" "--without-contrib" "--disable-devdsp"
"--enable-pulse" "--disable-alsa" "--disable-midi"
"--disable-nas" "--disable-dsound" "--disable-i18n" ];
makeFlagsArray = [ "tests=" ];
meta = with stdenv.lib; {
description = "gameboy sound player";
license = licenses.gpl1;
platforms = ["i686-linux" "x86_64-linux"];
maintainers = with maintainers; [ dasuxullebt ];
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, alsaLib, libjack2, dbus, qt5 }:
{ stdenv, fetchurl, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }:
stdenv.mkDerivation rec {
version = "0.4.3";
@ -12,14 +12,15 @@ stdenv.mkDerivation rec {
};
buildInputs = [
qt5.full
qt5.qtx11extras
qtbase
qtx11extras
qttools
alsaLib
libjack2
dbus
];
configureFlags = "--enable-jack-version";
configureFlags = [ "--enable-jack-version" ];
meta = with stdenv.lib; {
description = "A Qt application to control the JACK sound server daemon";

File diff suppressed because it is too large Load diff

View file

@ -1031,12 +1031,12 @@
alect-themes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "alect-themes";
version = "0.7";
version = "0.8";
src = fetchFromGitHub {
owner = "alezost";
repo = "alect-themes";
rev = "db7cc6ebf695a71881d803966d672f80fe967da6";
sha256 = "1pk5dgjqrynap85700wdivq41bdqvwd5hkfimgmcd48l5lhj9pbj";
rev = "1812abbe0079d1075525d9fb2da6fcfec7db3766";
sha256 = "0sl2njnhm37cya06y39ls8p3zwpjwyv1pd7w3yfk5frz24vaxlcq";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/84c25a290ae4bcc4674434c83c66ae128e4c4282/recipes/alect-themes";
@ -3208,12 +3208,12 @@
cargo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }:
melpaBuild {
pname = "cargo";
version = "0.2.0";
version = "0.4.0";
src = fetchFromGitHub {
owner = "kwrooijen";
repo = "cargo.el";
rev = "9db98208c1086dffdb351c85a74a096b48e6141f";
sha256 = "0xgnq21fb37y05535ipy0z584pnaglxy5bfqzdppyzsy7lpbb4k3";
rev = "25ca2fcbd6b664cc7a20b0cccca3adc19e79917a";
sha256 = "1fzrczx1aq0q130qrvzq8dssc1qm5qc9pclsyd3zn27xbn5lsag3";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e997b356b009b3d2ab467fe49b79d728a8cfe24b/recipes/cargo";
@ -4101,12 +4101,12 @@
cm-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "cm-mode";
version = "1.5";
version = "1.6";
src = fetchFromGitHub {
owner = "joostkremers";
repo = "criticmarkup-emacs";
rev = "12b7460691dc502d27329d6ac11c51cc83cd098e";
sha256 = "018limfwcb396yr2kn6jixxdmpmiif3l7gp0p1pmwbg07fldllha";
rev = "276d49c859822265070ae5dfbb403fd7d8d06436";
sha256 = "0mqbjw9wiaq735v307hd7g0g6i3a4k7h71bi4g9rr2jbgiljmql4";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/42dda804ec0c7338c39c57eec6ba479609a38555/recipes/cm-mode";
@ -5658,6 +5658,27 @@
license = lib.licenses.free;
};
}) {};
dante = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
melpaBuild {
pname = "dante";
version = "1.2";
src = fetchFromGitHub {
owner = "jyp";
repo = "dante";
rev = "385dd8114bb9eaba44943f00f9f7aea71af7bf34";
sha256 = "1jkdq9li3vqzdmmznpaxak7mf9y9vlk0abdb7ffzvvlry19dvgs8";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
sha256 = "1j0qwjshh2227k63vd06bvrsccymqssx26yfzams1xf7bp6y0krs";
name = "dante";
};
packageRequires = [ dash emacs flycheck ];
meta = {
homepage = "https://melpa.org/#/dante";
license = lib.licenses.free;
};
}) {};
darcula-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "darcula-theme";
@ -10815,12 +10836,12 @@
floobits = callPackage ({ fetchFromGitHub, fetchurl, highlight, json ? null, lib, melpaBuild }:
melpaBuild {
pname = "floobits";
version = "1.7.2";
version = "1.8.1";
src = fetchFromGitHub {
owner = "Floobits";
repo = "floobits-emacs";
rev = "6fea6eb2a1841d163acdeb5d9d59e51a5d7f61c4";
sha256 = "1n6x8n3fzxfwgpkvvnbxv6w3b08zzmx95pwv9yhqxl5b4pwyl31i";
rev = "643dbefca9754765e6d0f88a8953dc3689f5f93f";
sha256 = "1wh4y53vqi2zb03gxa2g2s14i280yqv0i7432ifi10v2qdwkilna";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/95c859e8440049579630b4c2bcc31e7eaa13b1f1/recipes/floobits";
@ -12206,6 +12227,27 @@
license = lib.licenses.free;
};
}) {};
fstar-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "fstar-mode";
version = "0.9.4.0";
src = fetchFromGitHub {
owner = "FStarLang";
repo = "fstar-mode.el";
rev = "3a9be64827bbed8e34d38803b5c44d8d4f6cd688";
sha256 = "0manmkd66355g1fw2q1q96ispd0vxf842i8dcr6g592abrz5lhi7";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e1198ee309675c391c479ce39efcdca23f548d2a/recipes/fstar-mode";
sha256 = "0kyzkghdkrnqqbd5b969pjyz9jxgq0j8hkmvlcwikl7ynnhm9lgy";
name = "fstar-mode";
};
packageRequires = [ dash emacs ];
meta = {
homepage = "https://melpa.org/#/fstar-mode";
license = lib.licenses.free;
};
}) {};
fuel = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
pname = "fuel";
version = "0.96";
@ -17863,12 +17905,12 @@
ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
melpaBuild {
pname = "ivy-erlang-complete";
version = "0.1.3";
version = "0.1.4";
src = fetchFromGitHub {
owner = "s-kostyaev";
repo = "ivy-erlang-complete";
rev = "914dfbeb2d9ccaed2e830637ecc814ac1da2f82f";
sha256 = "0a5fmqkasy87vq9x95qavqszmb9jalsi8ihgxx120rbrzfib28ys";
rev = "f5bee7c5368d55be4ebca30610b73c33978830cf";
sha256 = "0lcydjg8kyxdv5bbly0jf4d5wl4z7s63i536gvnlz0wfgj5swp5v";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@ -25093,12 +25135,12 @@
php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "php-mode";
version = "1.18.1";
version = "1.18.2";
src = fetchFromGitHub {
owner = "ejmr";
repo = "php-mode";
rev = "349b85c1a9c79505d218b43940470c862dcdff32";
sha256 = "15mlzk7mvv3wfz73k30a7syb274myls6d44nibwg00r794drr57g";
rev = "e41a44f39d5d78acc2bd59d2a614f5fc9ff80cd3";
sha256 = "0ykdi8k6qj97r6nx9icd5idakksw1p10digfgl8r8z4qgwb00gcr";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@ -30670,12 +30712,12 @@
systemd = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "systemd";
version = "1.4.1";
version = "1.5";
src = fetchFromGitHub {
owner = "holomorph";
repo = "systemd-mode";
rev = "7769000ba6b395dfaa2c6b0fce48ae5d5cd9a035";
sha256 = "1vqcqrq8qk9n512rbwi2lcvjiy0wqmybwa2lmrkv49yshqjhm5ld";
rev = "4c1b2befd0c853dcc7bca52d9b084933c3a08254";
sha256 = "1sdrga3mmajai2jcf4zpcii0l2b9wch8rhdsbjlzx76ia5snp23l";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ca810e512c357d1d0130aeeb9b46b38c595e3351/recipes/systemd";

View file

@ -19,6 +19,11 @@ stdenv.mkDerivation rec {
sha256 = "1zwxh7zsvwcg221mpjh0dhpdas3j9mc5q92pprf8yljl7clqvg62";
};
hiresSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/emacs-hires-icons-2.0.tar.gz";
sha256 = "1ari8n3y1d4hdl9npg3c3hk27x7cfkwfgyhgzn1vlqkrdah4z434";
};
enableParallelBuilding = true;
buildInputs = [ ncurses libxml2 gnutls pkgconfig texinfo gettext autoconf automake];
@ -32,12 +37,18 @@ stdenv.mkDerivation rec {
mv $sourceRoot $name
tar xzf $macportSrc
mv $name $sourceRoot
# extract retina image resources
tar xzfv $hiresSrc --strip 1 -C $sourceRoot
'';
postPatch = ''
patch -p1 < patch-mac
substituteInPlace lisp/international/mule-cmds.el \
--replace /usr/share/locale ${gettext}/share/locale
# use newer emacs icon
cp nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns mac/Emacs.app/Contents/Resources/Emacs.icns
'';
configureFlags = [

View file

@ -161,6 +161,10 @@ composableDerivation {
// edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
*/
preInstall = ''
mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
'';
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
patchelf --set-rpath \
"$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \

View file

@ -3,9 +3,12 @@
let
version = "1.9.0";
rev = "38746938a4ab94f2f57d9e1309c51fd6fb37553d";
rev = "27240e71ef390bf2d66307e677c2a333cebf75af";
channel = "stable";
# The revision can be obtained with the following command (see https://github.com/NixOS/nixpkgs/issues/22465):
# curl -w "%{url_effective}\n" -I -L -s -S https://vscode-update.azurewebsites.net/latest/linux-x64/stable -o /dev/null
sha256 = if stdenv.system == "i686-linux" then "05f1sk2lq2skp8fxq6q229kf89vi2sq3zz6lywq7nk81pwvp8jap"
else if stdenv.system == "x86_64-linux" then "0wj17lwq8f88xvfa6wfbqm580kp0470ib2yxn15j9mv0iw7nzqry"
else if stdenv.system == "x86_64-darwin" then "1k067h099j6fv820nn6h4i8ax35yvd1h8f4h5216dm66cpikv7nd"

View file

@ -45,11 +45,11 @@
stdenv.mkDerivation rec {
name = "digikam-${version}";
version = "5.3.0";
version = "5.4.0";
src = fetchurl {
url = "http://download.kde.org/stable/digikam/${name}.tar.xz";
sha256 = "0p1y5kgkz7lzzqpf7qd3mmg59zfdkkz9jg7knldd8dl94wkzlv5k";
sha256 = "0dgsgji14l5zvxny36hrfsp889fsfrsbbn9bg57m18404xp903kg";
};
nativeBuildInputs = [ cmake ecm makeQtWrapper ];

View file

@ -3,14 +3,14 @@
}:
stdenv.mkDerivation rec {
version = "5.0";
version = "5.0-r1";
name = "rawtherapee-" + version;
src = fetchFromGitHub {
owner = "Beep6581";
repo = "RawTherapee";
rev = "9fbbb052eefb739753f0f3d631e45694d659610a";
sha256 = "0r8wzxp7q77g3hjz7dr5lh5wih762pgjad3lkzjfhki9lxr7ii7q";
rev = "1077c4ba2e2dbe249884e6974c6050db8eb5e9c2";
sha256 = "1xqmkwprk3h9nhy6q562mkjdpynyg9ff7a92sdga50k56gi0aj0s";
};
buildInputs = [

View file

@ -1,77 +1,79 @@
{ stdenv, fetchurl, glibc, mesa, freetype, glib, libSM, libICE, libXi, libXv
, libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11, qt4
, zlib, fontconfig }:
, zlib, fontconfig, dpkg }:
/* I haven't found any x86_64 package from them */
assert stdenv.system == "i686-linux";
stdenv.mkDerivation {
name = "googleearth-6.0.3.2197";
src = fetchurl {
url = http://dl.google.com/earth/client/current/GoogleEarthLinux.bin;
sha256 = "0bcpmnlk03382x577qbnbw3i6y08hr3qmg85pqj35scnl6van74c";
};
nativeBuildInputs = [
let
arch =
if stdenv.system == "x86_64-linux" then "amd64"
else if stdenv.system == "i686-linux" then "i386"
else abort "Unsupported architecture";
sha256 =
if arch == "amd64"
then "0dwnppn5snl5bwkdrgj4cyylnhngi0g66fn2k41j3dvis83x24k6"
else "0gndbxrj3kgc2dhjqwjifr3cl85hgpm695z0wi01wvwzhrjqs0l2";
fullPath = stdenv.lib.makeLibraryPath [
glibc
glib
stdenv.cc.cc
libSM
libICE
libXi
libSM
libICE
libXi
libXv
mesa
libXrender
libXrandr
libXfixes
libXcursor
libXinerama
freetype
libXext
libX11
libXrender
libXrandr
libXfixes
libXcursor
libXinerama
freetype
libXext
libX11
qt4
zlib
fontconfig
];
in
stdenv.mkDerivation rec {
version = "7.1.4.1529";
name = "googleearth-${version}";
src = fetchurl {
url = "https://dl.google.com/earth/client/current/google-earth-stable_current_${arch}.deb";
inherit sha256;
};
phases = "unpackPhase installPhase";
buildInputs = [ dpkg ];
unpackPhase = ''
bash $src --noexec --target unpacked
cd unpacked
dpkg-deb -x ${src} ./
'';
installPhase =''
mkdir -p $out/{opt/googleearth/,bin};
tar xf googleearth-data.tar -C $out/opt/googleearth
tar xf googleearth-linux-x86.tar -C $out/opt/googleearth
cp bin/googleearth $out/opt/googleearth
cat > $out/bin/googleearth << EOF
#!/bin/sh
export GOOGLEEARTH_DATA_PATH=$out/opt/googleearth
exec $out/opt/googleearth/googleearth
EOF
chmod +x $out/bin/googleearth
mkdir $out
mv usr/* $out/
rmdir usr
mv * $out/
rm $out/bin/google-earth $out/opt/google/earth/free/google-earth
ln -s $out/opt/google/earth/free/googleearth $out/bin/google-earth
fullPath=
for i in $nativeBuildInputs; do
fullPath=$fullPath:$i/lib
done
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $fullPath \
$out/opt/googleearth/googleearth-bin
--set-rpath "${fullPath}:\$ORIGIN" \
$out/opt/google/earth/free/googleearth-bin
for a in $out/opt/googleearth/*.so* ; do
patchelf --set-rpath $fullPath $a
for a in $out/opt/google/earth/free/*.so* ; do
patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
done
'';
dontPatchELF = true;
meta = {
description = "A world sphere viewer";
homepage = http://earth.google.com;
license = stdenv.lib.licenses.unfree;
maintainers = [ stdenv.lib.maintainers.viric ];
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, libgcrypt, qt5, zlib, libmicrohttpd, libXtst }:
{ stdenv, fetchFromGitHub, cmake, libgcrypt, zlib, libmicrohttpd, libXtst, qtbase, qttools }:
stdenv.mkDerivation rec {
name = "keepassx-community-${version}";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0qwmi9f8ik3vkwl1kx7g3079h5ia4wl87y42nr5dal3ic1jc941p";
};
buildInputs = [ cmake libgcrypt zlib qt5.full libXtst libmicrohttpd ];
buildInputs = [ cmake libgcrypt zlib qtbase qttools libXtst libmicrohttpd ];
meta = {
description = "Fork of the keepassX password-manager with additional http-interface to allow browser-integration an use with plugins such as PasslFox (https://github.com/pfn/passifox). See also keepassX2.";

View file

@ -0,0 +1,35 @@
{
kdeDerivation, kdeWrapper, fetchFromGitHub, lib,
ecm, kdoctools, kconfig, kinit, kjsembed,
taglib, exiv2, podofo
}:
let
pname = "krename";
version = "20161228";
unwrapped = kdeDerivation rec {
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "KDE";
repo = "krename";
rev = "4e55c2bef50898eb4a6485ce068379b166121895";
sha256 = "09yz3sxy2l6radfybkj2f7224ggf315vnvyksk0aq8f03gan6cbp";
};
meta = with lib; {
homepage = http://www.krename.net;
description = "A powerful batch renamer for KDE";
inherit (kconfig.meta) platforms;
maintainers = with maintainers; [ urkud peterhoeg ];
};
buildInputs = [ taglib exiv2 podofo ];
nativeBuildInputs = [ ecm kdoctools ];
propagatedBuildInputs = [ kconfig kinit kjsembed ];
};
in kdeWrapper {
inherit unwrapped;
targets = [ "bin/krename" ];
}

View file

@ -1,26 +1,29 @@
{ stdenv, lib, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl
, gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }:
{ stdenv, lib, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf
, lablgl, gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }:
assert lib.versionAtLeast (lib.getVersion ocaml) "4.02";
let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
in stdenv.mkDerivation rec {
name = "llpp-${version}";
version = "21-git-2016-05-07";
version = "25-git-2017-01-18";
src = fetchgit {
url = "git://repo.or.cz/llpp.git";
rev = "1beb003ca0f4ed90fda2823cb07c2eb674fc3ca4";
sha256 = "1r59yfm81zmiij401d3wc3zb1zc873ss02gkplbwi4lad2l0chba";
rev = "22740b9bca1c60ef18cf90538994ce4981539901";
sha256 = "0yg8z2zwhg2f5il2i1clx3b7hl088ncpk686rfxlvwyjg3qs3mv4";
fetchSubmodules = false;
};
buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl
gtk3 jbig2dec openjpeg mujs openssl freetype ncurses ];
nativeBuildInputs = [ pkgconfig makeWrapper ninja ];
buildInputs = [ ocaml findlib mupdf gtk3 jbig2dec # lablgl
openjpeg mujs openssl freetype ncurses ];
dontStrip = true;
configurePhase = ''
sed -i -e 's+fz_set_use_document_css (state.ctx, usedoccss);+/* fz_set_use_document_css (state.ctx, usedoccss); */+' link.c
sed -i -e 's+ocamlc --version+ocamlc -version+' build.sh
sed -i -e 's+-I \$srcdir/mupdf/include -I \$srcdir/mupdf/thirdparty/freetype/include+-I ${freetype.dev}/include+' build.sh
sed -i -e 's+-lmupdf +-lfreetype -lz -lharfbuzz -ljbig2dec -lopenjp2 -ljpeg -lmupdf +' build.sh
sed -i -e 's+-L\$srcdir/mupdf/build/native ++' build.sh
@ -29,12 +32,12 @@ in stdenv.mkDerivation rec {
buildPhase = ''
sh ./build.sh build
'';
# --prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
installPhase = ''
install -d $out/bin $out/lib
install build/llpp $out/bin
wrapProgram $out/bin/llpp \
--prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
--prefix CAML_LD_LIBRARY_PATH ":" "$out/lib" \
--prefix PATH ":" "${xsel}/bin"
'';

View file

@ -0,0 +1,40 @@
{ stdenv, cmake, kde5, redshift, fetchFromGitHub, ... }:
let version = "1.0.17"; in
stdenv.mkDerivation {
name = "redshift-plasma-applet-${version}";
src = fetchFromGitHub {
owner = "kotelnik";
repo = "plasma-applet-redshift-control";
rev = "v${version}";
sha256 = "1lp1rb7i6c18lrgqxsglbvyvzh71qbm591abrbhw675ii0ca9hgj";
};
patchPhase = ''
substituteInPlace package/contents/ui/main.qml \
--replace "redshiftCommand: 'redshift'" \
"redshiftCommand: '${redshift}/bin/redshift'" \
--replace "redshiftOneTimeCommand: 'redshift -O " \
"redshiftOneTimeCommand: '${redshift}/bin/redshift -O "
substituteInPlace package/contents/ui/config/ConfigAdvanced.qml \
--replace "'redshift -V'" \
"'${redshift}/bin/redshift -V'"
'';
buildInputs = [
cmake
kde5.plasma-framework
];
meta = with stdenv.lib; {
description = "KDE Plasma 5 widget for controlling Redshift";
homepage = https://github.com/kotelnik/plasma-applet-redshift-control;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ benley ];
};
}

View file

@ -0,0 +1,28 @@
From 0d677475b710b9bb61d4b3ac5435c36b47d3a155 Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Wed, 8 Feb 2017 11:28:42 +0100
Subject: [PATCH] bash-completion: quote pattern argument to grep
Without the quotes, bash might expand that pattern based on the contents of the
current working directory or -- if nullglob is set -- the argument disappears
outright if no directory entry matches.
---
scripts/bash/task.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/bash/task.sh b/scripts/bash/task.sh
index e0c7fb03..d15ed3eb 100644
--- a/scripts/bash/task.sh
+++ b/scripts/bash/task.sh
@@ -72,7 +72,7 @@ _task_offer_contexts() {
COMPREPLY=( $(compgen -W "$($taskcommand _context) define delete list none show" -- $cur) )
}
-_task_context_alias=$($taskcommand show | grep alias.*context | cut -d' ' -f1 | cut -d. -f2)
+_task_context_alias=$($taskcommand show | grep "alias.*context" | cut -d' ' -f1 | cut -d. -f2)
_task()
{
--
2.11.1

View file

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "059a9yc58wcicc6xxsjh1ph7k2yrag0spsahp1wqmsq6h7jwwyyq";
};
patches = [ ./0001-bash-completion-quote-pattern-argument-to-grep.patch ];
nativeBuildInputs = [ cmake libuuid gnutls ];
postInstall = ''
@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
description = "GTD (getting things done) implementation";
description = "Highly flexible command-line tool to manage TODO lists";
homepage = http://taskwarrior.org;
license = licenses.mit;
maintainers = with maintainers; [ marcweber jgeerds ];

View file

@ -11,8 +11,8 @@
version = "57.0.2987.19";
};
stable = {
sha256 = "0f1w9cba99s9hy6fdqkr39yhkay4kid72vdrgs4as5lwdci8xc6g";
sha256bin64 = "1zy11y649nxs03xldcq8jcpwj0nb3sklmyh3cxw7fajzi739p2y3";
version = "56.0.2924.76";
sha256 = "1q2kg85pd6lv036w7lsss5mhiiva9rx4f0410sbn9bnazhghib4s";
sha256bin64 = "1s64smkpjmnlw7ym14v3g3lcpagsgavmnlq6wkgci80kyvwasd3w";
version = "56.0.2924.87";
};
}

View file

@ -1,7 +1,7 @@
{ stdenv, lib, makeDesktopItem, makeWrapper, config
## various stuff that can be plugged in
, gnash, flashplayer, hal-flash
, flashplayer, hal-flash
, MPlayerPlugin, ffmpeg, gst_all, xorg, libpulseaudio, libcanberra_gtk2
, supportsJDK, jrePlugin, icedtea_web
, trezor-bridge, bluejeans, djview4, adobe-reader
@ -23,16 +23,13 @@ browser:
let
cfg = stdenv.lib.attrByPath [ browserName ] {} config;
enableAdobeFlash = cfg.enableAdobeFlash or false;
enableGnash = cfg.enableGnash or false;
ffmpegSupport = browser.ffmpegSupport or false;
jre = cfg.jre or false;
icedtea = cfg.icedtea or false;
plugins =
assert !(enableGnash && enableAdobeFlash);
assert !(jre && icedtea);
([ ]
++ lib.optional enableGnash gnash
++ lib.optional enableAdobeFlash flashplayer
++ lib.optional (cfg.enableDjvu or false) (djview4)
++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)

View file

@ -14,6 +14,7 @@
, gnome2
, gtk2
, libX11
, libxcb
, libXScrnSaver
, libXcomposite
, libXcursor
@ -36,7 +37,7 @@
let
mirror = https://get.geo.opera.com/pub/opera/desktop;
version = "41.0.2353.56";
version = "42.0.2393.517";
rpath = stdenv.lib.makeLibraryPath [
@ -66,6 +67,7 @@ let
libXrandr.out
libXrender.out
libXtst.out
libxcb.out
libnotify.out
nspr.out
nss.out
@ -89,12 +91,12 @@ in stdenv.mkDerivation {
if stdenv.system == "i686-linux" then
fetchurl {
url = "${mirror}/${version}/linux/opera-stable_${version}_i386.deb";
sha256 = "0qjkhadlpn5c20wm66hm7rn12kdk4bh2plfgpfkzp85jmsjdxri5";
sha256 = "1zdhg6lrnpn8f4rdibnagj3ps3i8s9ygm4dpj5h605rqk24xxpvs";
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
url = "${mirror}/${version}/linux/opera-stable_${version}_amd64.deb";
sha256 = "1f3slbydxkk15banjbm7d8602l3vxy834ijsdqpyj0ckc5mw0g9y";
sha256 = "04yklvxprl7kcnl43fmvk1qfj5ifvivj715n26ylzcf29pvcy1mp";
}
else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";

View file

@ -1,15 +1,18 @@
{ stdenv, fetchurl, kubernetes }:
{ stdenv, lib, fetchurl, makeWrapper, docker-machine-kvm, kubernetes, libvirt, qemu }:
let
arch = if stdenv.isLinux
then "linux-amd64"
else "darwin-amd64";
checksum = if stdenv.isLinux
then "1g6k3va84nm2h9z2ywbbkc8jabgkarqlf8wv1sp2p6s6hw7hi5h3"
else "0jpwyvgpl34n07chcyd7ldvk3jq3rx72cp8yf0bh7gnzr5lcnxnc";
in
stdenv.mkDerivation rec {
then "0njx4vzr0cpr3dba08w0jrlpfb8qrmxq5lqfrk3qrx29x5y6i6hi"
else "0i21m1pys6rdxcwsk987l08lhzpcbg4bdrznaam02g6jj6jxvq0x";
# TODO: compile from source
in stdenv.mkDerivation rec {
pname = "minikube";
version = "0.15.0";
version = "0.16.0";
name = "${pname}-${version}";
src = fetchurl {
@ -17,26 +20,24 @@ stdenv.mkDerivation rec {
sha256 = "${checksum}";
};
buildInputs = [ ];
phases = [ "installPhase" ];
propagatedBuildInputs = [ kubernetes ];
buildInputs = [ makeWrapper ];
phases = [ "buildPhase" "installPhase" ];
buildPhase = ''
mkdir -p $out/bin
'';
binPath = lib.makeBinPath [ docker-machine-kvm kubernetes libvirt qemu ];
installPhase = ''
cp $src $out/bin/${pname}
chmod +x $out/bin/${pname}
install -Dm755 ${src} $out/bin/${pname}
wrapProgram $out/bin/${pname} \
--prefix PATH : ${binPath}
'';
meta = with stdenv.lib; {
homepage = https://github.com/kubernetes/minikube;
description = "A tool that makes it easy to run Kubernetes locally";
license = licenses.asl20;
maintainers = [ maintainers.ebzzry ];
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ ebzzry ];
platforms = with platforms; linux ++ darwin;
};
}

View file

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "terragrunt-${version}";
version = "0.9.6";
version = "0.9.9";
goPackagePath = "github.com/gruntwork-io/terragrunt";
@ -10,12 +10,12 @@ buildGoPackage rec {
rev = "v${version}";
owner = "gruntwork-io";
repo = "terragrunt";
sha256 = "0x4qpf4jqrm55rg5xifk6gz4gy42506k5g1l5461xln0rsmifpkf";
sha256 = "08rygmcjlcdj4g575cpx2lfdq69r450ri5q2dngvnhbvzk8nvnr0";
};
goDeps = ./deps.nix;
buildInputs = [ makeWrapper terraform ];
buildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $bin/bin/terragrunt \

View file

@ -5,8 +5,17 @@
fetch = {
type = "git";
url = "https://github.com/aws/aws-sdk-go";
rev = "5e1afe1c0a077fb2da9b5f74232b790d99397ce8";
sha256 = "073yx5acqybw0h2zshg209wmldm0g5h5x9bhbn6h08ak0r4i80al";
rev = "4590e9b51cd6698144a025a75608fa7a90752d5d";
sha256 = "13hczsimaanfmbhj8aki8zib7fi161f7p7cjm7z9x8hwwa9q4nld";
};
}
{
goPackagePath = "github.com/bgentry/go-netrc";
fetch = {
type = "git";
url = "https://github.com/bgentry/go-netrc";
rev = "9fd32a8b3d3d3f9d43c341bfe098430e07609480";
sha256 = "0dn2h8avgavqdzdqnph8bkhj35bx0wssczry1zdczr22xv650g1l";
};
}
{
@ -18,13 +27,31 @@
sha256 = "02mvb2clbmfcqb4yclv5zhs4clkk9jxi2hiawsynl5fwmgn0d3xa";
};
}
{
goPackagePath = "github.com/hashicorp/go-getter";
fetch = {
type = "git";
url = "https://github.com/hashicorp/go-getter";
rev = "cc80f38c726badeae53775d179755e1c4953d6cf";
sha256 = "1xbflbgg3gfh3zy5ibfzxv4gbzg62rkzr4l2i9igvz8m7sxgyy1f";
};
}
{
goPackagePath = "github.com/hashicorp/go-version";
fetch = {
type = "git";
url = "https://github.com/hashicorp/go-version";
rev = "03c5bf6be031b6dd45afec16b1cf94fc8938bc77";
sha256 = "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik";
};
}
{
goPackagePath = "github.com/hashicorp/hcl";
fetch = {
type = "git";
url = "https://github.com/hashicorp/hcl";
rev = "eb6f65b2d77ed5078887f960ff570fbddbbeb49d";
sha256 = "1wx6hpxmq5sby54025j9hliz10gv5v0bq6q1z2cd0asznj154ij1";
rev = "372e8ddaa16fd67e371e9323807d056b799360af";
sha256 = "1hv8p1858k1b99p3yc2jj6h77bl0iv9ziyzyp4w3xlcci2s13hnr";
};
}
{
@ -32,8 +59,17 @@
fetch = {
type = "git";
url = "https://github.com/mattn/go-zglob";
rev = "1783ae1a9f7ff3a79240e8c249d8b575d70a6528";
sha256 = "0g4ih6swqpq0bqwsv5mv8ymicgr92xh9i6sm1793lqwb63x8ga1x";
rev = "95345c4e1c0ebc9d16a3284177f09360f4d20fab";
sha256 = "012hrd67v4gp3b621rykg2kp6a7iq4dr585qavragbif0z1whckx";
};
}
{
goPackagePath = "github.com/mitchellh/go-homedir";
fetch = {
type = "git";
url = "https://github.com/mitchellh/go-homedir";
rev = "b8bc1bf767474819792c23f32d8286a45736f1c6";
sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
};
}
{
@ -41,8 +77,8 @@
fetch = {
type = "git";
url = "https://github.com/mitchellh/mapstructure";
rev = "bfdb1a85537d60bc7e954e600c250219ea497417";
sha256 = "141kkh801jyp1r6hba14krydqg1iivp13j12is70j0g05z9fbji8";
rev = "db1efb556f84b25a0a13a04aad883943538ad2e0";
sha256 = "1pl1rwc9q3kz0banwi493cyhmn5mlc4mb97sx68jkdz6pck7fy0h";
};
}
{
@ -50,8 +86,8 @@
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "2402e8e7a02fc811447d11f881aa9746cdc57983";
sha256 = "01qaz781cvrv3h1428xqq8knf5ahdcj93m5k9dnivg2hcrlnqibj";
rev = "4d4bfba8f1d1027c4fdbe371823030df51419987";
sha256 = "1d3yz1d2s88byjzmn60jbi1m9s552f7ghzbzik97fbph37i8yjhp";
};
}
{
@ -59,8 +95,8 @@
fetch = {
type = "git";
url = "https://github.com/urfave/cli";
rev = "8ef3805c9de2519805c3f060524b695bba2cd715";
sha256 = "0680rd87skmz8p8s3cwy55siz4bgjls314agfi03d7640gz7mp24";
rev = "347a9884a87374d000eec7e6445a34487c1f4a2b";
sha256 = "0wii48b2g5dyp6bknnlgs3ln93qxz5jvi96420wnpkkz51nrcmbp";
};
}
]

View file

@ -1,14 +1,14 @@
{ stdenv, fetchgit, python3Packages }:
python3Packages.buildPythonPackage {
name = "scudcloud-1.38";
name = "scudcloud-1.40";
# Branch 254-port-to-qt5
# https://github.com/raelgc/scudcloud/commit/6bcd877daea3d679cd5fd2c946c2d933940c48d9
# https://github.com/raelgc/scudcloud/commit/43ddc87f123a641b1fa78ace0bab159b05d34b65
src = fetchgit {
url = https://github.com/raelgc/scudcloud/;
rev = "6bcd877daea3d679cd5fd2c946c2d933940c48d9";
sha256 = "1884svz6m5vl06d0yac5zjb2phxwg6bjva72y15fw4larkjnh72s";
rev = "43ddc87f123a641b1fa78ace0bab159b05d34b65";
sha256 = "1lh9naf9xfrmj1pj7p8bd3fz7vy3gap6cvda4silk4b6ylyqa8vj";
};
propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ];

View file

@ -0,0 +1,21 @@
{ stdenv, fetchurl
, notmuch, openssl, pkgconfig, sqlite, xapian
}:
stdenv.mkDerivation rec {
version = "2";
name = "muchsync-${version}";
passthru = {
inherit version;
};
src = fetchurl {
url = "http://www.muchsync.org/src/${name}.tar.gz";
sha256 = "1dqp23a043kkzl0g2f4j3m7r7lg303gz7a0fsj0dm5ag3kpvp5f1";
};
buildInputs = [ notmuch openssl pkgconfig sqlite xapian ];
meta = {
description = "Synchronize maildirs and notmuch databases";
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ ocharles ];
license = stdenv.lib.licenses.gpl2Plus;
};
}

View file

@ -1,585 +1,585 @@
{
version = "45.7.0";
version = "45.7.1";
sources = [
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ar/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ar/thunderbird-45.7.1.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
sha512 = "5e971fbaebf1e827da0f257277f7589777f426da8ce5465bfc2e5ca935cbe3b573562a94671f5b90b1005447169000b14c422aafdba68ceb7b48c7c1cc529fb0";
sha512 = "e1c0092e9068c5b687443c66e51d0a66821b509d554ae49563ceb5ca7f9f1429b47b084d39d9b8c7726aad79d61ad09b3b256118560b77ae9a179152d4914147";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ast/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ast/thunderbird-45.7.1.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
sha512 = "9ae45c5ff83dab4b4da3849d147546e8265718e568a82a14ec111128ac97b606dc122962954e8f2650e29f7bd7335508eebf30b3245165ac5563ccbe9960dffb";
sha512 = "0dfa480291f654fcd3af50711b3634202b81e9661a037a98d1e32e7b51bdc0395331fa99d8806a49873f23a02be95a383bfbdf001f905eac42d9b132d1e170ee";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/be/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/be/thunderbird-45.7.1.tar.bz2";
locale = "be";
arch = "linux-x86_64";
sha512 = "6aa812541b2db739e2afabfbc00e3de8c068460b9689490adfb0306b54914efee6a3fe1854f1c5e18eaf266220c1c3b7291e4da0d3f8cf0f7d651a0ef83ea8eb";
sha512 = "fd705a8bdbe5bb6e8c7e120495021b538f75ca8d5c485d9d224392808c5397e149004c2262e2dbf982d5248a7ab036ed82980665be7628cf87e789b5d4ed4e19";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/bg/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/bg/thunderbird-45.7.1.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
sha512 = "54d657278863d8b8030119fd1a31656c822e4c12eaa607ee3b61dac2ac24ed11069e913f3d6b1c868a040bfb610d79133e3bfc509937fe742f23d1d5c8be0480";
sha512 = "f6ceb36dfd93e10b29a8d5322604c1fe17d1ef96113e79bd3c5a0f9912b4a77f8a182f676919ad5a58c15ef9555fc2ab07d8c2f375654057cdf2efc0be9a1ea1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/bn-BD/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/bn-BD/thunderbird-45.7.1.tar.bz2";
locale = "bn-BD";
arch = "linux-x86_64";
sha512 = "45ba00305d7ee59d4d33c73f1dd6bdd6e49f74e7bc41092fc3216f09e36987a0f7a5aed42788a2c4873eee9121267d7206813066b1b63d3a8b6953cdaad62882";
sha512 = "d3dfebeb5d6a301449130c94c7cbdea50e8c29c2571b408d89b3a632a164056605bc0e15dc2957f677d639ca9712088d94c62d26c0b2ade4faadb159978519c8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/br/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/br/thunderbird-45.7.1.tar.bz2";
locale = "br";
arch = "linux-x86_64";
sha512 = "277660c584fe60336a3333fedb181713e8eb5a9ede4844238a61748a279c68d5768d96fbaa93b9c6132af5a37fdd38650e0c91579a6b17a3501caf213054426b";
sha512 = "1de73392b72d595504314e36c2c8cda7ee781a246dab443ba8f1cf46027c40a85a1e7a8626bfc46901940a08d89de69c2779a0702e5271da3f703aa299ae4767";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ca/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ca/thunderbird-45.7.1.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
sha512 = "c9e69470dec521144fb96f99e9a22987f5e982b4e385ead271966e62e4c252d880aec2581e6f0692710cab8f9667c5c34f26c9cd86ccc84c7bf25b21abd4461f";
sha512 = "e481f63846a437dd1326820f455ec7c50ae56e638bc771814c4a53b5fcd7b397e0b6d7886965f4ebc94c15d33eeabb947c65a72ddad8ebd6a0549ec5df94be73";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/cs/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/cs/thunderbird-45.7.1.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
sha512 = "0be3aac8ffd4d0ad3571740933c3da0e1cd47dbd7e555eca9862751da367f0128537fd190159c138bc5f713fb282189d23220b45ada59de8ead59711566e7b8d";
sha512 = "148114a531d1dd467fa59690836dee75e2640dca5b448175424d56224867676990561693e12faef7ea53b0e0a87cb039a5f7b35432901703f135cfb99f48e53f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/cy/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/cy/thunderbird-45.7.1.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
sha512 = "a36b500385a55756686e5d3378ae1b84df4d438507bbf0c84fbdb6e2a3942e2eb032b37f004fbb70d2ce00b495082534ffae670811b1b0ff82bf33b88d3481c6";
sha512 = "6ee390cc87fc717cb1e413e5e2b46eb1f7335f617877f9c190075f808f9e0f7d21f59a41a651f2bce14323a46994c499056c6ba3308dfc28a2733f125e200a0e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/da/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/da/thunderbird-45.7.1.tar.bz2";
locale = "da";
arch = "linux-x86_64";
sha512 = "f704327994b2ab085fddf9749dd440062ee8e2d5a9aedb2fd6b4c80bad6fc2ece620ed7794f14b8f55b4e1c358178f6b11d61086e0535b077a770573942f3c33";
sha512 = "1246c3338ec1c66ec0631cd3dd2e2ddfa2f55eaac2ebf36d6fc78a58cdafe15b5bb02c542447fa7aeac56eb9dce2501951b998c605844ce37fe8bb4868c100c7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/de/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/de/thunderbird-45.7.1.tar.bz2";
locale = "de";
arch = "linux-x86_64";
sha512 = "cae4b36fca75a9246a91cd0a26248ac2d9d4f1be93eb4ae7b172a9ee66efab17d023a8008e318c0db1b1fe227fd0085def6441a8e16e2fb284198805754aca7f";
sha512 = "ba651c2f07eceb4c20a9997bd518c322b025467e3474a56c17e1c35ea9dab7c3ac08295f573cdb7c4967e531dfcaa76facf4185ecc12a66436690817c73c0454";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/dsb/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/dsb/thunderbird-45.7.1.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
sha512 = "5fb46ea74aecac2ea56ad2cf10b00098d144be99d841648cd76baaaba6e26709f4f470d58a22465a3a62dbc4578c8001afe857a4e9536b30bb50d0fa942a25bb";
sha512 = "5fcbb029e59b50e3c8762acdcb561f3541a1056bd467f2830b316ef39b9f55f88797693ef4c281d8411c678bfbe86abde74483f0b9418e185fe80463487da489";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/el/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/el/thunderbird-45.7.1.tar.bz2";
locale = "el";
arch = "linux-x86_64";
sha512 = "33fbac5d0cd9348d2e1a5ff239770d058cd29382abebe394756088ff0610e7fce00021ce0f62d81570c557451dcc5352d0c9644f83c08c0f24a496c60194ecc1";
sha512 = "36fa1fe8d3b52ee95275acfcda8eeda175f9ff5d44b7fcd0e33df2a27fd4c815d79b647265e9c32bfdcd9f1900bc98195bee6de5e580abb452ca47003a438b40";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/en-GB/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/en-GB/thunderbird-45.7.1.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
sha512 = "f763c506aa22cb40a9c991a17ca6bdf5e7451a4b727733c54e58aaca2f1945ad008ffb51665f4d960d70189e5008853fbe0308382c8c9300b3156b143fca2375";
sha512 = "15973247dab22789b8c63f5617fd1d85aa2a889e78d1bfd8ade002d769bf81857cf7d84c6302c168c5923ccdd08ea561df4fca1f17f0fe3337608af161c6e86e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/en-US/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/en-US/thunderbird-45.7.1.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
sha512 = "c186bb0d52eeb8ad87b26871257a9ac6a29cb418ff9956e81804ebd1f557d28f31d99124c530f141b612594dd149996c6258d11953698e5e9083bd1b7c7ebdc3";
sha512 = "4acce7404bad1bef72d1ba0630a6d9e7678716121b5520d399c3e47096a5b82c03b797a3680428d1c8447121d403de227d7f327001a27092db8df438f1d88d18";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/es-AR/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/es-AR/thunderbird-45.7.1.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
sha512 = "5aeadcfb8417898367f192f09c1a12595e772d72f66fefb54510ea447942b1a715bd619224dab0047d218bf35e6b7a88562d7bf45f4bfede3f94d189af209e0b";
sha512 = "68e7e8b134d6b3a6b44ecf9deaaa4fe58a2ba2324621722300eb39c74f6d4801edb7532ff81a2a22f473b55d227caefce4e5460b9527fee2bc7e9b765b4a66e9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/es-ES/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/es-ES/thunderbird-45.7.1.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
sha512 = "d4762f067f645489147cb53c5fa1e6eb7e2f6df7bfb541b824988a8e918df289498e27af70407a1537b28dfa40d0483a0da08fe757839e3bea2d958e2d9ea7c4";
sha512 = "80517102d930a0613254f5f2ebbccfadc27606664e957b217e899b2d519f1a7fd189caa17756ae9849f870b97ed8a589c327d3239d2312368a94583434a31bf9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/et/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/et/thunderbird-45.7.1.tar.bz2";
locale = "et";
arch = "linux-x86_64";
sha512 = "c4b2f7f2b13ea7fb5a14e5ae2e258962f8f3a269d3d35987d37015d72d42d196e6581928f6cb4f5300036c58d4e6ab69b085588164e6b516a778b0f5c789f22a";
sha512 = "3399aaf7a8eb812b4ed4c56e8e6619c9e7018e552bc810f9a20773854cdaaa3a4382754fafde2809bb945885059c1613e3832071bdc55d32816aac49e38acc9e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/eu/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/eu/thunderbird-45.7.1.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
sha512 = "d38a6bf51d9b8b8c15a709bd8618cf71cee799afea3466f0d197a8c4a1b9b8c4dc60da1b43f398619fe3a73b8444429cdd48af8065bd3a34f91f271d78169ea0";
sha512 = "4b7ace6485b3d9f14a924a9827226c3337f4b95107b94e51925524aea6eff2d446868f7a7f350c22ef7dec0c3c04c0fbb79f9eac9c1db0070195ce402559b3c6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/fi/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fi/thunderbird-45.7.1.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
sha512 = "087b9b6b500ecb674b013a8f9fd050cd7694c6e07f90de8e421ac46558afb5b73640d293c155c200f06df3e1dc40adb8d2f2b2f28d30aa83cc888c5f7097f8e1";
sha512 = "42330fa494ff9e09ddddaa5828fd6e984f4e016d45f90638a72d958f1d0d52458c4d66492c4bf3a9a57fad32ebb24ecd4d43efc51795f738f50d7385b3090015";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/fr/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fr/thunderbird-45.7.1.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
sha512 = "50824c56fbcd2d164f891a749114b3401e01845b0118b007528542f82884a832ef1cd5fa72b41cf878de80a1f220e453cd26356375275b72b8b7e14dbb94abd9";
sha512 = "53696b4b77c2dfc4eeb03059429dbf38dc31910664ef7638ce291adee5d9e0bcfb1b8a19524a96fed02594b664d125e9c4791aac674c03e9dbb272544f429cb1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/fy-NL/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fy-NL/thunderbird-45.7.1.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
sha512 = "5e32fb0c933a9b5dfd4557a16b41bd8fd17f734b66b887a10780e7a3c5658383450fd63c42f693ed095056fcbdd45e7b2fc2bd7a919225b8dd8152c0620b93df";
sha512 = "2c8a487a2a77451d2d4c239a16cdf114e1d9ef37d7c0a1f2dd2e3e9ba6270004e39fc38828b363805ac530b2f6cd3016594dfcccf2db37525f9700866d6a513f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ga-IE/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ga-IE/thunderbird-45.7.1.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
sha512 = "747c305440e3fbacd96dbd1aba42fc85d302171220eca94bb46930f618404ec152de5a1bc130fd7033098d7f9401fc945df51c8215a49e7ba1d6fedc22679d81";
sha512 = "127d0cfc24b8e3e00aedee39aa400af198c7e48239fce97dde27416ac517108957d5f18735e5106eaba0433321f406ca9c82d774a83f1e58dc297b80e55a33dd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/gd/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/gd/thunderbird-45.7.1.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
sha512 = "6e661d5c2b6a531dd4600ac55c65d895e176477a85a0311697e1a14d3888da2de40d03701e4f447898e4119c210bb64d90ef2a3f1d131540ae521cf4448bfb7f";
sha512 = "48dca91d52b3f71a76c3a08003247bcfe498342b3e2e6158f58087251a9248959d17a7c91437475892a5b5124d9a76a1f0cc99c118e34c763ae4227fc4776dd9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/gl/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/gl/thunderbird-45.7.1.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
sha512 = "9da68b8ea5125f94c22ef74bad14ce2f624e59521e62b778884fa68740a2bcc632b80d83a3e85011bbcdc76bac7cebe7853f22ad6bf7c9642878a089dbd034fb";
sha512 = "92993f4090d641ee6573ec08c9ed25d3126e0e9796568aaa77296e859fd70069ce0f63f017fc08a3e01d65dd9864063f8ec089ee8e43197d511358b53259fb76";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/he/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/he/thunderbird-45.7.1.tar.bz2";
locale = "he";
arch = "linux-x86_64";
sha512 = "cc9e36346cc7b0b18afaf23e7637d51e2232db028f9b9d5c708a1bb4ba0cd62638343fae5dd414098c6755782a2e8e9ac4731e38746574610edbad94acb65bad";
sha512 = "c7e78d6aa2920fa81820b54a3f1047d42089e65fcc424ff663ef287cf581aec7b11fec33c309c88ae5986c9a78d3967dbc3cccd6efadbacfb145e36d2409e514";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/hr/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hr/thunderbird-45.7.1.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
sha512 = "0f68a4059b2053319cdf0fe335f782d9a53e392c5d1c471326cdc47f2f779dcce75e4882e6c9e339cf6d0589f084ab54d9ef5d4c4df193c96a7f476cd0c5f9ef";
sha512 = "0160db00133e4564b9ca0ddcb2771abd343bd3cef1bfc09303805bc0aaa01a5cbeeb6a23effd2e8256ae5457a2fddc149156d1702705531c728134845945dc56";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/hsb/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hsb/thunderbird-45.7.1.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
sha512 = "f6077a9c5b91f5688d2f71201064015d87bf38bc34d9f556ee1037650815c05e71a2cfc0d67736c308fdb6b5217f0fec56fbfc5a7044940f06c809579a80610e";
sha512 = "012f4544e60f7a917ffd49fd6668da548e6e44ce666a86f61cc0e36e53806db16496824bd20b253d079e27d5601ddb6cc1ee290c600e116c922bb842a2232294";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/hu/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hu/thunderbird-45.7.1.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
sha512 = "958d7b9d82fc4ecbd0387df0bf2c95d27fde530b28519a5c7e6795f0e62ec0fcdc77bcf526342d5e13df993236daa2576f205c8333705adc2be35f156d5b9176";
sha512 = "ff13587b1098f0d503c6f3b81c2a9f3c075d192517e0dee6d9fe324927a6dce8686d989a34c3d36cff7a8e2bd6a074aee5fc96f7527ec3fd78cc0c96f4279b2c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/hy-AM/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hy-AM/thunderbird-45.7.1.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
sha512 = "2415b150651c0a6f173238180973a6ec1615e67fbb7fb7aa4d2d3d773e14c0584ca2c8ac268fb8c6597c1985fc91db741d6a842e17b47f4841cd50a13cb7896b";
sha512 = "84f3ca15346c821dcb9efdcfbc2b599a68b608cf8dc28145e0aac80babcf3b82da456a0816f2e31ed47b19c47f3afa9a265f864de6662fdd4fa8586d520ea025";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/id/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/id/thunderbird-45.7.1.tar.bz2";
locale = "id";
arch = "linux-x86_64";
sha512 = "3a682b3a4dc497244446674c98e588ed0f8f5e835eef00d9530e78d84a62e43ad849b807b8d6a9086ed20347b874da2ae486769e451ec19525e8e34004a34727";
sha512 = "2310cca9ced00d10b932eb6d27797b53e427f997671b836a5d03bc3f263fd469ea3dc5a2ba35a71da6b73e4dec83c60fc31203329562d6250ec573a38c55f115";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/is/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/is/thunderbird-45.7.1.tar.bz2";
locale = "is";
arch = "linux-x86_64";
sha512 = "9fd5b5a7d606913ab9697754093e21daefbb70baf515200bb3b8400f6eed2cce39b1415ef6f4ddb195c40bdd7deb9ed8c863c5d3c2ba4b8d4e3714f62ead7fc5";
sha512 = "710f180201035cde81d8e07cbc7e9e83289a160f6679393d2dd70c48c92f5b3568c0f7290e18613945abee052433f31c2b3b11019cb95cb8f6b23f04e985741d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/it/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/it/thunderbird-45.7.1.tar.bz2";
locale = "it";
arch = "linux-x86_64";
sha512 = "0d05dca4e136b3aac77af366f3356a5af32c0f46589a6303eafdf63f0e8128fd9c4f80232852ff91ab1f0a4e06e27daa70fbff640e3f6a30c0a31dae280b0cf1";
sha512 = "d5596d86c425f2d1251947a6d66558d87ec22a20490db23c267c514b98ddb9acebc30180c6c29a242ead4bf079fb8e9bc35414210c1d294dc735923f0ab29d3d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ja/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ja/thunderbird-45.7.1.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
sha512 = "ffe36363f9958132c8a4263f985ae3d5ab349fc7247cd3521a2ea613fb3dfea420d36af8e650d024d9db39b89b225751bccd0efc8e2e4d4c91bd8786657dc0db";
sha512 = "954e41ec6842e4ea40c84354a3499085d5fa754c0a8fe581fd0e1ddafb84c218b0afc6b84d6b89448573372ca8170563f4732eb0e00388d5daf918fc9eccab5b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ko/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ko/thunderbird-45.7.1.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
sha512 = "9d91b3df05ba7d55428cd3854a70a28e42d7d51a227d239a29c5d9efb11f8d0eaaf812bc71940d33875bb7bfed9699a9131874af8ee49e4504cb996c0c3571d7";
sha512 = "3b48ec21a87f4763e95a045f273b3077cc0f73f0cd79d0fd341bab93308ca6aa122aa1b6fe60cd9857e2af30f8b868a1ce56ca5e2418235b9207c33339abe66b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/lt/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/lt/thunderbird-45.7.1.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
sha512 = "3b5aa45b9e893b784a192961c40c4c29dc3bba641b13b9aaaf0fc67b8d7b5aa3b404700c63fdf3f7bdeadaaae89495b1e37e274fb686a46b654113308dafaae5";
sha512 = "e314d8aebc993a9471610d885736e50a174905cdd862eacb3cc08516fda8538cd86afbe62744a7a28947f289cd9d3847436ac4be6966097c4e2d81f74bb3aa19";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/nb-NO/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nb-NO/thunderbird-45.7.1.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
sha512 = "1959225b4fb510cc414b57934728c75e91bbd9d105ce0cfc7784167c4f30676adb59302e9252475c758dec08618df733f8873378a0d0ca3db4dd51b9c469c424";
sha512 = "2d14dad1eedc2b5043adca4d8ae9ddfa7bd7c4d9c246fb5abaf552f2bd1a27cd7d64638291a82391ceb84ba83c6c4f22f9ae09c7efc1c2530cfe986654b8b27e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/nl/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nl/thunderbird-45.7.1.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
sha512 = "c4c32627de1e70a9934178bbf05298ccd22194269dfd82907919b91edbbd9ee177c3cbb821e8c62d6aa6fd67207ecab633e80cadfa85bf1fed8d67a508e1da42";
sha512 = "fcde3900e201175fb9071b553f26dc49cad67888137df2e6ca4c7a85ffcf85aa23ca331bd4e5a3430b20615b2dbfae1ca4fe59833cd9d303f7ea6f8b73f42f64";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/nn-NO/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nn-NO/thunderbird-45.7.1.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
sha512 = "3ca25a101458c38677eac0998a3d88097d9a56214e2cfb47113ea250e2aa504ad0f2f9f97b94644c39a8079a0ef57ba3a6d89298180f16c26f0e253b25338a57";
sha512 = "a3e41f8fe0486a691c413104fe89009db9e4709821bac4a7062a78a6a30b083fed5a522c6d5b7c004e0e9b2131aa4bdbae85e8dae3300d2f81fd875981d79b44";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/pa-IN/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pa-IN/thunderbird-45.7.1.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
sha512 = "8ff5831dad507d975946f30b28c757e3dbab3b48c410df24b9a18e2b01cdc0813640f75603e14a5fadf7f449657b5dbe580cbec2f93f1c010d252c491510588f";
sha512 = "841cf7f21b436d1194c4082ec0fd0067bed7ae625299b8f07f535708005ea3a7c217f4a6d3acd8b392e620ebdd15447f62f969c4e0c8e40e69f77c3b89402517";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/pl/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pl/thunderbird-45.7.1.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
sha512 = "b50a227c15ef35067baa3ce95fe0fc8e6f5cc2d90abd14f3d783198573de530bf0d86b216cb065b73ab540f213cd2a896beb8335a7d5cce150110d3e23e5846b";
sha512 = "026002b4161801b9ba44442ac2b54f0897b6fd3dea3c6819a16c5b886c829308558917470e87eba1e7bfa9adf6d5a33dcce4645f24cec8b8cf7ef4773d924e65";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/pt-BR/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pt-BR/thunderbird-45.7.1.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
sha512 = "f286dfb2dca8b69569059c39eba7dd2d78037440f64687fb7543f2209d54e5b68884da910a91f87f0f16ba0516d78da65835f56d94a3ccd89644aaee83e0d562";
sha512 = "7b78eed009541c2b5e99fac1c6267f42511feab8cd26b8c6cd758c8cc4fade84195da5b4ed1dd44ba078c3ae6a3d2aeed0bdd04e37a48f585938765a7e14021e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/pt-PT/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pt-PT/thunderbird-45.7.1.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
sha512 = "49a74c9068102b510995c1634e9a3084216caeb8995b07ad287fe0239040e9a63aa1f3800870912212cf5b94dcbd6672ad96154dc19589804f63eab8f9e0213f";
sha512 = "15f5f46ad34ab5506d462c68ae5a2c0ab1548b8588ac877863ca73c97166d10ed26a6af32c9f0f57bb94da7b0c025813585a17e52dd3238b49344995905bb705";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/rm/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/rm/thunderbird-45.7.1.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
sha512 = "c17bade5200a48d8aae39b6084768065709e45d3eb29054c507d038d88d3f2ab4ee0ec4fec111b20c5acec341817fd1ac52babcf581b985d0e28e8e2a35e1934";
sha512 = "d0e70c192fdd0cc440f81173b13a09e6916355c2f65292c234e1da288e9a54ff1696e20c3a04f3a18fdb664d0fd76d8c477c7b19b0368a1d5dd889a5bfdf8f49";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ro/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ro/thunderbird-45.7.1.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
sha512 = "f146430b29fd011df252a077bb283221b3af1ce7dea1f482f807624326909a98e9dc18debaa184b3704554fda591961b70c5f09748c8d523e309dccc08c790e8";
sha512 = "0bd336fa6f8e1f22e8d9f8e10071518a91922d9f8b75d4e462cda1ff9a7e6a744a4d8b4412dd3d1f5617553cea67bf73599b5023dd205437ff3aa26854916e24";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ru/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ru/thunderbird-45.7.1.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
sha512 = "3794c474c09e20c9c58359a005377fa7a2336c72399b7149191c54dc824031377470b8b105d731380efc3a89f73c7befa18a443210affc3d8062943d8db9f544";
sha512 = "61a02467ee16e6a14b535be1b4a3ce2fa3a6bc6a61c2804e234242758361182df976f7edd0c8080637f3403436b018946c28668da09ecb9322c0eaa5fe395ba1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/si/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/si/thunderbird-45.7.1.tar.bz2";
locale = "si";
arch = "linux-x86_64";
sha512 = "a06ad8b09784b1dc291a3196765f98b89ca66b1c68b1546b3cb71864c73339063af62e8f06ec3518c6508cb54dc2f3cc93b50906a3ff9cba88809ee9b18c731e";
sha512 = "823e069b47f42c35c194bbfae832f71203e78f14057223bc569d8a18bc631d2d5bfdc3dfe5cb18c0bbae561b39023cb43dc26bf841a0e20e53bf336128bc1210";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sk/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sk/thunderbird-45.7.1.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
sha512 = "6f4a883e1da1dc3902e0230c2105eda528e882caeaac0762c8a7bcd5e9c63e003bb803f921af2e7f9c7a21f34fbbb3558222d8e018f083553d5f532b915896c7";
sha512 = "c3bf6785424419f7a1240c2069abafcd1275dfdf8908fe2e80dbd395176328e7c8c0c2cad9ce7ef46a605bae9e153e6c98fa696145fe7a186e30c7a2b147dde2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sl/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sl/thunderbird-45.7.1.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
sha512 = "328199364bcbf2816fce38597fe8554dc0ddf31cc1ab027c5b7e1a490d7261e4c440938ede308e7aabfa3a05f9b7ba9880209eaeab306022e4b46fd0eeef5b94";
sha512 = "bbf63ca0e0992c5102b047c5e41dd9a2dd04d38bcbb983393345a54679ddf100496082804d17c088f6dbb76bcaf1d9be39f0e45d1e1cb0abc33fef98a79bde7c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sq/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sq/thunderbird-45.7.1.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
sha512 = "a04e1b5d44fdaaec2ddc49d531eef3c7bb84347533f84e0974a243a5b3b90ba8acee63080ba191b5404432e4ec597ced4cd69d674d1ec50e21825ff79fbe7af1";
sha512 = "68f2977a84aa0a1fc94b19a3504733cb4168d5835244482e775b0200cc0e17a548cb3f4e29d81edffb9172d3faced2a8d459709ddb90e1957c6c05ff792ce05d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sr/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sr/thunderbird-45.7.1.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
sha512 = "f9439cb927e37769e3da2e511865114d9cb76d2a8de6de4b83f240606609501090fa8f0348c515aebe97d7214842c2731de24f3881baa32fc04b0d2779711704";
sha512 = "d0de9ea4f4cfb619d37b957b4260477522ae1c2df9af19e6001672f7f693015c09e8e74ff0278d0107abbb0483de0c9f6d251efaa3d9175947beb8c156145ae8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sv-SE/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sv-SE/thunderbird-45.7.1.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
sha512 = "db3c318588b029cac92b0d4f85da41aa09538e1c8941719fa2a87302d5d025e83c08a86ce720417b1dd8810b7284c1ff913bf299791c60b5babc1a81e7cbfdc4";
sha512 = "db4af37830a458808b9450b414b7e25aede621c602b344cfbb62f00fb610747ee48fe3a7aceb1a58c0b1fc397415ea7a9e0888e0cbd7116922f2bc28d09c6426";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ta-LK/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ta-LK/thunderbird-45.7.1.tar.bz2";
locale = "ta-LK";
arch = "linux-x86_64";
sha512 = "976fa4171b0f7f085cb5d5d5ca23cc009c26bde5bedc4c8ebd76e30d6dc75b19ba3022167639b4df03d85865f2c9e1725a70e2badae644622a233a1d74a3a989";
sha512 = "1db6844293dce004878176cb76df68e7c7b3fd1147b4e78bf647d155d1a7efe01e5126c088c96d26f78dd2c9de98e0703b7eedef1f2de1584a0cb835f9123c1b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/tr/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/tr/thunderbird-45.7.1.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
sha512 = "fd336f9880d03cf276d8749afbd605452344d3e7966a260e81020f59eb30166f10ba0d2bc17ff0e635a5cb1d15dad46cae36629526cc3383827ca162743c3642";
sha512 = "f05b1f63839a9d38431b9c1bce8a2f31ad242edc4df5b327f9f0a562dca1f94a9f3947ba55a517cca5dab9a96fc44b938496bf72086f1dd8d1399aa3170167a1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/uk/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/uk/thunderbird-45.7.1.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
sha512 = "3f9ae50655d274ed6a7022a2af0f9f403a835dd3d76027f176ddfddf4fc3095b1e5951cbdf043e449a34b387b7ad446740a01c2867573064039e3a1b34f7f66b";
sha512 = "303d6b4ea136dba2217301f6c42bd91e45ff635ffa1ab38ec0633d963a1bafc1625475bbd24383e5b9dcf233a19ab0a712e70891614e14207b651c4e65016456";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/vi/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/vi/thunderbird-45.7.1.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
sha512 = "82fccaecc5e654f4d49292bc8d45d7b27aed13a63df0cfd7eccd8b06131f5cb3053d1e3dda5e6cbeedfa6df275833fa38860c0ddb6cf59402b2e4c3aea208cad";
sha512 = "3f712c97073ff191bf2e16d61877711ca4faac204e85b2394015d53a4f600a3c0fa352787ccddf863379ebefce4020b3526f957f2556620e4632bcb20204421c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/zh-CN/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/zh-CN/thunderbird-45.7.1.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
sha512 = "d4d35875d1c0edc2d67cccf9804b5dbe66f4808155933515fa6c532f657856bde441c3bf1af9553d4417e4858ca64db112d4d9fbdbd1151cd22d38da09b7a895";
sha512 = "d986a5e9a60512ca4d398fc4fb503aa7980947eee68dfcd5c4a73bcc8b324c20c6a3be66855eece6d0d77019e6b22d8ae220058948488d197063f55a291a8865";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/zh-TW/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/zh-TW/thunderbird-45.7.1.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
sha512 = "0d7986de773742dbab8210aa97cf6c7d80b792cfae192a06a3cf1c0b39436431ce174c3b97c5421879eb261960bb5eeb52c8b22abcba208b531fd45896ba9124";
sha512 = "7dee7ced1c48aa6019eb80c66d2c68af9b5afe89ba3c147bd83e78532fab84fbdba8afce934ef8bb55a82837b84475797cad25710001e22fa522823bc60d6a96";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ar/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ar/thunderbird-45.7.1.tar.bz2";
locale = "ar";
arch = "linux-i686";
sha512 = "8ff8bb47f0a845139f813df40d021a215e498c38149b53f57094b4ee20484f4a0ad668337b6dc79ad8e84d6a6a9b9a99de6fed57accdf5b8dc123b0833961d0e";
sha512 = "0453a451bc0ef3704cf54121f7781f11c2a35c29fa407b36a1159bdb462daf35ac13da1cb0deca19b5b9456a4bc68c8bcfa12384dde82441a8e69c5376875d5a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ast/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ast/thunderbird-45.7.1.tar.bz2";
locale = "ast";
arch = "linux-i686";
sha512 = "8968e2f4d61b4753c6e1cc07a0f61ad6fbe0d205b29b424bfeda4bcdc3b23d3458561eca7287dded12196c008b6ad699f680b61aaf6dd7f4ee6dd7e813b25ed3";
sha512 = "4bc10c64922604b95dfb310f0415a8e49552378c51025511265e7f1e7f2cf7bd8f9e9c6b3e45f8806f2df9fd02db451014cae4de7c2e5ce57e48dc1288cb30b3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/be/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/be/thunderbird-45.7.1.tar.bz2";
locale = "be";
arch = "linux-i686";
sha512 = "2a3b2e5f101a6a69f425494934900d151545a026d8c77a4e08342d3816de5229802c834120e5a797b5691b55fb5e486d21b3dea189ce6ffb8e4323e0f2dc2051";
sha512 = "0fb8f8d0a2c7ea4455c0ff90b85e4ef6b0b6f8ccd08f9f9d4852743ebc1f6a6277011be82be979142097fe8cba853d244afad30749aaa423bd9ffcde9fc3a00a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/bg/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/bg/thunderbird-45.7.1.tar.bz2";
locale = "bg";
arch = "linux-i686";
sha512 = "09de26308307a0fc43dfde5a5033c737a79d76e80a4f5e457b87a8c8710dfe05acd1fd782e3b86872673c61b9d559162135b017a9f93dc3ef9d93c530b7f513b";
sha512 = "6d586700050d399e4058eb03931bc6915ec56a9270462a7a60846f66b884aea9627526b87b14a654166e30b8a1d43412ba8acfcb12ba4af8d3fd4fd15d4d7cbb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/bn-BD/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/bn-BD/thunderbird-45.7.1.tar.bz2";
locale = "bn-BD";
arch = "linux-i686";
sha512 = "040523cd6589834870b23de3660a81fd588e2d2ba8c727be6d19cf92ec0b669d79058a8139f0ca7a289493658324216f8fe3fcfeed2721fc54c7c3860bf1e0ef";
sha512 = "1cfa845129724a098cb913b3bcaf7174ab125321b35f58279ec9c11c04f7f991b37bb9000eeea4003cf033f6f0089992ebd0d7ebf1d6f8b4d7c558eb8c850d99";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/br/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/br/thunderbird-45.7.1.tar.bz2";
locale = "br";
arch = "linux-i686";
sha512 = "df02188626d3180ea0822756a116f1b6a4cee6178b0e0fc22bccc3970ea3aa5717b75cb5623f5dddadf354ac0c890acd4f13f434418b7431b944ccef2833aafa";
sha512 = "951631129aff5cbfc2695e1a5dddd88e855d57716ce335a15ae069b7bb4572d082495ddad9caea202c5d36f46f599cdcb8f028def63252f7888fb2ba24f4437f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ca/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ca/thunderbird-45.7.1.tar.bz2";
locale = "ca";
arch = "linux-i686";
sha512 = "2ab3ff92c2899ca294631e9b0a2402080493f478affb40eee4aad7b001c7a7d8f8cc81b5659c16d7d134c8ecf6e8f1447fd6daccf7ff82b03f283be55638bde3";
sha512 = "cae03ff18fb33f6d097836e5e7f5884f64e7c594eaaf77cb3a0e1f46214b878ef2de51c750bf1f849f5cfddc68da21c3fb72927ddf6824a89ae51e44378123fc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/cs/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/cs/thunderbird-45.7.1.tar.bz2";
locale = "cs";
arch = "linux-i686";
sha512 = "7ba56912a4ce6e87b6e4a1303f254608960aa2a156e7d246230e4dbaaf50f083b9f4afc52e89966caea6fd64eefe3dc9bbcdfccd1c0e65910efc49e44bfd5a76";
sha512 = "ea9ec870c91cc2eaab758a3585e20779d24734e62c285f1f591646f9aba92e33c6a7966b0b1e484f28ba0a2f40d74f918dc899c87518f052b793fb5d1cc867ce";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/cy/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/cy/thunderbird-45.7.1.tar.bz2";
locale = "cy";
arch = "linux-i686";
sha512 = "f74b4829ada40e7b507012ae77cef420d3e8f77b41e8adee352dd1f91300f090e98dafc852f7983d04a8eea4ae90d1978301c39347aa75ad68eec42822a9c1fb";
sha512 = "082d8f2fa527a75b8a388f84085a709cde9d9c455aaa2615f35bad0eb6962de0af163d515e0481edcbba29fb858095aebb05c0a3f25f33e1e14f7136b83a73d9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/da/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/da/thunderbird-45.7.1.tar.bz2";
locale = "da";
arch = "linux-i686";
sha512 = "29139a2f285a684952a209e898e444af2290b32940de11f3a93db472985bab2071d813dd69e73df5422f8088772cf76591a792b567a957d9a36aba54102603d0";
sha512 = "9ccb84b78ec7fbef596b64e76fae50bbc8af63eb0c0d37c6f81e1353f3afc242c0e3be9495d4b0125fc0500e0b4569df3e00d5e302f93f7007bcdf3089cf0c22";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/de/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/de/thunderbird-45.7.1.tar.bz2";
locale = "de";
arch = "linux-i686";
sha512 = "5cf919f3ff9911068b57afe972539a5f5c35335cc1b2462437cd31767d2b949305d77f30a839e89421c60a92abe63be3b4805acc0c5c37eb4f95e3e465449fc9";
sha512 = "a493f5e2c4c787f7c8f15d1d2da6f457a52af3deee161d3d9c031525eff48d2aeb294b6745e3ada079026f727db06baaca943d0711aeedb8df5bcd37c3f13286";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/dsb/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/dsb/thunderbird-45.7.1.tar.bz2";
locale = "dsb";
arch = "linux-i686";
sha512 = "989afa417e7819de693327caf9c13a8e2704aef0627795807c715e0c4a2bde9f2a5c67ea13d0a541cee79d74643cec58c07d1a8121ebc86ecf1c4b121c10f777";
sha512 = "4d1e7a0bf3f55d913aaa47c37ed5529c59240168f2a53faa4367d3c47e900e136d25446b2b4e465d05b3857fdf3671e9bc7f98be6fe7b42c1ec926d0216d6022";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/el/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/el/thunderbird-45.7.1.tar.bz2";
locale = "el";
arch = "linux-i686";
sha512 = "20679e832ded809351203c788ec4e87a303ee6dfeb56b5bdeb6745a59d8ec3980e42356126ee20abdba35143fe7f7e24112aa6ddd9059c7fa9b1919b730c4f06";
sha512 = "145bf4a0db9b2fd3b16637fed966d6c0f0d184eeb7ce373024609b869219720f73feb0c10b13c761a4214a88d68ceeee234ac50694ac16599a92e2fe6ea61e4a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/en-GB/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/en-GB/thunderbird-45.7.1.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
sha512 = "44b92fd4895d25e43e4875f2f654886f2bfbe1d97643eec7da098bff9046ce61a2423a55557911dc1c02bbb49e44d907b31adcb3743804ef358ce38d86691b0d";
sha512 = "1d3deeccfbba4a871a54eb4ad6077be1cf2e6fc7adb0ad0c04b3638db3b7fb3cbf66b55737befaef034d0b1671e9a53bdadc8d9ee7b3b9eb33a7c64e53ce5b2e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/en-US/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/en-US/thunderbird-45.7.1.tar.bz2";
locale = "en-US";
arch = "linux-i686";
sha512 = "3aad942932385264efd5eec81aeda2bae552b281f89416a6228f9f3b6f7f58e927fdf46d8da0064e51a792d2e4deefecc17717422ee911691a2305d72fa8f913";
sha512 = "b1340885d6c92da79ad99f9f491ca1f15429aca73759d4e5055c212f33af96f7a7d4446eec6bc37ffcff4371213051188d7211c021da50f25b85fcf445ca58dc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/es-AR/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/es-AR/thunderbird-45.7.1.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
sha512 = "28bb08df80f60ea268b4d8706a61cc6ead17c059d2d05d3017e6199a4c5c73bbb63c3159d9f35656749b6c1990a4938ebb6b10c1d016504b3346fbf9b18b6182";
sha512 = "307473247bbcf0064380b4d9f9bb12ea796c32dfc012af2d4246466aab880dc040a92f06e0917acdf2f930a9df0cc0fce39b17e4ff710ea2311f4b2250b90f53";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/es-ES/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/es-ES/thunderbird-45.7.1.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
sha512 = "dff7c77e94b7ad138b153e9a83934da72a2f57db5c1a6404a0c47fc26c2ae241b5c65ac56f499e54f8cf488a9fc9d144194326afb710f959bafdd4b9c56a7348";
sha512 = "3245ee600a95e1f59e8e7aabb521be96d88c1e59ae5cd29cc78825ed2c8c2abd1135dce1c2272d1eef2716717719947ca4b223359e1c56df406569b55226de61";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/et/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/et/thunderbird-45.7.1.tar.bz2";
locale = "et";
arch = "linux-i686";
sha512 = "a3ec79f99783b5ae9ce6b3d690f959bbb80f0a41396bde676f9b1bf8a68e39200525a35c8932123906dfbd84df4b6de19e0a9f27c2d3883b2a3c71c1349e5969";
sha512 = "b1cd90842d3888e555799cef84bd2e8d3eeb0c73abd4af9bab2a9db2b24ee90770f39d1376e63df567f8ab63778f6cde305ea8ba2a070aad36d6809a676a2344";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/eu/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/eu/thunderbird-45.7.1.tar.bz2";
locale = "eu";
arch = "linux-i686";
sha512 = "90255f58a358fa9e9b27d36b1b9b954d753ef584118f84405bf4b4d1dde4cf2a19c3dda91b30551f03b1d07c2f96c00f8ba72726fb2f4c325f7db82387fd45c2";
sha512 = "6278435a0f46cbd40514780beacda014c8528a79bb5d9be1366b0dd46dc71aa1f7a387311511e8d04cea3e78dd84157b97307df5bb69797b6d39cd299be18a33";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/fi/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fi/thunderbird-45.7.1.tar.bz2";
locale = "fi";
arch = "linux-i686";
sha512 = "d19f0a819a3b5b04038cfaf7adf3ec4da337789ad5fd809b27447427838140fffb35a5bab8a0e018d65fa467935fe691a578ce044eb57d746b4df48f879ac8c9";
sha512 = "000fbb4519ed626af2dfaec3d588f4ce567212b8a01c4aeae34b1f9e8ec6086ad45b90b57412fe830b8e236606d686e05c807e60bc2078df1364fd9f58d06d0e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/fr/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fr/thunderbird-45.7.1.tar.bz2";
locale = "fr";
arch = "linux-i686";
sha512 = "0e9204299add1f7ca774b59eae56d8a04c3a575894f9824d7d60c19769e2bd596def6537dd07cdc7e025ce2cf0220577864dd1f0701c2fdfb39c22e87ac03e83";
sha512 = "5120e880f297f8899ee6067660d65cf1ffd66d3ae6c16a888ab5e5e1b32f48a58aefef9a7023b1a8860987a5ca6399d69fd6df8e12838c00c305c3854c18582f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/fy-NL/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fy-NL/thunderbird-45.7.1.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
sha512 = "d62bb3d3fab33aa5556d80ae7331771f8ae8efd389d301c98aab57debb6aec0765bca89bf254819e3b7bcdda392a12f27771e344b486027cb8faa5fc051f5a05";
sha512 = "2e3b2a7cdcd4e5bcae6e46f86c5a4956f164ec37f4cb657ac18c1233c5b36b8c0f041e6930ea15adbcd8269662f9315e2822a9ed43be38a5fae8b7c747812035";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ga-IE/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ga-IE/thunderbird-45.7.1.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
sha512 = "30248eb96c52255c476dc43aa5232a1185143d5fc56a246fd8d1219c573a63eee1a583d96d470b8bcfdfa1e48f6fa8e49c10c990ee75936078dc5ba2612af533";
sha512 = "b4567af9057eaffe812feb43fa195474094fe1c0d804eb79a9dc936b93662cdfafd1c1f4bba51adda57abed677473fe2bd5e5ce9523659c931035b617a1e3ad7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/gd/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/gd/thunderbird-45.7.1.tar.bz2";
locale = "gd";
arch = "linux-i686";
sha512 = "853cd5f940c155aaabea87b2436282ee9e60de0744aa28426ebe7d5d3a2cda653c88c9fd5c1cb335fe5e4447b8b4eee79674dc5bb18a113e665906e13a5faadf";
sha512 = "1200cfb333861d2bd5013cfa5c764f202b7a2febadff5f4c8c0bc648f744af19362b07147e720c06046d4ceae7fac186c5bc33c1b637104241493f960a5c307c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/gl/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/gl/thunderbird-45.7.1.tar.bz2";
locale = "gl";
arch = "linux-i686";
sha512 = "3505a993c4f0062be5108096c104e8d2c34bbd677036f3facbc9e71cdff66dcdfcf720b02065e03e18030f81c3571d8d971febdbc8e593ea7cb3b52d5cdfa969";
sha512 = "10ec0d042e14c80d65af5ce7a271844553e4bfb96f349a16d94c5caed3c33fa35fb2065ec99b2ae1dfb7b1e47059f6f3ce730d6d293efdd380862fe18b03c877";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/he/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/he/thunderbird-45.7.1.tar.bz2";
locale = "he";
arch = "linux-i686";
sha512 = "183c71c1b5745d27d6e5a2a9f6131e5a8da942fac1e3c4b1111973d0c22441a264119a088c7f3fa525dda31c40177c6017b7e67f9e518f851c41a16180b88533";
sha512 = "7d7edbf3fd840fcf80c3d3491fcf9cbeed923b597840bdc16e7e43097cd5843554030e2690ff178f10ad97b0f447760bd06da87b4cae545dfb32c3b0f4668b68";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/hr/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hr/thunderbird-45.7.1.tar.bz2";
locale = "hr";
arch = "linux-i686";
sha512 = "485aa2be69afc9fc9576ef03b19d33423c15667096b57c5b6b47ab303d0ea5376c1a01a1d92a4c679874bff109a6206c585adcc6f6ed954ce17343722d4ba7ab";
sha512 = "28a2e3e0dcabecced0a9b66a5e11434fcbabe11257508eb481513e56a82d13c5bf36e79d8174fcd0080b0b310df4ada6f92f3d24fb67658d40db66823d18e0a6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/hsb/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hsb/thunderbird-45.7.1.tar.bz2";
locale = "hsb";
arch = "linux-i686";
sha512 = "8bf706f4b5662e5febd4a23cd939af570e75fcee4f0af2304b7239349eb4ee40a361eaf5cb02d103db4cb80c5962d9a549b282d0692dfb335dd1d0206ef9d604";
sha512 = "760c99978bc2a326fa5e5d8f9b4a6fc9420a8a3c95251b42dc3db26bb399942a5fdd08f3eff3eaea9f3bc96ca85b0523abdae3f72b7400f8bed136e906a8e79f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/hu/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hu/thunderbird-45.7.1.tar.bz2";
locale = "hu";
arch = "linux-i686";
sha512 = "de6aa8dc185ba3fed516fa478dc9c66211f26bde7e21d6b2b86b19ad58e192ca4540bc0847fbd5d24c4f32602f05577cffd2c3046f5282afbe55432d2ef16bd2";
sha512 = "4118ae0a62d7c8c6e68f7468040361091f98197c8135ba88ba9165ff3c807ae3ec8ac7e587224e9f45cb49290abe7c85aa11518714440db0f797f426fb73b5d5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/hy-AM/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hy-AM/thunderbird-45.7.1.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
sha512 = "2c9138c07246475d7fd9be05f631126f0051b2cb7ad688d6d4bc02254d5b9fce3eaebea7b8ff8df6e82d45211ca0279a03b8616d776dc30bc0a30f867ff01214";
sha512 = "664dade424cdca68158c98e531dc0b46ee5482f728b4f172684061da029c7dac76d80bcaa4c0228ff929a19e6bf11fd08890b3ed71fa6e23f442dba174de84da";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/id/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/id/thunderbird-45.7.1.tar.bz2";
locale = "id";
arch = "linux-i686";
sha512 = "2bed57e5998da429c80e2e04a4250c58bcdc17214a94a80d1d03bdefcbf7567bd65ac3ceb46f7b9d59ac37eec0bfe31f4050f02894be6828c2fc96488e4290f2";
sha512 = "58e48787ec26d8cfaa7be233055d95982d073ae8a1a01e4556d239e18598939ab6077f0aaa4b14051c6460730f89c1710a6dbb54ce5aaaa75967418f324073ab";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/is/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/is/thunderbird-45.7.1.tar.bz2";
locale = "is";
arch = "linux-i686";
sha512 = "ba2e12db8b2ef82971762bb13e802bdf1e65252843687b40dee0455e6de46083220904cdf51c492ccdb13c7390b8692e5d4db7e4f170c88b545ee17e50710083";
sha512 = "77e95822a92855c41ed557574ab3f0e464d8be21146139a1cbff243ae76b035ae0912e92c07513d4c5fc9d522a2da1a738dc7ab790f9327ecc6d94c0d577a124";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/it/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/it/thunderbird-45.7.1.tar.bz2";
locale = "it";
arch = "linux-i686";
sha512 = "e1fbedc1c8eb67cb0528ffc8c103cf0606a43240471e920fdc3cec4c3cd0ac357878992ee67a2eff90f8abf5c6654a27f17dc37c69d0d828d3e9c3fd0345e34a";
sha512 = "835a2059b02ffd019fefa2988bc2f05f456e5fc8b05badc7f5477a6958ba8fac1bc3539cc66ce6eca73fe86b4c70a172b609fa365e83593ff97405e9bbb533cd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ja/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ja/thunderbird-45.7.1.tar.bz2";
locale = "ja";
arch = "linux-i686";
sha512 = "2741dcc26e73c0ef5fee48b84b02c336310aa15004d4b7cc2781e80f045dd5ba5b21aacc9c90e223c22c4491914810c6df9435d025ea76929605fc6462f6713e";
sha512 = "11b6f0d2326bb89a6cf6d8452d2312eb8f7af616a0fcd43dd2b2263f52397c1c0a0a3ad7ceb67dd09b81a624adb95ed8a905bd7c9dba5f1d2a94114776257ff6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ko/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ko/thunderbird-45.7.1.tar.bz2";
locale = "ko";
arch = "linux-i686";
sha512 = "5236c168604748c2a3edb8f0ffeedaa51792fceb61e4b5439932324c8bf94304ff65598655f2c6f66260c253563a381cf99ab5c07dce89a3728afef346e48e66";
sha512 = "69f804d87a17072803b6e081dedcea57d633036299eaee9599b7df83604dd599234236b5b5b647da25c066633ee481e196fe9b219bc3da29d07b6dd55fdbf4f1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/lt/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/lt/thunderbird-45.7.1.tar.bz2";
locale = "lt";
arch = "linux-i686";
sha512 = "2c919f8835753afcf6f9d7cb027c1df8e00f6d197a0fe26e3de7222bed2a54028843974cf2b0ec2d88a29e22e6ad84192b1ecc3057528647db8b7e9eb29f040c";
sha512 = "4534bc70c43b108e59d7e7c15cb53e32f54c20e0ad21a5c0e1d309b3fec32db870ab8cb268d59b8964c526c28382cd89753ccc978e34d0aedd5c87eeeb525a5e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/nb-NO/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nb-NO/thunderbird-45.7.1.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
sha512 = "dbc4609240a5cf5e6db64360b386da196039fb6d7ac4517b8f5de5466dca830a06b284db2f7db7d4352f5cffe2122277e90b37b2a2533dd9a3a3ec1691c8824f";
sha512 = "13d4f6b638d6005ec854cac82b16c02dc347d0cd1eb804a056c106fb1031c11982973abbfbd319f4925264a1095cce8bede670f68c2efc9bd4be49ceb6b2f2a3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/nl/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nl/thunderbird-45.7.1.tar.bz2";
locale = "nl";
arch = "linux-i686";
sha512 = "b7f0517d2eda98ab6d6de52513eb7493231eb1e319862256798280c1fc924af8a0f3330bf8aac01916b54d54b2b5c7427897a6b2516229e4387a77424a349f4c";
sha512 = "b6e49ff5a473dee02bb749481924fdbb345be2d532119dde93f80396a29da726b0450e2f2ee522454c8dcef74b09dfcb57474264873b873beeaa6edc81853fb2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/nn-NO/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nn-NO/thunderbird-45.7.1.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
sha512 = "cf3ffbc00fb2553bf87da5f0efbd5d115d717de04a047f0cbdc17bb500dc05880495b3242c5d75801374418d1aa6f173303cad7f9325558cd6da6c67d42b675c";
sha512 = "3992cb6ca869e9470bb30042ba3c8d1710511a2170504a5a65cafa4a9091492903509ddd366c29f5e9e7ada9ac657416972002a297a57550a418031a7ed6ee0f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/pa-IN/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pa-IN/thunderbird-45.7.1.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
sha512 = "70d224c9145cf6225335cdbbfd137d73131651fa22cc326657c0e75c3c1c4a73730c4193d575da5c7881bb607ddfebd74ce428a1425e12b60e5dfeac661bad02";
sha512 = "6aca05743fe7383490cd94281fe1d0c64451832e128b8b3da5d2643bf59f05cdcfe2130ba5218f7e314ac7c55b126ad62d4d24f987b215bfe767a17d6a8eeeed";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/pl/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pl/thunderbird-45.7.1.tar.bz2";
locale = "pl";
arch = "linux-i686";
sha512 = "664c04d5650c24ae6c2422b41dbaf737fe83b8cd142a869b5ce4042688bc3c4da26fea9bd034a9ab978cd8404cabc90822c3ba23983fb75bfd0118570b0eb9d5";
sha512 = "0b8969b08e11792c547d666843799459e27d3732f4e56ab64d7624df4360e6cf65fc2cce538ffd0a287f239cf6c57ebe7aad68bd397c0f56a85dcc499f35e4a5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/pt-BR/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pt-BR/thunderbird-45.7.1.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
sha512 = "a25f39972af8ce6181ca703b7f35307e74c436a476e1a3482d770aca41275b98373ad8279ba0095c68b5518c525d0813a3d215712d65aef661af8cef5d97ae52";
sha512 = "4a921106175214b7fd029e27e19f4442a50076d08c2bf6f6ad4b27c1c37730d2f90ac4bd058363395777d336e5170bdd48276f71b0d253375d32daac9af66412";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/pt-PT/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pt-PT/thunderbird-45.7.1.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
sha512 = "4fab35699dc609be69a1d613b5996d412b6c79c2b79f04466ea862713509abee1f12e1188371374027a37df953dda810d44dc066c9cfad2737bd5dd433beb522";
sha512 = "f64a4396570349d2f520f8eeca157a012e028cba1e3cf592f5e11807997b4501a2af829dd4920ffac5fee8c50bd691d037aa86bbe9396305352ed4710e854e25";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/rm/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/rm/thunderbird-45.7.1.tar.bz2";
locale = "rm";
arch = "linux-i686";
sha512 = "4167aabf7a012824637ecc1e356b983e79a91c02d5079bb2d99546c99fdd3e7631323420d78d4b8fda596d8a9bec82ebb02d0a8092af5c71ff3b7536ecb77df8";
sha512 = "540d6db390cbe93dbb607f84286e445da5234b01c55846f3d3a91cc61d30d1d32f0216fbfefc0ab0d7a60c5369a63aaab385c73362adf1a0595db57282dad01e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ro/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ro/thunderbird-45.7.1.tar.bz2";
locale = "ro";
arch = "linux-i686";
sha512 = "b642339e49fc0c06481d9fcfdbcc1234ec2313ffbe0c6825d34ae1447b128afe1c20c5c983a565be1a42d740a9989548b59c9fbb737e952d7aca0804d41be75e";
sha512 = "37cede489bb3082efa853f310dec5293baa411abcf15e9f193a760768cfc2b9f7be952bb6225bf901a0097bc19e77d9133c0e6dfed880c6e33cef250e80ff0f1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ru/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ru/thunderbird-45.7.1.tar.bz2";
locale = "ru";
arch = "linux-i686";
sha512 = "08e4b72edc6a4625639e313acfa6caddd0d82630930d32eb6c01f3e4a5fcb5e62836856c4f8e27e1855a14eacf66fe84078bb7445a8f809dbe31c41b86818a26";
sha512 = "b091376e3937712f5f92ac789dbe39b90e1b486b4409325341dadb06d4a4a3ff4fa9438d8da2fb5b7923beab4ec6b568d6be309cd22a68c277c822614205734d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/si/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/si/thunderbird-45.7.1.tar.bz2";
locale = "si";
arch = "linux-i686";
sha512 = "1464769f4b50a7cf2eb8b51a6040bb623a5d7942665943ac16f3659139724253ba8b75cf6987c3e67e7d88c7a7d680aa34800672fdcfaf6c130e3690316fcba4";
sha512 = "bb53ecebf56785d7ede52b7a0afed0a01e6248d537ccd8bcd236a837fed86b3f390cf9493f1c2d6d6d58c0d349cd6cfef2a59996fd7766ee77f25dc1af75faca";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sk/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sk/thunderbird-45.7.1.tar.bz2";
locale = "sk";
arch = "linux-i686";
sha512 = "63b2cdbde995f2977e2047a9d0966358d10ad717e16ec1e7b013973203dea5cfa48cd3677407a21d89783496babee62c912887591b09701be95295f67878448d";
sha512 = "c13c32cf17b0291bf049c2790fce2066e8b07aa2f30fb7bbecaf8cb88b4660bbf07506cb04e5aa8b756a35371d25c5a793b54d0134a81027946d35109e7714a9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sl/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sl/thunderbird-45.7.1.tar.bz2";
locale = "sl";
arch = "linux-i686";
sha512 = "82d43393eb873c96334ee994d07f9fe4873efeda9dc326a1398ddfcbd02a83c2b20c1d78c0e1f88f5c1a4c4b4008c94eff07912696cffb2cd7d5340cfef7d5b2";
sha512 = "be0d2a0e501f074329b815f61c1ce04337499c7a88f58e3526e762b47c82ccd975c22063a363a338e22bfc12ad3403107751f66376b1d269101b660e391e7437";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sq/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sq/thunderbird-45.7.1.tar.bz2";
locale = "sq";
arch = "linux-i686";
sha512 = "5fb9aae5dd7e39e60ca17c4ba12c418f0ef75952f35537ae3ff4b1f57914f9ddcc5e8c8dbfcbad2c4a29911a6e48b6e96514759112170bb377b7883484f7a83b";
sha512 = "1aadc162591de3467af622c3e1fc7655885d7831d2faa470a5f53b2fb12a42dfbd44f3a942dc4089a28235942ba0e46749810a88adbb396e1417f7ed0fc07586";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sr/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sr/thunderbird-45.7.1.tar.bz2";
locale = "sr";
arch = "linux-i686";
sha512 = "b1fa8938971d0736da1e297fb8a431750e8a1681250015aa249d3e6a1b797933c47e3ab43516cdc199ac4213b4e3505b8ce68264ed342a53bba7e4d86ef64e6b";
sha512 = "aab1299fb2e2b022bfaaa6403461bd2f5ed70d5fea77ea29936fea465984cc57bfa1ed5be1e8968138e757118d1caa3eb664388fddb04d0008abe932035c818e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sv-SE/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sv-SE/thunderbird-45.7.1.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
sha512 = "ed008ecc0355faf21e79121c9987823220b9ff796df22ab59ccf79dbfc336d998df51f13500a9a189fd40900a9fec52cb53be0811e391a48d4149f021bfffd77";
sha512 = "11ce9c1b444adb242e826d4e1e8ab88e2272ac6b77f68f9d2a860c75e421c7b69f1841d0a4fef0b9b4d3a636678f0d57d5abb985f5fda6b5afd6cfb319f39b14";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ta-LK/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ta-LK/thunderbird-45.7.1.tar.bz2";
locale = "ta-LK";
arch = "linux-i686";
sha512 = "4bd8c5a05706f88b2678331e8096d0b04d2717bfc9e6f22d6abf00881fcea46c4de50bf435d51a1022c9217ce837668439d152d0dd257ac2e77fdea44421810f";
sha512 = "e46dff7831a6805917d2982347e4899aea9c726bcbf1e0b081c8ead225d585df1d0e9c485729d28483fd7ea8e0e5a47598fa9146f0138ed8ed65162c8191a381";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/tr/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/tr/thunderbird-45.7.1.tar.bz2";
locale = "tr";
arch = "linux-i686";
sha512 = "0f3aa7228a605df6e2f5fcaddfb95009ea6b9084791d876ed1fca148ba11b08646ea1265bb1d6771e681f5b33317ea43381ef271842d263e7c387942447a3748";
sha512 = "158e4d49beae2af88c9aeddf5933e58a73541d0acc960d3965159662dd18ec876fd9a598b7bdba31261f8eeccf1595eb5e66ace3656658b3557c1482b7a4263f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/uk/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/uk/thunderbird-45.7.1.tar.bz2";
locale = "uk";
arch = "linux-i686";
sha512 = "825ff1066f1b533ac5091fa74a050fdc760145f378126b2b7cb63b9bf3e58936372d475fa5b2b900cb79ea99f553a4228182c09c1483ded6f2256a831966d37e";
sha512 = "0d298daa6b416b60b696d57ae7508f56749f1fdc7f8d4ca3514fc106b91567fcc3bf41881cce398d431c0aa0b6bb9d5913d25abcded8e68628fe54fae3cbec25";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/vi/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/vi/thunderbird-45.7.1.tar.bz2";
locale = "vi";
arch = "linux-i686";
sha512 = "b8fdfe8463c99695219a59f2951363685249a6ced9ecb38b7e25455b4102baf334e69437b15bdcb06ca36575367b13cd3331d7ac5e0349d8fdcb4350b70cc680";
sha512 = "f3e21ff0bf5b0b57bf6a3d1564ec0194c4c4b8987e0db89c84662e091131601526cd1b109e113fa8738d6b16d61220df1ef6c09acfd46c154de7e86dd9aa744b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/zh-CN/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/zh-CN/thunderbird-45.7.1.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
sha512 = "f41c99d2a972210e0999fd6a509ffed9fa34edee23f7925c8dccdd5f492aef7c15fb3fc995ea549d095746302852e3957b9da01346277a2ed6b3efafa1a2acb1";
sha512 = "ad624ccf882b3703de853d67b9fb2d53fa4a69a20353638dc108750b35b486f2333307e7fb947e39a76f32cc204459347fe9c52e5c6c60c8b9210d9f7ca68632";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/zh-TW/thunderbird-45.7.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/zh-TW/thunderbird-45.7.1.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
sha512 = "d903664c9cefe044e0871b527d0a2f45812312c99f541832887abdef46d6c741085f807bf09a9e6f83d24992377ced5a84534a33f933025dd6bde11a7aa8cde3";
sha512 = "877e9fbfd4421fecb01d94142ae753c7b90b7a1430a01dfdfbf916e4505a1b647fc3f75d896558437e7d5c4ae3a0aefe0892881f4bec7ce9ab672d7b44c337b3";
}
];
}

View file

@ -14,7 +14,7 @@
enableOfficialBranding ? false
}:
let version = "45.7.0"; in
let version = "45.7.1"; in
let verName = "${version}"; in
stdenv.mkDerivation rec {
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://mozilla/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.xz";
sha512 = "99cea54b553158c1e08cf19157ac2bb6822fd1fef0501d36f983e6b8d4f2143a2e6124d61297446944033d3fed9326fe0f12ca45db0b5815be71a0777e73ffb0";
sha512 = "aa1231169cfe243a257e6b9088281b85d0cf75207e3b9ebeda7792567a86f6098fb5c74dc397e3eeeb1925d221d2fb1b17df8762afd115eff9ad4d1370a49e56";
};
patches = [ ./gcc6.patch ];

View file

@ -1,67 +1,76 @@
{ stdenv
, fetchurl
, cmake
, openssl
, printerSupport ? true, cups
, pkgconfig
, zlib
, libX11
, libXcursor
, libXdamage
, libXext
, alsaLib
, ffmpeg
, libxkbfile
#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
, libXinerama
, libXv
, pulseaudioSupport ? true, libpulseaudio
{ stdenv, lib, fetchFromGitHub, substituteAll, cmake, pkgconfig
, alsaLib, ffmpeg_2, glib, openssl, pcre, zlib
, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv
, libxkbcommon, libxkbfile
, wayland
, gstreamer, gst-plugins-base, gst-plugins-good
, libpulseaudio ? null
, cups ? null
, pcsclite ? null
, systemd ? null
, buildServer ? true
, optimize ? true
}:
assert printerSupport -> cups != null;
stdenv.mkDerivation rec {
name = "freerdp-${version}";
version = "1.0.2";
name = "freerdp-git-${version}";
version = "20170201";
src = fetchurl {
url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
sha256 = "1w9dk7dsbppspnnms2xwwmbg7jm61i7aw5nkwzbpdyxngbgkgwf0";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = "6001cb710dc67eb8811362b7bf383754257a902b";
sha256 = "0l2lwqk2r8rq8a0f91wbb30kqg21fv0k0508djpwj0pa9n73fgmg";
};
buildInputs = [
cmake
openssl
pkgconfig
zlib
libX11
libXcursor
libXdamage
libXext
alsaLib
ffmpeg
libxkbfile
# xmlto docbook_xml_dtd_412 docbook_xml_xslt
libXinerama
libXv
] ++ stdenv.lib.optional printerSupport cups;
# outputs = [ "bin" "out" "dev" ];
configureFlags = [
"--with-x" "-DWITH_MANPAGES=OFF"
] ++ stdenv.lib.optional printerSupport "--with-printer=cups"
++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
prePatch = ''
export HOME=$TMP
substituteInPlace "libfreerdp/freerdp.pc.in" \
--replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
'';
meta = {
patches = with lib; [
] ++ optional (pcsclite != null)
(substituteAll {
src = ./dlopen-absolute-paths.diff;
inherit pcsclite;
});
buildInputs = with lib; [
alsaLib cups ffmpeg_2 glib openssl pcre pcsclite libpulseaudio zlib
gstreamer gst-plugins-base gst-plugins-good
libX11 libXcursor libXdamage libXext libXi libXinerama libXrandr libXrender libXv
libxkbcommon libxkbfile
wayland
] ++ optional stdenv.isLinux systemd;
nativeBuildInputs = [
cmake pkgconfig
];
doCheck = false;
cmakeFlags = with lib; [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DWITH_CUNIT=OFF"
"-DWITH_OSS=OFF"
] ++ optional (libpulseaudio != null) "-DWITH_PULSE=ON"
++ optional (cups != null) "-DWITH_CUPS=ON"
++ optional (pcsclite != null) "-DWITH_PCSC=ON"
++ optional buildServer "-DWITH_SERVER=ON"
++ optional optimize "-DWITH_SSE2=ON";
meta = with lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = http://www.freerdp.com/;
license = stdenv.lib.licenses.free;
platforms = stdenv.lib.platforms.linux;
broken = true;
license = licenses.asl20;
maintainers = with maintainers; [ wkennington peterhoeg ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,73 @@
{ stdenv
, fetchurl
, cmake
, openssl
, glib, pcre
, printerSupport ? true, cups
, pkgconfig
, zlib
, libX11
, libXcursor
, libXdamage
, libXext
, alsaLib
, ffmpeg
, libxkbfile
#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
, libXfixes
, libXinerama
, libXv
, pulseaudioSupport ? true, libpulseaudio
}:
assert printerSupport -> cups != null;
stdenv.mkDerivation rec {
name = "freerdp-${version}";
version = "1.2.0-beta1+android9";
src = fetchurl {
url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
sha256 = "181w4lkrk5h5kh2zjlx6h2cl1mfw2aaami3laq3q32pfj06q3rxl";
};
buildInputs = [
cmake
openssl
glib pcre
pkgconfig
zlib
libX11
libXcursor
libXdamage
libXext
alsaLib
ffmpeg
libxkbfile
# xmlto docbook_xml_dtd_412 docbook_xml_xslt
libXinerama
libXv
] ++ stdenv.lib.optional printerSupport cups;
preConfigure = ''
export HOME=$TMP
'';
configureFlags = [
"--with-x" "-DWITH_MANPAGES=OFF"
] ++ stdenv.lib.optional printerSupport "--with-printer=cups"
++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
meta = with stdenv.lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = http://www.freerdp.com/;
license = licenses.free;
platforms = platforms.linux;
};
}

View file

@ -1,56 +0,0 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, zlib, libX11, libXcursor
, libXdamage, libXext, libXrender, glib, alsaLib, ffmpeg, libxkbfile, libXinerama, libXv
, substituteAll
, libpulseaudio ? null, cups ? null, pcsclite ? null
, buildServer ? true, optimize ? true
}:
stdenv.mkDerivation rec {
name = "freerdp-2.0-dev";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = "1855e36179fb197e713d41c4ef93e19cf1f0be2f";
sha256 = "1lydkh6by0sjy6dl57bzg7c11ccyp24s80pwxw9h5kmxkbw6mx5q";
};
prePatch = ''
substituteInPlace "libfreerdp/freerdp.pc.in" --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
'';
patches = [
] ++ stdenv.lib.optional (pcsclite != null)
(substituteAll {
src = ./dlopen-absolute-paths.diff;
inherit pcsclite;
});
buildInputs = [
cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext libXrender glib
alsaLib ffmpeg libxkbfile libXinerama libXv cups libpulseaudio pcsclite
];
doCheck = false;
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DWITH_CUNIT=OFF"
] ++ stdenv.lib.optional (libpulseaudio != null) "-DWITH_PULSE=ON"
++ stdenv.lib.optional (cups != null) "-DWITH_CUPS=ON"
++ stdenv.lib.optional (pcsclite != null) "-DWITH_PCSC=ON"
++ stdenv.lib.optional buildServer "-DWITH_SERVER=ON"
++ stdenv.lib.optional optimize "-DWITH_SSE2=ON";
meta = with stdenv.lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = http://www.freerdp.com/;
license = licenses.asl20;
maintainers = with maintainers; [ wkennington ];
platforms = platforms.unix;
};
}

View file

@ -10,7 +10,7 @@
}:
let
version = "1.2.0-rcgit.15";
version = "1.2.0-rcgit.17";
desktopItem = makeDesktopItem {
name = "remmina";
@ -22,41 +22,33 @@ let
categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
};
# Latest release of remmina refers to thing that aren't yet in
# a FreeRDP release so we need to build one from git source
# See also https://github.com/FreeRDP/Remmina/pull/731
# Remove when FreeRDP release catches up with this commit
freerdp_git = stdenv.lib.overrideDerivation freerdp (args: {
name = "freerdp-git-2016-09-30";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = "dbb353db92e7a5cb0be3c73aa950fb1113e627ec";
sha256 = "1nhm4v6z9var9hasp4bkmhvlrksbdizx95swx19shizfc82s9g4y";
};
});
in
stdenv.mkDerivation {
in stdenv.mkDerivation {
name = "remmina-${version}";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "Remmina";
rev = "v${version}";
sha256 = "07lj6a7x9cqcff18pwfkx8c8iml015zp6sq29dfcxpfg4ai578h0";
sha256 = "1vfg8sfpj83ircp7ny6xsbn2ba5xbp3xrdl5wwyfcg1zrpdmi7f1";
};
buildInputs = [ cmake pkgconfig wrapGAppsHook gsettings_desktop_schemas
glib gtk3 gettext libxkbfile libgnome_keyring libX11
freerdp_git libssh libgcrypt gnutls
freerdp libssh libgcrypt gnutls
pcre webkitgtk libdbusmenu-gtk3 libappindicator-gtk3
libvncserver libpthreadstubs libXdmcp libxkbcommon
libsecret spice_protocol spice_gtk epoxy at_spi2_core
openssl hicolor_icon_theme adwaita-icon-theme ];
cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF -DWINPR_INCLUDE_DIR=${freerdp_git}/include/winpr2";
cmakeFlags = [
"-DWITH_VTE=OFF"
"-DWITH_TELEPATHY=OFF"
"-DWITH_AVAHI=OFF"
"-DFREERDP_LIBRARY=${freerdp}/lib/libfreerdp2.so"
"-DFREERDP_CLIENT_LIBRARY=${freerdp}/lib/libfreerdp-client2.so"
"-DFREERDP_WINPR_LIBRARY=${freerdp}/lib/libwinpr2.so"
"-DWINPR_INCLUDE_DIR=${freerdp}/include/winpr2"
];
preFixup = ''
gappsWrapperArgs+=(

View file

@ -11,9 +11,11 @@ stdenv.mkDerivation (rec {
buildInputs = [ ocaml makeWrapper ncurses ];
preBuild = if enableX11 then ''
preBuild = (if enableX11 then ''
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" Makefile.OCaml
'' else "";
'' else "") + ''
echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> fsmonitor/linux/Makefile
'';
makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "")
+ (if ! ocaml.nativeCompilers then " NATIVE=false" else "");

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, qt5Full, lzo, libX11 }:
{ stdenv, fetchurl, qmakeHook, qtbase, qtwebkit, qtx11extras, lzo, libX11 }:
stdenv.mkDerivation rec {
name = pname + "-" + version;
@ -8,10 +8,13 @@ stdenv.mkDerivation rec {
url = "http://www.molspaces.com/dl/progs/${name}.tar.gz";
sha256 = "0yz79v023w1229wzck3gij0iqah1xg8rg4a352q8idvg7bdmyfin";
};
buildInputs = [ qt5Full lzo libX11 ];
QTDIR=qt5Full;
configurePhase =''
./configure --prefix $out
buildInputs = [ qtbase qtwebkit qtx11extras lzo libX11 ];
nativeBuildInputs = [ qmakeHook ];
configurePhase = ''
runHook preConfigure
./configure --prefix $out --qmakepath $QMAKE
runHook postConfigure
'';
meta = with stdenv.lib; {
@ -21,4 +24,4 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
};
}
}

View file

@ -129,6 +129,7 @@ in stdenv.mkDerivation rec {
sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
# not sure about this fragile test
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
'';

View file

@ -128,6 +128,7 @@ in stdenv.mkDerivation rec {
sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
'';
makeFlags = "SHELL=${bash}/bin/bash";

View file

@ -0,0 +1,37 @@
{ stdenv, fetchurl, gcc, zlib, python27 }:
stdenv.mkDerivation rec {
name = "ecopcr-0.8.0";
src = fetchurl {
url = "https://git.metabarcoding.org/obitools/ecopcr/uploads/6f37991b325c8c171df7e79e6ae8d080/${name}.tar.gz";
sha256 = "10c58hj25z78jh0g3zcbx4890yd2qrvaaanyx8mn9p49mmyf5pk6";
};
sourceRoot = "ecoPCR/src";
buildInputs = [ gcc python27 zlib ];
installPhase = ''
mkdir -p $out/bin
cp -v ecoPCR $out/bin
cp -v ecogrep $out/bin
cp -v ecofind $out/bin
cp -v ../tools/ecoPCRFormat.py $out/bin/ecoPCRFormat
chmod a+x $out/bin/ecoPCRFormat
'';
meta = with stdenv.lib; {
description = "Electronic PCR software tool";
longDescription = ''
ecoPCR is an electronic PCR software developed by the LECA. It
helps you estimate Barcode primers quality. In conjunction with
OBITools, you can postprocess ecoPCR output to compute barcode
coverage and barcode specificity. New barcode primers can be
developed using the ecoPrimers software.
'';
homepage = https://git.metabarcoding.org/obitools/ecopcr/wikis/home;
license = licenses.cecill20;
maintainers = [ maintainers.metabar ];
};
}

View file

@ -1,10 +1,10 @@
{stdenv, fetchurl, readline, perl, libX11, libpng, libXt, zlib}:
stdenv.mkDerivation {
name = "emboss-6.0.1";
name = "emboss-6.6.0";
src = fetchurl {
url = ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.0.1.tar.gz;
sha256 = "0g939k9wmpvmy55hqmbbzj6kj6agg4izymv492zqiawxm812jd9y";
url = "ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz";
sha256 = "7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e";
};
# patch = fetchurl {
# url = ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-9.gz;

View file

@ -11,7 +11,7 @@
}:
let
version = "2.11.0";
version = "2.11.1";
svn = subversionClient.override { perlBindings = true; };
in
@ -20,7 +20,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "02zx368id8rys0bh2sjrxz0ln2l2wm5nf1vhp1rj72clsilqszky";
sha256 = "05b4jw86w77c3pyh3nm6aw31vhxwzvhnx2x0bcfqmm15wg57k9y0";
};
hardeningDisable = [ "format" ];

View file

@ -1,122 +0,0 @@
{ stdenv, fetchurl, fetchpatch
, SDL, SDL_mixer, gstreamer, gst_plugins_base, gst_plugins_good
, gst_ffmpeg, speex
, libogg, libxml2, libjpeg, mesa, libpng, libungif, libtool
, boost, freetype, agg, dbus, curl, pkgconfig, gettext
, glib, gtk2, gtkglext, pangox_compat, xlibsWrapper, ming, dejagnu, python, perl
, freefont_ttf, haxe, swftools
, lib, makeWrapper
, xulrunner }:
assert stdenv ? glibc;
let version = "0.8.10";
patch_CVE = fetchpatch {
url = "http://git.savannah.gnu.org/cgit/gnash.git/patch/?id=bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527";
sha256 = "0ghnki5w7xf3qwfl1x6vhijpd6q608niyxrvh0g8dw5xavkvallk";
name = "CVE-2012-1175.patch";
};
in
stdenv.mkDerivation rec {
name = "gnash-${version}";
src = fetchurl {
url = "mirror://gnu/gnash/${version}/${name}.tar.bz2";
sha256 = "090j5lly5r6jzbnvlc3mhay6dsrd9sfrkjcgqaibm4nz8lp0f9cn";
};
patchPhase = ''
patch -p1 < ${patch_CVE}
# Add all libs to `macros/libslist', a list of library search paths.
libs=$(echo "$NIX_LDFLAGS" | tr ' ' '\n' | sed -n 's/.*-L\(.*\).*/\1/p')
for lib in $libs; do
echo -n "$lib " >> macros/libslist
done
echo -n "${stdenv.glibc.out}/lib" >> macros/libslist
# Make sure to honor $TMPDIR, for chroot builds.
for file in configure gui/Makefile.in Makefile.in
do
sed -i "$file" -es'|/tmp/|$TMPDIR/|g'
done
# Provide a default font.
sed -i "configure" \
-e 's|/usr/share/fonts/truetype/freefont/|${freefont_ttf}/share/fonts/truetype/|g'
'';
enableParallelBuilding = true;
# XXX: KDE is supported as well so we could make it available optionally.
buildInputs = [
gettext xlibsWrapper SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
gst_ffmpeg speex libtool
libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
dbus curl pkgconfig glib gtk2 gtkglext pangox_compat
xulrunner
makeWrapper
]
++ (stdenv.lib.optionals doCheck [
ming dejagnu python perl haxe swftools
]);
preConfigure =
'' configureFlags=" \
--with-sdl-incl=${SDL.dev}/include/SDL \
--with-npapi-plugindir=$out/plugins \
--enable-media=gst \
--without-gconf
--enable-gui=gtk"
# In `libmedia', Gnash compiles with "-I$gst_plugins_base/include",
# whereas it really needs "-I$gst_plugins_base/include/gstreamer-0.10".
# Work around this using GCC's $CPATH variable.
export CPATH="${gst_plugins_base}/include/gstreamer-0.10:${gst_plugins_good}/include/gstreamer-0.10"
echo "\$CPATH set to \`$CPATH'"
echo "\$GST_PLUGIN_PATH set to \`$GST_PLUGIN_PATH'"
'';
postConfigure = "echo '#define nullptr NULL' >> gnashconfig.h";
# Make sure `gtk-gnash' gets `libXext' in its `RPATH'.
NIX_LDFLAGS="-lX11 -lXext";
# XXX: Tests currently fail.
doCheck = false;
preInstall = ''mkdir -p $out/plugins'';
postInstall = ''
make install-plugins
# Wrap programs so the find the GStreamer plug-ins they need
# (e.g., gst-ffmpeg is needed to watch movies such as YouTube's).
for prog in "$out/bin/"*
do
wrapProgram "$prog" --prefix GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"
done
'';
meta = {
homepage = http://www.gnu.org/software/gnash/;
description = "A libre SWF (Flash) movie player";
longDescription = ''
Gnash is a GNU Flash movie player. Flash is an animation file format
pioneered by Macromedia which continues to be supported by their
successor company, Adobe. Flash has been extended to include audio and
video content, and programs written in ActionScript, an
ECMAScript-compatible language. Gnash is based on GameSWF, and
supports most SWF v7 features and some SWF v8 and v9.
'';
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu;
broken = true;
};
} // {mozillaPlugin = "/plugins";}

View file

@ -236,13 +236,13 @@ in
pvr-hts = (mkKodiPlugin rec {
plugin = "pvr-hts";
namespace = "pvr.hts";
version = "3.4.4";
version = "3.4.16";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hts";
rev = "343ca980982d87c778696e42e52eff763cadee4a";
sha256 = "03jk45nk1c5j7zwj6l8s8jyf6ijhisp1r16xg6n5561bm3cfk0b9";
rev = "b39e4e9870d68841279cbc7d7214f3ad9b27f330";
sha256 = "0pmlgqr4kd0gvckz77mj6v42kcx6lb23anm8jnf2fbn877snnijx";
};
meta = with stdenv.lib; {

View file

@ -1,5 +1,5 @@
{ stdenv, fetchgit
, pkgconfig, qt5, alsaLib, libv4l, xorg
, pkgconfig, qtbase, qttools, qmakeHook, qtx11extras, alsaLib, libv4l, libXrandr
, ffmpeg
}:
@ -12,13 +12,14 @@ stdenv.mkDerivation {
};
buildInputs = [
alsaLib.dev
libv4l.dev
alsaLib
libv4l
pkgconfig
qt5.full
qt5.qmakeHook
qt5.qtx11extras
xorg.libXrandr.dev
qtbase
qttools
qmakeHook
qtx11extras
libXrandr
];
patches = [

View file

@ -12,7 +12,7 @@ let
stage1Dir = "lib/rkt/stage1-images";
in stdenv.mkDerivation rec {
version = "1.23.0";
version = "1.24.0";
name = "rkt-${version}";
BUILDDIR="build-${name}";
@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
owner = "coreos";
repo = "rkt";
rev = "v${version}";
sha256 = "0fgvc3s8rb6da3jgrd8jmqv9xky7mq1y184jbm4lgy0rds4zhkf4";
sha256 = "11vp3pm00xsksdgdv67sgvrrpj3ayp7sx1wprn4aa579vbbr83bd";
};
stage1BaseImage = fetchurl {

View file

@ -0,0 +1,23 @@
{ stdenv, fetchurl, ocamlPackages }:
stdenv.mkDerivation rec {
name = "virt-top-${version}";
version = "1.0.8";
src = fetchurl {
url = "https://people.redhat.com/~rjones/virt-top/files/virt-top-${version}.tar.gz";
sha256 = "04i1sf2d3ghilmzvr2vh74qcy009iifyc2ymj9kxnbkp97lrz13w";
};
buildInputs = with ocamlPackages; [ ocaml findlib ocaml_extlib ocaml_libvirt ocaml_gettext curses csv xml-light ];
buildPhase = "make opt";
meta = with stdenv.lib; {
description = "A top-like utility for showing stats of virtualized domains";
homepage = https://people.redhat.com/~rjones/virt-top/;
license = licenses.gpl2;
maintainers = [ maintainers.volth ];
platforms = platforms.linux;
};
}

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
name = "jwm-${version}";
version = "1575";
version = "1580";
src = fetchFromGitHub {
owner = "joewing";
repo = "jwm";
rev = "s${version}";
sha256 = "0dw0f29s04jglncavgqr7h9h791f7vw3lb3dcwrgmzk5v50v4nx9";
sha256 = "098m54mn8f1vzdb7j6zmlflid7a4yjinbdh7avg2a0z45nl1znb4";
};
nativeBuildInputs = [ pkgconfig automake autoconf libtool gettext which ];

View file

@ -128,7 +128,7 @@ rec {
];
samba = [
http://samba.org/ftp/
https://www.samba.org/ftp/
http://ftp.riken.jp/net/samba
];

View file

@ -0,0 +1,33 @@
{stdenv, fetchurl, unzip}:
stdenv.mkDerivation rec {
name = "liberastika-${version}";
version = "1.1.5";
src = fetchurl {
url = "mirror://sourceforge/project/lib-ka/liberastika-ttf-${version}.zip";
sha256 = "0vg5ki120lb577ihvq8w0nxs8yacqzcvsmnsygksmn6281hyj0xj";
};
buildInputs = [ unzip ];
sourceRoot = ".";
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp -v $(find . -name '*.ttf') $out/share/fonts/truetype
mkdir -p "$out/doc/${name}"
cp -v AUTHORS ChangeLog COPYING README "$out/doc/${name}" || true
'';
meta = with stdenv.lib; {
description = "Liberation Sans fork with improved cyrillic support";
homepage = https://sourceforge.net/projects/lib-ka/;
license = licenses.gpl2;
platforms = platforms.all;
hydraPlatforms = [];
maintainers = [ maintainers.volth ];
};
}

View file

@ -1,20 +0,0 @@
{ stdenv, fetchurl, liberation_ttf_from_source }:
stdenv.mkDerivation rec {
version = "2.00.1";
name = "liberation-fonts-${version}";
src = fetchurl {
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q";
};
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
mkdir -p "$out/doc/${name}"
cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
'';
inherit (liberation_ttf_from_source) meta;
}

View file

@ -1,42 +1,72 @@
{stdenv, fetchurl, fontforge, python2}:
stdenv.mkDerivation rec {
name = "liberation-fonts-2.00.1";
let
inherit (python2.pkgs) fonttools;
src = fetchurl {
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/${name}.tar.gz";
sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs";
common =
{version, url, sha256, buildInputs}:
stdenv.mkDerivation rec {
name = "liberation-fonts-${version}";
src = fetchurl {
inherit url sha256;
};
inherit buildInputs;
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
mkdir -p "$out/doc/${name}"
cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
'';
meta = with stdenv.lib; {
description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New";
longDescription = ''
The Liberation Fonts are intended to be replacements for the three most
commonly used fonts on Microsoft systems: Times New Roman, Arial, and
Courier New. Since 2012 they are based on croscore fonts.
There are three sets: Sans (a substitute for Arial, Albany, Helvetica,
Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times
New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono
(a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and
Bitstream Vera Sans Mono).
'';
license = licenses.ofl;
homepage = https://fedorahosted.org/liberation-fonts/;
maintainers = [
maintainers.raskin
];
platforms = platforms.unix;
};
};
in {
liberation_ttf_v1_from_source = common rec {
version = "1.07.4";
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${version}.tar.gz";
sha256 = "01jlg88q2s6by7qv6fmnrlx0lwjarrjrpxv811zjz6f2im4vg65d";
buildInputs = [ fontforge fonttools ];
};
buildInputs = [ fontforge python2.pkgs.fonttools ];
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp -v $(find . -name '*.ttf') $out/share/fonts/truetype
mkdir -p "$out/doc/${name}"
cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
'';
meta = with stdenv.lib; {
description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New";
longDescription = ''
The Liberation Fonts are intended to be replacements for the three most
commonly used fonts on Microsoft systems: Times New Roman, Arial, and
Courier New. Since 2012 they are based on croscore fonts.
There are three sets: Sans (a substitute for Arial, Albany, Helvetica,
Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times
New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono
(a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and
Bitstream Vera Sans Mono).
'';
license = licenses.ofl;
homepage = https://fedorahosted.org/liberation-fonts/;
maintainers = [
maintainers.raskin
];
platforms = platforms.unix;
liberation_ttf_v1_binary = common rec {
version = "1.07.4";
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
sha256 = "0p7frz29pmjlk2d0j2zs5kfspygwdnpzxkb2hwzcfhrafjvf59v1";
buildInputs = [ ];
};
liberation_ttf_v2_from_source = common rec {
version = "2.00.1";
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${version}.tar.gz";
sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs";
buildInputs = [ fontforge fonttools ];
};
liberation_ttf_v2_binary = common rec {
version = "2.00.1";
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q";
buildInputs = [ ];
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, samba, dbus_glib
{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, dbus_glib
, glib, fam, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
stdenv.mkDerivation rec {
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
buildInputs =
[ pkgconfig libxml2 bzip2 openssl samba dbus_glib fam cdparanoia
[ pkgconfig libxml2 bzip2 openssl dbus_glib fam cdparanoia
intltool gnome_mime_data avahi acl
];

View file

@ -1,7 +1,7 @@
{ kde, kdelibs, libvncserver, freerdp, telepathy_qt }:
{ kde, kdelibs, libvncserver, freerdp_legacy, telepathy_qt }:
kde {
buildInputs = [ kdelibs libvncserver freerdp telepathy_qt ];
buildInputs = [ kdelibs libvncserver freerdp_legacy telepathy_qt ];
meta = {
description = "KDE remote desktop client";

View file

@ -65,6 +65,7 @@ let
libkipi = callPackage ./libkipi.nix {};
libkomparediff2 = callPackage ./libkomparediff2.nix {};
marble = callPackage ./marble.nix {};
okteta = callPackage ./okteta.nix {};
okular = callPackage ./okular.nix {};
print-manager = callPackage ./print-manager.nix {};
spectacle = callPackage ./spectacle.nix {};

View file

@ -2,7 +2,7 @@
kdeApp, lib, kdeWrapper,
ecm, kdoctools,
baloo, exiv2, kactivities, kdelibs4support, kio, kipi-plugins, lcms2,
libkdcraw, libkipi, phonon, qtsvg, qtx11extras
libkdcraw, libkipi, phonon, qtimageformats, qtsvg, qtx11extras
}:
let
@ -15,8 +15,8 @@ let
};
nativeBuildInputs = [ ecm kdoctools ];
propagatedBuildInputs = [
baloo kactivities kdelibs4support kio qtx11extras exiv2 lcms2 libkdcraw
libkipi phonon qtsvg
baloo kactivities kdelibs4support kio exiv2 lcms2 libkdcraw
libkipi phonon qtimageformats qtsvg qtx11extras
];
};
in

View file

@ -0,0 +1,26 @@
{
kdeApp, lib, kdeWrapper,
ecm, kdoctools,
kconfig, kinit,
kcmutils, kconfigwidgets, knewstuff, kparts, qca-qt5
}:
let
unwrapped =
kdeApp {
name = "okteta";
meta = {
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ peterhoeg ];
};
nativeBuildInputs = [ ecm kdoctools ];
propagatedBuildInputs = [
kconfig kinit
kcmutils kconfigwidgets knewstuff kparts qca-qt5
];
};
in kdeWrapper {
inherit unwrapped;
targets = [ "bin/okteta" ];
}

View file

@ -2,6 +2,7 @@
# build tools
, gfortran, m4, makeWrapper, patchelf, perl, which, python2
, runCommand
, paxctl
# libjulia dependencies
, libunwind, readline, utf8proc, zlib
, llvm, libffi, ncurses
@ -71,7 +72,7 @@ stdenv.mkDerivation rec {
patches = [
./0001.1-use-system-utf8proc.patch
./0002-use-system-suitesparse.patch
];
] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
postPatch = ''
patchShebangs . contrib
@ -89,7 +90,8 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
;
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ];
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
++ stdenv.lib.optional stdenv.needsPax paxctl;
makeFlags =
let

View file

@ -0,0 +1,25 @@
From 0bdbe60325a22202f8e250a9578407648a0d29b9 Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Wed, 1 Feb 2017 06:09:49 -0600
Subject: [PATCH] Set pax flags on julia binaries to disable memory protection.
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 8d45a1baa..91ea33b21 100644
--- a/Makefile
+++ b/Makefile
@@ -61,6 +61,8 @@ julia-src-release julia-src-debug : julia-src-% : julia-deps
julia-ui-release julia-ui-debug : julia-ui-% : julia-src-%
@$(MAKE) $(QUIET_MAKE) -C ui julia-$*
+ @echo "setting PaX flags on $(JULIA_EXECUTABLE_$*)"
+ @paxctl -czexm $(JULIA_EXECUTABLE_$*)
julia-inference : julia-base julia-ui-$(JULIA_BUILD_MODE) $(build_prefix)/.examples
@$(MAKE) $(QUIET_MAKE) $(build_private_libdir)/inference.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE)
--
2.11.0

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