Merge branch 'master' into staging

Conflicts: pkgs/os-specific/linux/kmod/default.nix cc @abbradar
This commit is contained in:
obadz 2016-08-19 15:28:58 +01:00
commit 1047ed49d9
261 changed files with 9930 additions and 3595 deletions

View File

@ -659,4 +659,22 @@ src = fetchFromGitHub {
</itemizedlist> </itemizedlist>
</para> </para>
</section> </section>
<section xml:id="sec-patches"><title>Patches</title>
<para>Only patches that are unique to <literal>nixpkgs</literal> should be
included in <literal>nixpkgs</literal> source.</para>
<para>Patches available online should be retrieved using
<literal>fetchpatch</literal>.</para>
<para>
<programlisting>
patches = [
(fetchpatch {
name = "fix-check-for-using-shared-freetype-lib.patch";
url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285";
sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr";
})
];
</programlisting>
</para>
</section>
</chapter> </chapter>

View File

@ -566,7 +566,7 @@ running `nix-shell` with the following `shell.nix`
with import <nixpkgs> {}; with import <nixpkgs> {};
(python3.buildEnv.override { (python3.buildEnv.override {
extraLibs = with python3Packages; [ numpy requests ]; extraLibs = with python3Packages; [ numpy requests2 ];
}).env }).env
will drop you into a shell where Python will have the will drop you into a shell where Python will have the
@ -605,7 +605,7 @@ attribute. The `shell.nix` file from the previous section can thus be also writt
with import <nixpkgs> {}; with import <nixpkgs> {};
(python33.withPackages (ps: [ps.numpy ps.requests])).env (python33.withPackages (ps: [ps.numpy ps.requests2])).env
In contrast to `python.buildEnv`, `python.withPackages` does not support the more advanced options In contrast to `python.buildEnv`, `python.withPackages` does not support the more advanced options
such as `ignoreCollisions = true` or `postBuild`. If you need them, you have to use `python.buildEnv`. such as `ignoreCollisions = true` or `postBuild`. If you need them, you have to use `python.buildEnv`.

View File

@ -39,6 +39,7 @@
aristid = "Aristid Breitkreuz <aristidb@gmail.com>"; aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
arobyn = "Alexei Robyn <shados@shados.net>"; arobyn = "Alexei Robyn <shados@shados.net>";
artuuge = "Artur E. Ruuge <artuuge@gmail.com>"; artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
ashalkhakov = "Artyom Shalkhakov <artyom.shalkhakov@gmail.com>";
asppsa = "Alastair Pharo <asppsa@gmail.com>"; asppsa = "Alastair Pharo <asppsa@gmail.com>";
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>"; astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
aszlig = "aszlig <aszlig@redmoonstudios.org>"; aszlig = "aszlig <aszlig@redmoonstudios.org>";
@ -99,6 +100,7 @@
davidak = "David Kleuker <post@davidak.de>"; davidak = "David Kleuker <post@davidak.de>";
davidrusu = "David Rusu <davidrusu.me@gmail.com>"; davidrusu = "David Rusu <davidrusu.me@gmail.com>";
dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>"; dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>";
dbrock = "Daniel Brockman <daniel@brockman.se>";
deepfire = "Kosyrev Serge <_deepfire@feelingofgreen.ru>"; deepfire = "Kosyrev Serge <_deepfire@feelingofgreen.ru>";
demin-dmitriy = "Dmitriy Demin <demindf@gmail.com>"; demin-dmitriy = "Dmitriy Demin <demindf@gmail.com>";
DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>"; DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";

View File

@ -98,4 +98,19 @@ rec {
*/ */
importJSON = path: importJSON = path:
builtins.fromJSON (builtins.readFile path); builtins.fromJSON (builtins.readFile path);
/* See https://github.com/NixOS/nix/issues/749. Eventually we'd like these
to expand to Nix builtins that carry metadata so that Nix can filter out
the INFO messages without parsing the message string.
Usage:
{
foo = lib.warn "foo is deprecated" oldFoo;
}
TODO: figure out a clever way to integrate location information from
something like __unsafeGetAttrPos.
*/
warn = msg: builtins.trace "WARNING: ${msg}";
info = msg: builtins.trace "INFO: ${msg}";
} }

View File

@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
./maintainers/scripts/fetch-kde-qt.sh \ ./maintainers/scripts/fetch-kde-qt.sh \
http://download.kde.org/stable/applications/16.04.3/ -A '*.tar.xz' \ http://download.kde.org/stable/applications/16.08.0/ -A '*.tar.xz' \
>pkgs/desktops/kde-5/applications/srcs.nix >pkgs/desktops/kde-5/applications/srcs.nix

View File

@ -48,7 +48,7 @@ while test -n "$1"; do
echo "=== Fetching Nox from binary cache" echo "=== Fetching Nox from binary cache"
# build nox silently so it's not in the log # build nox silently so it's not in the log
nix-build "<nixpkgs>" -A nox nix-build "<nixpkgs>" -A nox -A stdenv
;; ;;
pr) pr)

View File

@ -265,6 +265,11 @@
<sect1 xml:id="sec-grsec-issues"><title>Issues and work-arounds</title> <sect1 xml:id="sec-grsec-issues"><title>Issues and work-arounds</title>
<itemizedlist> <itemizedlist>
<listitem><para>User namespaces require <literal>CAP_SYS_ADMIN</literal>:
consequently, unprivileged namespaces are unsupported. Applications that
rely on namespaces for sandboxing must use a privileged helper. For chromium
there is <option>security.chromiumSuidSandbox.enable</option>.</para></listitem>
<listitem><para>Access to EFI runtime services is disabled by default: <listitem><para>Access to EFI runtime services is disabled by default:
this plugs a potential code injection attack vector; use this plugs a potential code injection attack vector; use
<option>security.grsecurity.disableEfiRuntimeServices</option> to override <option>security.grsecurity.disableEfiRuntimeServices</option> to override

View File

@ -29,7 +29,7 @@
</group> </group>
<sbr /> <sbr />
<arg><option>--upgrade</option></arg> <arg><option>--upgrade</option></arg>
<arg><option>--install-grub</option></arg> <arg><option>--install-bootloader</option></arg>
<arg><option>--no-build-nix</option></arg> <arg><option>--no-build-nix</option></arg>
<arg><option>--fast</option></arg> <arg><option>--fast</option></arg>
<arg><option>--rollback</option></arg> <arg><option>--rollback</option></arg>
@ -212,12 +212,11 @@ $ ./result/bin/run-*-vm
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><option>--install-grub</option></term> <term><option>--install-bootloader</option></term>
<listitem> <listitem>
<para>Causes the GRUB boot loader to be (re)installed on the <para>Causes the boot loader to be (re)installed on the
device specified by the device specified by the relevant configuration options.
<varname>boot.loader.grub.device</varname> configuration </para>
option.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -12,6 +12,9 @@
# directly. # directly.
partitioned ? true partitioned ? true
# Whether to invoke switch-to-configuration boot during image creation
, installBootLoader ? true
, # The root file system type. , # The root file system type.
fsType ? "ext4" fsType ? "ext4"
@ -64,40 +67,24 @@ pkgs.vmTools.runInLinuxVM (
mkdir /mnt mkdir /mnt
mount $rootDisk /mnt mount $rootDisk /mnt
# The initrd expects these directories to exist.
mkdir /mnt/dev /mnt/proc /mnt/sys
mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
# Copy all paths in the closure to the filesystem.
storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
mkdir -p /mnt/nix/store
echo "copying everything (will take a while)..."
set -f
cp -prd $storePaths /mnt/nix/store/
# Register the paths in the Nix database. # Register the paths in the Nix database.
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \ printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
chroot /mnt ${config.nix.package.out}/bin/nix-store --load-db --option build-users-group "" ${config.nix.package.out}/bin/nix-store --load-db --option build-users-group ""
# Add missing size/hash fields to the database. FIXME: # Add missing size/hash fields to the database. FIXME:
# exportReferencesGraph should provide these directly. # exportReferencesGraph should provide these directly.
chroot /mnt ${config.nix.package.out}/bin/nix-store --verify --check-contents ${config.nix.package.out}/bin/nix-store --verify --check-contents --option build-users-group ""
# Create the system profile to allow nixos-rebuild to work. # In case the bootloader tries to write to /dev/sda…
chroot /mnt ${config.nix.package.out}/bin/nix-env --option build-users-group "" \ ln -s vda /dev/xvda
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} ln -s vda /dev/sda
# `nixos-rebuild' requires an /etc/NIXOS. # Install the closure onto the image
mkdir -p /mnt/etc USER=root ${config.system.build.nixos-install}/bin/nixos-install \
touch /mnt/etc/NIXOS --closure ${config.system.build.toplevel} \
--no-channel-copy \
# `switch-to-configuration' requires a /bin/sh --no-root-passwd \
mkdir -p /mnt/bin ${optionalString (!installBootLoader) "--no-bootloader"}
ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh
# Install a configuration.nix. # Install a configuration.nix.
mkdir -p /mnt/etc/nixos mkdir -p /mnt/etc/nixos
@ -105,12 +92,9 @@ pkgs.vmTools.runInLinuxVM (
cp ${configFile} /mnt/etc/nixos/configuration.nix cp ${configFile} /mnt/etc/nixos/configuration.nix
''} ''}
# Generate the GRUB menu. # Remove /etc/machine-id so that each machine cloning this image will get its own id
ln -s vda /dev/xvda rm -f /mnt/etc/machine-id
ln -s vda /dev/sda
chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot
umount /mnt/proc /mnt/dev /mnt/sys
umount /mnt umount /mnt
# Do a fsck to make sure resize2fs works. # Do a fsck to make sure resize2fs works.

View File

@ -8,7 +8,7 @@ let
devices = map (nr: "zram${toString nr}") (range 0 (cfg.numDevices - 1)); devices = map (nr: "zram${toString nr}") (range 0 (cfg.numDevices - 1));
modprobe = "${pkgs.kmod}/bin/modprobe"; modprobe = "${config.system.sbin.modprobe}/sbin/modprobe";
in in

View File

@ -75,6 +75,7 @@ in
serviceConfig = { serviceConfig = {
ExecStart = "${bumblebee}/bin/bumblebeed --use-syslog -g ${cfg.group} --driver ${cfg.driver}"; ExecStart = "${bumblebee}/bin/bumblebeed --use-syslog -g ${cfg.group} --driver ${cfg.driver}";
}; };
environment.MODULE_DIR="/run/current-system/kernel-modules/lib/modules/";
}; };
}; };
} }

View File

@ -36,6 +36,7 @@ in
# and load it back on resume # and load it back on resume
powerManagement.resumeCommands = '' powerManagement.resumeCommands = ''
export MODULE_DIR=/run/current-system/kernel-modules/lib/modules
${pkgs.kmod}/bin/modprobe -v facetimehd ${pkgs.kmod}/bin/modprobe -v facetimehd
''; '';

View File

@ -24,7 +24,7 @@ fi
# Parse the command line for the -I flag # Parse the command line for the -I flag
extraBuildFlags=() extraBuildFlags=()
chrootCommand=(/run/current-system/sw/bin/bash) chrootCommand=(/run/current-system/sw/bin/bash)
bootLoader=1 buildUsersGroup="nixbld"
while [ "$#" -gt 0 ]; do while [ "$#" -gt 0 ]; do
i="$1"; shift 1 i="$1"; shift 1
@ -43,6 +43,7 @@ while [ "$#" -gt 0 ]; do
;; ;;
--closure) --closure)
closure="$1"; shift 1 closure="$1"; shift 1
buildUsersGroup=""
;; ;;
--no-channel-copy) --no-channel-copy)
noChannelCopy=1 noChannelCopy=1
@ -51,7 +52,7 @@ while [ "$#" -gt 0 ]; do
noRootPasswd=1 noRootPasswd=1
;; ;;
--no-bootloader) --no-bootloader)
bootLoader=0 noBootLoader=1
;; ;;
--show-trace) --show-trace)
extraBuildFlags+=("$i") extraBuildFlags+=("$i")
@ -101,8 +102,8 @@ mount -t tmpfs -o "mode=0755" none $mountPoint/run
mount -t tmpfs -o "mode=0755" none $mountPoint/var/setuid-wrappers mount -t tmpfs -o "mode=0755" none $mountPoint/var/setuid-wrappers
rm -rf $mountPoint/var/run rm -rf $mountPoint/var/run
ln -s /run $mountPoint/var/run ln -s /run $mountPoint/var/run
rm -f $mountPoint/etc/{resolv.conf,hosts} for f in /etc/resolv.conf /etc/hosts; do rm -f $mountPoint/$f; [ -f "$f" ] && cp -Lf $f $mountPoint/etc/; done
cp -Lf /etc/resolv.conf /etc/hosts $mountPoint/etc/ for f in /etc/passwd /etc/group; do touch $mountPoint/$f; [ -f "$f" ] && mount --rbind -o ro $f $mountPoint/$f; done
cp -Lf "@cacert@" "$mountPoint/tmp/ca-cert.crt" cp -Lf "@cacert@" "$mountPoint/tmp/ca-cert.crt"
export SSL_CERT_FILE=/tmp/ca-cert.crt export SSL_CERT_FILE=/tmp/ca-cert.crt
@ -142,7 +143,7 @@ mkdir -m 0755 -p \
$mountPoint/nix/var/log/nix/drvs $mountPoint/nix/var/log/nix/drvs
mkdir -m 1775 -p $mountPoint/nix/store mkdir -m 1775 -p $mountPoint/nix/store
chown root:nixbld $mountPoint/nix/store chown @root_uid@:@nixbld_gid@ $mountPoint/nix/store
# There is no daemon in the chroot. # There is no daemon in the chroot.
@ -155,18 +156,13 @@ export LC_ALL=
export LC_TIME= export LC_TIME=
# Create a temporary Nix config file that causes the nixbld users to # Builds will use users that are members of this group
# be used. extraBuildFlags+=(--option "build-users-group" "$buildUsersGroup")
echo "build-users-group = nixbld" > $mountPoint/tmp/nix.conf # FIXME: remove in Nix 1.8
binary_caches=$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};')
if test -n "$binary_caches"; then
echo "binary-caches = $binary_caches" >> $mountPoint/tmp/nix.conf
fi
export NIX_CONF_DIR=/tmp
touch $mountPoint/etc/passwd $mountPoint/etc/group
mount --bind -o ro /etc/passwd $mountPoint/etc/passwd # Inherit binary caches from the host
mount --bind -o ro /etc/group $mountPoint/etc/group binary_caches="$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};')"
extraBuildFlags+=(--option "binary-caches" "$binary_caches")
# Copy Nix to the Nix store on the target device, unless it's already there. # Copy Nix to the Nix store on the target device, unless it's already there.
@ -247,7 +243,7 @@ ln -sfn /nix/var/nix/profiles/per-user/root/channels $mountPoint/root/.nix-defex
# Get rid of the /etc bind mounts. # Get rid of the /etc bind mounts.
umount $mountPoint/etc/passwd $mountPoint/etc/group for f in /etc/passwd /etc/group; do [ -f "$f" ] && umount $mountPoint/$f; done
# Grub needs an mtab. # Grub needs an mtab.
@ -263,16 +259,17 @@ touch $mountPoint/etc/NIXOS
# a menu default pointing at the kernel/initrd/etc of the new # a menu default pointing at the kernel/initrd/etc of the new
# configuration. # configuration.
echo "finalising the installation..." echo "finalising the installation..."
NIXOS_INSTALL_GRUB="$bootLoader" chroot $mountPoint \ if [ -z "$noBootLoader" ]; then
/nix/var/nix/profiles/system/bin/switch-to-configuration boot NIXOS_INSTALL_BOOTLOADER=1 chroot $mountPoint \
/nix/var/nix/profiles/system/bin/switch-to-configuration boot
fi
# Run the activation script. # Run the activation script.
chroot $mountPoint /nix/var/nix/profiles/system/activate chroot $mountPoint /nix/var/nix/profiles/system/activate
# Ask the user to set a root password. # Ask the user to set a root password.
if [ -z "$noRootPasswd" ] && [ "$(chroot $mountPoint /run/current-system/sw/bin/sh -l -c "nix-instantiate --eval '<nixpkgs/nixos>' -A config.users.mutableUsers")" = true ] && [ -t 0 ] ; then if [ -z "$noRootPasswd" ] && [ -x $mountPoint/var/setuid-wrappers/passwd ] && [ -t 0 ]; then
echo "setting root password..." echo "setting root password..."
chroot $mountPoint /var/setuid-wrappers/passwd chroot $mountPoint /var/setuid-wrappers/passwd
fi fi

View File

@ -33,7 +33,11 @@ while [ "$#" -gt 0 ]; do
action="$i" action="$i"
;; ;;
--install-grub) --install-grub)
export NIXOS_INSTALL_GRUB=1 echo "$0: --install-grub deprecated, use --install-bootloader instead" >&2
export NIXOS_INSTALL_BOOTLOADER=1
;;
--install-bootloader)
export NIXOS_INSTALL_BOOTLOADER=1
;; ;;
--no-build-nix) --no-build-nix)
buildNix= buildNix=

View File

@ -24,6 +24,8 @@ let
inherit (pkgs) perl pathsFromGraph rsync; inherit (pkgs) perl pathsFromGraph rsync;
nix = config.nix.package.out; nix = config.nix.package.out;
cacert = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; cacert = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
root_uid = config.ids.uids.root;
nixbld_gid = config.ids.gids.nixbld;
nixClosure = pkgs.runCommand "closure" nixClosure = pkgs.runCommand "closure"
{ exportReferencesGraph = ["refs" config.nix.package.out]; } { exportReferencesGraph = ["refs" config.nix.package.out]; }

View File

@ -274,6 +274,7 @@
gocd-agent = 251; gocd-agent = 251;
gocd-server = 252; gocd-server = 252;
terraria = 253; terraria = 253;
mattermost = 254;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -518,6 +519,7 @@
gocd-agent = 251; gocd-agent = 251;
gocd-server = 252; gocd-server = 252;
terraria = 253; terraria = 253;
mattermost = 254;
# When adding a gid, make sure it doesn't match an existing # When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal # uid. Users and groups with the same name should have equal

View File

@ -340,6 +340,7 @@
./services/networking/freenet.nix ./services/networking/freenet.nix
./services/networking/gale.nix ./services/networking/gale.nix
./services/networking/gateone.nix ./services/networking/gateone.nix
./services/networking/gdomap.nix
./services/networking/git-daemon.nix ./services/networking/git-daemon.nix
./services/networking/gnunet.nix ./services/networking/gnunet.nix
./services/networking/gogoclient.nix ./services/networking/gogoclient.nix
@ -463,6 +464,7 @@
./services/ttys/agetty.nix ./services/ttys/agetty.nix
./services/ttys/gpm.nix ./services/ttys/gpm.nix
./services/ttys/kmscon.nix ./services/ttys/kmscon.nix
./services/web-apps/mattermost.nix
./services/web-apps/pump.io.nix ./services/web-apps/pump.io.nix
./services/web-apps/tt-rss.nix ./services/web-apps/tt-rss.nix
./services/web-servers/apache-httpd/default.nix ./services/web-servers/apache-httpd/default.nix

View File

@ -119,11 +119,13 @@ in
"kernel.grsecurity.chroot_deny_chroot" = mkForce 0; "kernel.grsecurity.chroot_deny_chroot" = mkForce 0;
"kernel.grsecurity.chroot_deny_mount" = mkForce 0; "kernel.grsecurity.chroot_deny_mount" = mkForce 0;
"kernel.grsecurity.chroot_deny_pivot" = mkForce 0; "kernel.grsecurity.chroot_deny_pivot" = mkForce 0;
"kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
} // optionalAttrs containerSupportRequired { } // optionalAttrs containerSupportRequired {
# chroot(2) restrictions that conflict with NixOS lightweight containers # chroot(2) restrictions that conflict with NixOS lightweight containers
"kernel.grsecurity.chroot_deny_chmod" = mkForce 0; "kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
"kernel.grsecurity.chroot_deny_mount" = mkForce 0; "kernel.grsecurity.chroot_deny_mount" = mkForce 0;
"kernel.grsecurity.chroot_restrict_nice" = mkForce 0; "kernel.grsecurity.chroot_restrict_nice" = mkForce 0;
"kernel.grsecurity.chroot_caps" = mkForce 0;
}; };
assertions = [ assertions = [

View File

@ -77,15 +77,11 @@ in
preStart = '' preStart = ''
${pkgs.coreutils}/bin/mkdir -m 0700 -p /var/lib/buildkite-agent/.ssh ${pkgs.coreutils}/bin/mkdir -m 0700 -p /var/lib/buildkite-agent/.ssh
if ! [ -f /var/lib/buildkite-agent/.ssh/id_rsa ]; then echo "${cfg.openssh.privateKey}" > /var/lib/buildkite-agent/.ssh/id_rsa
echo "${cfg.openssh.privateKey}" > /var/lib/buildkite-agent/.ssh/id_rsa ${pkgs.coreutils}/bin/chmod 600 /var/lib/buildkite-agent/.ssh/id_rsa
${pkgs.coreutils}/bin/chmod 600 /var/lib/buildkite-agent/.ssh/id_rsa
fi
if ! [ -f /var/lib/buildkite-agent/.ssh/id_rsa.pub ]; then echo "${cfg.openssh.publicKey}" > /var/lib/buildkite-agent/.ssh/id_rsa.pub
echo "${cfg.openssh.publicKey}" > /var/lib/buildkite-agent/.ssh/id_rsa.pub ${pkgs.coreutils}/bin/chmod 600 /var/lib/buildkite-agent/.ssh/id_rsa.pub
${pkgs.coreutils}/bin/chmod 600 /var/lib/buildkite-agent/.ssh/id_rsa.pub
fi
''; '';
serviceConfig = serviceConfig =

View File

@ -72,6 +72,8 @@ in
ExecStart = "${tlp}/bin/tlp init start"; ExecStart = "${tlp}/bin/tlp init start";
ExecStop = "${tlp}/bin/tlp init stop"; ExecStop = "${tlp}/bin/tlp init stop";
}; };
environment.MODULE_DIR="/run/current-system/kernel-modules/lib/modules/";
}; };
tlp-sleep = { tlp-sleep = {
@ -90,6 +92,8 @@ in
ExecStart = "${tlp}/bin/tlp suspend"; ExecStart = "${tlp}/bin/tlp suspend";
ExecStop = "${tlp}/bin/tlp resume"; ExecStop = "${tlp}/bin/tlp resume";
}; };
environment.MODULE_DIR="/run/current-system/kernel-modules/lib/modules/";
}; };
}; };

View File

@ -58,7 +58,7 @@ let
# Fix some paths in the standard udev rules. Hacky. # Fix some paths in the standard udev rules. Hacky.
for i in $out/*.rules; do for i in $out/*.rules; do
substituteInPlace $i \ substituteInPlace $i \
--replace \"/sbin/modprobe \"${pkgs.kmod}/bin/modprobe \ --replace \"/sbin/modprobe \"${config.system.sbin.modprobe}/sbin/modprobe \
--replace \"/sbin/mdadm \"${pkgs.mdadm}/sbin/mdadm \ --replace \"/sbin/mdadm \"${pkgs.mdadm}/sbin/mdadm \
--replace \"/sbin/blkid \"${pkgs.utillinux}/sbin/blkid \ --replace \"/sbin/blkid \"${pkgs.utillinux}/sbin/blkid \
--replace \"/bin/mount \"${pkgs.utillinux}/bin/mount \ --replace \"/bin/mount \"${pkgs.utillinux}/bin/mount \
@ -316,7 +316,8 @@ in
''; '';
systemd.services.systemd-udevd = systemd.services.systemd-udevd =
{ restartTriggers = cfg.packages; { environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules";
restartTriggers = cfg.packages;
}; };
}; };

View File

@ -41,6 +41,11 @@ let
namespace: resque:gitlab namespace: resque:gitlab
''; '';
secretsYml = ''
production:
db_key_base: ${cfg.secrets.db_key_base}
'';
gitlabConfig = { gitlabConfig = {
# These are the default settings from config/gitlab.example.yml # These are the default settings from config/gitlab.example.yml
production = flip recursiveUpdate cfg.extraConfig { production = flip recursiveUpdate cfg.extraConfig {
@ -313,6 +318,19 @@ in {
}; };
}; };
secrets.db_key_base = mkOption {
type = types.str;
example = "";
description = ''
The db_key_base secrets is used to encrypt variables in the DB. If
you change or lose this key you will be unable to access variables
stored in database.
Make sure the secret is at least 30 characters and all random,
no regular words or you'll be exposed to dictionary attacks.
'';
};
extraConfig = mkOption { extraConfig = mkOption {
type = types.attrs; type = types.attrs;
default = {}; default = {};
@ -467,6 +485,7 @@ in {
# JSON is a subset of YAML # JSON is a subset of YAML
ln -fs ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml ln -fs ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.statePath}/config/database.yml ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.statePath}/config/database.yml
ln -fs ${pkgs.writeText "secrets.yml" secretsYml} ${cfg.statePath}/config/secrets.yml
ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.statePath}/config/unicorn.rb ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.statePath}/config/unicorn.rb
chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}/ chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}/

View File

@ -62,6 +62,7 @@ services.gitlab = {
address = "localhost"; address = "localhost";
port = 25; port = 25;
}; };
secrets.db_key_base = "ei3eeP1ohsh0uu3ad4YeeMeeheengah3AiZee2ohl4Ooj5mie4Ohl0vishoghaes";
extraConfig = { extraConfig = {
gitlab = { gitlab = {
email_from = "gitlab-no-reply@example.com"; email_from = "gitlab-no-reply@example.com";
@ -74,6 +75,12 @@ services.gitlab = {
</programlisting> </programlisting>
</para> </para>
<para>If you're setting up a new Gitlab instance, generate a new
<literal>db_key_base</literal> secret to encrypt sensible data in the
database. If you're restoring an existing Gitlab instance, you must
specify the <literal>db_key_base</literal> secret from
<literal>config/secrets.yml</literal> in your Gitlab state folder.</para>
<para>Refer to <xref linkend="ch-options" /> for all available configuration <para>Refer to <xref linkend="ch-options" /> for all available configuration
options for the <literal>services.gitlab</literal> module.</para> options for the <literal>services.gitlab</literal> module.</para>

View File

@ -390,7 +390,7 @@ in {
after = [ "network-interfaces.target" ]; after = [ "network-interfaces.target" ];
environment = carbonEnv; environment = carbonEnv;
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts name}"; ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite"; User = "graphite";
Group = "graphite"; Group = "graphite";
PermissionsStartOnly = true; PermissionsStartOnly = true;
@ -413,7 +413,7 @@ in {
after = [ "network-interfaces.target" ]; after = [ "network-interfaces.target" ];
environment = carbonEnv; environment = carbonEnv;
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts name}"; ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite"; User = "graphite";
Group = "graphite"; Group = "graphite";
PIDFile="/run/${name}/${name}.pid"; PIDFile="/run/${name}/${name}.pid";
@ -429,7 +429,7 @@ in {
after = [ "network-interfaces.target" ]; after = [ "network-interfaces.target" ];
environment = carbonEnv; environment = carbonEnv;
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts name}"; ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
User = "graphite"; User = "graphite";
Group = "graphite"; Group = "graphite";
PIDFile="/run/${name}/${name}.pid"; PIDFile="/run/${name}/${name}.pid";
@ -461,7 +461,7 @@ in {
penvPack = "${penv}/${pkgs.python.sitePackages}"; penvPack = "${penv}/${pkgs.python.sitePackages}";
# opt/graphite/webapp contains graphite/settings.py # opt/graphite/webapp contains graphite/settings.py
# explicitly adding pycairo in path because it cannot be imported via buildEnv # explicitly adding pycairo in path because it cannot be imported via buildEnv
in "${penvPack}/opt/graphite/webapp:${penvPack}:${pkgs.pycairo}/${pkgs.python.sitePackages}"; in "${penvPack}/opt/graphite/webapp:${penvPack}:${pkgs.pythonPackages.pycairo}/${pkgs.python.sitePackages}";
DJANGO_SETTINGS_MODULE = "graphite.settings"; DJANGO_SETTINGS_MODULE = "graphite.settings";
GRAPHITE_CONF_DIR = configDir; GRAPHITE_CONF_DIR = configDir;
GRAPHITE_STORAGE_DIR = dataDir; GRAPHITE_STORAGE_DIR = dataDir;

View File

@ -80,7 +80,7 @@ in
preStart = '' preStart = ''
mkdir -p -m 0755 /afs mkdir -p -m 0755 /afs
mkdir -m 0700 -p ${cfg.cacheDirectory} mkdir -m 0700 -p ${cfg.cacheDirectory}
${pkgs.kmod}/bin/insmod ${openafsPkgs}/lib/openafs/libafs-*.ko || true ${pkgs.kmod}/sbin/insmod ${openafsPkgs}/lib/openafs/libafs-*.ko || true
${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} -fakestat -afsdb ${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} -fakestat -afsdb
${openafsPkgs}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"} ${openafsPkgs}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"}
''; '';

View File

@ -5,7 +5,7 @@ with lib;
let let
cfg = config.networking.fan; cfg = config.networking.fan;
modprobe = "${pkgs.kmod}/bin/modprobe"; modprobe = "${config.system.sbin.modprobe}/sbin/modprobe";
in in

View File

@ -0,0 +1,32 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.gdomap;
in
{
#
# interface
#
options = {
services.gdomap = {
enable = mkEnableOption "GNUstep Distributed Objects name server";
};
};
#
# implementation
#
config = mkIf config.services.gdomap.enable {
# NOTE: gdomap runs as root
# TODO: extra user for gdomap?
systemd.services.gdomap = {
description = "gdomap server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ pkgs.gnustep.base ];
serviceConfig.ExecStart = "${pkgs.gnustep.base}/bin/gdomap -f";
};
};
}

View File

@ -118,7 +118,7 @@ in
systemd.services.strongswan = { systemd.services.strongswan = {
description = "strongSwan IPSec Service"; description = "strongSwan IPSec Service";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = with pkgs; [ kmod iproute iptables utillinux ]; # XXX Linux path = with pkgs; [ config.system.sbin.modprobe iproute iptables utillinux ]; # XXX Linux
wants = [ "keys.target" ]; wants = [ "keys.target" ];
after = [ "network.target" "keys.target" ]; after = [ "network.target" "keys.target" ];
environment = { environment = {

View File

@ -46,6 +46,18 @@ in
''; '';
}; };
services.unifi.openPorts = mkOption {
type = types.bool;
default = true;
description = ''
Whether or not to open the minimum required ports on the firewall.
This is necessary to allow firmware upgrades and device discovery to
work. For remote login, you should additionally open (or forward) port
8443.
'';
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@ -56,6 +68,19 @@ in
home = "${stateDir}"; home = "${stateDir}";
}; };
networking.firewall = mkIf cfg.openPorts {
# https://help.ubnt.com/hc/en-us/articles/204910084-UniFi-Change-Default-Ports-for-Controller-and-UAPs
allowedTCPPorts = [
8080 # Port for UAP to inform controller.
8880 # Port for HTTP portal redirect, if guest portal is enabled.
8843 # Port for HTTPS portal redirect, ditto.
];
allowedUDPPorts = [
3478 # UDP port used for STUN.
10001 # UDP port used for device discovery.
];
};
# We must create the binary directories as bind mounts instead of symlinks # We must create the binary directories as bind mounts instead of symlinks
# This is because the controller resolves all symlinks to absolute paths # This is because the controller resolves all symlinks to absolute paths
# to be used as the working directory. # to be used as the working directory.
@ -79,9 +104,9 @@ in
environment.LD_LIBRARY_PATH = with pkgs.stdenv; "${cc.cc.lib}/lib"; environment.LD_LIBRARY_PATH = with pkgs.stdenv; "${cc.cc.lib}/lib";
preStart = '' preStart = ''
# Ensure privacy of state # Ensure privacy of state and data.
chown unifi "${stateDir}" chown unifi "${stateDir}" "${stateDir}/data"
chmod 0700 "${stateDir}" chmod 0700 "${stateDir}" "${stateDir}/data"
# Create the volatile webapps # Create the volatile webapps
rm -rf "${stateDir}/webapps" rm -rf "${stateDir}/webapps"

View File

@ -0,0 +1,228 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.mattermost;
defaultConfig = builtins.fromJSON (readFile "${pkgs.mattermost}/config/config.json");
mattermostConf = foldl recursiveUpdate defaultConfig
[ { ServiceSettings.SiteURL = cfg.siteUrl;
ServiceSettings.ListenAddress = cfg.listenAddress;
TeamSettings.SiteName = cfg.siteName;
SqlSettings.DriverName = "postgres";
SqlSettings.DataSource = "postgres://${cfg.localDatabaseUser}:${cfg.localDatabasePassword}@localhost:5432/${cfg.localDatabaseName}?sslmode=disable&connect_timeout=10";
}
cfg.extraConfig
];
mattermostConfJSON = pkgs.writeText "mattermost-config-raw.json" (builtins.toJSON mattermostConf);
in
{
options = {
services.mattermost = {
enable = mkEnableOption "Mattermost chat platform";
statePath = mkOption {
type = types.str;
default = "/var/lib/mattermost";
description = "Mattermost working directory";
};
siteUrl = mkOption {
type = types.str;
example = "https://chat.example.com";
description = ''
URL this Mattermost instance is reachable under, without trailing slash."
'';
};
siteName = mkOption {
type = types.str;
default = "Mattermost";
description = "Name of this Mattermost site.";
};
listenAddress = mkOption {
type = types.str;
default = ":8065";
example = "[::1]:8065";
description = ''
Address and port this Mattermost instance listens to.
'';
};
mutableConfig = mkOption {
type = types.bool;
default = false;
description = ''
Whether the Mattermost config.json is writeable by Mattermost.
Most of the settings can be edited in the system console of
Mattermost if this option is enabled. A template config using
the options specified in services.mattermost will be generated
but won't be overwritten on changes or rebuilds.
If this option is disabled, changes in the system console won't
be possible (default). If an config.json is present, it will be
overwritten!
'';
};
extraConfig = mkOption {
type = types.attrs;
default = { };
description = ''
Addtional configuration options as Nix attribute set in config.json schema.
'';
};
localDatabaseCreate = mkOption {
type = types.bool;
default = true;
description = ''
Create a local PostgreSQL database for Mattermost automatically.
'';
};
localDatabaseName = mkOption {
type = types.str;
default = "mattermost";
description = ''
Local Mattermost database name.
'';
};
localDatabaseUser = mkOption {
type = types.str;
default = "mattermost";
description = ''
Local Mattermost database username.
'';
};
localDatabasePassword = mkOption {
type = types.str;
default = "mmpgsecret";
description = ''
Password for local Mattermost database user.
'';
};
user = mkOption {
type = types.str;
default = "mattermost";
description = ''
User which runs the Mattermost service.
'';
};
group = mkOption {
type = types.str;
default = "mattermost";
description = ''
Group which runs the Mattermost service.
'';
};
matterircd = {
enable = mkEnableOption "Mattermost IRC bridge";
parameters = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "-mmserver chat.example.com" "-bind [::]:6667" ];
description = ''
Set commandline parameters to pass to matterircd. See
https://github.com/42wim/matterircd#usage for more information.
'';
};
};
};
};
config = mkMerge [
(mkIf cfg.enable {
users.extraUsers = optionalAttrs (cfg.user == "mattermost") (singleton {
name = "mattermost";
group = cfg.group;
uid = config.ids.uids.mattermost;
home = cfg.statePath;
});
users.extraGroups = optionalAttrs (cfg.group == "mattermost") (singleton {
name = "mattermost";
gid = config.ids.gids.mattermost;
});
services.postgresql.enable = cfg.localDatabaseCreate;
# The systemd service will fail to execute the preStart hook
# if the WorkingDirectory does not exist
system.activationScripts.mattermost = ''
mkdir -p ${cfg.statePath}
'';
systemd.services.mattermost = {
description = "Mattermost chat platform service";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "postgresql.service" ];
preStart = ''
mkdir -p ${cfg.statePath}/{data,config,logs}
ln -sf ${pkgs.mattermost}/{bin,fonts,i18n,templates,webapp} ${cfg.statePath}
'' + lib.optionalString (!cfg.mutableConfig) ''
ln -sf ${mattermostConfJSON} ${cfg.statePath}/config/config.json
'' + lib.optionalString cfg.mutableConfig ''
if ! test -e "${cfg.statePath}/config/.initial-created"; then
rm -f ${cfg.statePath}/config/config.json
cp ${mattermostConfJSON} ${cfg.statePath}/config/config.json
touch ${cfg.statePath}/config/.initial-created
fi
'' + lib.optionalString cfg.localDatabaseCreate ''
if ! test -e "${cfg.statePath}/.db-created"; then
${config.services.postgresql.package}/bin/psql postgres -c \
"CREATE ROLE ${cfg.localDatabaseUser} WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.localDatabasePassword}'"
${config.services.postgresql.package}/bin/createdb \
--owner ${cfg.localDatabaseUser} ${cfg.localDatabaseName}
touch ${cfg.statePath}/.db-created
fi
'' + ''
chown ${cfg.user}:${cfg.group} -R ${cfg.statePath}
chmod u+rw,g+r,o-rwx -R ${cfg.statePath}
'';
serviceConfig = {
PermissionsStartOnly = true;
User = cfg.user;
Group = cfg.group;
ExecStart = "${pkgs.mattermost}/bin/mattermost-platform";
WorkingDirectory = "${cfg.statePath}";
PrivateTmp = true;
Restart = "always";
RestartSec = "10";
LimitNOFILE = "49152";
};
};
})
(mkIf cfg.matterircd.enable {
systemd.services.matterircd = {
description = "Mattermost IRC bridge service";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "nobody";
Group = "nogroup";
ExecStart = "${pkgs.matterircd.bin}/bin/matterircd ${concatStringsSep " " cfg.matterircd.parameters}";
WorkingDirectory = "/tmp";
PrivateTmp = true;
Restart = "always";
RestartSec = "5";
};
};
})
];
}

View File

@ -105,7 +105,7 @@ in {
}; };
}; };
config = mkIf (cfg.pools != {}) { config = mkIf (cfg.pools != {} || cfg.poolConfigs != {}) {
systemd.services.phpfpm = { systemd.services.phpfpm = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];

View File

@ -108,7 +108,12 @@ in {
RestartSec = 3; RestartSec = 3;
Restart = "always"; Restart = "always";
}; };
environment = { DISPLAY = ":${toString config.services.xserver.display}"; }; environment = {
DISPLAY = ":${toString (
let display = config.services.xserver.display;
in if display != null then display else 0
)}";
};
}; };
}; };

View File

@ -228,6 +228,7 @@ in
systemd.services."systemd-modules-load" = systemd.services."systemd-modules-load" =
{ wantedBy = [ "multi-user.target" ]; { wantedBy = [ "multi-user.target" ];
restartTriggers = [ kernelModulesConf ]; restartTriggers = [ kernelModulesConf ];
environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules";
serviceConfig = serviceConfig =
{ # Ignore failed module loads. Typically some of the { # Ignore failed module loads. Typically some of the
# modules in boot.kernelModules are "nice to have but # modules in boot.kernelModules are "nice to have but
@ -237,6 +238,10 @@ in
}; };
}; };
systemd.services.kmod-static-nodes =
{ environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules";
};
lib.kernelConfig = { lib.kernelConfig = {
isYes = option: { isYes = option: {
assertion = config: config.isYes option; assertion = config: config.isYes option;

View File

@ -508,7 +508,11 @@ my $nameDiffer = get("fullName") ne $prevGrubState->name;
my $versionDiffer = get("fullVersion") ne $prevGrubState->version; my $versionDiffer = get("fullVersion") ne $prevGrubState->version;
my $efiDiffer = $efiTarget ne $prevGrubState->efi; my $efiDiffer = $efiTarget ne $prevGrubState->efi;
my $efiMountPointDiffer = $efiSysMountPoint ne $prevGrubState->efiMountPoint; my $efiMountPointDiffer = $efiSysMountPoint ne $prevGrubState->efiMountPoint;
my $requireNewInstall = $devicesDiffer || $nameDiffer || $versionDiffer || $efiDiffer || $efiMountPointDiffer || (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1"); if (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1") {
warn "NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER";
$ENV{'NIXOS_INSTALL_BOOTLOADER'} = "1";
}
my $requireNewInstall = $devicesDiffer || $nameDiffer || $versionDiffer || $efiDiffer || $efiMountPointDiffer || (($ENV{'NIXOS_INSTALL_BOOTLOADER'} // "") eq "1");
# install a symlink so that grub can detect the boot drive # install a symlink so that grub can detect the boot drive
my $tmpDir = File::Temp::tempdir(CLEANUP => 1) or die "Failed to create temporary space"; my $tmpDir = File::Temp::tempdir(CLEANUP => 1) or die "Failed to create temporary space";

View File

@ -7,6 +7,7 @@ import subprocess
import glob import glob
import tempfile import tempfile
import errno import errno
import warnings
def copy_if_not_exists(source, dest): def copy_if_not_exists(source, dest):
if not os.path.exists(dest): if not os.path.exists(dest):
@ -92,8 +93,11 @@ parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot
parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot') parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot')
args = parser.parse_args() args = parser.parse_args()
# We deserve our own env var!
if os.getenv("NIXOS_INSTALL_GRUB") == "1": if os.getenv("NIXOS_INSTALL_GRUB") == "1":
warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
os.environ["NIXOS_INSTALL_BOOTLOADER"] = "1"
if os.getenv("NIXOS_INSTALL_BOOTLOADER") == "1":
if "@canTouchEfiVariables@" == "1": if "@canTouchEfiVariables@" == "1":
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"]) subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"])
else: else:

View File

@ -8,6 +8,41 @@ with lib;
options = { options = {
system.sbin.modprobe = mkOption {
internal = true;
default = pkgs.stdenv.mkDerivation {
name = "modprobe";
buildCommand = ''
mkdir -p $out/bin
for i in ${pkgs.kmod}/sbin/*; do
name=$(basename $i)
echo "$text" > $out/bin/$name
echo 'exec '$i' "$@"' >> $out/bin/$name
chmod +x $out/bin/$name
done
ln -s bin $out/sbin
'';
text =
''
#! ${pkgs.stdenv.shell}
export MODULE_DIR=/run/current-system/kernel-modules/lib/modules
# Fall back to the kernel modules used at boot time if the
# modules in the current configuration don't match the
# running kernel.
if [ ! -d "$MODULE_DIR/$(${pkgs.coreutils}/bin/uname -r)" ]; then
MODULE_DIR=/run/booted-system/kernel-modules/lib/modules/
fi
'';
meta.priority = 4;
};
description = ''
Wrapper around modprobe that sets the path to the modules
tree.
'';
};
boot.blacklistedKernelModules = mkOption { boot.blacklistedKernelModules = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
@ -52,7 +87,7 @@ with lib;
''; '';
environment.etc."modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases; environment.etc."modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
environment.systemPackages = [ pkgs.kmod ]; environment.systemPackages = [ config.system.sbin.modprobe pkgs.kmod ];
system.activationScripts.modprobe = system.activationScripts.modprobe =
'' ''
@ -60,9 +95,11 @@ with lib;
# in the right location in the Nix store for kernel modules). # in the right location in the Nix store for kernel modules).
# We need this when the kernel (or some module) auto-loads a # We need this when the kernel (or some module) auto-loads a
# module. # module.
echo ${pkgs.kmod}/bin/modprobe > /proc/sys/kernel/modprobe echo ${config.system.sbin.modprobe}/sbin/modprobe > /proc/sys/kernel/modprobe
''; '';
environment.sessionVariables.MODULE_DIR = "/run/current-system/kernel-modules/lib/modules";
}; };
} }

View File

@ -198,7 +198,9 @@ let
preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules; preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules;
resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}") resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}")
(filter (sd: (sd ? label || hasPrefix "/dev/" sd.device) && !sd.randomEncryption) config.swapDevices); (filter (sd: (sd ? label || hasPrefix "/dev/" sd.device) && !sd.randomEncryption
# Don't include zram devices
&& !(hasPrefix "/dev/zram" sd.device)) config.swapDevices);
fsInfo = fsInfo =
let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType (builtins.concatStringsSep "," fs.options) ]; let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType (builtins.concatStringsSep "," fs.options) ];

View File

@ -207,5 +207,6 @@ exec {logOutFd}>&- {logErrFd}>&-
# Start systemd. # Start systemd.
echo "starting systemd..." echo "starting systemd..."
PATH=/run/current-system/systemd/lib/systemd \ PATH=/run/current-system/systemd/lib/systemd \
MODULE_DIR=/run/booted-system/kernel-modules/lib/modules \
LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive \ LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive \
exec systemd exec systemd

View File

@ -38,7 +38,7 @@ in
description = "CPU Frequency Governor Setup"; description = "CPU Frequency Governor Setup";
after = [ "systemd-modules-load.service" ]; after = [ "systemd-modules-load.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ cpupower pkgs.kmod ]; path = [ cpupower config.system.sbin.modprobe ];
unitConfig.ConditionVirtualization = false; unitConfig.ConditionVirtualization = false;
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";

View File

@ -247,8 +247,18 @@ in
esac esac
done done
''] ++ (map (pool: '' ''] ++ (map (pool: ''
echo "importing root ZFS pool \"${pool}\"..." echo -n "importing root ZFS pool \"${pool}\"..."
zpool import -d ${cfgZfs.devNodes} -N $ZFS_FORCE "${pool}" trial=0
until msg="$(zpool import -d ${cfgZfs.devNodes} -N $ZFS_FORCE '${pool}' 2>&1)"; do
sleep 0.25
echo -n .
trial=$(($trial + 1))
if [[ $trial -eq 60 ]]; then
break
fi
done
echo
if [[ -n "$msg" ]]; then echo "$msg"; fi
'') rootPools)); '') rootPools));
}; };

View File

@ -95,7 +95,8 @@ in
LimitNPROC = 1048576; LimitNPROC = 1048576;
} // proxy_env; } // proxy_env;
path = [ pkgs.kmod ] ++ (optional (cfg.storageDriver == "zfs") pkgs.zfs); path = [ config.system.sbin.modprobe ] ++ (optional (cfg.storageDriver == "zfs") pkgs.zfs);
environment.MODULE_DIR = "/run/current-system/kernel-modules/lib/modules";
postStart = if cfg.socketActivation then "" else cfg.postStart; postStart = if cfg.socketActivation then "" else cfg.postStart;

View File

@ -135,13 +135,13 @@ let
} }
'' ''
# Create a /boot EFI partition with 40M # Create a /boot EFI partition with 40M
${pkgs.gptfdisk}/bin/sgdisk -G /dev/vda ${pkgs.gptfdisk}/sbin/sgdisk -G /dev/vda
${pkgs.gptfdisk}/bin/sgdisk -a 1 -n 1:34:2047 -c 1:"BIOS Boot Partition" -t 1:ef02 /dev/vda ${pkgs.gptfdisk}/sbin/sgdisk -a 1 -n 1:34:2047 -c 1:"BIOS Boot Partition" -t 1:ef02 /dev/vda
${pkgs.gptfdisk}/bin/sgdisk -a 512 -N 2 -c 2:"EFI System" -t 2:ef00 /dev/vda ${pkgs.gptfdisk}/sbin/sgdisk -a 512 -N 2 -c 2:"EFI System" -t 2:ef00 /dev/vda
${pkgs.gptfdisk}/bin/sgdisk -A 1:set:1 /dev/vda ${pkgs.gptfdisk}/sbin/sgdisk -A 1:set:1 /dev/vda
${pkgs.gptfdisk}/bin/sgdisk -A 2:set:2 /dev/vda ${pkgs.gptfdisk}/sbin/sgdisk -A 2:set:2 /dev/vda
${pkgs.gptfdisk}/bin/sgdisk -h 2 /dev/vda ${pkgs.gptfdisk}/sbin/sgdisk -h 2 /dev/vda
${pkgs.gptfdisk}/bin/sgdisk -C /dev/vda ${pkgs.gptfdisk}/sbin/sgdisk -C /dev/vda
${pkgs.utillinux}/bin/sfdisk /dev/vda -A 2 ${pkgs.utillinux}/bin/sfdisk /dev/vda -A 2
. /sys/class/block/vda2/uevent . /sys/class/block/vda2/uevent
mknod /dev/vda2 b $MAJOR $MINOR mknod /dev/vda2 b $MAJOR $MINOR
@ -151,11 +151,11 @@ let
${pkgs.mtools}/bin/mlabel -i /dev/vda2 ::boot ${pkgs.mtools}/bin/mlabel -i /dev/vda2 ::boot
# Mount /boot; load necessary modules first. # Mount /boot; load necessary modules first.
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko.xz || true ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko.xz || true
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_iso8859-1.ko.xz || true ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_iso8859-1.ko.xz || true
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/fat.ko.xz || true ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/fat.ko.xz || true
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko.xz || true ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko.xz || true
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko.xz || true ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko.xz || true
mkdir /boot mkdir /boot
mount /dev/vda2 /boot mount /dev/vda2 /boot
@ -370,7 +370,7 @@ in
boot.initrd.extraUtilsCommands = boot.initrd.extraUtilsCommands =
'' ''
# We need mke2fs in the initrd. # We need mke2fs in the initrd.
copy_bin_and_libs ${pkgs.e2fsprogs}/bin/mke2fs copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/mke2fs
''; '';
boot.initrd.postDeviceCommands = boot.initrd.postDeviceCommands =

View File

@ -111,11 +111,20 @@ in rec {
]; ];
}).config.system.build; }).config.system.build;
in in
pkgs.symlinkJoin {name="netboot"; paths=[ pkgs.symlinkJoin {
build.netbootRamdisk name="netboot";
build.kernel paths=[
build.netbootIpxeScript build.netbootRamdisk
];}; build.kernel
build.netbootIpxeScript
];
postBuild = ''
mkdir -p $out/nix-support
echo "file bzImage $out/bzImage" >> $out/nix-support/hydra-build-products
echo "file initrd $out/initrd" >> $out/nix-support/hydra-build-products
echo "file ipxe $out/netboot.ipxe" >> $out/nix-support/hydra-build-products
'';
};
iso_minimal = forAllSystems (system: makeIso { iso_minimal = forAllSystems (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-minimal.nix; module = ./modules/installer/cd-dvd/installation-cd-minimal.nix;

View File

@ -30,7 +30,7 @@ import ./make-test.nix ({ pkgs, ... }:
$machine->sleep(2); $machine->sleep(2);
# Why do I need to do this?? # Why do I need to do this??
$machine->succeed("su alice -c ecryptfs-umount-private"); $machine->succeed("su alice -c ecryptfs-umount-private || true");
$machine->sleep(1); $machine->sleep(1);
$machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted $machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted
@ -53,7 +53,7 @@ import ./make-test.nix ({ pkgs, ... }:
$machine->sleep(2); $machine->sleep(2);
# Why do I need to do this?? # Why do I need to do this??
$machine->succeed("su alice -c ecryptfs-umount-private"); $machine->succeed("su alice -c ecryptfs-umount-private || true");
$machine->sleep(1); $machine->sleep(1);
# Check that the filesystem is not accessible # Check that the filesystem is not accessible

View File

@ -1,7 +1,9 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2 { stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2
, python, pythonDBus }: , pythonPackages}:
stdenv.mkDerivation rec { let
inherit (pythonPackages) python dbus-python;
in stdenv.mkDerivation rec {
name = "a2jmidid-${version}"; name = "a2jmidid-${version}";
version = "8"; version = "8";
@ -10,14 +12,14 @@ stdenv.mkDerivation rec {
sha256 = "0pzm0qk5ilqhwz74pydg1jwrds27vm47185dakdrxidb5bv3b5ia"; sha256 = "0pzm0qk5ilqhwz74pydg1jwrds27vm47185dakdrxidb5bv3b5ia";
}; };
buildInputs = [ makeWrapper pkgconfig alsaLib dbus libjack2 python pythonDBus ]; buildInputs = [ makeWrapper pkgconfig alsaLib dbus libjack2 python dbus-python ];
configurePhase = "python waf configure --prefix=$out"; configurePhase = "${python.interpreter} waf configure --prefix=$out";
buildPhase = "python waf"; buildPhase = "${python.interpreter} waf";
installPhase = '' installPhase = ''
python waf install ${python.interpreter} waf install
wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
''; '';

View File

@ -0,0 +1,97 @@
{ stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, freetype, gdk_pixbuf
, glib, gtk, harfbuzz, jdk, lib, libX11, libXau, libXcursor, libXdmcp
, libXext, libXfixes, libXrender, libbsd, libjack2, libpng, libxcb
, libxkbcommon, libxkbfile, makeWrapper, pixman, xcbutil, xcbutilwm
, xdg_utils, zenity, zlib }:
stdenv.mkDerivation rec {
name = "bitwig-studio-${version}";
version = "1.3.12";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
sha256 = "01z6yia4a6lfsf3rqq379l7xzqfbpz27mf1mr8sx9z1a8rzzyhld";
};
nativeBuildInputs = [ dpkg makeWrapper ];
unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root";
dontBuild = true;
dontPatchELF = true;
dontStrip = true;
libPath = lib.makeLibraryPath [
alsaLib bzip2.out cairo freetype gdk_pixbuf glib gtk harfbuzz
libX11 libXau libXcursor libXdmcp libXext libXfixes libXrender
libbsd libjack2 libpng libxcb libxkbfile pixman xcbutil xcbutilwm
zlib
];
binPath = lib.makeBinPath [
xdg_utils zenity
];
installPhase = ''
mkdir -p $out
cp -r opt/bitwig-studio $out/libexec
# Use NixOS versions of these libs instead of the bundled ones.
(
cd $out/libexec/lib/bitwig-studio
rm libbz2.so* libxkbfile.so* libXcursor.so* libXau.so* \
libXdmcp.so* libpng16.so* libxcb*.so* libharfbuzz.so* \
libcairo.so* libfreetype.so*
ln -s ${bzip2.out}/lib/libbz2.so.1.0.6 libbz2.so.1.0
)
# Use our OpenJDK instead of Bitwigs bundled—and commercial!—one.
rm -rf $out/libexec/lib/jre
ln -s ${jdk.home}/jre $out/libexec/lib/jre
# Bitwigs `libx11-windowing-system.so` has several problems:
#
# • has some old version of libxkbcommon linked statically (ಠ_ಠ),
#
# • hardcodes path to `/usr/share/X11/xkb`,
#
# • even if we redirected it with libredirect (after adding
# `eaccess()` to libredirect!), their version of libxkbcommon
# is unable to parse our xkeyboardconfig. Been there, done that.
#
# However, it suffices to override theirs with our libxkbcommon
# in LD_PRELOAD. :-)
find $out -type f -executable \
-not -name '*.so.*' \
-not -name '*.so' \
-not -path '*/resources/*' | \
while IFS= read -r f ; do
patchelf \
--set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
$f && \
wrapProgram $f \
--prefix PATH : "${binPath}" \
--prefix LD_LIBRARY_PATH : "${libPath}" \
--set LD_PRELOAD "${libxkbcommon.out}/lib/libxkbcommon.so" || true
done
mkdir -p $out/bin
ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
cp -r usr/share $out/share
'';
meta = with stdenv.lib; {
description = "A digital audio workstation";
longDescription = ''
Bitwig Studio is a multi-platform music-creation system for
production, performance and DJing, with a focus on flexible
editing tools and a super-fast workflow.
'';
homepage = http://www.bitwig.com/;
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ michalrus ];
};
}

View File

@ -1,11 +1,10 @@
{ stdenv, fetchurl, buildPythonApplication, pythonPackages, mygpoclient, intltool { stdenv, fetchurl, pythonPackages, mygpoclient, intltool
, ipodSupport ? true, libgpod , ipodSupport ? true, libgpod
, gnome3 , gnome3
}: }:
buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "gpodder-${version}"; name = "gpodder-${version}";
namePrefix = "";
version = "3.9.0"; version = "3.9.0";
@ -31,7 +30,7 @@ buildPythonApplication rec {
]; ];
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
feedparser dbus mygpoclient sqlite3 pygtk eyeD3 feedparser dbus-python mygpoclient sqlite3 pygtk eyeD3
] ++ stdenv.lib.optional ipodSupport libgpod; ] ++ stdenv.lib.optional ipodSupport libgpod;
checkPhase = '' checkPhase = ''

View File

@ -1,7 +1,8 @@
{ stdenv, fetchurl, gettext, intltool, pkgconfig, python { stdenv, fetchurl, gettext, intltool, pkgconfig, python
, avahi, bluez, boost, eigen, fftw, glib, glibmm, gtk, gtkmm, libjack2 , avahi, bluez, boost, eigen, fftw, glib, glib_networking
, glibmm, gsettings_desktop_schemas, gtk, gtkmm, libjack2
, ladspaH, librdf, libsndfile, lilv, lv2, serd, sord, sratom , ladspaH, librdf, libsndfile, lilv, lv2, serd, sord, sratom
, webkitgtk2, zita-convolver, zita-resampler , webkitgtk2, wrapGAppsHook, zita-convolver, zita-resampler
, optimizationSupport ? false # Enable support for native CPU extensions , optimizationSupport ? false # Enable support for native CPU extensions
}: }:
@ -11,19 +12,20 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "guitarix-${version}"; name = "guitarix-${version}";
version = "0.34.0"; version = "0.35.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2"; url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
sha256 = "0pamaq8iybsaglq6y1m1rlmz4wgbs2r6m24bj7x4fwg4grjvzjl8"; sha256 = "066qva1zk63qw60s0vbi9g9jh22ljw67p91pk82kv11gw24h3vg6";
}; };
nativeBuildInputs = [ gettext intltool pkgconfig python ]; nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python ];
buildInputs = [ buildInputs = [
avahi bluez boost eigen fftw glib glibmm gtk gtkmm libjack2 avahi bluez boost eigen fftw glib glibmm glib_networking.out
ladspaH librdf libsndfile lilv lv2 serd sord sratom gsettings_desktop_schemas gtk gtkmm libjack2 ladspaH librdf
webkitgtk2 zita-convolver zita-resampler libsndfile lilv lv2 serd sord sratom webkitgtk2 zita-convolver
zita-resampler
]; ];
configureFlags = [ configureFlags = [
@ -39,7 +41,7 @@ stdenv.mkDerivation rec {
installPhase = ''python waf install''; installPhase = ''python waf install'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A virtual guitar amplifier for Linux running with JACK"; description = "A virtual guitar amplifier for Linux running with JACK";
longDescription = '' longDescription = ''
guitarix is a virtual guitar amplifier for Linux running with guitarix is a virtual guitar amplifier for Linux running with

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, pythonPackages, pygobject3, wrapGAppsHook { stdenv, fetchFromGitHub, pythonPackages, wrapGAppsHook
, gst_all_1, glib_networking, gobjectIntrospection , gst_all_1, glib_networking, gobjectIntrospection
}: }:
@ -22,7 +22,7 @@ pythonPackages.buildPythonApplication rec {
]; ];
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
gst-python pygobject3 pykka tornado requests2 dbus gst-python pygobject3 pykka tornado requests2 dbus-python
]; ];
# There are no tests # There are no tests

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, python, buildPythonApplication, mutagen, pygtk, pygobject, intltool { stdenv, fetchurl, pythonPackages, intltool
, pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null , gst_python, withGstPlugins ? false, gst_plugins_base ? null
, gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }: , gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
assert withGstPlugins -> gst_plugins_base != null assert withGstPlugins -> gst_plugins_base != null
@ -7,12 +7,12 @@ assert withGstPlugins -> gst_plugins_base != null
|| gst_plugins_ugly != null || gst_plugins_ugly != null
|| gst_plugins_bad != null; || gst_plugins_bad != null;
let version = "2.6.3"; in let
version = "2.6.3";
buildPythonApplication { inherit (pythonPackages) buildPythonApplication python mutagen pygtk pygobject dbus-python;
in buildPythonApplication {
# call the package quodlibet and just quodlibet # call the package quodlibet and just quodlibet
name = "quodlibet${stdenv.lib.optionalString withGstPlugins "-with-gst-plugins"}-${version}"; name = "quodlibet${stdenv.lib.optionalString withGstPlugins "-with-gst-plugins"}-${version}";
namePrefix = "";
# XXX, tests fail # XXX, tests fail
doCheck = false; doCheck = false;
@ -48,7 +48,7 @@ buildPythonApplication {
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
mutagen pygtk pygobject pythonDBus gst_python intltool mutagen pygtk pygobject dbus-python gst_python intltool
]; ];
postInstall = stdenv.lib.optionalString withGstPlugins '' postInstall = stdenv.lib.optionalString withGstPlugins ''

View File

@ -1,14 +1,11 @@
{ pkgs, stdenv, fetchFromGitHub, pkgconfig, intltool, wrapGAppsHook, { lib, stdenv, fetchFromGitHub, pkgconfig, intltool, wrapGAppsHook
python, buildPythonApplication, isPy3k, , python3Packages, gnome3, gtk3, gobjectIntrospection}:
gnome3, gtk3, gobjectIntrospection,
dbus, pygobject3, mpd2 }:
with pkgs.lib; let
inherit (python3Packages) buildPythonApplication python isPy3k dbus-python pygobject3 mpd2;
buildPythonApplication rec { in buildPythonApplication rec {
name = "sonata-${version}"; name = "sonata-${version}";
version = "1.7b1"; version = "1.7b1";
namePrefix = "";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "multani"; owner = "multani";
@ -38,7 +35,7 @@ buildPythonApplication rec {
# The optional tagpy dependency (for editing metadata) is not yet # The optional tagpy dependency (for editing metadata) is not yet
# included because it's difficult to build. # included because it's difficult to build.
pythonPath = [ dbus pygobject3 mpd2 ]; pythonPath = [ dbus-python pygobject3 mpd2 ];
meta = { meta = {
description = "An elegant client for the Music Player Daemon"; description = "An elegant client for the Music Player Daemon";

View File

@ -0,0 +1,22 @@
{ stdenv, fetchFromGitHub, cmake, llvmPackages, pkgconfig, mpd_clientlib, openssl }:
stdenv.mkDerivation rec {
name = "ympd-${version}";
version = "1.3.0";
src = fetchFromGitHub {
owner = "notandy";
repo = "ympd";
rev = "v${version}";
sha256 = "1nvb19jd556v2h2bi7w4dcl507p3p8xvjkqfzrcsy7ccy3502brq";
};
buildInputs = [ cmake pkgconfig mpd_clientlib openssl ];
meta = {
homepage = "http://www.ympd.org";
description = "Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS";
maintainers = [ stdenv.lib.maintainers.siddharthist ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -24,12 +24,12 @@ let
unwrapped = unwrapped =
kdeDerivation rec { kdeDerivation rec {
name = "kile-${version}"; name = "kile-${version}";
version = "2016-07-02"; version = "2016-07-25";
src = fetchgit { src = fetchgit {
url = git://anongit.kde.org/kile.git; url = git://anongit.kde.org/kile.git;
rev = "d38bc7069667119cc891b351188484ca6fb88973"; rev = "9cad4757df2493a6099b89114340493c6b436d0b";
sha256 = "1nha71i16fs7nq2812b5565nbmbsbs3ak5czas6xg1dg5bsvdqh8"; sha256 = "0kikrkssfd7bj580iwsipirbz2klxvk0f7nfg5y9mkv0pnchx2mj";
}; };

View File

@ -1,28 +1,65 @@
{ stdenv, pythonPackages, fetchgit }: { stdenv, python3Packages, fetchFromGitHub, makeWrapper, makeDesktopItem }:
pythonPackages.buildPythonApplication rec { stdenv.mkDerivation rec {
name = "leo-editor-${version}"; name = "leo-editor-${version}";
namePrefix = ""; version = "5.3";
version = "5.1";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/leo-editor/leo-editor"; owner = "leo-editor";
rev = "refs/tags/Leo-${version}-final"; repo = "leo-editor";
sha256 = "0km5mvzfpfbxxhcjr4if24qhgk2c7dsvmfinz0zrbfriip848vcp"; rev = version;
sha256 = "0whbay8ilabzpxdjaxv447y6bqbsilx161fv7wa15v3qqm2kapsp";
}; };
propagatedBuildInputs = with pythonPackages; [ pyqt4 sqlite3 ]; dontBuild = true;
buildInputs = [ makeWrapper python3Packages.python ];
propagatedBuildInputs = with python3Packages; [ pyqt5 ];
patchPhase = '' desktopItem = makeDesktopItem rec {
rm setup.cfg name = "leo-editor";
exec = "leo %U";
icon = "leoapp32";
type = "Application";
comment = meta.description;
desktopName = "Leo";
genericName = "Text Editor";
categories = stdenv.lib.concatStringsSep ";" [
"Application" "Development" "IDE" "QT"
];
startupNotify = "false";
mimeType = stdenv.lib.concatStringsSep ";" [
"text/plain" "text/asp" "text/x-c" "text/x-script.elisp" "text/x-fortran"
"text/html" "application/inf" "text/x-java-source" "application/x-javascript"
"application/javascript" "text/ecmascript" "application/x-ksh" "text/x-script.ksh"
"application/x-tex" "text/x-script.rexx" "text/x-pascal" "text/x-script.perl"
"application/postscript" "text/x-script.scheme" "text/x-script.guile" "text/sgml"
"text/x-sgml" "application/x-bsh" "application/x-sh" "application/x-shar"
"text/x-script.sh" "application/x-tcl" "text/x-script.tcl" "application/x-texinfo"
"application/xml" "text/xml" "text/x-asm"
];
};
installPhase = ''
mkdir -p "$out/share/icons/hicolor/32x32/apps"
cp leo/Icons/leoapp32.png "$out/share/icons/hicolor/32x32/apps"
mkdir -p "$out/share/applications"
cp $desktopItem/share/applications/* $out/share/applications
mkdir -p $out/share/leo-editor
mv * $out/share/leo-editor
makeWrapper ${python3Packages.python}/bin/python3.5m $out/bin/leo \
--set PYTHONPATH "$PYTHONPATH:$out/share/leo-editor" \
--add-flags "-O $out/share/leo-editor/launchLeo.py"
''; '';
meta = { meta = with stdenv.lib; {
homepage = "http://leoeditor.com"; homepage = "http://leoeditor.com";
description = "A powerful folding editor"; description = "A powerful folding editor";
longDescription = "Leo is a PIM, IDE and outliner that accelerates the work flow of programmers, authors and web designers."; longDescription = "Leo is a PIM, IDE and outliner that accelerates the work flow of programmers, authors and web designers.";
license = stdenv.lib.licenses.mit; license = with licenses; [ mit ];
maintainers = with stdenv.lib.maintainers; [ leonardoce ]; maintainers = with maintainers; [ leonardoce ramkromberg ];
}; };
} }

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool,
exiv2, libjpeg, libtiff, gstreamer, libraw, libsoup, libsecret,
libchamplain, librsvg, libwebp, json_glib, webkit, lcms2, bison,
flex, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "gthumb";
version = "${major}.3";
major = "3.4";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
sha256 = "0pc2xl6kwhi5l3d0dj6nzdcj2vpihs7y1s3l1hwir8zy7cpx23y1";
};
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
buildInputs = with gnome3;
[ itstool libxml2 intltool glib gtk gsettings_desktop_schemas dconf
exiv2 libjpeg libtiff gstreamer libraw libsoup libsecret libchamplain
librsvg libwebp json_glib webkit lcms2 bison flex ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/gthumb;
description = "Image browser and viewer for GNOME";
platforms = platforms.linux;
license = licenses.gpl2;
maintainers = [ maintainers.mimadrid ];
};
}

View File

@ -1,6 +1,6 @@
{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite { fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite
, webkitgtk, pkgconfig, gnome3, gst_all_1, which, udev, libgudev, libraw, glib, json_glib , webkitgtk, pkgconfig, gnome3, gst_all_1, which, udev, libgudev, libraw, glib, json_glib
, gettext, desktop_file_utils, lcms2, gdk_pixbuf, librsvg, makeWrapper , gettext, desktop_file_utils, lcms2, gdk_pixbuf, librsvg, wrapGAppsHook
, gnome_doc_utils, hicolor_icon_theme, itstool }: , gnome_doc_utils, hicolor_icon_theme, itstool }:
# for dependencies see http://www.yorba.org/projects/shotwell/install/ # for dependencies see http://www.yorba.org/projects/shotwell/install/
@ -8,12 +8,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "${major}.${minor}"; version = "${major}.${minor}";
major = "0.23"; major = "0.23";
minor = "4"; minor = "5";
name = "shotwell-${version}"; name = "shotwell-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/shotwell/${major}/${name}.tar.xz"; url = "mirror://gnome/sources/shotwell/${major}/${name}.tar.xz";
sha256 = "1hnl0lxibklmr1cy95ij1b3jgvdsw4zlcja53ngfxvlsi2r2bbxi"; sha256 = "0fgs1rgvkmy79bmpxrsvm5w8rvqml4l1vnwma0xqx5zzm02p8a07";
}; };
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include";
@ -24,19 +24,11 @@ stdenv.mkDerivation rec {
patchShebangs . patchShebangs .
''; '';
preFixup = ''
wrapProgram "$out/bin/shotwell" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
'';
buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk
pkgconfig gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee pkgconfig gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee
which udev libgudev gnome3.gexiv2 hicolor_icon_theme which udev libgudev gnome3.gexiv2 hicolor_icon_theme
libraw json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg libraw json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg
makeWrapper gnome_doc_utils gnome3.rest wrapGAppsHook gnome_doc_utils gnome3.rest
gnome3.defaultIconTheme itstool ]; gnome3.defaultIconTheme itstool ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,10 +1,11 @@
{ stdenv, fetchurl { stdenv, fetchurl
, pkgconfig, gettext, python , pkgconfig, gettext, pythonPackages
, gtk, pygtk, dbus_python , gtk, gdk_pixbuf, upower
, gdk_pixbuf, upower
, makeWrapper }: , makeWrapper }:
stdenv.mkDerivation rec { let
inherit (pythonPackages) dbus-python pygtk python;
in stdenv.mkDerivation rec {
name = "batti-${version}"; name = "batti-${version}";
version = "0.3.8"; version = "0.3.8";
@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = with stdenv.lib; buildInputs = with stdenv.lib;
[ pkgconfig gettext python gtk pygtk dbus_python gdk_pixbuf upower makeWrapper ]; [ pkgconfig gettext python gtk pygtk dbus-python gdk_pixbuf upower makeWrapper ];
configurePhase = "true"; configurePhase = "true";

View File

@ -1,16 +1,16 @@
{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng { stdenv, fetchurl, python, pyqt5, sip, poppler_utils, pkgconfig, libpng
, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite
, makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp , makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp
, xdg_utils, makeDesktopItem , xdg_utils, makeDesktopItem
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.58.0"; version = "2.64.0";
name = "calibre-${version}"; name = "calibre-${version}";
src = fetchurl { src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz"; url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
sha256 = "0npqvfjqj1vwa7nmnsyd4d30z40brydw275ldf1jankrp6dr9dyd"; sha256 = "0jjbkhd3n7rh5q6cl6yy51hyjbxmgm6xj7i2a1d3h2ggrip1zmr9";
}; };
inherit python; inherit python;
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
prePatch = '' prePatch = ''
sed -i "/pyqt_sip_dir/ s:=.*:= '${pyqt5}/share/sip':" \ sed -i "/pyqt_sip_dir/ s:=.*:= '${pyqt5}/share/sip/PyQt5':" \
setup/build_environment.py setup/build_environment.py
''; '';
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ]; nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ];
buildInputs = buildInputs =
[ python pyqt5 sip_4_16 poppler_utils libpng imagemagick libjpeg [ python pyqt5 sip poppler_utils libpng imagemagick libjpeg
fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
export FC_LIB_DIR=${fontconfig.lib}/lib export FC_LIB_DIR=${fontconfig.lib}/lib
export PODOFO_INC_DIR=${podofo}/include/podofo export PODOFO_INC_DIR=${podofo}/include/podofo
export PODOFO_LIB_DIR=${podofo}/lib export PODOFO_LIB_DIR=${podofo}/lib
export SIP_BIN=${sip_4_16}/bin/sip export SIP_BIN=${sip}/bin/sip
python setup.py install --prefix=$out python setup.py install --prefix=$out
PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py

View File

@ -3,35 +3,25 @@ Description: do not build unrar extension as we strip unrar from the tarball
Forwarded: not-needed Forwarded: not-needed
Last-Update: 2013-04-04 Last-Update: 2013-04-04
Index: calibre/setup/extensions.py Index: calibre/setup/extensions.json
=================================================================== ===================================================================
--- calibre.orig/setup/extensions.py 2014-02-02 10:42:14.510954007 +0100 --- calibre.orig/setup/extensions.json
+++ calibre/setup/extensions.py 2014-02-02 10:42:14.502954007 +0100 +++ calibre/setup/extensions.json
@@ -209,24 +209,6 @@ @@ -211,14 +211,5 @@
sip_files=['calibre/ebooks/pdf/render/qt_hack.sip'] "sources": "calibre/devices/mtp/unix/devices.c calibre/devices/mtp/unix/libmtp.c",
), "headers": "calibre/devices/mtp/unix/devices.h calibre/devices/mtp/unix/upstream/music-players.h calibre/devices/mtp/unix/upstream/device-flags.h",
"libraries": "mtp"
- Extension('unrar', - },
- ['unrar/%s.cpp'%(x.partition('.')[0]) for x in ''' - {
- rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o - "name": "unrar",
- filefn.o filcreat.o archive.o arcread.o unicode.o system.o - "sources": "unrar/rar.cpp unrar/strlist.cpp unrar/strfn.cpp unrar/pathfn.cpp unrar/savepos.cpp unrar/smallfn.cpp unrar/global.cpp unrar/file.cpp unrar/filefn.cpp unrar/filcreat.cpp unrar/archive.cpp unrar/arcread.cpp unrar/unicode.cpp unrar/system.cpp unrar/isnt.cpp unrar/crypt.cpp unrar/crc.cpp unrar/rawread.cpp unrar/encname.cpp unrar/resource.cpp unrar/match.cpp unrar/timefn.cpp unrar/rdwrfn.cpp unrar/consio.cpp unrar/options.cpp unrar/ulinks.cpp unrar/errhnd.cpp unrar/rarvm.cpp unrar/secpassword.cpp unrar/rijndael.cpp unrar/getbits.cpp unrar/sha1.cpp unrar/extinfo.cpp unrar/extract.cpp unrar/volume.cpp unrar/list.cpp unrar/find.cpp unrar/unpack.cpp unrar/cmddata.cpp unrar/filestr.cpp unrar/scantree.cpp calibre/utils/unrar.cpp",
- isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o - "inc_dirs": "unrar",
- timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o - "defines": "SILENT RARDLL UNRAR _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE",
- secpassword.o rijndael.o getbits.o sha1.o extinfo.o extract.o - "windows_defines": "SILENT RARDLL UNRAR",
- volume.o list.o find.o unpack.o cmddata.o filestr.o scantree.o - "optimize_level": 2,
- '''.split()] + ['calibre/utils/unrar.cpp'], - "windows_libraries": "User32 Advapi32 kernel32 Shell32"
- inc_dirs=['unrar'], }
- cflags=[('/' if iswindows else '-') + x for x in ( ]
- 'DSILENT', 'DRARDLL', 'DUNRAR')] + (
- [] if iswindows else ['-D_FILE_OFFSET_BITS=64',
- '-D_LARGEFILE_SOURCE']),
- optimize_level=2,
- libraries=['User32', 'Advapi32', 'kernel32', 'Shell32'] if iswindows else []
- ),
-
]
Index: calibre/src/calibre/ebooks/metadata/archive.py Index: calibre/src/calibre/ebooks/metadata/archive.py
=================================================================== ===================================================================
--- calibre.orig/src/calibre/ebooks/metadata/archive.py 2014-02-02 10:42:14.510954007 +0100 --- calibre.orig/src/calibre/ebooks/metadata/archive.py 2014-02-02 10:42:14.510954007 +0100

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, python, pythonPackages, gettext, pygtksourceview, sqlite }: { stdenv, fetchurl, pythonPackages, gettext, sqlite }:
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
[ sqlite3 ]; [ sqlite3 ];
buildInputs = with pythonPackages; buildInputs = with pythonPackages;
[ python gettext wrapPython pygtk dbus pygtksourceview ]; [ python gettext wrapPython pygtk dbus-python pygtksourceview ];
pythonPath = with pythonPackages; pythonPath = with pythonPackages;
[ pygtk dbus pygtksourceview ]; [ pygtk dbus-python pygtksourceview ];
patches = [ ./subprocess.patch ]; patches = [ ./subprocess.patch ];

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "emem"; pname = "emem";
version = "0.2.23"; version = "0.2.25";
name = "${pname}-${version}"; name = "${pname}-${version}";
inherit jdk; inherit jdk;
src = fetchurl { src = fetchurl {
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar"; url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
sha256 = "0isvhwczbm5fr8bkq45g9i80s50r4vw92b7f3wdzwx7p5sj48pwj"; sha256 = "16j3q0yvh5s32z0y515lyyn0g9ci9yw0vw0ka4sha7fgnynngyr6";
}; };
buildInputs = [ ]; buildInputs = [ ];

View File

@ -11,12 +11,14 @@ gconftool-2 --recursive-unset /apps/guake
*/ */
{ stdenv, fetchurl, lib { stdenv, fetchurl, lib
, pkgconfig, libtool, intltool, makeWrapper , pkgconfig, libtool, intltool, makeWrapper
, dbus, gtk2, gconf, python2, python2Packages, libutempter, vte, keybinder, gnome2, gnome3 }: , dbus, gtk2, gconf, python2Packages, libutempter, vte, keybinder, gnome2, gnome3 }:
with lib; with lib;
let inputs = [ dbus gtk2 gconf python2 libutempter vte keybinder gnome3.gnome_common ]; let
pyPath = makeSearchPathOutput "lib" python2.sitePackages (attrVals [ "dbus" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]); inherit (python2Packages) python;
inputs = [ dbus gtk2 gconf python libutempter vte keybinder gnome3.gnome_common ];
pyPath = makeSearchPathOutput "lib" python.sitePackages (attrVals [ "dbus-python" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "guake-${version}"; name = "guake-${version}";
version = "0.8.3"; version = "0.8.3";
@ -60,11 +62,11 @@ let inputs = [ dbus gtk2 gconf python2 libutempter vte keybinder gnome3.gnome_co
postFixup = '' postFixup = ''
for bin in $out/bin/{guake,guake-prefs}; do for bin in $out/bin/{guake,guake-prefs}; do
substituteInPlace $bin \ substituteInPlace $bin \
--replace '/usr/bin/env python2' ${python2}/bin/python2 --replace '/usr/bin/env python2' ${python.interpreter}
wrapProgram $bin \ wrapProgram $bin \
--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--prefix LD_LIBRARY_PATH : ${makeLibraryPath inputs} \ --prefix LD_LIBRARY_PATH : ${makeLibraryPath inputs} \
--prefix PYTHONPATH : "$out/${python2.sitePackages}:${pyPath}:$PYTHONPATH" --prefix PYTHONPATH : "$out/${python.sitePackages}:${pyPath}:$PYTHONPATH"
done done
''; '';

View File

@ -1,5 +1,5 @@
{ stdenv, fetchzip, buildPythonApplication, docbook2x, libxslt, gnome_doc_utils { stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome_doc_utils
, intltool, dbus_glib, pygobject, pygtk, pyxdg, gnome_python, dbus, sqlite3 , intltool, dbus_glib, gnome_python, dbus
, hicolor_icon_theme , hicolor_icon_theme
}: }:
@ -8,9 +8,8 @@
# #
# WARNING:root:Could not import wnck - workspace tracking will be disabled # WARNING:root:Could not import wnck - workspace tracking will be disabled
buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "hamster-time-tracker-1.04"; name = "hamster-time-tracker-1.04";
namePrefix = "";
src = fetchzip { src = fetchzip {
name = "${name}-src"; name = "${name}-src";
@ -22,7 +21,7 @@ buildPythonApplication rec {
docbook2x libxslt gnome_doc_utils intltool dbus_glib hicolor_icon_theme docbook2x libxslt gnome_doc_utils intltool dbus_glib hicolor_icon_theme
]; ];
propagatedBuildInputs = [ pygobject pygtk pyxdg gnome_python dbus sqlite3 ]; propagatedBuildInputs = with pythonPackages; [ pygobject pygtk pyxdg gnome_python dbus-python sqlite3 ];
configurePhase = '' configurePhase = ''
python waf configure --prefix="$out" python waf configure --prefix="$out"

View File

@ -1,9 +1,7 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, zip, python { stdenv, callPackage, overrideCC, fetchurl, makeWrapper, pkgconfig
, zlib, xapian, which , icu, libmicrohttpd , lzma, zimlib , zip, python, zlib, which, icu, libmicrohttpd, lzma, ctpp2, aria2, wget, bc
, ctpp2, aria2, wget , bc, libuuid , glibc, libX11 , libuuid, glibc, libX11, libXext, libXt, libXrender, glib, dbus, dbus_glib
, libXext, libXt, libXrender , glib, dbus, dbus_glib, gtk , gtk, gdk_pixbuf, pango, cairo , freetype, fontconfig, alsaLib, atk
, gdk_pixbuf, pango, cairo , freetype, fontconfig, alsaLib
, atk
}: }:
let let
@ -31,6 +29,9 @@ let
sha256 = "0sqk0vdwjq44jxbbkj1cy8qykrmafs1sickzldb2w2nshsnjshhg"; sha256 = "0sqk0vdwjq44jxbbkj1cy8qykrmafs1sickzldb2w2nshsnjshhg";
}; };
xapian = callPackage ../../../development/libraries/xapian { inherit stdenv; };
zimlib = callPackage ../../../development/libraries/zimlib { inherit stdenv; };
in in
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -97,7 +98,7 @@ stdenv.mkDerivation rec {
rm $out/bin/kiwix rm $out/bin/kiwix
makeWrapper $out/lib/kiwix/kiwix-launcher $out/bin/kiwix \ makeWrapper $out/lib/kiwix/kiwix-launcher $out/bin/kiwix \
--suffix LD_LIBRARY_PATH : `cat ${stdenv.cc}/nix-support/orig-cc`/lib:${makeLibraryPath [libX11 libXext libXt libXrender glib dbus dbus_glib gtk gdk_pixbuf pango cairo freetype fontconfig alsaLib atk]} \ --suffix LD_LIBRARY_PATH : ${makeLibraryPath [stdenv.cc.cc libX11 libXext libXt libXrender glib dbus dbus_glib gtk gdk_pixbuf pango cairo freetype fontconfig alsaLib atk]} \
--suffix PATH : ${aria2}/bin --suffix PATH : ${aria2}/bin
''; '';
@ -106,6 +107,5 @@ stdenv.mkDerivation rec {
homepage = http://kiwix.org; homepage = http://kiwix.org;
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ robbinch ]; maintainers = with maintainers; [ robbinch ];
broken = true;
}; };
} }

View File

@ -11,7 +11,7 @@ python27Packages.buildPythonApplication rec {
}; };
propagatedBuildInputs = with python27Packages; [ propagatedBuildInputs = with python27Packages; [
wxPython30 pyserial dbus psutil numpy pyopengl pyglet cython wxPython30 pyserial dbus-python psutil numpy pyopengl pyglet cython
]; ];
doCheck = false; doCheck = false;

View File

@ -0,0 +1,101 @@
{ stdenv, fetchFromGitHub, curl, fribidi, mpv, less, rlwrap, gawk, bash, emacs, groff, ncurses, pandoc }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "translate-shell";
version = "0.9.4";
src = fetchFromGitHub {
owner = "soimort";
repo = "translate-shell";
rev = "v" + version;
sha256 = "166zhic3k4z37vc8p1fnhc4xx7i7q0j30nr324frmp1mrnwrdib8";
};
phases = [ "buildPhase" "installPhase" "postFixup" ];
buildPhase = ''
mkdir -p $out/bin
mkdir -p $out/share
mkdir -p $out/share/man/man1
'';
installPhase = ''
cp $src/translate $out/bin/trans
cp $src/translate $out/bin/translate
cp $src/translate $out/bin/translate-shell
cp $src/translate.awk $out/share/translate.awk
cp $src/build.awk $out/share/build.awk
cp $src/metainfo.awk $out/share/metainfo.awk
cp $src/test.awk $out/share/test.awk
cp -r $src/include $out/share
cp -r $src/test $out/share
cp $src/man/trans.1 $out/share/man/man1
chmod +x $out/bin/translate
chmod +x $out/share/translate.awk
chmod +x $out/share/build.awk
chmod +x $out/share/metainfo.awk
chmod +x $out/share/test.awk
'';
postFixup = ''
substituteInPlace $out/bin/trans --replace "/bin/sh" "${bash}/bin/bash"
substituteInPlace $out/bin/trans --replace "gawk " "${gawk}/bin/gawk "
substituteInPlace $out/bin/trans --replace "translate.awk" "$out/share/translate.awk"
substituteInPlace $out/bin/translate --replace "/bin/sh" "${bash}/bin/bash"
substituteInPlace $out/bin/translate --replace "gawk " "${gawk}/bin/gawk "
substituteInPlace $out/bin/translate --replace "translate.awk" "$out/share/translate.awk"
substituteInPlace $out/bin/translate-shell --replace "/bin/sh" "${bash}/bin/bash"
substituteInPlace $out/bin/translate-shell --replace "gawk " "${gawk}/bin/gawk "
substituteInPlace $out/bin/translate-shell --replace "translate.awk" "$out/share/translate.awk"
substituteInPlace $out/share/translate.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
substituteInPlace $out/share/translate.awk --replace "metainfo" "$out/share/metainfo"
substituteInPlace $out/share/translate.awk --replace "include/" "$out/share/include/"
substituteInPlace $out/share/build.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
substituteInPlace $out/share/build.awk --replace "include/" "$out/share/include/"
substituteInPlace $out/share/build.awk --replace "metainfo.awk" "$out/share/metainfo.awk"
substituteInPlace $out/share/metainfo.awk --replace "translate.awk" "$out/share/translate.awk"
substituteInPlace $out/share/test.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
substituteInPlace $out/share/test.awk --replace "include/" "$out/share/include/"
substituteInPlace $out/share/test.awk --replace "test/" "$out/share/test/"
substituteInPlace $out/share/include/Translators/\*.awk --replace "include/" "$out/share/include/"
substituteInPlace $out/share/test/Test.awk --replace "test/" "$out/share/test/"
substituteInPlace $out/share/test/TestUtils.awk --replace "include/" "$out/share/include/"
substituteInPlace $out/share/test/TestParser.awk --replace "include/" "$out/share/include/"
substituteInPlace $out/share/test/TestCommons.awk --replace "\"gawk\"" "\"${gawk}/bin/gawk\""
substituteInPlace $out/share/test/TestCommons.awk --replace "Commons.awk" "$out/share/include/Commons.awk"
substituteInPlace $out/share/include/Main.awk --replace "\"tput\"" "\"${ncurses}/bin/tput\""
substituteInPlace $out/share/include/Help.awk --replace "\"groff\"" "\"${groff}/bin/groff\""
substituteInPlace $out/share/include/Utils.awk --replace "\"fribidi\"" "\"${fribidi}/bin/fribidi\""
substituteInPlace $out/share/include/Utils.awk --replace "\"fribidi " "\"${fribidi}/bin/fribidi "
substituteInPlace $out/share/include/Utils.awk --replace "\"rlwrap\"" "\"${rlwrap}/bin/rlwrap\""
substituteInPlace $out/share/include/Utils.awk --replace "\"emacs\"" "\"${emacs}/bin/emacs\""
substituteInPlace $out/share/include/Utils.awk --replace "\"curl\"" "\"${curl}/bin/curl\""
substituteInPlace $out/share/build.awk --replace "\"pandoc " "\"${pandoc}/bin/pandoc "
substituteInPlace $out/share/include/Translate.awk --replace "\"mpv " "\"${mpv}/bin/mpv "
substituteInPlace $out/share/include/Translate.awk --replace "\"less " "\"${less}/bin/less "
'';
meta = with stdenv.lib; {
homepage = https://www.soimort.org/translate-shell;
description = "Command-line translator using Google Translate, Bing Translator, Yandex.Translate, and Apertium";
license = licenses.publicDomain;
maintainers = [ maintainers.ebzzry ];
platforms = platforms.unix;
};
}

View File

@ -4,189 +4,189 @@
# ruby generate_sources.rb 46.0.1 > sources.nix # ruby generate_sources.rb 46.0.1 > sources.nix
{ {
version = "48.0"; version = "48.0.1";
sources = [ sources = [
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ach/firefox-48.0.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "57ecf646fdb81b48be76e79d9ca514d2d1bdf76cc5e577545be6bafce466938e14a508819e69e1a28905a278ccf48c2f958f8e404f312f90e63cbe9317b39314"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ach/firefox-48.0.1.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "84d34e59d4eed11498b8a37e7bf2e0efc776a3598fd461f6a2930a1faede5f6578671ba40e50908b951eaafd91478eaa908d9ad40ea0e63d389ed4d8adea380b"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ach/firefox-48.0.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "ebb5273a458eeb62a48575ece8c1c20f760ff0c015073e13d4103d3f2d9db5ffa085df6e59b6a651c39a743852ec0fff4455e9d9cc8c0dcff1554a948726de47"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ach/firefox-48.0.1.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "7cfa63cfc1f7c4b973d413cbca648b6bfbd97eb55de887db0e530ff0eaf61b5cea3f367f87b1e6894b40f8d5ad409dbe4ce7152c2c3ba9f02b82444a17c589e6"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/af/firefox-48.0.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "efbd8aa1118a76d37e79970928c622f382eacb10441fce578ad0d782e7c900b22c197f1b70057c1142fe7c7eaf4bdffb7af9f9662e9cf7b32123a332278c5be8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/af/firefox-48.0.1.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "298f0d9d022c746394ac6e5f9138a1fb228229022e12857101322295b86aaba71962a4d61839146006d21f2a3839355f7206b23c83a93d638c53344925fd0291"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/af/firefox-48.0.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "ee623538bf68b42961fa921d03b69181ed901f55fb853bf435afc5de7942ffde3bc4bb70a4baaa613b7d679002be2e11f3405eeabf2a0d8cf9338c4a4354e841"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/af/firefox-48.0.1.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "5edbd16925a0aaaaa944a42f04c53a13eebfae03163666d0095e41fc6525e11dba10e60c9b064c19cfa2337c21508178c403c30c250e3d23ffb29b98ad4c50ab"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/an/firefox-48.0.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "73591c7ce176834de04c8d8ed45239502199b3b34b0884dc87a56580e8548de2e0c3b2a9cb7d03c463ee6022bd3c2c8e08cb40697ecbf1368e276658f3fe3d68"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/an/firefox-48.0.1.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "76d66deaef18fa92c29676b773947c8ca84a381c0e092e23ee74a5b7b66439f511e1164241f81c95ec4f1b13ab1e2a42d886ef199e9795896ac00deb35ad8863"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/an/firefox-48.0.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "489d88b99ff4adc9edb919f5cefca944577391d19c9b10797d7447db5468a43e143234bdfc884c8d98c4ac715b8c29388aebc9efe3e79ec68694e33ff1f21987"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/an/firefox-48.0.1.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "a958efab67dccbdf74b486d5480185d04d4735f98549c1017ac72256b1cc62b10b746f938d3e29096d39a6e881caa68d6d164a4271adc5380182c8cd33b6e8b2"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ar/firefox-48.0.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "606bb3823834020e6110ef2cae2732ba8e4b2a3f38450a38ed23355d0f16dba7c98ef29df8b6fb6e76fd12e99b4ee97dc066cf74b3156e99af7c0929d9b2af0f"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ar/firefox-48.0.1.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "d6e80f7898521fd1ea0e99984f5bbb6e7602ecd84d0ae8f81a09690794c7d35e13381fe7af7fefc8e116da32cebcee4022b8651c04fd0bb777a42e5a9b94a312"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ar/firefox-48.0.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "af7970892dba0afb677c478ee296cd4ddb75064f229d13f74f6102d45ab7af819d911eafc84cd4351e3eb50bc47e69ac7a3c204b7e96cbb946fc13f46fc1a4af"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ar/firefox-48.0.1.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "80f0a19ea99e6058c9f753441ca48dc1bbcf64190e9b1f2dd424c0b65d229cbc2badb33bc619d98506d3282484ad03933eed8a502c6606a41152e556861d8601"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/as/firefox-48.0.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "cfd631ca2893eee802a9bc82dee3d8d348fe48010080fc82521dc61a6efe1271513f0f1b9a0cf2866050fb1ba3d41ee9a7ad7283b3e669bf8537d8cb38bfbbc2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/as/firefox-48.0.1.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "f4e580a52d0a1f0886f3bfedbf1dafed4322be6ccb219b76c52b73680dfeaa1a410c55d903918ac5e6592eab413354096a16f8aac2f70613355823ecbb86e976"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/as/firefox-48.0.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "ff94b9f687da69ca541f03e720dab47dc805e2ae86ab297615195302cfdef13bff294bd9f0a3bc802cca9f855e83c6f346833847d7dddcd4f1cc19404dabd752"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/as/firefox-48.0.1.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "b5fde624790b040ef3b87824582a7b6171aff5e2eb38a361bdde93b021250460e0e17ae0b62a2d6369a0ca56a830019291a84e238837fd503acd9ffb252a81aa"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ast/firefox-48.0.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "3ec1c5a9c73cca3d637cd6045a1110c729cd1ee83d5b4e7452ba45cfb0e01cdc1f87bca870ca0af595769607154364bc03bf88ab99067f1c1be82fd8584a439c"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ast/firefox-48.0.1.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "1bfc20ecd519f479460401ee32687cfdb7330430be06ff69d4d5b5ef4141ed21695a88b4d43abe5c6b9c4f8a9156ec7038f93077aab5b466298b14a19ab0f116"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ast/firefox-48.0.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "84a6961c164cb6279ecfda6bf07f81ee40fe59636bcda0970bb20880d0337447fbc7fe12699627d3544b9f748426c3bf5b9ac2168ad9951c5a04a63a54acfc73"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ast/firefox-48.0.1.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "5ab70b9517830367645b3bde761d048191a7d03b9c7610ea8ca131d9dc381326e069de8a74894f1aa415adeb15471656b5f7d5189651db40e33ad3df99b506a5"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/az/firefox-48.0.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "95b2228952c52d1daf5d34813fc9ab83261899e8f43208b06146c44cf969167c63f71cb1846386d2d657cfcd283c398ee3363a28e0b8febee1d7704c392b6064"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/az/firefox-48.0.1.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "37f1b6eb7e07a21b0fed9b987fad957ff737d76a55b8f7ad55479c62a9fdb75cbb365fc3af2203e6367ac995fd24d1a310173aedc388014413b5392f74652ffd"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/az/firefox-48.0.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "d87b848645c779a1ce5c989a95dcf9a4ebdf305aaec5cd16ecded438a5f0a0e69ef1d6285a4c9fc9f2c9da0bbb26e2b79c24bd27b1d3a1b3df4ba18e2de4b465"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/az/firefox-48.0.1.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "4b3a2bf0579debd0de0bbeae80661bd8b78157a17c8024c2d894848c555a524cfea1fa2f99c45c194633a7eff64d0774f577f179e2c719ffc981142811c96869"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/be/firefox-48.0.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "9dbf3497d52dd7e4260aee089fa77d888db7f97f6512c53a410a7440683e58759686f543ca5052c8a1fbd6372c924e83800299fa0e9454c74ff4a03cf29e8fca"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/be/firefox-48.0.1.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "b7d1b6bd405fa3a033c73939b07375ef21943a3543a0c99c511434e4ce289cbc4719d68e60ec98a6b643735ac50a59b70b1c76dcb3d9a17a97abb7668be66487"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/be/firefox-48.0.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "a9fdc05f4cc123dfe672cf8b31cd47f2b25f0f1685d09839a0e86709994e31851ad78bae36f6156f273cb8e94c01319be08bfd4e5ee931a88ddbe40b06336b63"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/be/firefox-48.0.1.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "bee66588c5a28d614c4949a317bf0c8d9a0be484476f57383379768c0ce3b9c8c700b7477f006e369ad34e8190859c7047209509ad59d09da18bef1b069b22f3"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/bg/firefox-48.0.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "46df725d41d0229af74205e3e0afa16b89841a0161902cbdf69faa065067db387fe6480ca80e10d3f805c98301d576e279b3405313bf10146a78085b2c05dd7c"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bg/firefox-48.0.1.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "30d9f0f80a78e19dc24fd5a0e618b8b3f299eac429e4999f78832d5248fb6e229c342f202db0b2f6a5910dbb34e8f4388598c74739cebc895a393ad0f2b788f3"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/bg/firefox-48.0.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "fbe69e3b48f7c7baba07b23fce7cf266258851427b2bbf8c21b7a870177a499574ae937ce88270abebe3030a289bce236ab1d4f806a223a309e9ced9d5549de8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bg/firefox-48.0.1.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "cf3c0335e0be4bde722f94b41fec4a3d60eeadd6724d0905c33ad69c690c60ba555f132209868d1d9aa97c933775d5b9e399600fc4630573fbb9009643f875b8"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/bn-BD/firefox-48.0.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "c82e3f2192be0e8aca9f0cdd8eb06e7c8b193c151c4ae52a5ffa1908c62382de9938ca97da44d10cdcb8dd98bb17362887811df41496a389c49e20dc42229f96"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bn-BD/firefox-48.0.1.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "17f1bf0073299f5428b22420cf1891015c5443d36ae9ff1f63a36fcfeab4e156e5307d23856f10ae6fc554e95f42548b3c12ac57411ed6e4c5602e829f71f8e2"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/bn-BD/firefox-48.0.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "14dc923c5db1b49a1ca98eda1e45d5978f7a0e034bb26462da25ab7b160303f3f546e4aaeac3b712fa1a7dc8c70433ad09d11ab7493234bf5bd1ef73eede930f"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bn-BD/firefox-48.0.1.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "2a5920402029c072751540f1777b68fb35f56a68045c5ae7d6065d385bce78e735c5085541088eb626f575e8190daa1800768d7c7603c4fe9ccb316c0537c8c0"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/bn-IN/firefox-48.0.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "9e86a9dcbfd1516a134670f17c2734c9624daeb28a0eebb9e81f40f7a1f49ef8d7b9ecbe501beac1e5cd895502cebeae0dde9dfcb91758b5dba5ee42cc061cc4"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bn-IN/firefox-48.0.1.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "f699ecb0a27d0ff47a1424152954f9207aa32ed44227e3b8b34bfbe45a4667a987de6d87eec5407cd52104dea454bae93f54c0f5972694b111ea4e12dcb8a556"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/bn-IN/firefox-48.0.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "4cee2c673cd4dc14c33849e93c0bd2aead14c631940aee255fd75391b5588610cdd79c71e85264981d44e06892d1ec99bd484e72e7e56d207db9911cc5f3dcba"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bn-IN/firefox-48.0.1.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "1657abce7f712f47f9c7b0c326f5885affc9f34729a3f23e050f64863a81312345f845f504b367098587a2e7fdfed135d21e82bf1f1ce8a1bdac96daf4588f57"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/br/firefox-48.0.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "5f420addb318b9c5fa11ca83f837758b49e2358448347cbfc13b2cf644f4f5bafebadfbebe5522d790d5a03d4c35406bb49268e40d62161288f0592235c0aa6c"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/br/firefox-48.0.1.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "d086ad6c4c9dd91043dffca2e94df0b35e9b4578fc4d013a06ecc35c4d7ba529a3f248fd91e0cc3e88330790ae97ea7d84f74ac01c88d43a6df68d0adfccd53d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/br/firefox-48.0.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "0dc0bec866a3d4471e3b1928a9bb32549bfe09b9c77d28406cc8f8c9e5d6064581c148701e4e650b28e1b95ba6db85c27de7625ddd39caf1b92e2d6d1a357889"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/br/firefox-48.0.1.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "abb2bef102b4bd54ee916d36b88e5ac6417bf828a66740eaefdd160684e2b2a02d9b64cb3bb81b4a4917e38e68a7e2ab2ba4258ec12aa3e1b026f0a4bad43c23"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/bs/firefox-48.0.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "0e2563650a9cf9ed48928e49c2cd9aa9c295106ae5147a2ec87e5fbf28acf303da071e9f586315159db72e93cb7611a3eb8607da1dcda9c2645b9af19faaec31"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bs/firefox-48.0.1.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "8344d35edb7c4eba1e37f7c3b2f61d72f1ebf0d4f973d996704ce20460b6b91cc22f31cd92528d87a2e8915f287d2dac656aa8a09e54520abfed4af376caed1f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/bs/firefox-48.0.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "4324112ba0112db3dddd7cec05ae3965a7b656f7e0e05e28a00b127dc0885814064219c1c2f9bce9dce0a0237a4f0def79d6cdc15a8f46c23efde1c34b89cc91"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bs/firefox-48.0.1.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "1519eded3832e950d7a11679c9897452510d40978283fa46f1637b9eeceda61350c5b70168a84ea7adae98c00dddb4e6e86e1bc81f01b6517861dbf88304f83a"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ca/firefox-48.0.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "3977d2c8b5a05659f5c160e2ea1a25729ce4565821a67d4da9649fd57c1451f1b136a147faaf9987c719518028dc2be14df1edbef083220c9de40a377612f9f8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ca/firefox-48.0.1.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "f4756c5d62f4a25c46be2ed264edd32e30d63e62029d9571de8ea6784edd12aca8b7a139f41d3ffd59ba72f3697a24a4767f29f11829d553eeafbdc5bc4944e5"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ca/firefox-48.0.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "e9a3ad240e7d6fbcf7b54e350c297b40cb224e75390919c737b2380c5af7ddc93834469ee5dc4c93115fda44ee97b21d01b002f35f69630dc667fba8333620bc"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ca/firefox-48.0.1.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "b495de2da2a287bd89f1cfdcc9cf618a70a22312997f1e56a4283556265edd057dffeb36c10a8c8cac7cb5ff992870f9acd53d3776ea8504279d0841ee71f884"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/cak/firefox-48.0.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "ab7b9d41f3686ae77c72c332e04775785741a2b81a3a8b8ca2059dae3a27aad26585a59d99e5c99486d75b7c8c5571a5c9524ec142e7f75f29ecc34c824d5d92"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cak/firefox-48.0.1.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "ece0d38378cfefd940136f52bbcd94330335afa9fb70dd63dbdf59ad1f2c9cc5f233fc2ee2a8f6a19bb0196e3c59f59fa018f7da09a091e21e361b4c661364dd"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/cak/firefox-48.0.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "be80d95ebfa0d79869257a788aa59cc88849bfe14ccd148bb46caa6db32046a62ffd17d36c6451caa0b4f500153e7f607616f4313fb42c0576e669bacc6b117c"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cak/firefox-48.0.1.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "b1b3e74890bb30dd94a220b2ed25270de000bbd9e6ab018e57d141e8932c00acd9985c811fce61a463f7ba25c11fcb4457057d854266c56423db62865f3b9ba0"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/cs/firefox-48.0.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "8c0873fcea5ff7aa6f0a78fb6cbe59f7514ad5b0e64ac0d10f03cf3747ef3b6b1cfce01d12f0e11d5f3ed7a7b248e0dd5250850edd4a3a8c8d5f692b6fdc9d75"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cs/firefox-48.0.1.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "9a446072b3b48d343ca7ade8c5882ee0dae7e99ad41992e1ec6e080fd28f38031265d9e541e98614d92b048c2d61cef356d331aab1abc31f724593025dca46e2"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/cs/firefox-48.0.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "fe5d78ce15f041ab006f5d3b445deb26acd2c5e5d079f6789a0e5f56c2d9077b43595f1dddea3b03d4d7a2fc5565b5da4cc8d138b541d88a31475eb5ce219d68"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cs/firefox-48.0.1.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "19e9e93827b675dfc1f0a88b244b884d2621d3adc85259ef754413f4bcd4dfbe7ddc784fa0b79b85b41ffb1ae65fe9d6c782a38d5f251077a8b1d25cdf523eb1"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/cy/firefox-48.0.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "0c66565a03806c33ecb92c9c7106122283213b5b5cd171b93337a14d446cf0d4d36d298680d286d57c4f09f532f5794a67a426ff7e2d7044c65800d1a6e2ef81"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cy/firefox-48.0.1.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "70471edc640730e5372da974bca2acc0905b945eb9d8ae3a4b030f0624bcbc53fd212929854d527b078fe97b41f19f0051306e62a8338d72caba5f297a81b492"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/cy/firefox-48.0.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "2c52f2e204a86afe6f1016fde6aa13cd6b34fc22f7a1943e81b7e6ec0e2136c51156b57bbf12a1cee95aad66d415356cbbd47c2aa94d944672169526b8f1bd94"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cy/firefox-48.0.1.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "787ade4530fa3e716e1e54c3f2214b2ca036d0956d41385abf93db12e2bf73b149c17274b25ea3581d0cbe59c1578d25926e599dccca24288bfd531810e39cac"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/da/firefox-48.0.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "fc0e9ba7db425e4a209022487f796f646ba82e4ba9e06153f094037ccb4a959b6fe2ceeadee96b906eb0cb8eab72e34b29f6d024cf34d93cf4e54dc16fccef9c"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/da/firefox-48.0.1.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "2af48a7bad80828531e6e8d611a133f1cc43de844273ab28bbb972432f7607689d6f784ec02ba2e76f5580d46a814fa09ecbe15bea2b10407620c4d2c71253d6"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/da/firefox-48.0.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "a6a4c67f9bfe80ff83f99e459c49c58635739da0967f9e8bb1a37568084c4c2f83057e0daa969d6fb844d93994107ea29982f515217a18e79ac8b04c766a0fd0"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/da/firefox-48.0.1.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "d42207aad951e0b96317b05f2439d635ae36cf12cd7e4b149dd59025109783181929b7435334384f16dab56b7b6309acd4530caaaa22eb41263406380dac2fc9"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/de/firefox-48.0.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "40f912539b1bbaf1291270b109d455de1f080a68490950fc9acfb675179d37e75d3cd09cc25ed01bd9f0d970b6d988caaf7d3510a00bbe696139e68dda1aea25"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/de/firefox-48.0.1.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "495559f2c5a7c6e21e6887d0adbc5c39038eec7b5947885c8c11490a6078f87e264ef622a0df7b2ccc8942a990fa8b8b70387e54a56620222ac4acb5082a31e9"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/de/firefox-48.0.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "b41cbe809060c2fbaf19688f450532ef71f8d7d995e382aedeaf394b00742d8256aca9560f069f60efe7dfb24d05f884fd7160e3cfa9a15437124b8c4de38786"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/de/firefox-48.0.1.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "0eacaa9d0a2bdbbf88aa183d10108c6df25c2f8fa60e37b16b639ace18d0f4882f535275d7f601cf452555786a7339780c94ddc7ed94135db588bc05afdc8077"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/dsb/firefox-48.0.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "cbbfedfe185cced2644ed6aa34ae754f7c79a18fae8e6b2846d7a1a9b3b141f95def6d7b9c2b2c8b58c0b1e777d36291164866dbf43e93e3ffc8c1e319aa3ca6"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/dsb/firefox-48.0.1.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "5c6ae45ee257553c32c708f4f027e1e938bbdde9715bedd9da44339da1e599302f081ddc4cec418cc5e0f49b12ffd4f14c4b7fe2495569358452fe82f60ae68f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/dsb/firefox-48.0.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "dbef6f6acd1e5cff574e9f456fe0d7ab3c2982d90c15ffcc1195e693357849ffe01091b2be997203d56a580774bba71334635c1f5a0aed57ebb7f7ca6c95b879"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/dsb/firefox-48.0.1.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "6199a2cc832e07ec50bc1dad515e7e9dbf030cb89d450ce74cd695398e8028707bfd071cc5aaac61f77bc478ae08a7c512e01387c3d83fbf2401fb33176a3d31"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/el/firefox-48.0.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "7cd345924f3113d22c338d1bde94c9ec3157531c38aebee0048e81258fe60e600b11449e1db78fca15073636c2fdd120e90f12c3eee461a43718c8de0e89e646"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/el/firefox-48.0.1.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "32dcfebc7f9b7d1bb2b9d22fab37c1156ceea29af0b55e01566a11afc9e7f0e1c590f5edc54afd9546e545d83460c358363b627ef8b10513b11648b52fd2c131"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/el/firefox-48.0.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "47a500294df276b752d6728b47dff65aa34cfd87ec861d55357ddcf2386e53c646c24ab7e29f70e547986ac6311b2961bcd245a51333c5c4d46912d0bf84547c"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/el/firefox-48.0.1.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "de23bd4671544ab40dc5aa10271e9876f795c0ab10a9a91df7429471f14720244bc190770f50e0cf6e64cf069dcdadae235dcd0714bdf3120cb86c080035bb48"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/en-GB/firefox-48.0.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "2ee0c7b3653c18a4c26cb78e6b579e0f22cba9dd0a6d54dc0028df6635a9ac912eb8c8958af5ffb4e572ae45b54891a19efd7f6efb407027130a3e444e435968"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-GB/firefox-48.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "ce36e954a355769c771f90808c19c6043a64b91b0e5764eb5a0be22835f84b95ca05bf60c8bf23d1c22cee7cf53e1d6f088186c6fb112577343ffa1e905e8f4a"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/en-GB/firefox-48.0.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "8ea361476983e9677ad6d9b5c833f114566c528b72158d18664ee66dfe5c00bbcec1ab8c5b1293755348282b4e86ba3f033a86aad3ce943a695ace06a43bd252"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-GB/firefox-48.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "d666e4a0334ee1f5c779514ad02c7afea7ca0c096059a6c30380064f95ca31f1d54fc5e28ecc84dc07c0859eba1c7d8b28fd62d2c5d8e4ddefdec7f302f8c4eb"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/en-US/firefox-48.0.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "b7d35e0664012ed45e8256bde69ce6c64a984160185082e3caea8762bf81adde8eb9caa9b4b83ba79083217fb202642face8c660623a87002bd61bbf9092ff7a"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-US/firefox-48.0.1.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "efa20f6c66f837dccc6067f7ba67ff35313d49bdb200f6cd921135c380b4501d74e1ca2422d8193f74c2f32120b784539e3f42471ce6c17a3d660c8c1063c408"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/en-US/firefox-48.0.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "1c66c802af9ca1a665074ebbde5ee349b14cbe5a7e911f42c71334ebd15fadfacd33759b8bac92f56b117a66661c7602aa7c5bcd21e1e186f6d669d5d7957bc8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-US/firefox-48.0.1.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "645240eb0c9d97a31444f43eb8e504b6cc7ac0b8dc7c835448818992b3a1d531eb6b4413270a1df4b93a93c70b248846a814e94ff4ae1f520bbb0e935f13e4ee"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/en-ZA/firefox-48.0.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "2db66b79129bff445e9a5fb6ae982453b5fc2b18f3c9b017afb739ec774465f098e11ef02b8d00049a5ca3289acd117bc076d578934a215626f246efdf41c6d3"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-ZA/firefox-48.0.1.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "032fc4c1a6baffc23aa7673cdc6f3cb8c72fce43940cfb1efb94cbe5876035e7399dc81572588730cf26697234a7e091b726416f9de5bd8df8ffc242efc86d42"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/en-ZA/firefox-48.0.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "1473001924b17825893f0e0d9a65bff0be03369e6b07e9ad51a2d0c6afb4c4faeece06aadd53ffaa941de364c54708c483a21088a4c6afaffa24291ac97c679c"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-ZA/firefox-48.0.1.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "24acf09ee0810af0eab93fe3f9ef198e61f64b91ae207ab030b070c1fe2f7d2e509f341828e278529c5874cbc9984c070f831ce0db97419082bfe5d1d3aa9791"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/eo/firefox-48.0.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "64b8b4e1bd0afcde46fc431ebc7579813b16554ac5a55b06835eb58b317b93590d34a3925195d4cd93aee04c3c86c99242a9a4454572141100c4873f1ee9d2a7"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/eo/firefox-48.0.1.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "958c51d91df80ae93d334cf7b13239138f6f736b5eaba5eddeef49ad994da818f5fafb1eee3fe00c71dd1a678ac10e877cd563833edc9676459cbfe36cf1235a"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/eo/firefox-48.0.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "414f7411db27fe462d030e937d0549a35f735747b736b713192887947f0492734ff2bdd1654706e9eda15410b2b240f3d747f3c8905a31ad5c72a73b621ef0c2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/eo/firefox-48.0.1.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "3d11d451a9d71afb68b03804ce1f60a773bc65bc611817d124aa762fe9c78797de4ea7271bdcb4a08abaaf883fdfe7a4687ed9f62424c0d0367ecffa5110ae6d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/es-AR/firefox-48.0.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "f25942436f05c0a1029a5f9921e9cc7a0d0a40c57a0742207c336e73ca382b881319c67961b240924266650731b806c7f07ff67937d503d8e94e43f2387cf7da"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-AR/firefox-48.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "0149b3520256237c2bd246a37be79d33f59f3a80922538eb964d0823e527966230e35b43c1590acd6300545e16e4ffe62b4a8557f422c4c640a7c54c0a6ead46"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/es-AR/firefox-48.0.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "c4ccbaf8741e339bdf0faba2a95d6e481bc10408064248a2b27e447637d53e3f866ee671d61d8d0663b6dab48553b3ab1b0680fa37dfe13ffcb5119fd3996b72"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-AR/firefox-48.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "b1d50cc3efc94703b8c198df41ab9026efe818e0183baba85fbf141417f829f8ef93930b560ef915e25f67c29928d924cd2ea451283ab9c717b8f91592704f0c"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/es-CL/firefox-48.0.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "b77df1944974a2bde0482c0fb2d36f9e3d38d09b5182faf6c008174525fa598f52910547fb1ea7e692968407279dfef9a576e1748e0d6de7382937e4258b7d41"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-CL/firefox-48.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "f9a68f02c20145a11c50384977dc62a83b6212a649e399c0922b3139c1c4e133fa76f14999f17fae4c992e28c60701639200d70f6daefbb6763606990597e725"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/es-CL/firefox-48.0.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "6d62e95696d8ab3a227fd176dfc4555aa37482585d3f575cf6cc62e2573bf0085c2ba3ca64dd597e68ffb0abca9cb8e11bbd6040a7e5df2e2371328a029e298e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-CL/firefox-48.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "32d8ba95b573d8142dfc8e86688c01a91bb2fdca03bd4093255db0b8dc13ad8d0d0b3f2db05735e49a10f50cf6d77447b1b695a2cf1fea19203a06813aae1d72"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/es-ES/firefox-48.0.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "7064370188a13d7918925ca727af1291d009651dd562af17e461cccc59f5f62df6a29f3919be847f968004421ebcdbc0ab67b32d994079b55528894733e1079b"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-ES/firefox-48.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "5ebc55110682d4d033cac727ed769f9931a95782851a1945a70242d2fedafef5efe476b03721a7aa6c6c86a12296de72283cc9133d5ccebed4ac026e2e1d0dc1"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/es-ES/firefox-48.0.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "7562fc8cf2e8a80c59ce3893b01fe56b62ed81ccc04703a6e1d8da372e15198626a16378697e71079ecb129bef9ea70eebcfca1da8a8b4567ee96e9fdc8ac83a"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-ES/firefox-48.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "6cdb77f3267c3c23cc9e69a226428c90327930c0d8b166bd7c883adf1addf27a8cf531c2b931a2278320a0e182dac7c09954efb231bbe5bbb52a0f0a62179d6d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/es-MX/firefox-48.0.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "cdc43dae9bb8cb5e7e5816fde84ec6a4ca072bf3e594dc3cc0f77bc4fd2cb3a28bd5950dbfe2d1864ffd313f304beb5c1173f53e560fd4ededdc249e276f0dd1"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-MX/firefox-48.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "9c62d1b59ca495631e8da9ff262ebc97acb8f6ecc4dd1889c110f0dde8eaddf97df7f6f75e2ca21a4b13c50e65939f7a6d9ceca3c1379a92a641c8c9787ac5bc"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/es-MX/firefox-48.0.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "d0a118ea015d709191ac654a22806186a3e62ee540c6efceb6a05d9cfa8fee9a611d2f3f19430988ade7a77ea02fe62383574d41b18c4a8d2925a5c09b65a1c4"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-MX/firefox-48.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "ac076fda6eea7e82ef8da3206a88466994730d5b0a5455b11de4e39b5675ed199ec738c52ac44f15c4056c3c115549ea1822674c5fa70413369f9c8471074e62"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/et/firefox-48.0.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "3218dc25082bb1e6047445542e902934346c104843ef10efaed5c283372734662737829a3edc7ba7025558566b7b0e4485f02ecd24802c781bb8037f92478deb"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/et/firefox-48.0.1.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "dd7c076bd9eedee3099acb57b0a7713cf8f2033a4fabab81a900425d9c1217345351096c7deeb791fafe7247d8aa6b5c1e8aea0b3aff09fc2bbc91df48135e14"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/et/firefox-48.0.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "81c14a517b59dcba904950559ba6388c75fc39bc498dae4106dee555a3f1d737f9a258327f3130c85dc6c6b52e17b741056b4095dae7cc8cf8dd612965ad7f99"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/et/firefox-48.0.1.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "f0a6b6772be00616aa1520aae00f4bd6b8ca1a98eedc9a7bf30cf11ef90c12c6b5557a2b4b91f314a1118e84964f9d5b2b9b978d988306bae409006aa828c009"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/eu/firefox-48.0.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "31c0c182f84468aa15b03410b1cdfbba35b7e74474d506e9bc32168941e210e93fe441de9df77e48fe9996c77d45255a513e6acfb733e179fbbda0a75318b7a7"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/eu/firefox-48.0.1.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "03aa604c1884f6a18e6be1a9244e1fd9a1954328d7209745945c9782613f3d85ced3c174d95d05ed462a17e8b663e956e4fcf502a08a9fa0b7b280ac17ea77f4"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/eu/firefox-48.0.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "5bf898af06d2b9fd6be194adf4453f8c271cd2c2d3b166e788427d4edc45f814787265956120619a5347df7c2fb5a7002954eb70d9745143e540055a7105a05e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/eu/firefox-48.0.1.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "b52666bb77be972c05dab682faff55dcf15ffea015d12776fd876079da07ba6e10550e2fa9b8da8c436fb24fdde52a995fae045b08c404c39f80f9b5aefc7343"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/fa/firefox-48.0.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "53a86ce6b5a0312b1380fc17bf7eaa879f266307934bfc46cfa18bd385021f875fa306836a796ed2777271758f2a0201b385ba8aaef076e6a54c94cf24fe03bf"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fa/firefox-48.0.1.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "db50861f6a057cd1101a32193a99adfdcdddef644bfd3d963e1066704b72c1d94ee5f9bc71dd743969e2ea48baec75ff219e85bf915f2abc534e8a1138dd8306"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/fa/firefox-48.0.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "a5a961f0a93be6fcbdd7fcfdf356b937b946974a96876ac9cc1e9ff60f54a4f61634d4c4b9cce5b979d4fa1b6084f4f68b2265f503c70fa1b3a5f4392ee0e3d5"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fa/firefox-48.0.1.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "043fb255127630304756c51d49d5dd3989a3d86a1fb5625b26d55872df4e2eb935bd7847516324c0d6ec5d0e3a1d341b00fd57d82d4ae25134d9f2c477327cd8"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ff/firefox-48.0.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "4b2dd232f326efd720fce08a91222476cf10f33b90ecc9b43cba715ede44b3d00dbf05cb54616db4a32bcfa8c5b593e2981a69454a015e8e9baad927ad5162d9"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ff/firefox-48.0.1.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "1ef36b933799ed72d500050223d45d3092fbb2ab9a27c4f375d5442f8940a46488496ada23c6c302866324d23bbbf6e233f5ff575268994ae8db8027c4c842a5"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ff/firefox-48.0.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "23d4b17bddfb62f947a4b07eed55dfbe13232f98d0197e5ce06bd6e53758f3af172e878f47031a1b0a551b68bbc0cb684e614f8b217523a1b7d7485da8df4a57"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ff/firefox-48.0.1.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "b88e288b0f3e9ce3f58684930ee5c51c3074c335fafba0b22ab86f3a9c2b82da68fb174c88f82c0d5224970ab0367f8c70f31e36042a0d032923b7af878ebdaa"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/fi/firefox-48.0.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "d68b48a97fbc3bfa00cca45ec48bc08f0c736c1d4ca04cddb9519d5fbeeadf88da1602750e4d58c46e258eeb83e32e740f539f556776ab05f01f6ddd2fb2630d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fi/firefox-48.0.1.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "4c2673a54ad69e257367571a9b5d660a2ba059fcfd3fb0ac0da5ba75cf64e0ed0937562afa1cb08e6881b97f7090cb0abde8da69e7d02ec9b7d7fb1a82aa107d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/fi/firefox-48.0.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "1ad0df0c9f4c3c6e179c5df2fc982fdb8878038fe85f622042613f80a4556d8791d82569ed8ee03237936564987b3a21e2f8e9d2dc40c676ffbae2aecb93f032"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fi/firefox-48.0.1.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "9e6a489b5d6913c0792947c270a742195503931d00cadfb8724fe64aae2ecfc55ad2265b2f0bcfd3dbfa816b520bcc53e02316ca5863f6c0af1075750d6ca537"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/fr/firefox-48.0.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "725abc4ab51cdf3be84958de058350341a8d27a484ff3d2a021dfee018b1419f560c8920f18b6d6d592bac82b89556a662d244e492634248c970a3630e4fea8b"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fr/firefox-48.0.1.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "4b63eaee80c8507800f32363b7510c95162af01648cf66202780e875ac7025cc2b1b5100f8766d2cd4942ac213e61bf9e45ebd3e38243f80f89d4ff07a9ec15b"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/fr/firefox-48.0.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "076a780821a4de51d38a51254c5f53c91545f48b72ab8b869500cd1afae7d113329889c75766de3061cd423f28917c3125991a36bf97c515b1bc473aa89dc7f2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fr/firefox-48.0.1.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "bc6b5ac4a9ecce521292aef265dee3c08ff38bcbf675efd84fcf4124a0c491174aea873a745162e5b60fff3f44fd125daff884d1c1b7a16989fa94dc8c45206d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/fy-NL/firefox-48.0.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "bae1c596a488af768865942129e906adec9fab6c79be6f9b09a21a8dc5db7d36f38299fb19126b03d9158618d9cff62fa2143fe524aa068ca58f51af223a7104"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fy-NL/firefox-48.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "2663db9ddad2df4bea7064f8a95c973f5bd88a0526f3261d8345d8b9620a6cde2b31cc88fad88612ae442f4be1705863512319fe80e938aa6c25396a21cdacda"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/fy-NL/firefox-48.0.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "077be175984e50d5ba64b62576c9632a6c9924af99e330eb029ad8a6bc9d2c54f5d505771b0d8fcd1aeccea35624b50318eaf921b34b8e86cde592ab3bc4a449"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fy-NL/firefox-48.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "7562e80ce278df54433b1fbc4be29090bc3135b2709fc0bfd357debf94da846c68bbfd215a761faa2e678c0d7c08ce0202fa35b4b3028ec1564ab3280f097e70"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ga-IE/firefox-48.0.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "861f9e61f9c355628fd923d1167e4db71697526ea87c5280cc976056e27505401b407e3348294177cd77204fdd43ee6497c8fcf89ec7e9215a09acaeb3d6d328"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ga-IE/firefox-48.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "0b6da27a71ad06467c5cec5f24140ef3d8951c8a8d8888984e78857d0ac078adcedcdd6242e4a21e101145a953bb1dadd9fba008dde9c9c0fb9101acabac8615"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ga-IE/firefox-48.0.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "2d945375532a35b53f8416129010d6cd7d2c3bbba0fd44dd647a61ada38637b044daaf51189de4c7e04c440254c4fba88aba97fb20d2ee4ad5bc55e1ce61da6d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ga-IE/firefox-48.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "42110c22b758cfb9179c2702f654bb528e53b1ecaff8dd1ae2b51a8082b2f79e4e54ce5a2cc9fd851933d77617ffa87c8185cb7c2bf2a44645ae8225618c7952"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/gd/firefox-48.0.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "5a08ccb0b2c3fb9886cac45e69c7641053ef18d652fdd4528f5ef06b9c51e412fae4e6301c078df314de8dccc4ffd87907571906f4df9c382492ef1d94c6d6ef"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gd/firefox-48.0.1.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "55cf8ad21e279c1106bbe9a8ebe75ae5ae25e668af9ba2d6724270b4d02d3bf385a4618562b37942523e91a5a7c6657a62f196c7062310b19abe2562e1ca1b6d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/gd/firefox-48.0.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "66e643754812be465d3884758d1e2db405486633e08aff79ef7dc142e70183eab1ba357794ffd3920392e0e80c3b9729590e8c4e803c5c030e0aee8a758eac84"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gd/firefox-48.0.1.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "59e153481dab5cd9a0c881e4420e91ded9d425b6de76d6cf42bf6cdf8144896caf88800568f52a2865de7c15e721530b5502e8c1dc5061f88f801fa41948b4f3"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/gl/firefox-48.0.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "3cceaab829a2f80d0b329a4a035b34fe67653ea6637272f2ffc2235d4bcc491096846e927773ec7a9bbd53f987b3c1cee982c7e8c9cf900883e8b15393b36023"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gl/firefox-48.0.1.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "25bb23a847163a17fb374c931dc5c1c899c261721a1f3020c4227234509c3af73f9caf0b78734f3447b6e354791b2ce4dcd1beecc5357f048960be9edc6650f5"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/gl/firefox-48.0.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "65a35cf89bdc168cfe1e3f14c1aa799ee0a728c9d4b34e7f6a99bb20a88da872de3df3df6b77094035c6baa4487a3a1583591d60741f125cf14d85ea20b55545"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gl/firefox-48.0.1.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "e334f859af103e1fed8b456fadbfeeff05e8ef6a7e12717388f9be02ee17b5d0b5aa56311911d7295bd3ff8c19a95dde34c160ab2483c79690859ec2bc35f4f2"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/gn/firefox-48.0.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "b7164178349bdccbccad6e32fcac29f5c3acb512f3e8e1db57f7c7cbb8e6950ec5e8985779116eafe6b237d39d8ba36b3adeaa70813ff3a3a978618808765740"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gn/firefox-48.0.1.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "5ce70cadb52acf75ae30122531dce3be147da587dd84b169d0537139884b993ca9b6646aada78f52e529450d23c51943d15dda36e921815bd89db9a002b34e90"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/gn/firefox-48.0.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "c0526f1aca929a77beec1b54393751d3b985753843239892818da4727e3ccf0d3a94e14114e842c7dcb99d2fa7421f3821e3a9f2aa33c6944d62e27963c4154a"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gn/firefox-48.0.1.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "b7c60eb01b13305b7caa8129714dfcb3ae7d6d7ca0220b8eb9b68915b3ff60238ff4f9d10120649586234cc123e149621e000efce2337a7bfb95762b89ea929e"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/gu-IN/firefox-48.0.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "ec0675aee25136317c9e9f861947e3fc8fe3bafacda7169590398ed5abe125b0ee7104bfb56988ea7312039418e356a4255e98735167a3bbc4def7b2f326e9ef"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gu-IN/firefox-48.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "415dd82b8fb1d5b51677e4b5c9fb12533b21582f5e408989e6a2f0f08f1ab4020e94bb8d07c53c3b0ffdd052ebfc048eb74f1a8f40e6ba2df9c3e5ca5c4af3df"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/gu-IN/firefox-48.0.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "4d7b83c829dc8fa4eeac364880b90dae4a9a7d33036c92e72d358b5e235c36ccd6b4cc578f786b6f28ea49b665b0ae611046b5c05ecde8bfa89b0396d43b4791"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gu-IN/firefox-48.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "8d11429c00e2082ec5f87f278ca0fd48b5ea63f551ceb756d10c4a3b064988b856095c35bb5d7b6b98882276eb4bcf6cd3eaf7af0f85b1c419e91b93254e0b32"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/he/firefox-48.0.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "5f2bb563531130410e67735146a62dcdd8646e401ad8fd468b1bea56de36e1e1a248d3580c2408b6f30a3cabe58a69d13525413a2b7cdc926722f2434408797c"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/he/firefox-48.0.1.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "d210471e37da7e75fe68d16a134b6dabed991ec0ed74c506e646e7d7537645d49dc85382e80a6b8183e854140b1833650a1138cd5eb72daa501e36632705a49e"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/he/firefox-48.0.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "9958faec273e584efbb438791af10971e0e795c33850000f967b060eb73f898ae73a780b2c6707772a233d2f6aff8d664d4ecd327b959210ceefe5efbc4110a2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/he/firefox-48.0.1.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "66400e95b9e27cf22c2b4ec817136dfdf720f3b49a84a9ec2659485b8584e12e06d5ef608fd2d1ee72d3bda88d41e7bbf7c8320d773314cb1891533ba2b041ad"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hi-IN/firefox-48.0.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "48ca543b4d3dec309bd443a9cda5a9f6fffe2d467a665eb08454cee0914387aaff863629cb156ed92d98aa878f804454cf4af6f5bcb04d4d4d1221c4854ec554"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hi-IN/firefox-48.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "bc2efe6d01ca4dac7532ee2c8e11f6eadb082f4c9564f270889a5fae56e424e87540a1c49823bde755cd4cc1b5125a85a13d9ac2ee64c96e3d95a1a92fb2f3b4"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hi-IN/firefox-48.0.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "672ec5bb5154c1edddbf6f0586065482bd8a54c5b8b8bb9678eec1825fa10f5ab9142437b96beef0b865740d6426ae4da9122549df1e242cdfdb2a86abbe9d3e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hi-IN/firefox-48.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "0808a4421df8b98ed822931a51193d235b2421876ce2e2e9da66e676ce717b16dec92e532aea010170a6adc0cffdc2ab837d7d169b2122b946c3478a265b1688"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hr/firefox-48.0.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "68dd6692de0d72c41dd058a505c508cf365ec688850be7e87aea7b99164e8e5eb3eea547fa54753c76ff6b8fbede44c73f047cac3f4cee700617da55329a5e84"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hr/firefox-48.0.1.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "0574f36fb28878f086af46e5818636a5dd406e15833b85ba752996305643623e1f0cf7374ce572a3d966f505a0c5b046b634bdaf8766d287674659cc192e396a"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hr/firefox-48.0.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "146dd255b89fcb616032d04dbe0d4a4e8b3098cb79758b4adebd45ec83c153832fc332486b3cd11e771284d14e2c0eabd407373abc5466d7ae7a081368ce868d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hr/firefox-48.0.1.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "66bb03fa5e3cc470cfac5b61d14c0100d27050889d3585e063d79a5c20e6b94041d0b9366216eeecd578f94a54ac11fcf20093c1479d52b25964465d4328b9cf"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hsb/firefox-48.0.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "768ea8eb848e26664af47c3b93e6906d2f81a1890b43801f4e00a90be321b9ab66827a082c2f42182532722c913149bb4d1d40af3c9fe0d2ba691447f41552b8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hsb/firefox-48.0.1.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "ef5daadb2dfd7f8ddf5296397067d6b87e56b26082fa323b4ba9a3c4d22d247b94bdf218e7af2a73baeb11d3444a23cec444f8019bf51d7d0515feb0217ff24a"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hsb/firefox-48.0.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "869997277e071e3eb654479c497792640d836cb96a20c9a1974f9915b616d5bcac8dd635c3a9509b365c62719941b7751a5d87e3874ca095926b7c80596c7cec"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hsb/firefox-48.0.1.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "652128c26179e16f6b4fa8930933001c829a69e268f9214d01e5aaf62fc73ba973dc316ff95ac9dd232d3fa90241717b163c03c0e4fcf19681f2db858506faaa"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hu/firefox-48.0.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "9cfe20df539646f445d9edc0bf30b00cff660875bfb334abb6a05658dd420869ca34114d5c5c16c183afdc58dda5075b08a4e93d789c3e3c0d661c4c5a3a58b8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hu/firefox-48.0.1.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "95bd19506c2afd6dc34c80ff3713ec5ba7447ed173bbc0b19d908ca824f107e1bfe57d567500bb70c82011a641e6e0735ea99c662124e6a62d7e612f000a8724"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hu/firefox-48.0.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "f7d5e6802f2389aa62b4448e50468e2fd6eb24cc4044b91f33fe47d83eda14f6b27a2024c7d77be7282d568b177ecb3a563b4123ab9cab6ab6aa275ddab2567b"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hu/firefox-48.0.1.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "98dff7f7e6a98a1f16420f352ff4060ba648adb0358c51f37c606e22a39dd523b66a2fbf97ce847ab4caffcee1451582e9e9db8df5680ecbea26ccbbdcc0009d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hy-AM/firefox-48.0.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "d449ffe339181ed8fbeeb91074d5a04ef4b81ad92b2203d48c6d7f3a7eda22922f0a946310b1e810b384b4c05fb434fd2067537d9d46561490905468e9fc327f"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hy-AM/firefox-48.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "ba7dd08d99ec3bfa640be9724a7b41ac8a91e96c46b08eea10e3af3594e05838ce5b1a3597358c27ea97cf01ff812fe3c7902b1d109e4484594e51410f0c1ef2"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hy-AM/firefox-48.0.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "2ea54b459c15782a61fd1b56d66278d2ee76a91bfbaf5fede2ef6adb81255bab7401f587ed33b827d4a04272bbbd222f942e6bb34d8463940cb580ad34c08d10"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hy-AM/firefox-48.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "417dae44b78e42267498369cd6709ce29e2efa71d4d73f46c867a234ce9706e64c3d43ea997411081d6e9be1f7dff953cd6a84eac2698a2672f43d429a776bdc"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/id/firefox-48.0.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "5c9f65c9cee48477f778891abd6a943ead2f08e0f66e9270e73e74cb5f2a281b2a061e06c0eba3d134b868d7747d50a0d5a6cd4b4f3cc7690776405f1204140d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/id/firefox-48.0.1.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "99aa8d4df3b2c12c5a80cf0d120f50d695275cb700e6bf755fb2b489189dc8c269c021a4985dce949ecb829e6f04a6a3d13469c6ae6a75fbea7afe5f380eb82a"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/id/firefox-48.0.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "67824631456a2f92c073e7a11b4e6bdbd802611a8dec857db264ea85aac63e84d5e34e44a4470796fd7b02afc62912b1d8deac3cf28dad7e11ca5db2c98d7668"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/id/firefox-48.0.1.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "b573e1402ef0a865d03f086e6a1a94749224db95d9c3c92d4bda3b4a04599f91a85239703fce959b256b688e09e6811429e2b905824639e15c748a65cb405b1f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/is/firefox-48.0.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "f49a88c16729605553806839645bd85a8ffb82b903fc2a64928319c849ab57edc300ade3d2831ae30a258e601f34b9cd356ccf8886d0ca5444781b9cfd6dbd83"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/is/firefox-48.0.1.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "1881b4c3fb880dbdd5ba8ba0a5639afdd0d9c3a92f88711c05e5852d4ad53c4bd9b95908e914d6503973e3d4733643335c966941784cc5ec611bb34126d37643"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/is/firefox-48.0.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "69422bbce98fd6974d3ba6f3f1e88d552381cbe346ce726ab31891f612999bed2a4fa20723bf858736708410e43e4c68962fbaa17f675076cf2720135ddeaebd"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/is/firefox-48.0.1.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "c78471e582cda47ac444bbd125a418ab6488767a9429cf16a5aa97ed379e628d2c84bc58b7a8f08bcce83bb0e41430a0b36424595fd7bf670347f6a8af345e69"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/it/firefox-48.0.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "6a421e08e72d29223a8440ebbe6965866a6bfb3b982ebf2012a314b8132bd21823a00e65e974f057df390b874d90a6f6428d01d00fe594c33b57e533b2db2bc5"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/it/firefox-48.0.1.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "a8c26050ab91294b0d28c326ae95346b009b678f29379ca1d9d3e77d2d75f46d79514be4f003be92338156a0eb84220c3da80f296d4eebc38ff4ddac3e43754e"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/it/firefox-48.0.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "f321b707772adcb15cadf4c13126cd3e5db40124acb012d2188a0e07ab5b184a9a2b43ee2474146c0d48415f3c160d69a3e82fe19688eb71b225ea70c5531f09"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/it/firefox-48.0.1.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "457808b5ec65c83128e3e766943f5d778452771bbc3ea4e24624a5ccad5e32d03be07cc3c3861c3c7e1cf43973835a326de26e09f2a81f12613196c846cfd793"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ja/firefox-48.0.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "73a8bd6e32c728246ef8f14a916f7012f2b758ef5d154a898fa0975a723e767ea10d5ca0dc2deacb73741ac48ea3b6007bf7e0b5872143162ad46d452dc689fc"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ja/firefox-48.0.1.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "12e9bf550c12924e3262d1ffe3dbe5c0ab59cb9ad05944171cab95a10f5c3b1098653bb72801c32ed141dcbfaabfd61db474a9e2928f0e3472697ed6e110a221"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ja/firefox-48.0.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "d61fd9a87e158f27aa82f659d84292a3aefe8df57938b677be94258505259a110d8e3dc051012031f91adb41f34764b759306e362fc1d6be0181588c2301cde6"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ja/firefox-48.0.1.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "e2c2f8e0aff1f3083fa4fcf5daafab759d67242637e5ee325451c8e4e4c745720d379aa0041fd00a83f10db689d26ddd3f07158bd1ddc482fe0ec145de484d92"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/kk/firefox-48.0.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "51ac197ee684f770970a5973289255ef62ebcdbe59ba2197135e326fc0885b5891b7616b3755a6812bee4c23b1e2fbf31f336113cb3da9b6d1bf12bcbee7b2a0"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/kk/firefox-48.0.1.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "43dad155aa22576500d16495973d50edc8b24b0616865e2ebb66e09afcc6ab69c2d5671de18c09dc35575e4df1ba0f59d560e45d8b26a4c619f8720ffe682d52"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/kk/firefox-48.0.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "e437542b5f4922c35fd0a3c3d8b0199115d12b1cac4db07da46d0e6de7106d6222cfec0d73af481ee7e754486af3a795174a28d8c545360a7602a2b9d2123bbe"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/kk/firefox-48.0.1.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "98316052f79b43bffe978471ab2d39b675e4921590aa8df59552d3f00499af279b085bfc203b5644eb12c9dc667662f48885d4e7b9ae3bbfaaf0d9d455073ad7"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/km/firefox-48.0.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "d7dae5e1ca04aebe076c291ce54d7b626109f3e27e1018576cdf09607968b5e6ef4f05c32ea004a5b3cf5f0c297a436f4091ca88a1f7c0891f3da7d2e60d4aaf"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/km/firefox-48.0.1.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "a96297705366912ea645df1c489ba5f298887f2fa9cfe35a68ed85c18476331da645c5c16945b9ca8a55a56567fe25dc3fdb4f7787fa53565da70604483eee45"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/km/firefox-48.0.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "49fb1bcf8e56692227afbfab13d7edd31ee5aaaad60f4400ac54d66d4be5acca5b77ab4e18f9476c87086f482c586f607671b065be0196da786e9fa0e4a6b5f2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/km/firefox-48.0.1.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "9676d854f379efed87dde5fcc0b858e14b67361d0e79d5dc6444531f56c64d4dd2765916e48c688f23a89e8b4778d5f525bba802ca3e1a475be9849f57dc5a6d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/kn/firefox-48.0.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "724ffda3f3b69c6539f07ad55763fc34f61b3fa45b2b141c7d7d7ae1ac421ee8f27226f6d9cbab7bc36a1c2ae246020f9ee8ea894e9262d019cbf8a1c3a391b9"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/kn/firefox-48.0.1.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "82fd2fae33fa1274859601d69e864b6b8586d62ef712e0ed44de37f74546624ba99d5009b51ad52f21580ab37aecccd7d767acdc2bd318ce8e1b6ca7506910d3"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/kn/firefox-48.0.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "ab757a4a3d2c916ea588b6701cce2fc63e44d926138ce6c95dc4138169a0db49205d243361bca045ef01632e6989743330b351e8448b2e2b60d99a308598b0d8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/kn/firefox-48.0.1.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "575d9dc9a323364dfc5def354c8b81b31beb63cce126d289874bddba92e3a2801c0eab6009bd78b34b63a9f8b708e8de904d3d723233f41a19ac267c0a436228"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ko/firefox-48.0.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "9bcbf38241a52bbf374c0f8c78acfdff5ca2ae773234ae9b5d4e5019f9d499310e329e87c8d8430712f74256fc9f68a3687af4d148fb5998ca61c0b4772e8f8e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ko/firefox-48.0.1.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "278b40ab3884626704731b0573a7dd097d59366e1811d049384da200353dbd4492ee6913c935e5b2c28480feb99f0af746ed6aa7bd712e14b578559f6bf03d6c"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ko/firefox-48.0.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "01f32d8f63a40d3d57b298219d889746fb340f631d62ce14a6d85632c7e9c4c3a2da4c0cc1fb738289040addf2e0d2d2e823581d67928b3c4f82ed9b05aa95fa"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ko/firefox-48.0.1.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "d722c41396642eb402e77722fa9f2e5b7aae610924f6ca8ced78d8b0d4fc65d00d123014169cf5a2c4c39b495b0c196ab26e18f0d78aa7c30eff2eacb65fb352"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/lij/firefox-48.0.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "3e168e0ed92f982f9215317a7fa8d088abefa5a3820cb7e61f16099f5111b654d199960f2dc23f59816d6b6992703aaa36bfc61316e82ba07b6fec5b6abd77f6"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lij/firefox-48.0.1.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "2aebe8827252b05225efd7a2ed2ad8ec599818b30526fe41752c82e1e5c5c756ab899194c86cb95300ea5dd56cab354a32169317e74756aebd93f1932e51bcb3"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/lij/firefox-48.0.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "a79e2a75c7e94bddb9d44708f68f0462bd9a7d2926c2e9334d6e3d879f083dcc5faf716ac3b0f1acf522f29dc20e44ac28a3c6f7667f7a8402c215fb5da00f1f"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lij/firefox-48.0.1.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "f394698e7c62d3e3a9d2e52f0c706037a9af622a36d4fc138ba91b3a2ed7154b595b965cf756a1e7a4f050645d2a70626dd651ca5383fab244e65065d73d4187"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/lt/firefox-48.0.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "22e060b0fdddfafde0ade9d985af9a2fc5097b226104bdd30c8d0c06da7c44a663384893eea67c95363124c91d5e2ff395162d0a504d54ed3ef36656e0de17fc"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lt/firefox-48.0.1.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "ab700214ff82fee55b875c00eb5d9b2303c49680f5a81b4fb6cbecaff7418f8ca9d891182ea2bdccccc9a9024ecc4282ed48ae8f54c72d4dd739c9a207f09b79"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/lt/firefox-48.0.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "e8648f3e0b4b3b93b936f5b5343ab2fb397cce8f9829108011de0b7332246dcdb904374530a20d40a78e5d1ed264bba7809b79afeb9d71f61a17e963d5b4e03d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lt/firefox-48.0.1.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "394926bbee72c781561de62cf2fb4508d7ca25f2809997f182e8cee9c3a10075bd376b7734ea30f2d79744f6c9eed31a2a13c74d42c467390d8f4de7e4abc917"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/lv/firefox-48.0.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "133f9da47452b1f444674d02300a20295c67d35d44f722d082c087d78cc2d91bfab1efeb2a9a30e2566b182dcbe64edcfe899aa6bb86d40f4be18ff27e5649d2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lv/firefox-48.0.1.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "5085fb9e2350bd6660898d0daf1ca407f43838438f6d9a2bd24d77797a9c8d664c5a6130166d12ef4bdb82647b08918a9241fe44ee6c00b4c82c325c6977a24f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/lv/firefox-48.0.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "2a1ba8da43090bbd17eee75d3b08910e5a416c044ddecbe831fd63d8e9fc7a6393ce944ef4e698c008025ce4e489e90c7a26fc90f823d06b59c48a06ac5e9712"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lv/firefox-48.0.1.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "b2c73d85eb17671a52935e7fd306fb854778c497e1d28fe67837d3d513fb1c2ecd883e20aded31a0a34b459cf038bdb817f5a209dfeb2df7aee330536a01e3aa"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/mai/firefox-48.0.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "66d7f8da81ed7e430633727904b69ef2e9cda8efc51e1335a49c6ca633d16e2f8412ca5eb2c7b4e1c52006c0c2687ab9ff7e6b822ebc5da49db3288419d0804d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mai/firefox-48.0.1.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "e71963728df5cd9c8f9c739e41ac3b03678b694cee30f03a080e67d09f5f6128da579b0d150ef04e79ba2a90a752a2c8cd9339ba7041854a86de0a0e77d07901"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/mai/firefox-48.0.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "5f5109907b04a4e1ca195cce93dc1350d2a62a6308ab1f1dbc3c5427765376af02147ec08478af21fae9ee925900d820015727f47eb2654fc54b17ff4eada2a4"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mai/firefox-48.0.1.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "c65cf00c6767d2d22f9554882d54a5a2de892a353fc4c0316d8d400fb7c78a530f756bd1aece7b8ef8e96a310b61020d3fd62cd7c92721118297f4785ab880bd"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/mk/firefox-48.0.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "50989bd953deddd04da3da12b42c869db68785decc4336ac4f5ed889524ed5630f28b71cef8198e2c5a5194f8bbde825996bcbe636c03609ed835a9a2e21109a"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mk/firefox-48.0.1.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "32b2b565827ff5ece25001110207ad93f09d5305b92e426083361c5b9a0cc4d9cd10e1cb4358056b36efcc8c2f3c4c25a764a1f99783452303a713460b312182"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/mk/firefox-48.0.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "8d94075342c67c02974d101d7537b07237662590df31feebdd81b672f09593fcf5b4f306bb5eb083943866872a78a1d02f7669844a0b2746fa9d04487d8e09e9"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mk/firefox-48.0.1.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "6dfcb59d56352b0de7a4608a77b2bc2f668163049e8c7ffcac37d40b2212b59a8e3e8348f56fab0d045e5a9e2fddcc9a2ed6d895f56f0e7a15bc1706ba0769d3"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ml/firefox-48.0.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "7176048a887e7847487e82fe3c38d585d05b415be60b7f4ad102e97f6294034da57d4d6094d7c9f0f5edc977133055e2e02819d7ea2b56e80d5c85e8c5f7ac9a"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ml/firefox-48.0.1.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "0120498f7f687527654a17fac56035809b09cd2ab9db01eedd82947c078980e0319ed6be091d69ceefe6014e2cb4539569cc393df8f65fa6b1a10c6ae880a79f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ml/firefox-48.0.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "ef2db6b3e924fee6210ea1b52fbfdf9087d32a56c7238297f38e1e5ef9e6f6a0b5cb27a741224f8f07540e6c469d231b11c366c10c70d8e9aef9695ca5d50dd3"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ml/firefox-48.0.1.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "00cfb9317afd0e3798eedbd4d822715d5ec3788c353a8c60f3d3af81f67b0cc1e4dbd40a8f9cc64f2aa6cb007e59b6e8d614838d08822b70d6b03234126b1587"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/mr/firefox-48.0.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "0500bcf8b6b2ab8abacc73eea7f1c268b4e65f7fc6b86c92eda6a941051c84d1fda4060590e3c8dd6e0e176670cad098efe07389ad42151e3901b121dfb460f5"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mr/firefox-48.0.1.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "8b989f8f53a321580e896221f4221d415548f4b460e1c4368a0ebcabad7b6b7c262062abbad4cb066859219b5470b04a1e00a4e036f0fe4e01e9d29a322fdd53"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/mr/firefox-48.0.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "4518cba5968661dffd5bf7b6d0084cf6eee3e4b654ab63af928a6c29ad8a7cf077328f3e52c2331e965939571fa0a8ddbd538c4aedd8edd4f0c213e1104fefa4"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mr/firefox-48.0.1.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "14733e42d1105fd4a5aeebfb2e7a004f127000fa6363a069273fa60d44e2109483ed7e1472c81314e52f85b472a3379ef71a517193f3d68e6975463bdcebb3d1"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ms/firefox-48.0.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "8fab40915ddde779e1c3589335c32f3d0054b73052a6659cfd45a733f0a05f05f3ab5d776588514e648848ab75f8d36ee911296b5ea701e8cda40e10a214f0c2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ms/firefox-48.0.1.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "f357bc56281ca1444626e071d779d6cf4d45fc72b04f20d5417ba3248ddd0225872d275a860c11d3bf3bcb5109774509e96974a31840df89663e372d38f569dc"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ms/firefox-48.0.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "94b3fffb74c8113caf423a77ef9f24a93513e08c90e242acd581d4b4fa2e23a4acb1295e1abf67dcf70ae034455c32e19b0e4ddc3f32547eca736fcdace01170"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ms/firefox-48.0.1.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "2d58d7ace11098567e616f01a47da0c6a0faffd1a7af846fe2feaae67c7a29c1b6a4dc41ee9278cb28f63c4173479867968f20454f8a71198297b5fdc31d5b31"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/nb-NO/firefox-48.0.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "c5d2cdfab387e5f3380be0132ea52768e4d08a5da6f1c8b101920817166d1cdb077a1138e1ea5c2e938975fc2c745e8b0707221cf9cf8c942f45a07d5496674e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nb-NO/firefox-48.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "301110881cb905287ee82bc5c7fd051fedb2f438310dc8356876cd78b92f3296e1bb90a2caddd8b0ca18691817bcc62c376bda798ccdb46d93237f10dbae6fc3"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/nb-NO/firefox-48.0.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "4ecc38821e83b8170a410dc994738806027806fdf69298b51c0387b234e58ddf74801014da50cf3f7531b793968512ed4d2bc659044b82b65574cef154f99dfe"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nb-NO/firefox-48.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "8f8bb8f9021043caea7a3c81340bf3adca2646d4967190b09efde03d010996dad7f49215e7f6eb56d90d762b0b7a1fc391e769822b298e2d1da2aa456081966f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/nl/firefox-48.0.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "e5baa58c1f0e92635220f9b07d1bc10b3439461fefe33a03fc85e3535e64ef20c06e2aa2ac7bb3cddcd15ff9c9aa40dec7ac9ee4e7cc11069503287210e745aa"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nl/firefox-48.0.1.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "56be4ba289adbd28ba26f0b2f29480b1ab8679c9b11e81f1b2ded7fb6a9c56229276f6fb4ba6e4d358ee49825ea038eed96389d66229aea4864894f62dea91c8"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/nl/firefox-48.0.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "ceae5e1b50de221e858d89053f38c5bbc8eac1875136401b0c5188017d3fa35ad73faf2c1f45b6175a30ab0a9b47ed8f3c19f21a3abe1a07e1e6f2a88160cd61"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nl/firefox-48.0.1.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "1a35abd1a4758cf3afc32e370a3b09dcbcb9a8eaafc6c97a83ba60586f5d2f1523f97c1eead4372e3abd08df977c9fa1ce42bc5c40da2238877957404485d91f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/nn-NO/firefox-48.0.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "89bcd86969fe09cd86a2694a4d93abaa32a1b4fe0f74e6d3d1ef66346af86ab77b85fd9c94196835220c2caa1af4bd52d11a9f2394a1c9347d6ddd72d93f43a7"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nn-NO/firefox-48.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "51fe95a96abaa7d4c1d95811f8028663f863f9d24b04a40ab8a93ce8b9edfa64c8b717a407565cc577c6ce91227174c7a72ff5fb92dc4b9fde5434140afcf410"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/nn-NO/firefox-48.0.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "0e9d74c2c4d05740c19dbfe660c9bf116a3f328c5e35b85dcf317f1a77b52d224bfd84e4a82718bbf44323dfdad4ed6955c7b18f2b6000cd6af47abeb4b93cb2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nn-NO/firefox-48.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "1b1e6be64ba3d38d4faa4ef09a46147ba505867464561d16dbf7f8dd1b9c006112791425c916ac8597bd3574261973dbeacc86ddb9ac10f09713cc3bc325a491"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/or/firefox-48.0.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "3e797ba54bdb312d468dbc528eb23bc8b40489b061d8597262fd5a8b4689ee814ece54373dc823e378d73abc1caae9af2c8adc0a7d3df8673e486fd5f31084d9"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/or/firefox-48.0.1.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "377dc2cc7721fdb3902ec356c6c2239a275c137b8bd23799851b8db94d9ab851ae5470482ee1b582e7c5961498cc01bfe78e06ceea9b39725156411fafd6d23b"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/or/firefox-48.0.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "c7abba3faefca9ea4ec6241444894d935611b5b855be58f52671e7ffecff1c29fb59854a89e546921ed70d3cb6d3f42808d8dbebf8c0555daad6325131de128e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/or/firefox-48.0.1.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "69e69a2dbb1ac376d34feb5a23c7d88059e3f4a41a6266501a45e77c115e87d0d1e05e8c43d028c9edf6635f5918204f090d71582baed4e78c8d600d11eb92e6"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/pa-IN/firefox-48.0.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "d8714bd35288aa565afcd493a21c76d1c8485a289008f28ecc7fc5c077f9b779c485648cbb556490db140d5d5791f4041e138b94b5fc9c66980180c9a7e63bc9"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pa-IN/firefox-48.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "b4ee9cfb3ae3a786856b4a696d991f64eea6c4c8a6e5e1fabcac981f3ee3fbac267e6b3e52ae2c8483b90948d2bfdd957edfa9760d567df0aa1f367066a43b80"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/pa-IN/firefox-48.0.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "052e90ea858141bbdbf808c18b9e5b6bfb0f235daac84828c9cc35130c6d8e7324b44b3db7a982ac148dc5349a972796c3274e39f61a944f1d0f580152cccfa3"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pa-IN/firefox-48.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "774cbfd5dd3a0810fa69f7d307d6ac1a0f33d095c8e8a5c0ba6a5838a72d71fc63265ca44998f513efd2cb4a635cbc354b13c56837a1c487087d8f9bdacd4142"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/pl/firefox-48.0.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "d45227a3936d522fd44c3526a0d78e8572b392630dc71d1c75de2f89af9f60c1a4b6b8096cd5db308f111a88b7d9da649e353a67f592ced07fbe601a8f2267db"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pl/firefox-48.0.1.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "61683db5587f96b26c6a330a03c5b3bb20cc155202fde3469b542407e9af60b11948427eaa1d6f6ebc846c431eee84ea51eca1b20517ef6a5b093816ab532aca"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/pl/firefox-48.0.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "90bd5b1fb555942fd5a20e923fb7effcee67e43e413f3581c6cff91e9437fe330bc39eef324a82a68d26fd7d5ffaddd2b7f32e7f8c97784002405c35e0a6a45f"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pl/firefox-48.0.1.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "8afbaed1c2ec86d5c56ad4e1281a3fe71ce1617b28fd7a80111ad5a39a52182c2b06baeeb30fb6de41f881d65e7d83ec0cda48f853644feda79098d70d04d1a4"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/pt-BR/firefox-48.0.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "740a6f543e2e93cc83c1bd5285c00bbc7324d443197c38b069ff912d0e9ed13451b77490fcfa85c4507938f538b3fc50729130754bb13e36806d5d03ad6b83ba"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pt-BR/firefox-48.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "2cc9bbcbd24da358f711602f791995a7ddaa226c265d91d3f08c9411a76aef8aa4220d89d2154d757edd2974369fd93ee0366d515e2d4e1f07f9283ad850c93f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/pt-BR/firefox-48.0.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "bd8db956583b18a629b39d02dc6f60e31da287e3e834cb7b2ad9c618e8647877e07637afb8993d5605acb746ee948e8fbed7fe5692fc25a1215c98c8e98b3ca0"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pt-BR/firefox-48.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "6ed7736d2f58d9ab7a80d46fc9665eea77105c9aa5a15541ed743741437f31e06a9643bf2643d741afe370e0c1f866cfd512caec34d8aa7db0aff2798b6f0acb"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/pt-PT/firefox-48.0.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "452fc407467c3a6a2837543889d0978569e48ef45ab24141450635b5f7b10e7b6b0ceed805783b700a223bfa8f97c9e46cf59236bb89050ce65a33e183b539ac"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pt-PT/firefox-48.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "d65bfc9cea8f24a0a6a9c533f6b9c64f42bc7b254aa01f64344b601460d83a2a66bd47b6c8e7f9d4cdd0ad8c0ca78ca5436300a02f76a7934b9d5900a01fcda8"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/pt-PT/firefox-48.0.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "29610bc8fd02d36c7acb018105290d06d625530d2e9e62e52732c553d26b4b38a22319dc1701416b3c0c533a34902e7237322f34c35beb49a6053eb9d7c40c4a"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pt-PT/firefox-48.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "6613c6c5f4ff43948bd38df712fed094922306709e2833acac8394a9c459896e7f437753963dfb560cfada415c2a1ea48bc9224180048362a4a078e234e38ffe"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/rm/firefox-48.0.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "6f267154c8a612ab6026a5b71a4b906ef6bc773e796dce63f7daeffba4196722218f6b2631180069a8820082e72b97796023bde163ac4b1103887b14c8fec57d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/rm/firefox-48.0.1.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "650c225935ea3c5b1e4bb43099597749bbaea0e95e8de8cf257a2bf030768b855eeb8a8efbbd1f22f55dc071642c00ce79d74429b8e255186e1bf95aabbc95d5"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/rm/firefox-48.0.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "fbcfa337605725848d9786fd43be6ace0b68eb0e2750ec07707abc40ce4813a3fe77860f71eca714bf2dfd933eef735d16b7623f13affa9073c9c6535c9d1759"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/rm/firefox-48.0.1.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "64bf7df7bc26c40cca37d790525ef7db5a163ea8180a7ca65a856b576ba68eeefa6ca08536d0274edaa6ec25a53c70ca07b640abfb8f48190ec414d12152a986"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ro/firefox-48.0.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "e053c7a6e968dd8dabc8e9ca1a92abe1f97ac754c9eb0acf12e80c9f507f63f8b32a322623eac0914d1f640b5ae30abf158f2889e2fc6a2acfc41cd5881b6630"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ro/firefox-48.0.1.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "5045771a67763b515991b22573b46cb6bfe7887f654f36272324b1d10d44b65b4c03743da6b8ffe1e898f9bad4e6a4f0353752ac36a670c6d2ea1781160e3f74"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ro/firefox-48.0.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "4b75367765b4bb2a89b6b0316a824b58a0440749055e30ccf997d129e251fcfd43b3d5453e792fb34c4e675bd4155b61a6d9bb98b8c5e7a5cd574f22637b3c88"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ro/firefox-48.0.1.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "d6a981dee6fdb84621dc108211a707c4e0231b0ff4a2ff29a16a5d3f4fc47f2b831695b391e755800b43af0e753299bcf1d0cc0482906607713a6fd0f51f0a4f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ru/firefox-48.0.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "4d91d076a6d8241b9209cbb8b5d1ea8f0238197e0a7c151efd03849e56b9ffb825844d67e2810247d524a96c9cb8ba360d07d3dfc71cf548a8db3df428505255"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ru/firefox-48.0.1.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "eeacc5c4f3c1ccb401de4af819b34c385a50099cd7f2c750886e84b0f2bb53b610c4fcba29c9ad525098e3f4d137819979937b78516a796d2750da25685afce8"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ru/firefox-48.0.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "dce443a48e515f40862631f5310a56a774c014e21d02ddfda17fb499b7d3bb5260b868e8465d320bc19e8638a79ec63ea9ea70a46bcfb4b08f8fbafb293b614d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ru/firefox-48.0.1.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "15cdccbc456e9a44c11238d01980ce0319ed8326a14d4897f0c2bf0065d4ef4b52c3d5e19791c79ee0b212618036712b3aae696493b37e00c005adca751e87db"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/si/firefox-48.0.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "81f99b788a395676f837b2ba1972d1e6eb05eeb6a0b4a40ebf7e79e9bcb82f9399188252f8782ab84fcc021e9e8ef3f8eb95d333166a4ceb205613f7bd105704"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/si/firefox-48.0.1.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "05190e6f4f409946f90fad97fc7ffab27215136387149fb64a98f234c02b862179fa0a5d5cc66d32ad0d2345647392b3296c244f43994a32d073ec06cb790240"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/si/firefox-48.0.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "6abe3abb6771e8bcf1880e777df1f7517b6c784d320e3ca8ae709befe802adca51ddc5996910c6bf7d570e12bc6e3564872001bcb28a1f0143eddd33be3af9c8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/si/firefox-48.0.1.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "83d2c6e1bd7da4c6e8f7e36ab1104c7621c053c67b0a0c8e8eaf0e9b5d6cbfc52f799c344f00ed28708e3f6057eddab2041b9042693b55f0c2447da7272bc90f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sk/firefox-48.0.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "dc6c4bce34a4eae6c9217e116dc558956fd500b3c4ddb8d88a6067c7d6ef746f19901014c1cc3fcb826695519a62aecfa8091eb58f360cfa4c1e65b34df9c2b2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sk/firefox-48.0.1.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "a86d2bb2d42abca227daa3272f487055d0ebf08cb047f4530ca5a8a14b2af086f5631dbfdc215da7d75debd07d892ddcc6c3960d2b24b5af0f4f2fb34481e561"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sk/firefox-48.0.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "56771e20b4148ef16445ebb8f59b87b00eb7aa1d3174beb77eefdc2868a3468e6cc4e811cafddeca8b7b9e5b88b8c75101cb3a78600c17fe0376580d8cc4ad54"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sk/firefox-48.0.1.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "aa7435d973dc6b9b9a75d688e5819ea37b82d511eb38b80d473b9ac118dc21210a89b480489967c24a9c179cceff5057a898f2c25c8f9ae5b92435bd4641101f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sl/firefox-48.0.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "737a878720bbf0038145aff1a460debb7065b68a07db5d6ff46234fbb39eb06d0a3d5b6b2b188997259e6e8e41af30b401646b2064e55e7b6ee25cf5c63b3a02"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sl/firefox-48.0.1.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "d7283f7697f3fc1694567cbc539ca6ade92ee757b1fc95361b214c1a2d2038e1b1b4d8a38cba8fcf9b33722d0e4b8b7332f671c79f1d861ad6d8ab8b7a343563"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sl/firefox-48.0.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "a5767047a75bdb5839e9ef55c50adac95c6f6d60bd0e4bbbee531657c4cb37db0e51b82a9db498c3cb151496cb0f2f72126efe45627d0c6c8057a081d2c2be35"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sl/firefox-48.0.1.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "05877ee3ad41f8eedbe8997f760727011fbb382660b0452ad711f33a48e2770113561ce85c83c0145565231d363ddda7b7005e5857cf930e49172c777caa7866"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/son/firefox-48.0.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "3f9f457096b086e35757594305c446591f33d414b9a056c4869aea05d841d378abd9c36c4ede67d461afd7ad1433ffbc091da45d49df8c98829e6ba303778791"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/son/firefox-48.0.1.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "7f48530afb2dcfd0737c32c4390b289e2ab25bbd947c0d9e96004f8f17d206b0880e7c52973f37ca6c2dbba357cb97b1fef60cfb60d177e42a5e3ff5bc335bc9"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/son/firefox-48.0.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "702df22f5564d3ae3db222d6ebf0ba96653233c8596a910a7a599f43021dbaaa2f2911a6c3414f78305ab428877d303bb7e8a42336633c359a1f96918b5ef048"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/son/firefox-48.0.1.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "5cb1704542582c94f6223227a5efe325f93c293e82424f4ce3da90a381dc01cbb2e70b408e36de3f35e2e48a9aaf802e43a23967f92972b7da1f62e054cf579d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sq/firefox-48.0.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "3bfdd90de86a74c5f9dfece1878884ac652a04e3d6bfc9245d40703ff30ca000834cf71333596f5c84e7bbaecd02b0068b4e221aa8515924011afebe82c3018f"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sq/firefox-48.0.1.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "adc97dfae0e2e8d31cae7c2ed942fbc9928d6e938b8ed2f436598ee8f6c5433fb40cecd4c016c77d2e279b85571fe30fc7ff819abc40e28562e08542b851133d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sq/firefox-48.0.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "d1b26f23a8ce2023f4b191b33871ea03ef361d9defd81c9ede4508ac9f8d2902999258bf2975e0f92120aa9109808f5818ad546d059b052327911b854f5a09cd"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sq/firefox-48.0.1.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "67f02ab6e885d0d45d03f514fcd1df9cad5e1783ae2f3d7f6285c8f1997eed09006cc0afbcf6abe0090984bcac988226afa0f2bdd9156f671c548bd4812a96bd"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sr/firefox-48.0.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "4834ecae89b424d1152650a1a2f3c1f9f900afff09a713fc9158834bc904fd0063742f47cba7afe05c9c32048ae2a9929dad9485717f759946348c081ef09e4a"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sr/firefox-48.0.1.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "1023ea71f66a624eb56bfd22c88ca973ef36fb135d7fd2b998fefb4cb8be06c554c7bd6be06ef0a23d23092880197b3dc7cdea40abed6427da6998ae489ebb50"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sr/firefox-48.0.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "a625bcf7277694a8ec2bea0a561b581b9fa5062d67c6f5a247f8b1cbf29860838a6d24902208cdee3116b6ef2bd97ff094a7088b45b70ad66f9d638febb12e01"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sr/firefox-48.0.1.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "842e1a0c54b58e59711e8262405dc2bc83ad5714a3a017dea5e5be153a4e47638afbe16f128e11105838d8ab10338e6300c06aff73060694f4cf4918c222fe00"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sv-SE/firefox-48.0.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "7a4bde2aa79928adc3dcf75f4d1e267e26cae47fa03086aa4586760551b78219a78a22da41144eb402e6efd77830200858d01415d434020da433447119494e68"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sv-SE/firefox-48.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "0775e2d943029be33ef4c8b321e6f52f088fa59a56064eafa4ab530089911a57d9923acd5b20e45953601698cd87e638930ba6a8798108098d79e39f5267732f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sv-SE/firefox-48.0.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "b2de3cee2384b183cff272b1856f3911655346704d768a874d44ae7a78bf2debe3fd006ee5fbcd1f44f3cc0687fd851832231c5c36c317952d5dd9e06d3a9f66"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sv-SE/firefox-48.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "1084649ed3d1dbc298d40f8121e54558a599ff61115dd301679ae4c8d0d2542530a855d24a165122df7d73b5076bddd62d6f5ecec60269ca8de28dbed58961a9"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ta/firefox-48.0.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "0e7483aadeb8a588075c688de52dc7c9278f3f72b003e10115cf5353d0100e63001691f8e09e5155f0f544e847c3965a3e938b2e4b640a4dbdb9eaa837d5fa1e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ta/firefox-48.0.1.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "392dba7797c5ea128766e2fe50b7f1ab5463e392c83aa9e2d5748c25e35cf65cf15f54a6a63016a37644db5b251ab3975be6a7d3b4f038f2a2eb91dd59605101"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ta/firefox-48.0.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "73bdb7c53dcd17a14ffbdfe34d5053b00d8f1f096869be84a5a2dcd64effe14670081da3ff71fdab8cd636b76ab63fa09f4f03d6da8fee61007eaa2395b1eff0"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ta/firefox-48.0.1.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "4278953713b3a3b90f7a1d262759cae0adcabde89b0c318ab2a128145df8c03da9b7a0ae6125167665a0e12a4efb0fc2b0987984452bb3dc9508a1f40fe7477b"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/te/firefox-48.0.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "35f4e0914262392b491c1379ffc81bc70206965511c54b14fcca3004a67938b0dfcacdb89bf1fb1485e5f43b4bca1b9f0ccb7bc1a7734d55ec9b6e6fea9f7050"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/te/firefox-48.0.1.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "e6a5436858b331e0f4f12107307a662b162c8cc9d61c144b3bf72ece0a179f4b5bdae85bd89e69c8f4751bb9d467e13f0395b58cb1fa27ec33d6e881f9a60e80"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/te/firefox-48.0.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "2aa1f92a0d3d60e1e9a38fa08b76d951cbedba208f48298cc41dcb52bb60f904fd34bb124b7ad92da672a921df13abf32cf4defc05aed0a714de7b8503d240d9"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/te/firefox-48.0.1.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "15e6c34c2f109b87ffaa66958cdc79c5a7d2454ad58ab598258d9ad8562121540481f66f6b1bc5fb42a4ccdf37bf6f815819ae57895c238fe9b43f6a0d94ba79"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/th/firefox-48.0.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "b70ced17faae84781ab512e2d84d31204dea6fb074072bd60529f52209135a71d4270d4ad7c21173de9e545e65785d066d453fa16ee28ada39708e256451be2f"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/th/firefox-48.0.1.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "c92825944fa315b5a58ae1c6b6fed39d297e9862d5257f2b506244ce580896499a6c003b203884ebc9e116b7a3ef1304c7557888382b080cb0af8afce58284ad"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/th/firefox-48.0.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "91767bda7438695142b9eb16d311ecdc8e884d572775627867a03e85564ca20499f1892cf948dc7daee17fcc39885c811bb37759db406393cbc263dcb8bf95e4"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/th/firefox-48.0.1.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "fd0948e291678f1cb6d1a95f7a639cacae85e1e3c1ea2b8b9435436c3413d7a344547f6d2a5c1c2886ea69c1ae2e5750c929b99426d37325859d2fcdaec92609"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/tr/firefox-48.0.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "44ffbf4cf5993243ffe6308ff91aa4025020546cee5d446481ae1b9dade1c4f98a726ec9ebed15ecf63437a0039e42265a4d4444dc3560ea42201832c0db03f1"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/tr/firefox-48.0.1.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "a581d3877aee6b2ddfdeab231f6ae299edfbef7d4abb33e3c4805093db1a201f892003f9073c29c65c35c4c508e4db26ee43bde3d45ad2836b32394c4d590ac5"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/tr/firefox-48.0.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "48869a5d1c60a43c7bdabe9d55060f6211dbd18e8f4e438cc0245c151f37eea748c3c05c9e9811e522df7bff7a6b531ce1bba062738e95244aa2e0e47fbe9ee2"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/tr/firefox-48.0.1.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "21fc9d76ddd83024144883abcda19644eb15721ac61b18d8f9689efee52d1535c7677200cfd9eb5f02bba3d46b68cbf64a17d937b5999bd1203d7c3334b1a6b5"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/uk/firefox-48.0.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "93a0617b74fd8e19b7289cba78182b56d76e754e55b5e666fe8ad34e7f0b8529d3b5575a1d695f5a8eb19085a2e09d5c223a5663c11e5cb1011700b0ab80ca3e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/uk/firefox-48.0.1.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "3c3b6c9de655a15cc5c1d07704235f1c2d6b78bbcc429e9387d27b98f1c7b9bfb355ee1d47d68f0f3f9efaf021af6f958ced6330772e875e88efa4e5c56e721b"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/uk/firefox-48.0.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "a0cfb64b8ceb111509778c2af0d6846eb2b212db04bef166c74b47c7c85dba51379ad1b4d97f0955c75ef04518742136fc9cf018359465c9faaea082cd379906"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/uk/firefox-48.0.1.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "90bc184cff6792cdeab8c58d3126c2cb4130f0f3c13b75eed793438dd91a434253d59734546e29aec9f5c1e4736cd5af1bb03ae16248bc0217df8516da1ad55f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/uz/firefox-48.0.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "9ff52914522dffde0c4f2767daefc4cf8e3f15075cdee1bd63fb8cbdf052c081ccb82cf22091b066d5a4ad1243c7efdc384b972fcad6985b4c0d47de03ec9131"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/uz/firefox-48.0.1.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "fd4bb603afba6b037fc54c920f518b4d90fe61c89f99a2cb819f5544a7668b232b9936d1232d45ab6d761029125bcbeb70c9436c19d368c77c9fe7e5fe765e6d"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/uz/firefox-48.0.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "85f029d028611d25055ec115eef07b1433c61c0d1c8364c8fb8aaa9ad8d89ea8ac477fdae90a79653a45a47a936397c0f4f758aa2a708ce9b12d2872909f1a01"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/uz/firefox-48.0.1.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "886efbfebcb82c7f14d18302d8fe0cda9ec1a08dfe5c808784584e0cd260ee99dc6ffa9b2a3c9e86db7c23c16e52ebddf1529a766a7081685203c77d48d32987"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/vi/firefox-48.0.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "deb75ecd16deae76ed58caa155234c22e5829c087be9a7a1309a13fab822c524f879aa752b76945a7ff1bb0527006757583180cd7cdcee22dd6430cdf43b3fb5"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/vi/firefox-48.0.1.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "d9558de845d9cbe513a42646a5a94e7bbb05db6d10167c165a6ed8b32a7eab49eb29b1bc2dabb49912c2ecb0f3513bad30973700b0c295f87f51dfeeb744ceaf"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/vi/firefox-48.0.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "b36d4a40c11c2cd4e0bc92afd4147c2114554f87d852090f94e13854da2b27ad4a1bfee349d8a92993fa40783adbd4203d2e13767734176b47548ea81c365619"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/vi/firefox-48.0.1.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "21b38b4e19b310773aabe650c4f3a51b8b36fa6ab7dfb9e2f3858e3aa2c13717803115fd78b1a181d34f8910a37745c785130edf8c34609e8add41f987808a42"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/xh/firefox-48.0.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "8efda5736eaff631c1d8a752fcc58a57c6bb3b9ad10cd2f1803e31c25ccfeaac53b5118ceaac994131b40aefa2822bbffc584f54a9f46bcb31a87d76c9eb7024"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/xh/firefox-48.0.1.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "d2729fe2a2d862e95da5dcc7215470744e2c4aa86634d4ca1185c49b543a1247531bcd2c036dd8bb9edb2aa67abcfae011c4d26ba47cecc75e6711e0caaa901b"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/xh/firefox-48.0.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "108ddf05b9552eb25165e093fed70f99fb91f14ba7db17a32c55715da22da702c3cc0d52e1c54ec48b8111e570dff00c88efc2be665ab39f804f733f2778e62d"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/xh/firefox-48.0.1.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "294f93237f032ba13b7232e358ba7b457d83acd9912e1a66faaa0d6d743e1462d8628c0fc043c3e900e01a067c310af3e07580dcef43894652d27df58a789752"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/zh-CN/firefox-48.0.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "56bc566490056d46e9adb2a63fe37353eff79f41d7f657d67265045b57394e67578e8dc8485f8500603ec94f6326a2f643d3fd7dbb522912ecbc4571863d804b"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/zh-CN/firefox-48.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "bea11b948f92a6b3325a348daaf171449fbe39d55c7a4622c675fb433d537f71206ac89c9fb66a86f01716f31eefe2c91501a34dc3f8f376a61458efccde8b4f"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/zh-CN/firefox-48.0.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "0da88b26ca2fba192bce4462945f284addd1b660c81baec7e102daad61c18471b4a76a0c4c66dd85e061278dd69e418e999c58bd7c6606426d126ff8ecaf2e3e"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/zh-CN/firefox-48.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "da01dbf740c4b7ff182be3916690316ff524c95b4c23e3a64844324ce976d482c750d55b72cabaa78239e131002cb6a143f8b5f157aed909f49c27ac882c6e87"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/zh-TW/firefox-48.0.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "1d410032e898d0437cf1ed669fdbafe9103944c35c135240c25a3e56116bdd2d926e3632556fbc916d465287e78ec67bc7204d8147596d0411d10f914fefccd8"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/zh-TW/firefox-48.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "e728bbd4e0754ae7210773faab7ff930963efb64205d494305c5f9af17743dc1d5fa46e1e99a1ad7e4d77832bcd3653de09f72266826b53783fd7b045e78da6b"; }
{ url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/zh-TW/firefox-48.0.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "6c39f409eb4b48a5b38dc4d6a82f4d9d82b78ea82af10f338108f0237ecd1075cb9a00d5786b7aa9d83051a994e0a05f59f91f12d2b52953bacfdcfd05411ed0"; } { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/zh-TW/firefox-48.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "c99ce5dad2210cca5bff34908ee4d63f06abb839598d1b5953ccf77e41a2ac75f1a31f54e75c94a0a57b30ec867b3d10923d38d1501729f1ddf0f2081494136c"; }
]; ];
} }

View File

@ -132,14 +132,14 @@ in {
firefox-unwrapped = common { firefox-unwrapped = common {
pname = "firefox"; pname = "firefox";
version = "48.0"; version = "48.0.1";
sha512 = "51bbb1954920b4d0e49e2834939748e596ed27c09a45adeea2be2cfbd32898dae41f13db17318e9699fa96c41fb50fba9966df1f88deeadc0ae3bdd679bd79c5"; sha512 = "819f726a7e630f62e3d4019d8289341019941df2288e67b1d88d5b16c3ce8636a852ae098905be4f8f2f2049070ffcd008e49cf148f7a6fea7332d223f14a890";
}; };
firefox-esr-unwrapped = common { firefox-esr-unwrapped = common {
pname = "firefox-esr"; pname = "firefox-esr";
version = "45.2.0esr"; version = "45.3.0esr";
sha512 = "fd67353cff9400080a311af92562b1ed26d20ca2229e32e8c8289b364ebe27fd501eed78c72b614e0501c3841ae9b17f2102158fbeef5083bee8c12d952660e6"; sha512 = "ee618aec579625122c3e511a7ac83ac4db9718f5695b6fe6250717602178bae9bb7e5ebe8764f4d33ecf44d3db13abfed0d24c1ec71e64a1087fb6d5a579b0c0";
}; };
} }

View File

@ -1,6 +1,8 @@
{ stdenv, fetchurl, python, buildPythonApplication, qtmultimedia, pyqt5 { stdenv, fetchurl, buildPythonApplication, makeQtWrapper, wrapGAppsHook
, jinja2, pygments, pyyaml, pypeg2, gst-plugins-base, gst-plugins-good , qtbase, pyqt5, jinja2, pygments, pyyaml, pypeg2, glib_networking
, gst-plugins-bad, gst-libav, wrapGAppsHook, glib_networking, makeQtWrapper }: , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt
, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav
, qtwebkit-plugins }:
let version = "0.8.2"; in let version = "0.8.2"; in
@ -16,18 +18,42 @@ buildPythonApplication rec {
# Needs tox # Needs tox
doCheck = false; doCheck = false;
buildInputs = [ wrapGAppsHook makeQtWrapper buildInputs = [
qtmultimedia qtbase qtwebkit-plugins
gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
glib_networking ]; glib_networking
];
nativeBuildInputs = [
makeQtWrapper wrapGAppsHook asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
];
propagatedBuildInputs = [ propagatedBuildInputs = [
python pyyaml pyqt5 jinja2 pygments pypeg2 pyyaml pyqt5 jinja2 pygments pypeg2
]; ];
postPatch = ''
sed -i "s,/usr/share/qutebrowser,$out/share/qutebrowser,g" qutebrowser/utils/standarddir.py
'';
postBuild = ''
a2x -f manpage doc/qutebrowser.1.asciidoc
'';
postInstall = '' postInstall = ''
mv $out/bin/qutebrowser $out/bin/.qutebrowser-noqtpath mv $out/bin/qutebrowser $out/bin/.qutebrowser-noqtpath
makeQtWrapper $out/bin/.qutebrowser-noqtpath $out/bin/qutebrowser makeQtWrapper $out/bin/.qutebrowser-noqtpath $out/bin/qutebrowser
install -Dm644 doc/qutebrowser.1 "$out/share/man/man1/qutebrowser.1"
install -Dm644 qutebrowser.desktop \
"$out/share/applications/qutebrowser.desktop"
for i in 16 24 32 48 64 128 256 512; do
install -Dm644 "icons/qutebrowser-''${i}x''${i}.png" \
"$out/share/icons/hicolor/''${i}x''${i}/apps/qutebrowser.png"
done
install -Dm644 icons/qutebrowser.svg \
"$out/share/icons/hicolor/scalable/apps/qutebrowser.svg"
install -Dm755 -t "$out/share/qutebrowser/userscripts/" misc/userscripts/*
''; '';
meta = { meta = {

View File

@ -10,16 +10,16 @@
}: }:
let let
version = "1.2"; version = "1.3";
build = "490.39-1"; build = "551.30-1";
fullVersion = "stable_${version}.${build}"; fullVersion = "stable_${version}.${build}";
info = if stdenv.is64bit then { info = if stdenv.is64bit then {
arch = "amd64"; arch = "amd64";
sha256 = "188fb91f1eb41e1dcaeda982567260adb6c004f4df00de55eed962e6ca7c621e"; sha256 = "89d0630c9df56cfb12a87f23430179f6d14a8c57fb029d1c8d28ab06c98b7640";
} else { } else {
arch = "i386"; arch = "i386";
sha256 = "0c699a0d7ced5e77c41a85e81077a1b4561d64071ec89e0e875a1c55e78634eb"; sha256 = "0a7e07833f5359e38516222767da63edeca92177cbb6d4ef4946a6ef7c7b2946";
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
product = "vivaldi"; product = "vivaldi";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "marathon-${version}"; name = "marathon-${version}";
version = "0.15.3"; version = "1.1.1";
src = fetchurl { src = fetchurl {
url = "https://downloads.mesosphere.io/marathon/v${version}/marathon-${version}.tgz"; url = "https://downloads.mesosphere.com/marathon/v${version}/marathon-${version}.tgz";
sha256 = "1br4k596sjp4cf5l2nyaqhlsfdr443n08fvdyf4kilhr803x2rjq"; sha256 = "35a80401383f6551c45c676beed30b3c1af6d3ad027f44735c208abe8eaca93d";
}; };
buildInputs = [ makeWrapper jdk mesos ]; buildInputs = [ makeWrapper jdk mesos ];

View File

@ -23,11 +23,11 @@
let let
# NOTE: When updating, please also update in current stable, # NOTE: When updating, please also update in current stable,
# as older versions stop working # as older versions stop working
version = "6.4.14"; version = "8.4.19";
sha256 = sha256 =
{ {
"x86_64-linux" = "0wpdib3jf5bq4k8q5xv9g01fdcfjb4l903xjxn32rjw615s1q8bg"; "x86_64-linux" = "0pm43cklsm41mg463mz0ypvbladm2mz65s7ar9z4k4hgjrhyh67j";
"i686-linux" = "1lgc7ryp2mn230cfsbndn9ss71l378kib0lvs89rkn25d5zfgzn4"; "i686-linux" = "0myz8s2xdl034zb4548fgzz2f5gfvzfr1nwp50fh3f3hmf6frgp3";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch = arch =

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, python, intltool, pkgconfig, libX11, gtk { stdenv, fetchurl, python, intltool, pkgconfig, libX11, gtk
, ldns, pythonDBus, pythonPackages , ldns, pythonPackages
, enableJingle ? true, farstream ? null, gst_plugins_bad ? null , enableJingle ? true, farstream ? null, gst_plugins_bad ? null
, libnice ? null , libnice ? null
@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
pythonPackages.sqlite3 pythonPackages.pyasn1 pythonPackages.sqlite3 pythonPackages.pyasn1
pythonPackages.pyxdg pythonPackages.pyxdg
pythonPackages.nbxmpp pythonPackages.nbxmpp
pythonPackages.pyopenssl pythonDBus pythonPackages.pyopenssl pythonPackages.dbus-python
] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ] ] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ]
++ optional enableE2E pythonPackages.pycrypto ++ optional enableE2E pythonPackages.pycrypto
++ optional enableRST pythonPackages.docutils ++ optional enableRST pythonPackages.docutils

View File

@ -1,5 +1,8 @@
{stdenv, fetchurl, python, pythonPackages, pygobject, pythonDBus}: {stdenv, fetchurl, pythonPackages}:
stdenv.mkDerivation rec {
let
inherit (pythonPackages) python;
in stdenv.mkDerivation rec {
url = "ftp://ftp.goffi.org/sat/sat-0.2.0.tar.bz2"; url = "ftp://ftp.goffi.org/sat/sat-0.2.0.tar.bz2";
name = stdenv.lib.nameFromURL url ".tar"; name = stdenv.lib.nameFromURL url ".tar";
src = fetchurl { src = fetchurl {
@ -10,28 +13,28 @@ stdenv.mkDerivation rec {
buildInputs = with pythonPackages; buildInputs = with pythonPackages;
[ [
python twisted urwid beautifulsoup wxPython pygobject python twisted urwid beautifulsoup wxPython pygobject
wokkel pythonDBus pyfeed wrapPython setuptools wokkel dbus-python pyfeed wrapPython setuptools
]; ];
configurePhase = '' configurePhase = ''
sed -i "/use_setuptools/d" setup.py sed -i "/use_setuptools/d" setup.py
sed -e "s@sys.prefix@'$out'@g" -i setup.py sed -e "s@sys.prefix@'$out'@g" -i setup.py
sed -e "1aexport PATH=\"\$PATH\":\"$out/bin\":\"${pythonPackages.twisted}/bin\"" -i src/sat.sh sed -e "1aexport PATH=\"\$PATH\":\"$out/bin\":\"${pythonPackages.twisted}/bin\"" -i src/sat.sh
sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/lib/${python.libPrefix}/site-packages"" -i src/sat.sh sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/${python.sitePackages}"" -i src/sat.sh
echo 'import wokkel.muc' | python echo 'import wokkel.muc' | python
''; '';
buildPhase = '' buildPhase = ''
python setup.py build ${python.interpreter}setup.py build
''; '';
installPhase = '' installPhase = ''
python setup.py install --prefix="$out" ${python.interpreter} setup.py install --prefix="$out"
for i in "$out/bin"/*; do for i in "$out/bin"/*; do
head -n 1 "$i" | grep -E '[/ ]python( |$)' && { head -n 1 "$i" | grep -E '[/ ]python( |$)' && {
wrapProgram "$i" --prefix PYTHONPATH : "$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages" wrapProgram "$i" --prefix PYTHONPATH : "$PYTHONPATH:$out/${python.sitePackages}"
} || true } || true
done done
''; '';

View File

@ -52,9 +52,11 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=/etc/ssl/certs/ca-certificates.crt"; NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=/etc/ssl/certs/ca-certificates.crt";
postInstall = '' postInstall = with stdenv.lib; ''
NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages" NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
wrapProgram "$out/bin/weechat" \ wrapProgram "$out/bin/weechat" \
${optionalString perlSupport "--prefix PATH : ${perl}/bin"} \
--prefix PATH : ${pythonPackages.python}/bin \
--prefix PYTHONPATH : "$PYTHONPATH" \ --prefix PYTHONPATH : "$PYTHONPATH" \
--prefix PYTHONPATH : "$NIX_PYTHONPATH" --prefix PYTHONPATH : "$NIX_PYTHONPATH"
''; '';

View File

@ -1,9 +1,9 @@
{ stdenv, buildPythonApplication, fetchurl, gettext, gtk3, pythonPackages { stdenv, fetchurl, gettext, gtk3, pythonPackages
, gdk_pixbuf, libnotify, gst_all_1 , gdk_pixbuf, libnotify, gst_all_1
, libgnome_keyring3 ? null, networkmanager ? null , libgnome_keyring3 ? null, networkmanager ? null
}: }:
buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "mailnag-${version}"; name = "mailnag-${version}";
version = "1.1.0"; version = "1.1.0";
@ -13,7 +13,7 @@ buildPythonApplication rec {
}; };
buildInputs = [ buildInputs = [
gettext gtk3 pythonPackages.pygobject3 pythonPackages.dbus gettext gtk3 pythonPackages.pygobject3 pythonPackages.dbus-python
pythonPackages.pyxdg gdk_pixbuf libnotify gst_all_1.gstreamer pythonPackages.pyxdg gdk_pixbuf libnotify gst_all_1.gstreamer
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad libgnome_keyring3 networkmanager gst_all_1.gst-plugins-bad libgnome_keyring3 networkmanager

View File

@ -1,6 +1,8 @@
{stdenv, fetchFromGitHub, makeWrapper, gettext, python3, python3Packages, rsync, cron, openssh, sshfsFuse, encfs }: {stdenv, fetchFromGitHub, makeWrapper, gettext, python3Packages, rsync, cron, openssh, sshfsFuse, encfs }:
stdenv.mkDerivation rec { let
inherit (python3Packages) python dbus-python keyring;
in stdenv.mkDerivation rec {
version = "1.1.12"; version = "1.1.12";
name = "backintime-common-${version}"; name = "backintime-common-${version}";
@ -12,7 +14,7 @@ stdenv.mkDerivation rec {
sha256 = "0n3x48wa8aa7i8fff85h3b5h3xpabk51ld0ymy3pkqh0krfgs59a"; sha256 = "0n3x48wa8aa7i8fff85h3b5h3xpabk51ld0ymy3pkqh0krfgs59a";
}; };
buildInputs = [ makeWrapper gettext python3 python3Packages.dbus python3Packages.keyring openssh cron rsync sshfsFuse encfs ]; buildInputs = [ makeWrapper gettext python dbus-python keyring openssh cron rsync sshfsFuse encfs ];
installFlags = [ "DEST=$(out)" ]; installFlags = [ "DEST=$(out)" ];

View File

@ -0,0 +1,35 @@
{ stdenv, fetchurl, cmake, ecm, makeQtWrapper, qtwebkit, qtscript, grantlee,
kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin,
kiconthemes, knewstuff, sqlcipher, qca-qt5, kdelibs4support, kactivities,
knotifyconfig, krunner, libofx }:
stdenv.mkDerivation rec {
name = "skrooge-${version}";
version = "2.4.0";
src = fetchurl {
url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
sha256 = "132d022337140f841f51420536c31dfe07c90fa3a38878279026825f5d2526fe";
};
nativeBuildInputs = [ cmake ecm makeQtWrapper ];
buildInputs = [ qtwebkit qtscript grantlee kxmlgui kwallet kparts kdoctools
kjobwidgets kdesignerplugin kiconthemes knewstuff sqlcipher qca-qt5
kdelibs4support kactivities knotifyconfig krunner libofx
];
enableParallelBuilding = true;
postInstall = ''
wrapQtProgram "$out/bin/skrooge"
wrapQtProgram "$out/bin/skroogeconvert"
'';
meta = with stdenv.lib; {
description = "A personal finances manager, powered by KDE";
license = with licenses; [ gpl3 ];
maintainers = with maintainers; [ joko ];
homepage = https://skrooge.org/;
};
}

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "abc-verifier-${version}"; name = "abc-verifier-${version}";
version = "20160813"; version = "20160818";
src = fetchhg { src = fetchhg {
url = "https://bitbucket.org/alanmi/abc"; url = "https://bitbucket.org/alanmi/abc";
rev = "1df0b06d7bf615c50014df0952a61e11891ee306"; rev = "a2e5bc66a68a72ccd267949e5c9973dd18f8932a";
sha256 = "0i0b9i2gs0y1q8nqnqyzfbff8aiknzja27m383nvccxscvg355z5"; sha256 = "09yvhj53af91nc54gmy7cbp7yljfcyj68a87494r5xvdfnsj11gy";
}; };
buildInputs = [ readline ]; buildInputs = [ readline ];

View File

@ -10,7 +10,7 @@
}: }:
let let
version = "2.9.2"; version = "2.9.3";
svn = subversionClient.override { perlBindings = true; }; svn = subversionClient.override { perlBindings = true; };
in in
@ -19,7 +19,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "1d9dmhgzcnwc2jbib4q23ypjbnw1gh1w8gif63qldwkpixj4dxgq"; sha256 = "0qzs681a64k3shh5p0rg41l1z16fbk5sj0xga45k34hp1hsp654z";
}; };
patches = [ patches = [

View File

@ -3,11 +3,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tig-2.1.1"; name = "tig-2.2";
src = fetchurl { src = fetchurl {
url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz"; url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
sha256 = "0bw5wivswwh7vx897q8xc2cqgkqhdzk8gh6fnav2kf34sngigiah"; sha256 = "0k3m894vfkgkj7xbr0j6ph91351dl6id5f0hk2ksjp5lmg9i6llg";
}; };
buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline git makeWrapper ] buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline git makeWrapper ]

View File

@ -1,6 +1,6 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'rails', '4.2.7' gem 'rails', '4.2.7.1'
gem 'rails-deprecated_sanitizer', '~> 1.0.3' gem 'rails-deprecated_sanitizer', '~> 1.0.3'
# Responders respond_to and respond_with # Responders respond_to and respond_with

View File

@ -3,34 +3,34 @@ GEM
specs: specs:
RedCloth (4.3.2) RedCloth (4.3.2)
ace-rails-ap (4.0.2) ace-rails-ap (4.0.2)
actionmailer (4.2.7) actionmailer (4.2.7.1)
actionpack (= 4.2.7) actionpack (= 4.2.7.1)
actionview (= 4.2.7) actionview (= 4.2.7.1)
activejob (= 4.2.7) activejob (= 4.2.7.1)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5) rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.7) actionpack (4.2.7.1)
actionview (= 4.2.7) actionview (= 4.2.7.1)
activesupport (= 4.2.7) activesupport (= 4.2.7.1)
rack (~> 1.6) rack (~> 1.6)
rack-test (~> 0.6.2) rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5) rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2) rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (4.2.7) actionview (4.2.7.1)
activesupport (= 4.2.7) activesupport (= 4.2.7.1)
builder (~> 3.1) builder (~> 3.1)
erubis (~> 2.7.0) erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5) rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2) rails-html-sanitizer (~> 1.0, >= 1.0.2)
activejob (4.2.7) activejob (4.2.7.1)
activesupport (= 4.2.7) activesupport (= 4.2.7.1)
globalid (>= 0.3.0) globalid (>= 0.3.0)
activemodel (4.2.7) activemodel (4.2.7.1)
activesupport (= 4.2.7) activesupport (= 4.2.7.1)
builder (~> 3.1) builder (~> 3.1)
activerecord (4.2.7) activerecord (4.2.7.1)
activemodel (= 4.2.7) activemodel (= 4.2.7.1)
activesupport (= 4.2.7) activesupport (= 4.2.7.1)
arel (~> 6.0) arel (~> 6.0)
activerecord-nulldb-adapter (0.3.3) activerecord-nulldb-adapter (0.3.3)
activerecord (>= 2.0.0) activerecord (>= 2.0.0)
@ -40,7 +40,7 @@ GEM
multi_json (~> 1.11, >= 1.11.2) multi_json (~> 1.11, >= 1.11.2)
rack (>= 1.5.2, < 3) rack (>= 1.5.2, < 3)
railties (>= 4.0, < 5.1) railties (>= 4.0, < 5.1)
activesupport (4.2.7) activesupport (4.2.7.1)
i18n (~> 0.7) i18n (~> 0.7)
json (~> 1.7, >= 1.7.7) json (~> 1.7, >= 1.7.7)
minitest (~> 5.1) minitest (~> 5.1)
@ -287,7 +287,7 @@ GEM
omniauth (~> 1.0) omniauth (~> 1.0)
pyu-ruby-sasl (~> 0.0.3.1) pyu-ruby-sasl (~> 0.0.3.1)
rubyntlm (~> 0.3) rubyntlm (~> 0.3)
globalid (0.3.6) globalid (0.3.7)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
gollum-grit_adapter (1.0.1) gollum-grit_adapter (1.0.1)
gitlab-grit (~> 2.7, >= 2.7.1) gitlab-grit (~> 2.7, >= 2.7.1)
@ -516,16 +516,16 @@ GEM
rack rack
rack-test (0.6.3) rack-test (0.6.3)
rack (>= 1.0) rack (>= 1.0)
rails (4.2.7) rails (4.2.7.1)
actionmailer (= 4.2.7) actionmailer (= 4.2.7.1)
actionpack (= 4.2.7) actionpack (= 4.2.7.1)
actionview (= 4.2.7) actionview (= 4.2.7.1)
activejob (= 4.2.7) activejob (= 4.2.7.1)
activemodel (= 4.2.7) activemodel (= 4.2.7.1)
activerecord (= 4.2.7) activerecord (= 4.2.7.1)
activesupport (= 4.2.7) activesupport (= 4.2.7.1)
bundler (>= 1.3.0, < 2.0) bundler (>= 1.3.0, < 2.0)
railties (= 4.2.7) railties (= 4.2.7.1)
sprockets-rails sprockets-rails
rails-deprecated_sanitizer (1.0.3) rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha) activesupport (>= 4.2.0.alpha)
@ -535,9 +535,9 @@ GEM
rails-deprecated_sanitizer (>= 1.0.1) rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.3) rails-html-sanitizer (1.0.3)
loofah (~> 2.0) loofah (~> 2.0)
railties (4.2.7) railties (4.2.7.1)
actionpack (= 4.2.7) actionpack (= 4.2.7.1)
activesupport (= 4.2.7) activesupport (= 4.2.7.1)
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rainbow (2.1.0) rainbow (2.1.0)
@ -922,7 +922,7 @@ DEPENDENCIES
rack-attack (~> 4.3.1) rack-attack (~> 4.3.1)
rack-cors (~> 0.4.0) rack-cors (~> 0.4.0)
rack-oauth2 (~> 1.2.1) rack-oauth2 (~> 1.2.1)
rails (= 4.2.7) rails (= 4.2.7.1)
rails-deprecated_sanitizer (~> 1.0.3) rails-deprecated_sanitizer (~> 1.0.3)
rainbow (~> 2.1.0) rainbow (~> 2.1.0)
rblineprof (~> 0.3.6) rblineprof (~> 0.3.6)

View File

@ -24,7 +24,7 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gitlab-${version}"; name = "gitlab-${version}";
version = "8.10.3"; version = "8.10.6";
buildInputs = [ env ruby bundler tzdata git nodejs procps ]; buildInputs = [ env ruby bundler tzdata git nodejs procps ];
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
owner = "gitlabhq"; owner = "gitlabhq";
repo = "gitlabhq"; repo = "gitlabhq";
rev = "v${version}"; rev = "v${version}";
sha256 = "0fhnwrgrpccc2j9wgdmwwi9h1ym3ll97lhmddq0xfzivc302ri3w"; sha256 = "1nk0ak9p5ncqynrm965ypwb9bj7b1r2jy5g4vdb9b0ma1ns2bkzf";
}; };
patches = [ patches = [
@ -70,6 +70,7 @@ stdenv.mkDerivation rec {
SKIP_STORAGE_VALIDATION=true \ SKIP_STORAGE_VALIDATION=true \
rake assets:precompile RAILS_ENV=production rake assets:precompile RAILS_ENV=production
mv config/gitlab.yml config/gitlab.yml.example mv config/gitlab.yml config/gitlab.yml.example
rm config/secrets.yml
mv config config.dist mv config config.dist
''; '';

View File

@ -10,50 +10,50 @@
actionmailer = { actionmailer = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1fhq3dg3icbi1vrz55xwalzn4wpbrdgm41ma1jkrgbwl4qqqrrsq"; sha256 = "0lw1pss1mrjm7x7qcg9pvxv55rz3d994yf3mwmlfg1y12fxq00n3";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
actionpack = { actionpack = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0swhxylh0mrq7b8am3b90xqnwldvfn52jd2m9zmc27r8hvc0h2fp"; sha256 = "1ray5bvlmkimjax011zsw0mz9llfkqrfm7q1avjlp4i0kpcz8zlh";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
actionview = { actionview = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0wsxa7zkvacmv4vf528nmid2v5smqy54vh17srj3997bgjyr68f3"; sha256 = "11m2x5nlbqrw79fh6h7m444lrka7wwy32b0dvgqg7ilbzih43k0c";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
activejob = { activejob = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19bf6fpl1vw6qnpsqcvdhljrvp67a7j72x1ydz4rj2s7g4xbjas3"; sha256 = "0ish5wd8nvmj7f6x1i22aw5ycizy5n1z1c7f3kyxmqwhw7lb0gaz";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
activemodel = { activemodel = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0v991wipszd5ly1fba8qzfyg86r06k8l8y353dv7438sngwd7slk"; sha256 = "0acz0mbmahsc9mn41275fpfnrqwig5k09m3xhz3455kv90fn79v5";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
activerecord = { activerecord = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0m04absj00hxj4q527ng0w0ydgbfc1cgxlcksjixgnx4j1visibn"; sha256 = "1lk8l6i9p7qfl0pg261v5yph0w0sc0vysrdzc6bm5i5rxgi68flj";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
activerecord-nulldb-adapter = { activerecord-nulldb-adapter = {
source = { source = {
@ -74,10 +74,10 @@
activesupport = { activesupport = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1pm0gw4ykq9137n8i815vayyah0mk2m920clgg02jr3l23w6gsnj"; sha256 = "1gds12k7nxrcc09b727a458ndidy1nfcllj9x22jcaj7pppvq6r4";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
acts-as-taggable-on = { acts-as-taggable-on = {
dependencies = ["activerecord"]; dependencies = ["activerecord"];
@ -958,13 +958,12 @@
version = "1.2.1"; version = "1.2.1";
}; };
globalid = { globalid = {
dependencies = ["activesupport"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "145xrpsfx1qqjy33r6qa588wb16dvdhxzj2aysh755vhg6hgm291"; sha256 = "11plkgyl3w9k4y2scc1igvpgwyz4fnmsr63h2q4j8wkb48nlnhak";
type = "gem"; type = "gem";
}; };
version = "0.3.6"; version = "0.3.7";
}; };
gollum-grit_adapter = { gollum-grit_adapter = {
source = { source = {
@ -1773,10 +1772,10 @@
rails = { rails = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "033wfvqjzlzkm0nrqrjpxxrp0lwhfm8sjlxn5zdhxhkzmhibrnvn"; sha256 = "1avd16ir7qx23dcnz1b3cafq1lja6rq0w222bs658p9n33rbw54l";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
rails-deprecated_sanitizer = { rails-deprecated_sanitizer = {
dependencies = ["activesupport"]; dependencies = ["activesupport"];
@ -1808,10 +1807,10 @@
railties = { railties = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0psnr9g436k2fkkjlhs7mq090i7vh0cvh7qwwrb8ppzbcr15hhab"; sha256 = "04rz7cn64zzvq7lnhc9zqmaqmqkq84q25v0ym9lcw75j1cj1mrq4";
type = "gem"; type = "gem";
}; };
version = "4.2.7"; version = "4.2.7.1";
}; };
rainbow = { rainbow = {
source = { source = {

View File

@ -22,8 +22,8 @@ index e2b3d55..23a5454 100644
--- a/Gemfile.lock --- a/Gemfile.lock
+++ b/Gemfile.lock +++ b/Gemfile.lock
@@ -32,6 +32,8 @@ GEM @@ -32,6 +32,8 @@ GEM
activemodel (= 4.2.7) activemodel (= 4.2.7.1)
activesupport (= 4.2.7) activesupport (= 4.2.7.1)
arel (~> 6.0) arel (~> 6.0)
+ activerecord-nulldb-adapter (0.3.3) + activerecord-nulldb-adapter (0.3.3)
+ activerecord (>= 2.0.0) + activerecord (>= 2.0.0)

View File

@ -1,11 +1,12 @@
{ stdenv, fetchurl, python, makeWrapper, docutils, unzip, hg-git, dulwich { stdenv, fetchurl, pythonPackages, makeWrapper, docutils, unzip
, guiSupport ? false, tk ? null, curses , guiSupport ? false, tk ? null
, ApplicationServices, cf-private }: , ApplicationServices, cf-private }:
let let
# if you bump version, update pkgs.tortoisehg too or ping maintainer # if you bump version, update pkgs.tortoisehg too or ping maintainer
version = "3.8.2"; version = "3.8.2";
name = "mercurial-${version}"; name = "mercurial-${version}";
inherit (pythonPackages) curses docutils hg-git dulwich python;
in in
stdenv.mkDerivation { stdenv.mkDerivation {

View File

@ -11,7 +11,7 @@ python2Packages.buildPythonApplication rec {
sha256 = "0964pdylrx4n9c9l8ncwv4q1p63y4hadb5v4pgvm0m2fah2jlkly"; sha256 = "0964pdylrx4n9c9l8ncwv4q1p63y4hadb5v4pgvm0m2fah2jlkly";
}; };
pythonPath = with python2Packages; [ configobj dbus pygobject pygtk simplejson pysvn dulwich tkinter gvfs xdg_utils ]; pythonPath = with python2Packages; [ configobj dbus-python pygobject pygtk simplejson pysvn dulwich tkinter gvfs xdg_utils ];
prePatch = '' prePatch = ''
sed -ie 's|if sys\.argv\[1\] == "install":|if False:|' ./setup.py sed -ie 's|if sys\.argv\[1\] == "install":|if False:|' ./setup.py

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, which, gnome3, glib, intltool, pkgconfig, libtool, cairo, gtk3, gst_all_1 }: { stdenv, fetchgit, wrapGAppsHook, which, gnome3, glib, intltool, pkgconfig, libtool, cairo, gtk3, gst_all_1, xorg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.2.3.alpha"; version = "0.2.3.alpha";
@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
buildInputs = [ which gnome3.gnome_common glib intltool pkgconfig libtool cairo gtk3 gst_all_1.gstreamer gst_all_1.gst-plugins-base ]; buildInputs = [ which gnome3.gnome_common glib intltool pkgconfig libtool cairo gtk3 xorg.xwininfo ]
++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-libav wrapGAppsHook ]);
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser"; description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser";

View File

@ -1,7 +1,7 @@
{ pkgs, stdenv, fetchurl, pythonPackages, buildPythonApplication, pygtk, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor }: { pkgs, stdenv, fetchurl, pythonPackages, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor }:
let let
inherit (pythonPackages) dbus; inherit (pythonPackages) dbus-python buildPythonApplication pygtk;
in buildPythonApplication rec { in buildPythonApplication rec {
name = "devede-3.23.0"; name = "devede-3.23.0";
@ -14,7 +14,7 @@ in buildPythonApplication rec {
buildInputs = [ ffmpeg ]; buildInputs = [ ffmpeg ];
propagatedBuildInputs = [ pygtk dbus ffmpeg mplayer dvdauthor vcdimager cdrkit ]; propagatedBuildInputs = [ pygtk dbus-python ffmpeg mplayer dvdauthor vcdimager cdrkit ];
postPatch = '' postPatch = ''
substituteInPlace devede --replace "/usr/share/devede" "$out/share/devede" substituteInPlace devede --replace "/usr/share/devede" "$out/share/devede"

View File

@ -16,11 +16,11 @@ python3Packages.buildPythonApplication rec {
buildInputs = with python3Packages; buildInputs = with python3Packages;
[ pygobject3 pyxdg pycairo gst_all_1.gstreamer gst_all_1.gst-plugins-base [ pygobject3 pyxdg pycairo gst_all_1.gstreamer gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good gobjectIntrospection gtk3 libwnck3 distutils_extra gst_all_1.gst-plugins-good gobjectIntrospection gtk3 libwnck3 distutils_extra
intltool dbus ]; intltool dbus-python ];
# TODO: figure out why PYTHONPATH is not passed automatically for those programs # TODO: figure out why PYTHONPATH is not passed automatically for those programs
pythonPath = with python3Packages; pythonPath = with python3Packages;
[ pygobject3 pyxdg pycairo dbus ]; [ pygobject3 pyxdg pycairo dbus-python ];
patches = [ ./datadir.patch ./bug_1190693.patch ]; patches = [ ./datadir.patch ./bug_1190693.patch ];
prePatch = '' prePatch = ''

View File

@ -75,7 +75,7 @@ in buildPythonApplication rec {
]; ];
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with pythonPackages; [
pygobject pygtk pycurl sqlite3 mutagen pycairo dbus pygobject pygtk pycurl sqlite3 mutagen pycairo dbus-python
pywebkitgtk] ++ [ libtorrentRasterbar pywebkitgtk] ++ [ libtorrentRasterbar
gst_python gst_plugins_base gst_plugins_good gst_ffmpeg gst_python gst_plugins_base gst_plugins_good gst_ffmpeg
] ++ optional enableBonjour avahi; ] ++ optional enableBonjour avahi;

View File

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
echo "exec ${python3Packages.python.interpreter} $(toPythonPath $out)/launch.py" >>$out/bin/openshot-qt echo "exec ${python3Packages.python.interpreter} $(toPythonPath $out)/launch.py" >>$out/bin/openshot-qt
chmod +x $out/bin/openshot-qt chmod +x $out/bin/openshot-qt
wrapProgram $out/bin/openshot-qt \ wrapProgram $out/bin/openshot-qt \
--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${libopenshot}):$(toPythonPath ${python3Packages.pyqt5}):$(toPythonPath ${python3Packages.sip_4_16}):$(toPythonPath ${python3Packages.httplib2}):$PYTHONPATH" --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${libopenshot}):$(toPythonPath ${python3Packages.pyqt5}):$(toPythonPath ${python3Packages.sip}):$(toPythonPath ${python3Packages.httplib2}):$PYTHONPATH"
''; '';
doCheck = false; doCheck = false;

View File

@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
gst-plugins-bad gst-plugins-ugly gst-libav gst-validate gst-plugins-bad gst-plugins-ugly gst-libav gst-validate
]) ++ (with python3Packages; [ ]) ++ (with python3Packages; [
python pygobject3 gst-python pyxdg numpy pycairo sqlite3 matplotlib python pygobject3 gst-python pyxdg numpy pycairo sqlite3 matplotlib
dbus dbus-python
]); ]);
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,8 +1,7 @@
{ stdenv, fetchbzr, pythonPackages, rtmpdump, makeWrapper }: { stdenv, fetchbzr, pythonPackages, rtmpdump, makeWrapper }:
let let
inherit (pythonPackages) python pyqt4; inherit (pythonPackages) python pyqt4 sip;
sip = pythonPackages.sip_4_16;
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "qarte-2.4.0"; name = "qarte-2.4.0";
src = fetchbzr { src = fetchbzr {

View File

@ -1,20 +1,26 @@
{ stdenv, fetchurl, SDL, frei0r, gettext, makeWrapper, mlt, pkgconfig, qtbase, qmakeHook }: { stdenv, fetchurl, SDL, frei0r, gettext, mlt, jack1, pkgconfig, qtbase,
qtmultimedia, qtwebkit, qtx11extras, qtwebsockets, qtquickcontrols,
qtgraphicaleffects,
qmakeHook, makeQtWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "shotcut-${version}"; name = "shotcut-${version}";
version = "14.09"; version = "16.08";
src = fetchurl { src = fetchurl {
url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz"; url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz";
sha256 = "1504ds3ppqmpg84nb2gb74qndqysjwn3xw7n8xv19kd1pppnr10f"; sha256 = "10f32mfj3f8mjp0yi0jb7wc5d3inycn5c1pvqdagjhyyv3rvx9zy";
}; };
buildInputs = [ SDL frei0r gettext makeWrapper mlt pkgconfig qtbase qmakeHook ]; buildInputs = [ SDL frei0r gettext mlt pkgconfig qtbase qtmultimedia qtwebkit
qtx11extras qtwebsockets qtquickcontrols qtgraphicaleffects qmakeHook makeQtWrapper ];
enableParallelBuilding = true;
postInstall = '' postInstall = ''
mkdir -p $out/share/shotcut mkdir -p $out/share/shotcut
cp -r src/qml $out/share/shotcut/ cp -r src/qml $out/share/shotcut/
wrapProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1 wrapQtProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1 --prefix LD_LIBRARY_PATH : ${jack1}/lib:${SDL.out}/lib
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -35,6 +41,6 @@ stdenv.mkDerivation rec {
# after qt5 bump it probably needs to be updated, # after qt5 bump it probably needs to be updated,
# but newer versions seem to need newer than the latest stable mlt # but newer versions seem to need newer than the latest stable mlt
broken = true; # broken = true;
}; };
} }

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl, python { stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl
, wrapGAppsHook, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte , wrapGAppsHook, virtinst, gnome_python, gtkvnc, vte
, gtk3, gobjectIntrospection, libvirt-glib, gsettings_desktop_schemas, glib , gtk3, gobjectIntrospection, libvirt-glib, gsettings_desktop_schemas, glib
, avahi, dconf, spiceSupport ? true, spice_gtk, libosinfo, gnome3, system-libvirt , avahi, dconf, spiceSupport ? true, spice_gtk, libosinfo, gnome3, system-libvirt
}: }:
@ -21,7 +21,7 @@ buildPythonApplication rec {
[ eventlet greenlet gflags netaddr carrot routes [ eventlet greenlet gflags netaddr carrot routes
PasteDeploy m2crypto ipy twisted PasteDeploy m2crypto ipy twisted
distutils_extra simplejson readline glanceclient cheetah lockfile httplib2 distutils_extra simplejson readline glanceclient cheetah lockfile httplib2
urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3 urlgrabber virtinst pyGtkGlade dbus-python gnome_python pygobject3
libvirt libxml2Python ipaddr vte libosinfo gobjectIntrospection gtk3 mox libvirt libxml2Python ipaddr vte libosinfo gobjectIntrospection gtk3 mox
gtkvnc libvirt-glib glib gsettings_desktop_schemas gnome3.defaultIconTheme gtkvnc libvirt-glib glib gsettings_desktop_schemas gnome3.defaultIconTheme
wrapGAppsHook wrapGAppsHook

View File

@ -2,12 +2,12 @@
let let
# Xen 4.5.0 # Xen 4.5.0
xenConfig = { xenConfig = rec {
name = "xen-4.5.0";
version = "4.5.0"; version = "4.5.0";
name = "xen-${version}";
src = fetchurl { src = fetchurl {
url = "http://bits.xensource.com/oss-xen/release/4.5.0/xen-4.5.0.tar.gz"; url = "http://bits.xensource.com/oss-xen/release/${version}/${name}.tar.gz";
sha256 = "0fvg00d596gh6cfm51xr8kj2mghcyivrf6np3dafnbldnbi41nsv"; sha256 = "0fvg00d596gh6cfm51xr8kj2mghcyivrf6np3dafnbldnbi41nsv";
}; };
@ -15,14 +15,14 @@ let
firmwareGits = firmwareGits =
[ # tag 1.7.5 [ # tag 1.7.5
{ git = { name = "seabios"; { git = { name = "seabios";
url = git://xenbits.xen.org/seabios.git; url = https://xenbits.xen.org/git-http/seabios.git;
rev = "e51488c5f8800a52ac5c8da7a31b85cca5cc95d2"; rev = "e51488c5f8800a52ac5c8da7a31b85cca5cc95d2";
sha256 = "b96a0b9f31cab0f3993d007dcbe5f1bd69ad02b0a23eb2dc8a3ed1aafe7985cb"; sha256 = "0jk54ybhmw97pzyhpm6jr2x99f702kbn0ipxv5qxcbynflgdazyb";
}; };
patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ]; patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ];
} }
{ git = { name = "ovmf"; { git = { name = "ovmf";
url = git://xenbits.xen.org/ovmf.git; url = https://xenbits.xen.org/git-http/ovmf.git;
rev = "447d264115c476142f884af0be287622cd244423"; rev = "447d264115c476142f884af0be287622cd244423";
sha256 = "7086f882495a8be1497d881074e8f1005dc283a5e1686aec06c1913c76a6319b"; sha256 = "7086f882495a8be1497d881074e8f1005dc283a5e1686aec06c1913c76a6319b";
}; };
@ -32,20 +32,20 @@ let
toolsGits = toolsGits =
[ # tag qemu-xen-4.5.0 [ # tag qemu-xen-4.5.0
{ git = { name = "qemu-xen"; { git = { name = "qemu-xen";
url = git://xenbits.xen.org/qemu-upstream-4.5-testing.git; url = https://xenbits.xen.org/git-http/qemu-xen.git;
rev = "1ebb75b1fee779621b63e84fefa7b07354c43a99"; rev = "1ebb75b1fee779621b63e84fefa7b07354c43a99";
sha256 = "1j312q2mqvkvby9adkkxf7f1pn3nz85g5mr9nbg4qpf2y9cg122z"; sha256 = "0yp9vmna3yl28vm5fkirghzhndaihmsm34fjzgr9sl6s46wx5yzg";
}; };
} }
# tag xen-4.5.0 # tag xen-4.5.0
{ git = { name = "qemu-xen-traditional"; { git = { name = "qemu-xen-traditional";
url = git://xenbits.xen.org/qemu-xen-4.5-testing.git; url = https://xenbits.xen.org/git-http/qemu-xen-traditional.git;
rev = "b0d42741f8e9a00854c3b3faca1da84bfc69bf22"; rev = "b0d42741f8e9a00854c3b3faca1da84bfc69bf22";
sha256 = "ce52b5108936c30ab85ec0c9554f88d5e7b34896f3acb666d56765b49c86f2af"; sha256 = "1lxlf1s81y5j0rhzzm1f4sbyrnbvd32vxiczs1qjcg6ls866vlki";
}; };
} }
{ git = { name = "xen-libhvm"; { git = { name = "xen-libhvm";
url = "https://github.com/ts468/xen-libhvm"; url = https://github.com/ts468/xen-libhvm;
rev = "442dcc4f6f4e374a51e4613532468bd6b48bdf63"; rev = "442dcc4f6f4e374a51e4613532468bd6b48bdf63";
sha256 = "9ba97c39a00a54c154785716aa06691d312c99be498ebbc00dc3769968178ba8"; sha256 = "9ba97c39a00a54c154785716aa06691d312c99be498ebbc00dc3769968178ba8";
}; };
@ -77,4 +77,3 @@ let
}; };
in callPackage ./generic.nix (args // { xenConfig=xenConfig; }) in callPackage ./generic.nix (args // { xenConfig=xenConfig; })

View File

@ -15,16 +15,16 @@ let
firmwareGits = firmwareGits =
[ # tag 1.7.5 [ # tag 1.7.5
{ git = { name = "seabios"; { git = { name = "seabios";
url = git://xenbits.xen.org/seabios.git; url = https://xenbits.xen.org/git-http/seabios.git;
rev = "e51488c5f8800a52ac5c8da7a31b85cca5cc95d2"; rev = "e51488c5f8800a52ac5c8da7a31b85cca5cc95d2";
sha256 = "b96a0b9f31cab0f3993d007dcbe5f1bd69ad02b0a23eb2dc8a3ed1aafe7985cb"; sha256 = "0jk54ybhmw97pzyhpm6jr2x99f702kbn0ipxv5qxcbynflgdazyb";
}; };
patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ]; patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ];
} }
{ git = { name = "ovmf"; { git = { name = "ovmf";
url = git://xenbits.xen.org/ovmf.git; url = https://xenbits.xen.org/git-http/ovmf.git;
rev = "cb9a7ebabcd6b8a49dc0854b2f9592d732b5afbd"; rev = "cb9a7ebabcd6b8a49dc0854b2f9592d732b5afbd";
sha256 = "1ncb8dpqzaj3s8am44jvclhby40hwczljz0a1gd282h9yr4k4sk2"; sha256 = "07zmdj90zjrzip74fvd4ss8n8njk6cim85s58mc6snxmqqv7gmcq";
}; };
} }
]; ];
@ -32,20 +32,20 @@ let
toolsGits = toolsGits =
[ # tag qemu-xen-4.5.2 [ # tag qemu-xen-4.5.2
{ git = { name = "qemu-xen"; { git = { name = "qemu-xen";
url = git://xenbits.xen.org/qemu-upstream-4.5-testing.git; url = https://xenbits.xen.org/git-http/qemu-xen.git;
rev = "e5a1bb22cfb307db909dbd3404c48e5bbeb9e66d"; rev = "e5a1bb22cfb307db909dbd3404c48e5bbeb9e66d";
sha256 = "1qflb3j8qcvipavybqhi0ql7m2bx51lhzgmf7pdbls8minpvdzg2"; sha256 = "00h6hc1y19y9wafxk01hvwm2j8lysz26wi2dnv8md76zxavg4maa";
}; };
} }
# tag xen-4.5.2 # tag xen-4.5.2
{ git = { name = "qemu-xen-traditional"; { git = { name = "qemu-xen-traditional";
url = git://xenbits.xen.org/qemu-xen-4.5-testing.git; url = https://xenbits.xen.org/git-http/qemu-xen-traditional.git;
rev = "dfe880e8d5fdc863ce6bbcdcaebaf918f8689cc0"; rev = "dfe880e8d5fdc863ce6bbcdcaebaf918f8689cc0";
sha256 = "14fxdsnkq729z5glkifdpz26idmn7fl38w1v97xj8cf6ifvk76cz"; sha256 = "07jwpxgk9ls5hma6vv1frnx1aczlvpddlgiyii9qmmlxxwjs21yj";
}; };
} }
{ git = { name = "xen-libhvm"; { git = { name = "xen-libhvm";
url = "https://github.com/ts468/xen-libhvm"; url = https://github.com/ts468/xen-libhvm;
rev = "442dcc4f6f4e374a51e4613532468bd6b48bdf63"; rev = "442dcc4f6f4e374a51e4613532468bd6b48bdf63";
sha256 = "9ba97c39a00a54c154785716aa06691d312c99be498ebbc00dc3769968178ba8"; sha256 = "9ba97c39a00a54c154785716aa06691d312c99be498ebbc00dc3769968178ba8";
}; };

View File

@ -1,17 +1,19 @@
{stdenv, fetchurl, cmake, pkgconfig { stdenv, fetchurl, cmake, pkgconfig
, libXrender, renderproto, gtk, libwnck, pango, cairo , libXrender, renderproto, gtk, libwnck, pango, cairo
, GConf, libXdamage, damageproto, libxml2, libxslt, glibmm , GConf, libXdamage, damageproto, libxml2, libxslt, glibmm
, metacity , metacity
, libstartup_notification, libpthreadstubs, libxcb, intltool , libstartup_notification, libpthreadstubs, libxcb, intltool
, ORBit2, libXau, libICE, libSM , ORBit2, libXau, libICE, libSM
, dbus, dbus_glib, librsvg, mesa , dbus, dbus_glib, librsvg, mesa
, libXdmcp, libnotify, python , libXdmcp, libnotify, pythonPackages
, hicolor_icon_theme, libjpeg_turbo, libsigcxx, protobuf, pygtk, pythonDBus , hicolor_icon_theme, libjpeg_turbo, libsigcxx, protobuf
, xdg_utils , xdg_utils
, gettext, boost, pyrex , gettext, boost, pyrex
, makeWrapper , makeWrapper
}: }:
let let
inherit (pythonPackages) python dbus-python pygtk;
s = # Generated upstream information s = # Generated upstream information
rec { rec {
baseName="compiz"; baseName="compiz";
@ -29,7 +31,7 @@ let
ORBit2 libXau libICE libSM ORBit2 libXau libICE libSM
dbus dbus_glib librsvg mesa dbus dbus_glib librsvg mesa
libXdmcp libnotify python libXdmcp libnotify python
hicolor_icon_theme libjpeg_turbo libsigcxx protobuf pygtk pythonDBus hicolor_icon_theme libjpeg_turbo libsigcxx protobuf pygtk dbus-python
xdg_utils xdg_utils
gettext boost pyrex gettext boost pyrex
makeWrapper makeWrapper

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