0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-13 21:50:33 +03:00

Merge recent master into staging

Nixpkgs Hydra: ?compare=1157272

TODO: port e22889064f

Conflicts:
	nixos/tests/gnome3_10.nix (auto-solved)
	pkgs/applications/video/aegisub/default.nix
	pkgs/development/libraries/boost/1.55.nix
This commit is contained in:
Vladimír Čunát 2014-11-05 15:00:44 +01:00
commit 52404a868d
288 changed files with 8123 additions and 4307 deletions

View file

@ -64,8 +64,10 @@
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>"; fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
gal_bolle = "Florent Becker <florent.becker@ens-lyon.org>"; gal_bolle = "Florent Becker <florent.becker@ens-lyon.org>";
garbas = "Rok Garbas <rok@garbas.si>"; garbas = "Rok Garbas <rok@garbas.si>";
gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>"; goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
guibert = "David Guibert <david.guibert@gmail.com>"; guibert = "David Guibert <david.guibert@gmail.com>";
henrytill = "Henry Till <henrytill@gmail.com>";
hinton = "Tom Hinton <t@larkery.com>"; hinton = "Tom Hinton <t@larkery.com>";
hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>"; hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>"; ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
@ -137,6 +139,7 @@
thammers = "Tobias Hammerschmidt <jawr@gmx.de>"; thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>"; the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
thoughtpolice = "Austin Seipp <aseipp@pobox.com>"; thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
titanous = "Jonathan Rudenberg <jonathan@titanous.com>";
tomberek = "Thomas Bereknyei <tomberek@gmail.com>"; tomberek = "Thomas Bereknyei <tomberek@gmail.com>";
tstrobel = "Thomas Strobel <ts468@cam.ac.uk>"; tstrobel = "Thomas Strobel <ts468@cam.ac.uk>";
ttuegel = "Thomas Tuegel <ttuegel@gmail.com>"; ttuegel = "Thomas Tuegel <ttuegel@gmail.com>";

View file

@ -4,26 +4,26 @@ export LANG=C LC_ALL=C LC_COLLATE=C
# Load git log # Load git log
raw_git_log="$(git log)" raw_git_log="$(git log)"
git_data="$(echo "$raw_git_log" | grep 'Author:' | git_data="$(echo "$raw_git_log" | grep 'Author:' |
sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//; sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//;
s/ @ .*//; s/ *[<]/\t/; s/[>]//')" s/ @ .*//; s/ *[<]/\t/; s/[>]//')"
# Name - nick - email correspondence from log and from maintainer list # Name - nick - email correspondence from log and from maintainer list
# Also there are a few manual entries # Also there are a few manual entries
maintainers="$(cat "$(dirname "$0")/../../lib/maintainers.nix" | maintainers="$(cat "$(dirname "$0")/../../lib/maintainers.nix" |
grep '=' | sed -re 's/\\"/''/g; grep '=' | sed -re 's/\\"/''/g;
s/ *([^ =]*) *= *" *(.*[^ ]) *[<](.*)[>] *".*/\1\t\2\t\3/')" s/ *([^ =]*) *= *" *(.*[^ ]) *[<](.*)[>] *".*/\1\t\2\t\3/')"
git_lines="$( ( echo "$git_data"; git_lines="$( ( echo "$git_data";
cat "$(dirname "$0")/vanity-manual-equalities.txt") | sort |uniq)" cat "$(dirname "$0")/vanity-manual-equalities.txt") | sort |uniq)"
emails="$( emails="$(
( echo "$maintainers" | cut -f 3; echo "$git_data" | cut -f 2 ) | ( echo "$maintainers" | cut -f 3; echo "$git_data" | cut -f 2 ) |
sort | uniq | grep -E ".+@.+[.].+" sort | uniq | grep -E ".+@.+[.].+"
)" )"
fetchGithubName () { fetchGithubName () {
commitid="$( commitid="$(
echo "$raw_git_log" | grep -B3 "Author: .*[<]$1[>]" | head -n 3 | echo "$raw_git_log" | grep -B3 "Author: .*[<]$1[>]" | head -n 3 |
grep '^commit ' | tail -n 1 | sed -e 's/^commit //' grep '^commit ' | tail -n 1 | sed -e 's/^commit //'
)" )"
userid="$( userid="$(
@ -36,7 +36,7 @@ fetchGithubName () {
} }
[ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && { [ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && {
echo "$emails" | while read email; do echo "$emails" | while read email; do
line="$(grep "$email " "$NIXPKGS_GITHUB_NAME_CACHE")" line="$(grep "$email " "$NIXPKGS_GITHUB_NAME_CACHE")"
[ -z "$line" ] && { [ -z "$line" ] && {
echo "$email $(fetchGithubName "$email")" >> \ echo "$email $(fetchGithubName "$email")" >> \
@ -47,11 +47,11 @@ fetchGithubName () {
# For RDF # For RDF
normalize_name () { normalize_name () {
sed -e 's/%/%25/g; s/ /%20/g; s/'\''/%27/g; s/"/%22/g;' sed -e 's/%/%25/g; s/ /%20/g; s/'\''/%27/g; s/"/%22/g; s/`/%60/g'
} }
denormalize_name () { denormalize_name () {
sed -e 's/%20/ /g; s/%27/'\''/g; s/%22/"/g; s/%25/%/g;'; sed -e 's/%20/ /g; s/%27/'\''/g; s/%22/"/g; s/%60/`/g; s/%25/%/g;';
} }
n3="$(mktemp --suffix .n3)" n3="$(mktemp --suffix .n3)"
@ -80,8 +80,8 @@ name_list="$(
?x <my://can-be>+ ?y. ?x <my://can-be>+ ?y.
?x <my://is-name> ?g. ?x <my://is-name> ?g.
} }
" | tail -n +2 | " | tail -n +2 |
sed -re 's@<my://name/@@g; s@<my://@@g; s@>@@g;' | sed -re 's@<my://name/@@g; s@<my://@@g; s@>@@g;' |
sort -k 2,3 -t ' ' sort -k 2,3 -t ' '
)" )"
github_name_list="$( github_name_list="$(
@ -89,14 +89,14 @@ github_name_list="$(
select ?x ?y where { select ?x ?y where {
?x (<my://can-be>+ / <my://at-github>) ?y. ?x (<my://can-be>+ / <my://at-github>) ?y.
} }
" | tail -n +2 | " | tail -n +2 |
sed -re 's@<my://(name|github)/@@g; s@<my://@@g; s@>@@g;' sed -re 's@<my://(name|github)/@@g; s@<my://@@g; s@>@@g;'
)" )"
# Take first spelling option for every person # Take first spelling option for every person
name_list_canonical="$(echo "$name_list" | cut -f 1,2 | uniq -f1)" name_list_canonical="$(echo "$name_list" | cut -f 1,2 | uniq -f1)"
cleaner_script="$(echo "$name_list_canonical" | denormalize_name | cleaner_script="$(echo "$name_list_canonical" | denormalize_name |
sed -re 's/(.*)\t(.*)/s#^\2$#\1#g/g')" sed -re 's/(.*)\t(.*)/s#^\2$#\1#g/g')"
# Add github usernames # Add github usernames
@ -104,9 +104,9 @@ if [ -n "$NIXPKGS_GITHUB_NAME_CACHE" ]; then
github_adder_script="$(echo "$github_name_list" | github_adder_script="$(echo "$github_name_list" |
grep -E "$(echo "$name_list_canonical" | cut -f 2 | grep -E "$(echo "$name_list_canonical" | cut -f 2 |
tr '\n' '|' )" | tr '\n' '|' )" |
sort | uniq | sort | uniq |
sed -re 's/(.*)\t(.*)/s| \1$| \1\t\2|g;/' | sed -re 's/(.*)\t(.*)/s| \1$| \1\t\2|g;/' |
denormalize_name denormalize_name
)" )"
else else
github_adder_script='' github_adder_script=''
@ -117,6 +117,6 @@ echo "$name_list" | denormalize_name
echo echo
echo "$git_data" | cut -f 1 | echo "$git_data" | cut -f 1 |
sed -re "$cleaner_script" | sed -e "$cleaner_script" |
sort | uniq -c | sort -k1n | sed -re "$github_adder_script" | sort | uniq -c | sort -k1n | sed -re "$github_adder_script" |
sed -re 's/^ *([0-9]+) /\1\t/' sed -re 's/^ *([0-9]+) /\1\t/'

View file

@ -1,4 +1,4 @@
{ stdenv, perl, cdrkit, pathsFromGraph { stdenv, perl, pathsFromGraph, xorriso, syslinux
, # The file name of the resulting ISO image. , # The file name of the resulting ISO image.
isoName ? "cd.iso" isoName ? "cd.iso"
@ -22,12 +22,18 @@
, # Whether this should be an efi-bootable El-Torito CD. , # Whether this should be an efi-bootable El-Torito CD.
efiBootable ? false efiBootable ? false
, # Wheter this should be an hybrid CD (bootable from USB as well as CD).
usbBootable ? false
, # The path (in the ISO file system) of the boot image. , # The path (in the ISO file system) of the boot image.
bootImage ? "" bootImage ? ""
, # The path (in the ISO file system) of the efi boot image. , # The path (in the ISO file system) of the efi boot image.
efiBootImage ? "" efiBootImage ? ""
, # The path (outside the ISO file system) of the isohybrid-mbr image.
isohybridMbrImage ? ""
, # Whether to compress the resulting ISO image with bzip2. , # Whether to compress the resulting ISO image with bzip2.
compressImage ? false compressImage ? false
@ -38,13 +44,14 @@
assert bootable -> bootImage != ""; assert bootable -> bootImage != "";
assert efiBootable -> efiBootImage != ""; assert efiBootable -> efiBootImage != "";
assert usbBootable -> isohybridMbrImage != "";
stdenv.mkDerivation { stdenv.mkDerivation {
name = "iso9660-image"; name = "iso9660-image";
builder = ./make-iso9660-image.sh; builder = ./make-iso9660-image.sh;
buildInputs = [perl cdrkit]; buildInputs = [perl xorriso syslinux];
inherit isoName bootable bootImage compressImage volumeID pathsFromGraph efiBootImage efiBootable; inherit isoName bootable bootImage compressImage volumeID pathsFromGraph efiBootImage efiBootable isohybridMbrImage usbBootable;
# !!! should use XML. # !!! should use XML.
sources = map (x: x.source) contents; sources = map (x: x.source) contents;

View file

@ -31,11 +31,20 @@ if test -n "$bootable"; then
fi fi
done done
bootFlags="-b $bootImage -c .boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table" isoBootFlags="-eltorito-boot ${bootImage}
-eltorito-catalog .boot.cat
-no-emul-boot -boot-load-size 4 -boot-info-table"
fi
if test -n "$usbBootable"; then
usbBootFlags="-isohybrid-mbr ${isohybridMbrImage}"
fi fi
if test -n "$efiBootable"; then if test -n "$efiBootable"; then
bootFlags="$bootFlags -eltorito-alt-boot -e $efiBootImage -no-emul-boot" efiBootFlags="-eltorito-alt-boot
-e $efiBootImage
-no-emul-boot
-isohybrid-gpt-basdat"
fi fi
touch pathlist touch pathlist
@ -74,18 +83,41 @@ for ((n = 0; n < ${#objects[*]}; n++)); do
fi fi
done done
# !!! what does this do? # Escape filenames that contain '='.
# TODO: Handle this properly. This fails for filenames
# that contain multiple '=' symbols.
cat pathlist | sed -e 's/=\(.*\)=\(.*\)=/\\=\1=\2\\=/' | tee pathlist.safer cat pathlist | sed -e 's/=\(.*\)=\(.*\)=/\\=\1=\2\\=/' | tee pathlist.safer
mkdir -p $out/iso mkdir -p $out/iso
genCommand="genisoimage -iso-level 4 -r -J $bootFlags -hide-rr-moved -graft-points -path-list pathlist.safer ${volumeID:+-V $volumeID}"
if test -z "$compressImage"; then xorriso="xorriso
$genCommand -o $out/iso/$isoName -as mkisofs
else -iso-level 3
$genCommand | bzip2 > $out/iso/$isoName.bz2 -volid ${volumeID}
-appid nixos
-publisher nixos
-graft-points
-full-iso9660-filenames
${isoBootFlags}
${usbBootFlags}
${efiBootFlags}
-r
-path-list pathlist.safer
--sort-weight 0 /
--sort-weight 1 /isolinux" # Make sure isolinux is near the beginning of the ISO
$xorriso -output $out/iso/$isoName
if test -n "$usbBootable"; then
echo "Making image hybrid..."
isohybrid --uefi $out/iso/$isoName
fi fi
if test -n "$compressImage"; then
echo "Compressing image..."
bzip2 $out/iso/$isoName
fi
mkdir -p $out/nix-support mkdir -p $out/nix-support
echo $system > $out/nix-support/system echo $system > $out/nix-support/system

View file

@ -169,6 +169,12 @@ foreach my $u (@{$spec->{users}}) {
} else { } else {
$u->{uid} = allocUid($u->{isSystemUser}) if !defined $u->{uid}; $u->{uid} = allocUid($u->{isSystemUser}) if !defined $u->{uid};
if (defined $u->{initialPassword}) {
$u->{hashedPassword} = hashPassword($u->{initialPassword});
} elsif (defined $u->{initialHashedPassword}) {
$u->{hashedPassword} = $u->{initialHashedPassword};
}
# Create a home directory. # Create a home directory.
if ($u->{createHome}) { if ($u->{createHome}) {
make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home}; make_path($u->{home}, { mode => 0700 }) if ! -e $u->{home};
@ -222,6 +228,7 @@ foreach my $line (-f "/etc/shadow" ? read_file("/etc/shadow") : ()) {
my ($name, $hashedPassword, @rest) = split(':', $line, -9); my ($name, $hashedPassword, @rest) = split(':', $line, -9);
my $u = $usersOut{$name};; my $u = $usersOut{$name};;
next if !defined $u; next if !defined $u;
$hashedPassword = "!" if !$spec->{mutableUsers};
$hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME $hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME
push @shadowNew, join(":", $name, $hashedPassword, @rest) . "\n"; push @shadowNew, join(":", $name, $hashedPassword, @rest) . "\n";
$shadowSeen{$name} = 1; $shadowSeen{$name} = 1;

View file

@ -8,19 +8,19 @@ let
cfg = config.users; cfg = config.users;
passwordDescription = '' passwordDescription = ''
The options <literal>hashedPassword</literal>, The options <option>hashedPassword</option>,
<literal>password</literal> and <literal>passwordFile</literal> <option>password</option> and <option>passwordFile</option>
controls what password is set for the user. controls what password is set for the user.
<literal>hashedPassword</literal> overrides both <option>hashedPassword</option> overrides both
<literal>password</literal> and <literal>passwordFile</literal>. <option>password</option> and <option>passwordFile</option>.
<literal>password</literal> overrides <literal>passwordFile</literal>. <option>password</option> overrides <option>passwordFile</option>.
If none of these three options are set, no password is assigned to If none of these three options are set, no password is assigned to
the user, and the user will not be able to do password logins. the user, and the user will not be able to do password logins.
If the option <literal>users.mutableUsers</literal> is true, the If the option <option>users.mutableUsers</option> is true, the
password defined in one of the three options will only be set when password defined in one of the three options will only be set when
the user is created for the first time. After that, you are free to the user is created for the first time. After that, you are free to
change the password with the ordinary user management commands. If change the password with the ordinary user management commands. If
<literal>users.mutableUsers</literal> is false, you cannot change <option>users.mutableUsers</option> is false, you cannot change
user passwords, they will always be set according to the password user passwords, they will always be set according to the password
options. options.
''; '';
@ -155,7 +155,7 @@ let
default = false; default = false;
description = '' description = ''
If true, the user's shell will be set to If true, the user's shell will be set to
<literal>cfg.defaultUserShell</literal>. <option>users.defaultUserShell</option>.
''; '';
}; };
@ -163,7 +163,7 @@ let
type = with types; uniq (nullOr str); type = with types; uniq (nullOr str);
default = null; default = null;
description = '' description = ''
Specifies the (hashed) password for the user. Specifies the hashed password for the user.
${passwordDescription} ${passwordDescription}
''; '';
}; };
@ -191,6 +191,37 @@ let
${passwordDescription} ${passwordDescription}
''; '';
}; };
initialHashedPassword = mkOption {
type = with types; uniq (nullOr str);
default = null;
description = ''
Specifies the initial hashed password for the user, i.e. the
hashed password assigned if the user does not already
exist. If <option>users.mutableUsers</option> is true, the
password can be changed subsequently using the
<command>passwd</command> command. Otherwise, it's
equivalent to setting the <option>password</option> option.
'';
};
initialPassword = mkOption {
type = with types; uniq (nullOr str);
default = null;
description = ''
Specifies the initial password for the user, i.e. the
password assigned if the user does not already exist. If
<option>users.mutableUsers</option> is true, the password
can be changed subsequently using the
<command>passwd</command> command. Otherwise, it's
equivalent to setting the <option>password</option>
option. The same caveat applies: the password specified here
is world-readable in the Nix store, so it should only be
used for guest accounts or passwords that will be changed
promptly.
'';
};
}; };
config = mkMerge config = mkMerge
@ -204,6 +235,14 @@ let
useDefaultShell = mkDefault true; useDefaultShell = mkDefault true;
isSystemUser = mkDefault false; isSystemUser = mkDefault false;
}) })
# If !mutableUsers, setting initialPassword is equivalent to
# setting password (and similarly for hashed passwords).
(mkIf (!cfg.mutableUsers && config.initialPassword != null) {
password = mkDefault config.initialPassword;
})
(mkIf (!cfg.mutableUsers && config.initialHashedPassword != null) {
hashedPassword = mkDefault config.initialHashedPassword;
})
]; ];
}; };
@ -306,7 +345,8 @@ let
users = mapAttrsToList (n: u: users = mapAttrsToList (n: u:
{ inherit (u) { inherit (u)
name uid group description home shell createHome isSystemUser name uid group description home shell createHome isSystemUser
password passwordFile hashedPassword; password passwordFile hashedPassword
initialPassword initialHashedPassword;
}) cfg.extraUsers; }) cfg.extraUsers;
groups = mapAttrsToList (n: g: groups = mapAttrsToList (n: g:
{ inherit (g) name gid; { inherit (g) name gid;
@ -386,24 +426,12 @@ in {
options = [ groupOpts ]; options = [ groupOpts ];
}; };
# FIXME: obsolete - will remove.
security.initialRootPassword = mkOption { security.initialRootPassword = mkOption {
type = types.str; type = types.str;
default = "!"; default = "!";
example = ""; example = "";
description = '' visible = false;
The (hashed) password for the root account set on initial
installation. The empty string denotes that root can login
locally without a password (but not via remote services such
as SSH, or indirectly via <command>su</command> or
<command>sudo</command>). The string <literal>!</literal>
prevents root from logging in using a password.
Note that setting this option sets
<literal>users.extraUsers.root.hashedPassword</literal>.
Also, if <literal>users.mutableUsers</literal> is false
you cannot change the root password manually, so in that case
the name of this option is a bit misleading, since it will define
the root password beyond the user initialisation phase.
'';
}; };
}; };
@ -421,7 +449,7 @@ in {
shell = mkDefault cfg.defaultUserShell; shell = mkDefault cfg.defaultUserShell;
group = "root"; group = "root";
extraGroups = [ "grsecurity" ]; extraGroups = [ "grsecurity" ];
hashedPassword = mkDefault config.security.initialRootPassword; initialHashedPassword = mkDefault config.security.initialRootPassword;
}; };
nobody = { nobody = {
uid = ids.uids.nobody; uid = ids.uids.nobody;

View file

@ -36,6 +36,9 @@ with lib;
# EFI booting # EFI booting
isoImage.makeEfiBootable = true; isoImage.makeEfiBootable = true;
# USB booting
isoImage.makeUsbBootable = true;
# Add Memtest86+ to the CD. # Add Memtest86+ to the CD.
boot.loader.grub.memtest86.enable = true; boot.loader.grub.memtest86.enable = true;
@ -46,5 +49,5 @@ with lib;
boot.supportedFilesystems = [ "zfs" "btrfs" ]; boot.supportedFilesystems = [ "zfs" "btrfs" ];
# Allow the user to log in as root without a password. # Allow the user to log in as root without a password.
security.initialRootPassword = ""; users.extraUsers.root.initialHashedPassword = "";
} }

View file

@ -8,45 +8,37 @@ with lib;
let let
# The Grub image. # The configuration file for syslinux.
grubImage = pkgs.runCommand "grub_eltorito" {} isolinuxCfg =
'' ''
${pkgs.grub2}/bin/grub-mkimage -p /boot/grub -O i386-pc -o tmp biosdisk iso9660 help linux linux16 chain png jpeg echo gfxmenu reboot SERIAL 0 38400
cat ${pkgs.grub2}/lib/grub/*/cdboot.img tmp > $out UI vesamenu.c32
''; # */ MENU TITLE NixOS
MENU BACKGROUND /isolinux/background.png
LABEL boot
MENU LABEL Boot NixOS
LINUX /boot/bzImage init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
INITRD /boot/initrd
# The configuration file for Grub. LABEL chain
grubCfg = MENU LABEL Boot existing OS
'' COM32 chain.c32
set default=${builtins.toString config.boot.loader.grub.default} APPEND hd0 0
set timeout=${builtins.toString config.boot.loader.grub.timeout}
if loadfont /boot/grub/unicode.pf2; then LABEL reboot
set gfxmode=640x480 MENU LABEL Reboot
insmod gfxterm COM32 reboot.c32
insmod vbe
terminal_output gfxterm
insmod png LABEL poweroff
if background_image /boot/grub/splash.png; then MENU LABEL Power Off
set color_normal=white/black COM32 poweroff.c32
set color_highlight=black/white
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
fi
${config.boot.loader.grub.extraEntries}
''; '';
# The efi boot image # The efi boot image
efiDir = pkgs.runCommand "efi-directory" {} '' efiDir = pkgs.runCommand "efi-directory" {} ''
mkdir -p $out/efi/boot mkdir -p $out/EFI/boot
cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/efi/boot/boot${targetArch}.efi cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi
mkdir -p $out/loader/entries mkdir -p $out/loader/entries
echo "title NixOS LiveCD" > $out/loader/entries/nixos-livecd.conf echo "title NixOS LiveCD" > $out/loader/entries/nixos-livecd.conf
echo "linux /boot/bzImage" >> $out/loader/entries/nixos-livecd.conf echo "linux /boot/bzImage" >> $out/loader/entries/nixos-livecd.conf
@ -152,6 +144,22 @@ in
''; '';
}; };
isoImage.makeUsbBootable = mkOption {
default = false;
description = ''
Whether the ISO image should be bootable from CD as well as USB.
'';
};
isoImage.splashImage = mkOption {
default = pkgs.fetchurl {
url = https://raw.githubusercontent.com/NixOS/nixos-artwork/5729ab16c6a5793c10a2913b5a1b3f59b91c36ee/ideas/grub-splash/grub-nixos-1.png;
sha256 = "43fd8ad5decf6c23c87e9026170a13588c2eba249d9013cb9f888da5e2002217";
};
description = ''
The splash image to use in the bootloader.
'';
};
}; };
@ -166,7 +174,7 @@ in
# !!! Hack - attributes expected by other modules. # !!! Hack - attributes expected by other modules.
system.boot.loader.kernelFile = "bzImage"; system.boot.loader.kernelFile = "bzImage";
environment.systemPackages = [ pkgs.grub2 ]; environment.systemPackages = [ pkgs.grub2 pkgs.syslinux ];
# In stage 1 of the boot, mount the CD as the root FS by label so # In stage 1 of the boot, mount the CD as the root FS by label so
# that we don't need to know its device. We pass the label of the # that we don't need to know its device. We pass the label of the
@ -213,7 +221,7 @@ in
options = "allow_other,cow,nonempty,chroot=/mnt-root,max_files=32768,hide_meta_files,dirs=/nix/.rw-store=rw:/nix/.ro-store=ro"; options = "allow_other,cow,nonempty,chroot=/mnt-root,max_files=32768,hide_meta_files,dirs=/nix/.rw-store=rw:/nix/.ro-store=ro";
}; };
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" ]; boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "usb-storage" ];
boot.initrd.kernelModules = [ "loop" ]; boot.initrd.kernelModules = [ "loop" ];
@ -233,15 +241,12 @@ in
# Individual files to be included on the CD, outside of the Nix # Individual files to be included on the CD, outside of the Nix
# store on the CD. # store on the CD.
isoImage.contents = isoImage.contents =
[ { source = grubImage; [ { source = pkgs.substituteAll {
target = "/boot/grub/grub_eltorito"; name = "isolinux.cfg";
} src = pkgs.writeText "isolinux.cfg-in" isolinuxCfg;
{ source = pkgs.substituteAll {
name = "grub.cfg";
src = pkgs.writeText "grub.cfg-in" grubCfg;
bootRoot = "/boot"; bootRoot = "/boot";
}; };
target = "/boot/grub/grub.cfg"; target = "/isolinux/isolinux.cfg";
} }
{ source = config.boot.kernelPackages.kernel + "/bzImage"; { source = config.boot.kernelPackages.kernel + "/bzImage";
target = "/boot/bzImage"; target = "/boot/bzImage";
@ -249,51 +254,38 @@ in
{ source = config.system.build.initialRamdisk + "/initrd"; { source = config.system.build.initialRamdisk + "/initrd";
target = "/boot/initrd"; target = "/boot/initrd";
} }
{ source = "${pkgs.grub2}/share/grub/unicode.pf2";
target = "/boot/grub/unicode.pf2";
}
{ source = config.boot.loader.grub.splashImage;
target = "/boot/grub/splash.png";
}
{ source = config.system.build.squashfsStore; { source = config.system.build.squashfsStore;
target = "/nix-store.squashfs"; target = "/nix-store.squashfs";
} }
{ source = "${pkgs.syslinux}/share/syslinux";
target = "/isolinux";
}
{ source = config.isoImage.splashImage;
target = "/isolinux/background.png";
}
] ++ optionals config.isoImage.makeEfiBootable [ ] ++ optionals config.isoImage.makeEfiBootable [
{ source = efiImg; { source = efiImg;
target = "/boot/efi.img"; target = "/boot/efi.img";
} }
{ source = "${efiDir}/efi"; { source = "${efiDir}/EFI";
target = "/efi"; target = "/EFI";
} }
{ source = "${efiDir}/loader"; { source = "${efiDir}/loader";
target = "/loader"; target = "/loader";
} }
] ++ mapAttrsToList (n: v: { source = v; target = "/boot/${n}"; }) config.boot.loader.grub.extraFiles; ];
# The Grub menu.
boot.loader.grub.extraEntries =
''
menuentry "NixOS ${config.system.nixosVersion} Installer" {
linux /boot/bzImage init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
initrd /boot/initrd
}
menuentry "Boot from hard disk" {
set root=(hd0)
chainloader +1
}
'';
boot.loader.grub.timeout = 10;
# Create the ISO image. # Create the ISO image.
system.build.isoImage = import ../../../lib/make-iso9660-image.nix ({ system.build.isoImage = import ../../../lib/make-iso9660-image.nix ({
inherit (pkgs) stdenv perl cdrkit pathsFromGraph; inherit (pkgs) stdenv perl pathsFromGraph xorriso syslinux;
inherit (config.isoImage) isoName compressImage volumeID contents; inherit (config.isoImage) isoName compressImage volumeID contents;
bootable = true; bootable = true;
bootImage = "/boot/grub/grub_eltorito"; bootImage = "/isolinux/isolinux.bin";
} // optionalAttrs config.isoImage.makeUsbBootable {
usbBootable = true;
isohybridMbrImage = "${pkgs.syslinux}/share/syslinux/isohdpfx.bin";
} // optionalAttrs config.isoImage.makeEfiBootable { } // optionalAttrs config.isoImage.makeEfiBootable {
efiBootable = true; efiBootable = true;
efiBootImage = "boot/efi.img"; efiBootImage = "boot/efi.img";

View file

@ -76,7 +76,6 @@ in
pkgs.ntfsprogs # for resizing NTFS partitions pkgs.ntfsprogs # for resizing NTFS partitions
pkgs.btrfsProgs pkgs.btrfsProgs
pkgs.jfsutils pkgs.jfsutils
pkgs.jfsrec
# Some compression/archiver tools. # Some compression/archiver tools.
pkgs.unzip pkgs.unzip

View file

@ -34,7 +34,6 @@
pkgs.xfsprogs pkgs.xfsprogs
pkgs.jfsutils pkgs.jfsutils
pkgs.f2fs-tools pkgs.f2fs-tools
#pkgs.jfsrec # disabled because of Boost dependency
# Some compression/archiver tools. # Some compression/archiver tools.
pkgs.unzip pkgs.unzip

View file

@ -131,6 +131,5 @@ in zipModules ([]
++ obsolete' [ "programs" "bash" "enable" ] ++ obsolete' [ "programs" "bash" "enable" ]
++ obsolete' [ "services" "samba" "defaultShare" ] ++ obsolete' [ "services" "samba" "defaultShare" ]
++ obsolete' [ "services" "syslog-ng" "serviceName" ] ++ obsolete' [ "services" "syslog-ng" "serviceName" ]
++ obsolete' [ "services" "syslog-ng" "listenToJournal" ]
) )

View file

@ -43,6 +43,15 @@ in {
The package providing syslog-ng binaries. The package providing syslog-ng binaries.
''; '';
}; };
listenToJournal = mkOption {
type = types.bool;
default = true;
description = ''
Whether syslog-ng should listen to the syslog socket used
by journald, and therefore receive all logs that journald
produces.
'';
};
extraModulePaths = mkOption { extraModulePaths = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
@ -65,7 +74,7 @@ in {
configHeader = mkOption { configHeader = mkOption {
type = types.lines; type = types.lines;
default = '' default = ''
@version: 3.6 @version: 3.5
@include "scl.conf" @include "scl.conf"
''; '';
description = '' description = ''
@ -77,13 +86,18 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.sockets.syslog = mkIf cfg.listenToJournal {
wantedBy = [ "sockets.target" ];
socketConfig.Service = "syslog-ng.service";
};
systemd.services.syslog-ng = { systemd.services.syslog-ng = {
description = "syslog-ng daemon"; description = "syslog-ng daemon";
preStart = "mkdir -p /{var,run}/syslog-ng"; preStart = "mkdir -p /{var,run}/syslog-ng";
wantedBy = [ "multi-user.target" ]; wantedBy = optional (!cfg.listenToJournal) "multi-user.target";
after = [ "multi-user.target" ]; # makes sure hostname etc is set after = [ "multi-user.target" ]; # makes sure hostname etc is set
serviceConfig = { serviceConfig = {
Type = "notify"; Type = "notify";
Sockets = if cfg.listenToJournal then "syslog.socket" else null;
StandardOutput = "null"; StandardOutput = "null";
Restart = "on-failure"; Restart = "on-failure";
ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}"; ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}";

View file

@ -535,16 +535,18 @@ in {
environment.systemPackages = [ pkgs.pythonPackages.graphite_pager ]; environment.systemPackages = [ pkgs.pythonPackages.graphite_pager ];
}) })
# Disabled: Don't create this user unconditionally! (mkIf (
# cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay ||
# { cfg.web.enable || cfg.api.enable ||
# users.extraUsers = singleton { cfg.seyren.enable || cfg.pager.enable
# name = "graphite"; ) {
# uid = config.ids.uids.graphite; users.extraUsers = singleton {
# description = "Graphite daemon user"; name = "graphite";
# home = dataDir; uid = config.ids.uids.graphite;
# }; description = "Graphite daemon user";
# users.extraGroups.graphite.gid = config.ids.gids.graphite; home = dataDir;
# } };
users.extraGroups.graphite.gid = config.ids.gids.graphite;
})
]; ];
} }

View file

@ -32,6 +32,8 @@ let
${optionalString (cfg.dbPassword != "") '' ${optionalString (cfg.dbPassword != "") ''
DBPassword = ${cfg.dbPassword} DBPassword = ${cfg.dbPassword}
''} ''}
${config.services.zabbixServer.extraConfig}
''; '';
useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == ""; useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == "";
@ -46,6 +48,7 @@ in
services.zabbixServer.enable = mkOption { services.zabbixServer.enable = mkOption {
default = false; default = false;
type = types.bool;
description = '' description = ''
Whether to run the Zabbix server on this machine. Whether to run the Zabbix server on this machine.
''; '';
@ -53,6 +56,7 @@ in
services.zabbixServer.dbServer = mkOption { services.zabbixServer.dbServer = mkOption {
default = "localhost"; default = "localhost";
type = types.str;
description = '' description = ''
Hostname or IP address of the database server. Hostname or IP address of the database server.
Use an empty string ("") to use peer authentication. Use an empty string ("") to use peer authentication.
@ -61,9 +65,18 @@ in
services.zabbixServer.dbPassword = mkOption { services.zabbixServer.dbPassword = mkOption {
default = ""; default = "";
type = types.str;
description = "Password used to connect to the database server."; description = "Password used to connect to the database server.";
}; };
services.zabbixServer.extraConfig = mkOption {
default = "";
type = types.lines;
description = ''
Configuration that is injected verbatim into the configuration file.
'';
};
}; };
###### implementation ###### implementation

View file

@ -88,7 +88,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.services.transmission = { systemd.services.transmission = {
description = "Transmission BitTorrent Service"; description = "Transmission BitTorrent Service";
after = [ "network.target" ] ++ optional apparmor "apparmor.service"; after = [ "local-fs.target" "network.target" ] ++ optional apparmor "apparmor.service";
requires = mkIf apparmor [ "apparmor.service" ]; requires = mkIf apparmor [ "apparmor.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];

View file

@ -130,6 +130,7 @@ let
cp -v ${udev}/lib/udev/rules.d/80-drivers.rules $out/ cp -v ${udev}/lib/udev/rules.d/80-drivers.rules $out/
cp -v ${pkgs.lvm2}/lib/udev/rules.d/*.rules $out/ cp -v ${pkgs.lvm2}/lib/udev/rules.d/*.rules $out/
cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/ cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/
cp -v ${pkgs.bcache-tools}/lib/udev/rules.d/*.rules $out/
for i in $out/*.rules; do for i in $out/*.rules; do
substituteInPlace $i \ substituteInPlace $i \
@ -139,7 +140,8 @@ let
--replace ${pkgs.utillinux}/sbin/blkid ${extraUtils}/bin/blkid \ --replace ${pkgs.utillinux}/sbin/blkid ${extraUtils}/bin/blkid \
--replace /sbin/blkid ${extraUtils}/bin/blkid \ --replace /sbin/blkid ${extraUtils}/bin/blkid \
--replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \ --replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \
--replace /sbin/mdadm ${extraUtils}/bin/mdadm --replace /sbin/mdadm ${extraUtils}/bin/mdadm \
--replace /bin/sh ${extraUtils}/bin/sh
done done
# Work around a bug in QEMU, which doesn't implement the "READ # Work around a bug in QEMU, which doesn't implement the "READ

View file

@ -98,7 +98,7 @@ let kernel = config.boot.kernelPackages.kernel; in
networking.usePredictableInterfaceNames = false; networking.usePredictableInterfaceNames = false;
# Make it easy to log in as root when running the test interactively. # Make it easy to log in as root when running the test interactively.
security.initialRootPassword = mkDefault ""; users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
}; };

View file

@ -191,10 +191,5 @@ in
environment.systemPackages = [ pkgs.cryptsetup ]; environment.systemPackages = [ pkgs.cryptsetup ];
boot.initrd.supportedFilesystems = [ "unionfs-fuse" ]; boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
# Prevent logging in as root without a password. This doesn't really matter,
# since the only PAM services that allow logging in with a null
# password are local ones that are inaccessible on EC2 machines.
security.initialRootPassword = mkDefault "!";
}; };
} }

View file

@ -38,8 +38,8 @@ in {
''; '';
# docker image config # Docker image config.
require = [ imports = [
../installer/cd-dvd/channel.nix ../installer/cd-dvd/channel.nix
../profiles/minimal.nix ../profiles/minimal.nix
../profiles/clone-config.nix ../profiles/clone-config.nix
@ -47,16 +47,16 @@ in {
boot.isContainer = true; boot.isContainer = true;
# Iptables do not work in docker # Iptables do not work in Docker.
networking.firewall.enable = false; networking.firewall.enable = false;
services.openssh.enable = true; services.openssh.enable = true;
# Socket activated ssh presents problem in docker # Socket activated ssh presents problem in Docker.
services.openssh.startWhenNeeded = false; services.openssh.startWhenNeeded = false;
# Allow the user to login as root without password # Allow the user to login as root without password.
security.initialRootPassword = ""; users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
# Some more help text. # Some more help text.
services.mingetty.helpLine = services.mingetty.helpLine =

View file

@ -11,6 +11,8 @@ import ./make-test.nix {
services.xserver.displayManager.auto.enable = true; services.xserver.displayManager.auto.enable = true;
services.xserver.displayManager.auto.user = "alice"; services.xserver.displayManager.auto.user = "alice";
services.xserver.desktopManager.gnome3.enable = true; services.xserver.desktopManager.gnome3.enable = true;
virtualisation.memorySize = 512;
}; };
testScript = testScript =

View file

@ -12,6 +12,8 @@ import ./make-test.nix {
services.xserver.displayManager.auto.user = "alice"; services.xserver.displayManager.auto.user = "alice";
services.xserver.desktopManager.gnome3.enable = true; services.xserver.desktopManager.gnome3.enable = true;
environment.gnome3.packageSet = pkgs.gnome3_10; environment.gnome3.packageSet = pkgs.gnome3_10;
virtualisation.memorySize = 512;
}; };
testScript = testScript =

View file

@ -2,9 +2,7 @@
with import ../lib/testing.nix { inherit system; }; with import ../lib/testing.nix { inherit system; };
{ runInMachine {
test = runInMachine { drv = pkgs.hello;
drv = pkgs.hello; machine = { config, pkgs, ... }: { /* services.sshd.enable = true; */ };
machine = { config, pkgs, ... }: { /* services.sshd.enable = true; */ };
};
} }

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
avahi boost boost.lib eigen fftw gettext glib glibmm gtk gtkmm intltool avahi boost eigen fftw gettext glib glibmm gtk gtkmm intltool
jack2 ladspaH librdf libsndfile lilv lv2 pkgconfig python serd sord sratom jack2 ladspaH librdf libsndfile lilv lv2 pkgconfig python serd sord sratom
]; ];

View file

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
boost boost.lib ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python boost ganv glibmm gtk gtkmm jack2 lilv lv2 pkgconfig python
raul serd sord sratom suil raul serd sord sratom suil
]; ];

View file

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
sha256 = "03r0sbfj85wp6yxa87pjg69ivmk0mxxa2nykr8gf2c607igmb034"; sha256 = "03r0sbfj85wp6yxa87pjg69ivmk0mxxa2nykr8gf2c607igmb034";
}; };
buildInputs = [ pulseaudio boost boost.lib ]; buildInputs = [ pulseaudio boost ];
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin

View file

@ -1,26 +1,17 @@
{ stdenv, fetchurl, pythonPackages, gettext, pyqt4 { stdenv, buildPythonPackage, fetchurl, gettext
, pkgconfig, libdiscid, libofa, ffmpeg, chromaprint , pkgconfig, libofa, ffmpeg, chromaprint
, pyqt4, mutagen, python-libdiscid
}: }:
pythonPackages.buildPythonPackage rec { let version = "1.3"; in
buildPythonPackage {
name = "picard-${version}"; name = "picard-${version}";
namePrefix = "";
version = "1.2";
src = fetchurl { src = fetchurl {
url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz"; url = "ftp://ftp.musicbrainz.org/pub/musicbrainz/picard/picard-${version}.tar.gz";
sha256 = "0sbsf8hzxhxcnnjqvsd6mc23lmk7w33nln0f3w72f89mjgs6pxm6"; sha256 = "06s90w1j29qhd931dgj752k5v4pjbvxiz6g0613xzj3ms8zsrlys";
}; };
postPatch = let
discid = "${libdiscid}/lib/libdiscid.so.0";
fpr = "${chromaprint}/bin/fpcalc";
in ''
substituteInPlace picard/disc.py --replace libdiscid.so.0 ${discid}
substituteInPlace picard/const.py \
--replace "FPCALC_NAMES = [" "FPCALC_NAMES = ['${fpr}',"
'';
buildInputs = [ buildInputs = [
pkgconfig pkgconfig
ffmpeg ffmpeg
@ -29,19 +20,11 @@ pythonPackages.buildPythonPackage rec {
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
pythonPackages.mutagen
pyqt4 pyqt4
libdiscid mutagen
python-libdiscid
]; ];
configurePhase = ''
python setup.py config
'';
buildPhase = ''
python setup.py build
'';
installPhase = '' installPhase = ''
python setup.py install --prefix="$out" python setup.py install --prefix="$out"
''; '';

View file

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
alsaLib boost boost.lib cairo fftwSinglePrec fltk jack2 libsndfile mesa alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile mesa
minixml zlib xorg.libpthreadstubs minixml zlib xorg.libpthreadstubs
]; ];

View file

@ -0,0 +1,100 @@
{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
}:
stdenv.mkDerivation rec {
emacsName = "emacs-24.3";
name = "${emacsName}-mac-4.8";
#builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu/emacs/${emacsName}.tar.xz";
sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
};
macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx";
};
patches = [ ./darwin-new-sections.patch ];
buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
postUnpack = ''
mv $emacsName $name
tar xzf $macportSrc
mv $name $emacsName
'';
preConfigure = ''
patch -p0 < patch-mac
# The search for 'tputs' will fail because it's in ncursesw within the
# ncurses package, yet Emacs' configure script only looks in ncurses.
# Further, we need to make sure that the -L option occurs before mention
# of the library, so that it finds it within the Nix store.
sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
configureFlagsArray=(
LDFLAGS=-L${ncurses}/lib
--with-xml2=yes
--with-gnutls=yes
--with-mac
--enable-mac-app=$out/Applications
)
makeFlagsArray=(
CFLAGS=-O3
LDFLAGS="-O3 -L${ncurses}/lib"
);
'';
postInstall = ''
cat >$out/share/emacs/site-lisp/site-start.el <<EOF
;; nixos specific load-path
(when (getenv "NIX_PROFILES") (setq load-path
(append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
(split-string (getenv "NIX_PROFILES"))))
load-path)))
;; make tramp work for NixOS machines
(eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
EOF
'';
doCheck = true;
meta = with stdenv.lib; {
description = "GNU Emacs 24, the extensible, customizable text editor";
homepage = http://www.gnu.org/software/emacs/;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ jwiegley ];
platforms = platforms.darwin;
longDescription = ''
GNU Emacs is an extensible, customizable text editorand more. At its
core is an interpreter for Emacs Lisp, a dialect of the Lisp
programming language with extensions to support text editing.
The features of GNU Emacs include: content-sensitive editing modes,
including syntax coloring, for a wide variety of file types including
plain text, source code, and HTML; complete built-in documentation,
including a tutorial for new users; full Unicode support for nearly all
human languages and their scripts; highly customizable, using Emacs
Lisp code or a graphical interface; a large number of extensions that
add other functionality, including a project planner, mail and news
reader, debugger interface, calendar, and more. Many of these
extensions are distributed with GNU Emacs; others are available
separately.
This is "Mac port" addition to GNU Emacs 24. This provides a native
GUI support for Mac OS X 10.4 - 10.9. Note that Emacs 23 and later
already contain the official GUI support via the NS (Cocoa) port for
Mac OS X 10.4 and later. So if it is good enough for you, then you
don't need to try this.
'';
};
}

View file

@ -1,16 +1,13 @@
{ stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git }: { stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git }:
let
version = "90141016";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "magit-${version}"; name = "magit-90141025";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "magit"; owner = "magit";
repo = "magit"; repo = "magit";
rev = version; rev = "50c08522c8a3c67e0f3b821fe4df61e8bd456ff9";
sha256 = "11d3gzj0hlb7wqsjzjb0vf9i0ik4xzwdyayjy4hfgx0gjmymkfx3"; sha256 = "0mzyx72pidzvla1x2qszn3c60n2j0n8i5k875c4difvd1n4p0vsk";
}; };
buildInputs = [ emacs texinfo git ]; buildInputs = [ emacs texinfo git ];

View file

@ -109,6 +109,72 @@ let
}; };
}); });
buildClion = { name, version, build, src, license, description }:
(mkIdeaProduct rec {
inherit name version build src;
patchSnappy = false;
product = "CLion";
meta = with stdenv.lib; {
homepage = "https://www.jetbrains.com/clion/";
inherit description license;
longDescription = ''
Enhancing productivity for every C and C++
developer on Linux, OS X and Windows.
'';
maintainers = with maintainers; [ edwtjo ];
platforms = platforms.linux;
};
});
buildIdea = { name, version, build, src, license, description }:
(mkIdeaProduct rec {
inherit name version build src;
patchSnappy = false;
product = "IDEA";
meta = with stdenv.lib; {
homepage = "https://www.jetbrains.com/idea/";
inherit description license;
longDescription = ''
IDE for Java SE, Groovy & Scala development Powerful
environment for building Google Android apps Integration
with JUnit, TestNG, popular SCMs, Ant & Maven.
'';
maintainers = with maintainers; [ edwtjo ];
platforms = platforms.linux;
};
});
buildRubyMine = { name, version, build, src, license, description }:
(mkIdeaProduct rec {
inherit name version build src;
product = "RubyMine";
meta = with stdenv.lib; {
homepage = "https://www.jetbrains.com/ruby/";
inherit description license;
longDescription = description;
maintainers = with maintainers; [ edwtjo ];
platforms = platforms.linux;
};
});
buildPhpStorm = { name, version, build, src, license, description }:
(mkIdeaProduct {
inherit name version build src;
product = "PhpStorm";
patchSnappy = false;
meta = with stdenv.lib; {
homepage = "https://www.jetbrains.com/phpstorm/";
inherit description license;
longDescription = ''
PhpStorm provides an editor for PHP, HTML and JavaScript
with on-the-fly code analysis, error prevention and
automated refactorings for PHP and JavaScript code.
'';
maintainers = with maintainers; [ schristo ];
platforms = platforms.linux;
};
});
buildPycharm = { name, version, build, src, license, description }: buildPycharm = { name, version, build, src, license, description }:
(mkIdeaProduct rec { (mkIdeaProduct rec {
inherit name version build src; inherit name version build src;
@ -136,41 +202,6 @@ let
propagatedUserEnvPkgs = [ python ]; propagatedUserEnvPkgs = [ python ];
}; };
buildIdea = { name, version, build, src, license, description }:
(mkIdeaProduct rec {
inherit name version build src;
product = "IDEA";
meta = with stdenv.lib; {
homepage = "https://www.jetbrains.com/idea/";
inherit description license;
longDescription = ''
IDE for Java SE, Groovy & Scala development Powerful
environment for building Google Android apps Integration
with JUnit, TestNG, popular SCMs, Ant & Maven.
'';
maintainers = with maintainers; [ edwtjo ];
platforms = platforms.linux;
};
});
buildPhpStorm = { name, version, build, src, license, description }:
(mkIdeaProduct {
inherit name version build src;
product = "PhpStorm";
patchSnappy = false;
meta = with stdenv.lib; {
homepage = "https://www.jetbrains.com/phpstorm/";
inherit description license;
longDescription = ''
PhpStorm provides an editor for PHP, HTML and JavaScript
with on-the-fly code analysis, error prevention and
automated refactorings for PHP and JavaScript code.
'';
maintainers = with maintainers; [ schristo ];
platforms = platforms.linux;
};
});
in in
{ {
@ -188,27 +219,51 @@ in
}; };
}; };
clion = buildClion rec {
name = "clion";
version = "eap";
build = "138.2344.17";
description = "C/C++ IDE. New. Intelligent. Cross-platform.";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "http://download.jetbrains.com/cpp/${name}-${build}.tar.gz";
sha256 = "4b568d31132a787b748bc41c69b614dcd90229db69b02406677361bc077efab3";
};
};
idea-community = buildIdea rec { idea-community = buildIdea rec {
name = "idea-community-${version}"; name = "idea-community-${version}";
version = "13.1.5"; version = "14pre";
build = "IC-135.1289"; build = "IC-139.222.5";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
src = fetchurl { src = fetchurl {
url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz"; url = "http://download-ln.jetbrains.com/idea/idea${build}.tar.gz";
sha256 = "e08b9adad0ed9aa62a43f3026a1b499d1663710314d00a3bec2e171a6c375f09"; sha256 = "e2c696f465da36b77148a61b45f35f8f08ceae3b624904de8f7cccf0e7c20ce2";
}; };
}; };
idea-ultimate = buildIdea rec { idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}"; name = "idea-ultimate-${version}";
version = "13.1.5"; version = "14pre";
build = "IU-135.1289"; build = "IU-139.222.5";
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz"; url = "http://download-ln.jetbrains.com/idea/idea${build}.tar.gz";
sha256 = "0800b1ffc135f884e46f1004289fb75850148d705afc447d3374cfd281c231a2"; sha256 = "d8e8927adebdc4d2e5f1f5bfb0ecc97c3e561b74d56391898dd36abe89a4f170";
};
};
ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}";
version = "6.3.3";
build = "135.1104";
description = "The Most Intelligent Ruby and Rails IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "http://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
sha256 = "58d555c2702a93fe62f3809a5cc34e566ecce0c3f1f15daaf87744402157dfac";
}; };
}; };

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info, { stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info,
kdebase_workspace, gettext, perl, okteta, qjson }: kdebase_workspace, gettext, perl, okteta, qjson, kate, konsole, kde_runtime, oxygen_icons }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ]; nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
propagatedUserEnvPkgs = [ kdevplatform kate konsole kde_runtime oxygen_icons ];
NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE"; NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ncurses, gettext, { stdenv, fetchurl, ncurses, gettext,
pkgconfig, cscope, python, ruby, tcl, perl, luajit pkgconfig, cscope, python, ruby, tcl, perl, luajit
}: }:
@ -7,11 +7,9 @@ stdenv.mkDerivation rec {
version = "7.4.479"; version = "7.4.479";
src = fetchFromGitHub { src = fetchurl {
owner = "genoma"; url = "https://github.com/genoma/macvim/archive/g-snapshot-21.tar.gz";
repo = "macvim"; sha256 = "1s86dpb8bcxh309gikiz8gm9ygv3d2jy6i4qlnxarbvcdk65fzv4";
rev = "f9c084b97fa9d5cad2448dfd3eff3d9b7f0fac59";
sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
boost.lib zlib python swig gfortran soqt libf2c makeWrapper matplotlib zlib python swig gfortran soqt libf2c makeWrapper matplotlib
pycollada pyside pysideShiboken pycollada pyside pysideShiboken
]; ];

View file

@ -1,5 +1,6 @@
{ stdenv, fetchgit, pkgconfig, autoconf, automake, gtk, libpng, exiv2, lcms { stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, gtk, libpng, exiv2
, intltool, gettext, libchamplain, fbida }: , lcms, intltool, gettext, libchamplain, fbida
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "geeqie-${version}"; name = "geeqie-${version}";
@ -11,22 +12,25 @@ stdenv.mkDerivation rec {
sha256 = "1h9w0jrcqcp5jjgmks5pvpppnfxhcd1s3vqlyb3qyil2wfk8n8wp"; sha256 = "1h9w0jrcqcp5jjgmks5pvpppnfxhcd1s3vqlyb3qyil2wfk8n8wp";
}; };
preConfigure = "./autogen.sh"; configureFlags = [
"--enable-gps"
];
configureFlags = [ "--enable-gps" ]; configurePhase = ''
./autogen.sh $configureFlags --prefix="$out"
'';
buildInputs = buildInputs = [
[ pkgconfig autoconf automake gtk libpng exiv2 lcms intltool gettext autoconf automake libtool pkgconfig gtk libpng exiv2 lcms intltool gettext
libchamplain libchamplain
]; ];
postInstall = postInstall = ''
'' # Allow geeqie to find exiv2 and exiftran, necessary to
# Allow geeqie to find exiv2 and exiftran, necessary to # losslessly rotate JPEG images.
# losslessly rotate JPEG images. sed -i $out/lib/geeqie/geeqie-rotate \
sed -i $out/lib/geeqie/geeqie-rotate \ -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
-e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH' '';
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Lightweight GTK+ based image viewer"; description = "Lightweight GTK+ based image viewer";

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
buildInputs = [ qt5 boost boost.lib exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ]; buildInputs = [ qt5 boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
boost boost.lib cmake ilmbase libjpeg libpng libtiff opencolorio openexr boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr
unzip unzip
]; ];

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
qt4 bison flex eigen boost boost.lib mesa glew opencsg cgal mpfr gmp glib qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib
pkgconfig pkgconfig
]; ];

View file

@ -1,16 +1,16 @@
{stdenv, fetchgit, qt4, cgal, boost, gmp, mpfr, flex, bison, dxflib}: {stdenv, fetchgit, qt5, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.8.0"; version = "0.9.5";
name = "rapcad-${version}"; name = "rapcad-${version}";
src = fetchgit { src = fetchgit {
url = "https://github.com/GilesBathgate/RapCAD.git"; url = "https://github.com/GilesBathgate/RapCAD.git";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
sha256 = "37c7107dc4fcf8942a4ad35377c4e42e6aedfa35296e5fcf8d84882ae35087c7"; sha256 = "15c18jvgbwyrfhv7r35ih0gzx35vjlsbi984h1sckgh2z17hjq8l";
}; };
buildInputs = [qt4 cgal boost boost.lib gmp mpfr flex bison dxflib]; buildInputs = [qt5 cgal boost gmp mpfr flex bison dxflib readline ];
configurePhase = '' configurePhase = ''
qmake; qmake;

View file

@ -1,25 +0,0 @@
From b901236261dc717dc08ed10f63e2d5cd3f3031f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= <b@bpiotrowski.pl>
Date: Tue, 27 May 2014 11:46:06 +0200
Subject: [PATCH] Fix build with giflib >= 5.1.0.
---
image.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/image.c b/image.c
index e62a69f..7eec544 100644
--- a/image.c
+++ b/image.c
@@ -278,7 +278,11 @@ bool img_load_gif(img_t *img, const fileinfo_t *file)
}
} while (rec != TERMINATE_RECORD_TYPE);
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
+ DGifCloseFile(gif, NULL);
+#else
DGifCloseFile(gif);
+#endif
if (err && !file->loaded)
warn("corrupted gif file: %s", file->name);

View file

@ -1,20 +1,21 @@
{ stdenv, fetchurl, libX11, imlib2, giflib }: { stdenv, fetchgit, libX11, imlib2, giflib, libexif }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sxiv-1.2"; version = "1.3-git";
name = "sxiv-${version}";
src = fetchurl { src = fetchgit {
url = "https://github.com/muennich/sxiv/archive/v1.2.tar.gz"; url = "git@github.com:muennich/sxiv.git";
name = "${name}.tar.gz"; rev = "f55d9f4283f7133ab5a137fc04ee19d1df62fafb";
sha256 = "1wwcxy2adc67xd8x6c2sayy1cjcwrv2lvv1iwln7y4w992gbcxmc"; sha256 = "85f734f40fdc837514b72694de12bac92fe130286fa6f1dc374e94d575ca8280";
}; };
patches = [ ./146.patch ]; postUnpack = ''
substituteInPlace $sourceRoot/Makefile \
buildInputs = [ libX11 imlib2 giflib ]; --replace /usr/local $out
'';
prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
buildInputs = [ libX11 imlib2 giflib libexif ];
meta = { meta = {
description = "Simple X Image Viewer"; description = "Simple X Image Viewer";
homepage = "https://github.com/muennich/sxiv"; homepage = "https://github.com/muennich/sxiv";

View file

@ -4,14 +4,14 @@
}: }:
let let
version = "0.64.1"; version = "0.64.2";
ETL = stdenv.mkDerivation rec { ETL = stdenv.mkDerivation rec {
name = "ETL-0.04.17"; name = "ETL-0.04.17";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/synfig/${name}.tar.gz"; url = "mirror://sourceforge/synfig/${name}.tar.gz";
sha256 = "13kpiswgcpsif9fwcplqr0405aqavqn390cjnivkn3pxv0d2q8iy"; sha256 = "1i2m31y5hdwr365z3zmfh5p3zm4ga4l4yqrl1qrmjryqqzkw200l";
}; };
}; };
@ -20,32 +20,40 @@ let
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz"; url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz";
sha256 = "1b4ksxnqbaq4rxlvasmrvk7z4jvjbsg4ns3cns2qcnz64dyvbgda"; sha256 = "04mx321z929ngl65hfc1hv5jw37wqbh8y2avmpvajagvn6lp3zdl";
}; };
configureFlags = [
"--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib"
];
patches = [ ./synfig-cstring.patch ]; patches = [ ./synfig-cstring.patch ];
buildInputs = [ buildInputs = [
ETL boost boost.lib cairo gettext glibmm libsigcxx libtool libxmlxx pango ETL boost cairo gettext glibmm libsigcxx libtool libxmlxx pango
pkgconfig pkgconfig
]; ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
}; };
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "synfigstudio-${version}"; name = "synfigstudio-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/synfig/${name}.tar.gz"; url = "mirror://sourceforge/synfig/${name}.tar.gz";
sha256 = "0nl6vpsn5dcjd5qhbrmd0j4mr3wddvymkg9414m77cdpz4l8b9v2"; sha256 = "13hw4z6yx70g4mnjmvmxkk7b1qzlwmqjhxflq5dd6cqdsmfw9mc7";
}; };
buildInputs = [ buildInputs = [
ETL boost cairo fontsConf gettext glibmm gtk gtkmm imagemagick intltool ETL boost cairo fontsConf gettext glibmm gtk gtkmm imagemagick intltool
intltool libsigcxx libtool libxmlxx pkgconfig synfig intltool libsigcxx libtool libxmlxx pkgconfig synfig
]; ];
configureFlags = [
"--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib"
];
preBuild = '' preBuild = ''
export FONTCONFIG_FILE=${fontsConf} export FONTCONFIG_FILE=${fontsConf}
''; '';

View file

@ -1,11 +1,11 @@
{stdenv, fetchurl, jre, unzip}: {stdenv, fetchurl, jre, unzip}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.8.2"; version = "0.9.0";
pname = "zgrviewer"; pname = "zgrviewer";
name="${pname}-${version}"; name="${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/zvtm/${pname}/${version}/${name}.zip"; url = "mirror://sourceforge/zvtm/${pname}/${version}/${name}.zip";
sha256 = "a76b9865c1490a6cfc08911592a19c15fe5972bf58e017cb31db580146f069bb"; sha256 = "1yg2rck81sqqrgfi5kn6c1bz42dr7d0zqpcsdjhicssi1y159f23";
}; };
buildInputs = [jre unzip]; buildInputs = [jre unzip];
buildPhase = ""; buildPhase = "";

View file

@ -23,10 +23,6 @@ stdenv.mkDerivation rec {
cd bitcoin* cd bitcoin*
''; '';
configureFlags = [
"--with-boost=${boost}"
];
preCheck = '' preCheck = ''
# At least one test requires writing in $HOME # At least one test requires writing in $HOME
HOME=$TMPDIR HOME=$TMPDIR

View file

@ -30,7 +30,6 @@ let
./autogen.sh \ ./autogen.sh \
&& ./configure --prefix=$out \ && ./configure --prefix=$out \
--with-incompatible-bdb \ --with-incompatible-bdb \
--with-boost-libdir=${boost}/lib \
${ if withGui then "--with-gui" else "" } ${ if withGui then "--with-gui" else "" }
''; '';

View file

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = buildInputs =
[ SDL boost boost.lib cmake ffmpeg gettext glew ilmbase libXi [ SDL boost cmake ffmpeg gettext glew ilmbase libXi
libjpeg libpng libsamplerate libsndfile libtiff mesa openal libjpeg libpng libsamplerate libsndfile libtiff mesa openal
opencolorio openexr openimageio /* openjpeg */ python zlib fftw opencolorio openexr openimageio /* openjpeg */ python zlib fftw
] ]

View file

@ -10,10 +10,6 @@ stdenv.mkDerivation {
sha256 = "1i1jj02bxynisqapv31481sz9jpfp3f023ky47spz1v1wlwbs13m"; sha256 = "1i1jj02bxynisqapv31481sz9jpfp3f023ky47spz1v1wlwbs13m";
}; };
configurePhase = "./configure --prefix=\$out "
+ " --with-boost-libdir=\$boost/lib"
+ " --with-boost-includedir=\$boost/include";
buildInputs = [ gtk glib pkgconfig openssl boost ]; buildInputs = [ gtk glib pkgconfig openssl boost ];
meta = { meta = {

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
# I think that openssl and zlib are required, but come through other # I think that openssl and zlib are required, but come through other
# packages # packages
buildInputs = [ db boost boost.lib gmp mpfr miniupnpc qt4 unzip ]; buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip ];
configurePhase = "qmake"; configurePhase = "qmake";

View file

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
cmake pkgconfig git boost boost.lib cppunit fftw python swig2 orc lxml qt4 cmake pkgconfig git boost cppunit fftw python swig2 orc lxml qt4
qwt alsaLib SDL libusb1 uhd gsl makeWrapper qwt alsaLib SDL libusb1 uhd gsl makeWrapper
]; ];

View file

@ -1,15 +1,17 @@
{ stdenv, fetchurl, gettext, kdelibs, libXtst, makeWrapper, qca2, qca2_ossl, qjson }: { stdenv, fetchurl, gettext, kdelibs, libXtst, libfakekey, makeWrapper, pkgconfig, qca2, qca2_ossl
, qjson
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "kdeconnect-${version}"; name = "kdeconnect-${version}";
version = "0.7.2"; version = "0.7.3";
src = fetchurl { src = fetchurl {
url = "http://download.kde.org/unstable/kdeconnect/${version}/src/kdeconnect-kde-${version}.tar.xz"; url = "http://download.kde.org/unstable/kdeconnect/${version}/src/kdeconnect-kde-${version}.tar.xz";
sha256 = "1v7sicgy39n8pn7nzq9f7lkmwbcvavhy3b66agyhxwmyzz6mcd4g"; sha256 = "1vrr047bq5skxvibv5pb9ch9dxh005zmar017jzbyb9hilxr8kg4";
}; };
buildInputs = [ gettext kdelibs libXtst makeWrapper qca2 qca2_ossl qjson ]; buildInputs = [ gettext kdelibs libXtst libfakekey makeWrapper pkgconfig qca2 qca2_ossl qjson ];
postInstall = '' postInstall = ''
wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins

View file

@ -15,7 +15,7 @@ stdenv.mkDerivation {
''; '';
configurePhase = '' configurePhase = ''
qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost} qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost.dev}
''; '';
installPhase = '' installPhase = ''

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation {
sha256 = "0bbhqjjzh922aymjqrnl2hd3r8x6p7x5aa5jidv3l4d77drhlgzy"; sha256 = "0bbhqjjzh922aymjqrnl2hd3r8x6p7x5aa5jidv3l4d77drhlgzy";
}; };
buildInputs = [ cmake boost boost.lib ]; buildInputs = [ cmake boost ];
# these tests take a long time and don't # these tests take a long time and don't
# always complete in the build environment # always complete in the build environment

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
# Don't build with miniupnpc due to namecoin using a different verison that # Don't build with miniupnpc due to namecoin using a different verison that
# ships with NixOS and it is API incompatible. # ships with NixOS and it is API incompatible.
buildInputs = [ db4 boost boost.lib openssl unzip ]; buildInputs = [ db4 boost openssl unzip ];
patchPhase = '' patchPhase = ''
sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile

View file

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
# Don't build with miniupnpc due to namecoin using a different verison that # Don't build with miniupnpc due to namecoin using a different verison that
# ships with NixOS and it is API incompatible. # ships with NixOS and it is API incompatible.
buildInputs = [ db4 boost boost.lib openssl unzip qt4 ]; buildInputs = [ db4 boost openssl unzip qt4 ];
configurePhase = '' configurePhase = ''
qmake USE_UPNP=- qmake USE_UPNP=-

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3"; sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
}; };
buildInputs = [ qt4 pkgconfig boost boost.lib ]; buildInputs = [ qt4 pkgconfig boost ];
propagatedBuildInputs = [ dbus ]; propagatedBuildInputs = [ dbus ];
configurePhase = "qmake"; configurePhase = "qmake";

View file

@ -1,8 +1,3 @@
# This file is generated from generate_nix.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_nix.rb > default.nix
{ stdenv, fetchurl, config { stdenv, fetchurl, config
, alsaLib , alsaLib
, atk , atk
@ -21,7 +16,10 @@
, gtk , gtk
, libX11 , libX11
, libXScrnSaver , libXScrnSaver
, libXcomposite
, libXdamage
, libXext , libXext
, libXfixes
, libXinerama , libXinerama
, libXrender , libXrender
, libXt , libXt
@ -39,191 +37,10 @@
assert stdenv.isLinux; assert stdenv.isLinux;
let # imports `version` and `sources`
version = "32.0.3"; with (import ./sources.nix);
sources = [
{ locale = "ach"; arch = "linux-i686"; sha256 = "fd22fab9da5ba843876e0daf7db5069e3898a8bd548f8b324169914c88c02a10"; }
{ locale = "ach"; arch = "linux-x86_64"; sha256 = "221028e98d8cb1cb330da4d2707c7cf98d2ae0066081f0b505d6cc4fa8fd4b30"; }
{ locale = "af"; arch = "linux-i686"; sha256 = "37c93da084d25bd47c6aaf5389846ba4ac1e68a8989c03890b69142a46a2dddc"; }
{ locale = "af"; arch = "linux-x86_64"; sha256 = "91dc95820faca47b031a8685a12e67d2f0b7f2cc9be5ff40f316bcf4c4110eee"; }
{ locale = "an"; arch = "linux-i686"; sha256 = "c1251a6eb097cfc2bfa1fb137bcfcfbea333d457d57de3dce40ca60b96b07a53"; }
{ locale = "an"; arch = "linux-x86_64"; sha256 = "fe010c04615c743f0500f9066bfab2e53d799074cbbd17c458b072ee741547f6"; }
{ locale = "ar"; arch = "linux-i686"; sha256 = "e3482b3f6629c3addba28f86496c6608823b0a462ebca259bc9acc9ccadd07f3"; }
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "d2ba7625730d461d5f870ad4151991071ed36f141c65872d2e9493108d495603"; }
{ locale = "as"; arch = "linux-i686"; sha256 = "7f44156bd7087d5ddb46f8ecbcf2d7468b32cca7ed7ac88989e604b9853d603b"; }
{ locale = "as"; arch = "linux-x86_64"; sha256 = "a189cb96dedc9943362eaa70e851c64e0115c6c526d9d38a38ce2d79d80dea56"; }
{ locale = "ast"; arch = "linux-i686"; sha256 = "5d62d0d12f4cd678567b470a1b6d94ea5889a5c6530a5d3d0b4d07c04bae1f18"; }
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "2e6f1caf2432ae2e6b6b3125449f7dcca1e2a3658ce267a0320aa449934260d8"; }
{ locale = "be"; arch = "linux-i686"; sha256 = "d41d7abad29170d7d5df953bf9f3f22c56df8e85ddb4ba657cc0cbf357cdef0f"; }
{ locale = "be"; arch = "linux-x86_64"; sha256 = "c899602dcf3ca72c657cc30ea54f986f44943ea9583da1dd6d48ebfe4489b7be"; }
{ locale = "bg"; arch = "linux-i686"; sha256 = "e4ed4c432b3f399a2f7aa93ae62ae1ffadd8e4758c44f359a0faa401c014a3da"; }
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "138dc4afa256ca1a6f50ea250df5a032c69020f629e2b91843947e73f8e665c9"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "30f450b36b71431f87e016c09ab0e26f8ed72ee7a0cede0689be13d8b61a882c"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "ad320fef3271f5c6955404847552d11800ca8e8d7821cda53eb3311b6014281f"; }
{ locale = "bn-IN"; arch = "linux-i686"; sha256 = "1e4b1b3d06cbda0aacb1d971b9a70f5648f05e9ad225de87739baef602b3d58f"; }
{ locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "51264d05eb58cec598a726b8e29e583355431c429a6f9eeddc16360ad0ef0dd5"; }
{ locale = "br"; arch = "linux-i686"; sha256 = "e0e661d835297bb895ee3d2887fb4321b9c3c5af73edf5d36d365b254b0dc731"; }
{ locale = "br"; arch = "linux-x86_64"; sha256 = "94c8e2b56ec784f3e2912a36bece9866c20e419069591517477b67156ad65f47"; }
{ locale = "bs"; arch = "linux-i686"; sha256 = "ea2950b6c81b6cb108b518320c0e53406c972b6d46944fec39f92c10722be7ca"; }
{ locale = "bs"; arch = "linux-x86_64"; sha256 = "4ceba96a76ec7631dc524d3e3b56c5994967b7ef227f38d3e3aa435c131f561a"; }
{ locale = "ca"; arch = "linux-i686"; sha256 = "eb68c1f8e99ab00ddb9861ece4f1d17ca07c7e77fd4c2d4f4ff233f6f0018ba4"; }
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "17fe82eeeeb6c385010980984b04a8e71d3770a0d36d83e26786a5884aed7c05"; }
{ locale = "cs"; arch = "linux-i686"; sha256 = "69e2a0769284464a95db122fa97f1dfb268b02b754fe6a4842683fd4c94d9a13"; }
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "bebaef3126c14b4d23c024176170aabb090463cae1a1b72b6b498ab3720bb9cf"; }
{ locale = "csb"; arch = "linux-i686"; sha256 = "9ac7be93d0c3a72460ee3fea75621008bee5b2e85b78796f02eded8239562d81"; }
{ locale = "csb"; arch = "linux-x86_64"; sha256 = "1af41e62a6c9ee47dad2d031fd7dcc0ff8b773ac7a912e6888f068e533972dd4"; }
{ locale = "cy"; arch = "linux-i686"; sha256 = "339ff34b6b6d79db48b83ec9cc34fcb853652795e648c82845bbccf910b4286f"; }
{ locale = "cy"; arch = "linux-x86_64"; sha256 = "686e466692bda17671d2ebf3683d03671c8d063c6a6008f3b27455656a584c95"; }
{ locale = "da"; arch = "linux-i686"; sha256 = "67f0ee2e479c49853929cfb1b7fefe95d25d563d67f88f1560b21abf60cd67d6"; }
{ locale = "da"; arch = "linux-x86_64"; sha256 = "d9f7cbbaa576e501edc9c03df922f708562ef1d3f84eefe010b8138b23399e40"; }
{ locale = "de"; arch = "linux-i686"; sha256 = "a294f585d7f8247ecffd6c71beff75ea07f1ffb1af17830aa54904b6e9c4a71c"; }
{ locale = "de"; arch = "linux-x86_64"; sha256 = "6dd118ebe633c66ebc7ef0bf71dcc4d5c2ce42552a4b981b74442e184fa8f3a9"; }
{ locale = "dsb"; arch = "linux-i686"; sha256 = "7b989e4a804e366b7dc4fcd500968851e0978b2cd0f9da95e6f6504b9ccff7de"; }
{ locale = "dsb"; arch = "linux-x86_64"; sha256 = "aa41149f4f2bc6020980920bdf85d57157ad3cee7dd7be0fa3328ecbb11007bf"; }
{ locale = "el"; arch = "linux-i686"; sha256 = "f1b5bc91e4e34d6f17f3e4ed65fc3ab71e066b41df3ec0ff8c1156a4a51d7fb9"; }
{ locale = "el"; arch = "linux-x86_64"; sha256 = "fb602fcc45c21c26aa7d15924182d9158064d43c14c44c62786427eaf51d4b1f"; }
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "ad269f2192a1d635b8b930aa58a0303a544221e53b38aa8c464c81d807e28477"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "31ac6558c5a1deb512e937a52ca48d2183881de53685ca0dfaa63dc4495e0a73"; }
{ locale = "en-US"; arch = "linux-i686"; sha256 = "265ae5df1a5f2edeae8d08bdcde45df0920f6fb0ad70385371d06ff890017982"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "1a917f88835d8796c52a52ed5c14a9ea71e595de8515ced1ca1356995f529bd6"; }
{ locale = "en-ZA"; arch = "linux-i686"; sha256 = "e345f37777a2d7fc763c24c7fb4fe3c6a99c2310066ad405c375b8af069eca84"; }
{ locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "d86bf38fb667938852531f081caefe10baba79dc35ff737fa468744911f6968b"; }
{ locale = "eo"; arch = "linux-i686"; sha256 = "7b4069d26d4abfdd9878192fc7c5a54686687c401425205bce064d9720ae6f7c"; }
{ locale = "eo"; arch = "linux-x86_64"; sha256 = "b1a1b3b8c0c72856e5bb6058dd0ea2dabf2d9dee084f0355a248bee253838b29"; }
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "5ef56bebe60802f449bcbd1e53ae6726c5109c559a8a9707269de2a31481764a"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "65f909b7f1e67cfcebbc8cab1377b967095b5a7f9650c7fa861544bbc874b59f"; }
{ locale = "es-CL"; arch = "linux-i686"; sha256 = "0b7499173c0f44ccc4cecb49e1801bb596d7a027c5ee39678252530672785906"; }
{ locale = "es-CL"; arch = "linux-x86_64"; sha256 = "69573ffa581de80f21c0201083febcc7de5549d9e567f02227f7d4567c1a97f8"; }
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "640bc3111816383cb69e59039289737ca5d16ec2f5238b694348e9df1db794a0"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "fca7e225eac47f200c3cd01ee617a1fc6bbd728eddba30bb4583eb486155ab47"; }
{ locale = "es-MX"; arch = "linux-i686"; sha256 = "32342a144805a3c4e6bab5de0411116862d0b8276befa6f8689eca5d9da01860"; }
{ locale = "es-MX"; arch = "linux-x86_64"; sha256 = "cc189b4d4abdd9e90fd0dbfcc5b683e2a717f1f41a7930d9c0b6c405de97a9b3"; }
{ locale = "et"; arch = "linux-i686"; sha256 = "b203934a8292393d84f389ca3a13d25e0c9602a10faf60804b435cf45f2fd691"; }
{ locale = "et"; arch = "linux-x86_64"; sha256 = "4384025c813efa759c2dd62ed735d662f26d1037e95e892050987d4b2f602a45"; }
{ locale = "eu"; arch = "linux-i686"; sha256 = "179fb3acef15d262a9d2f7347a32f1d99bbcd5048c5cab5b69aaccb35afe82f2"; }
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "cec3a33bc9950f97f14fc6493158e095e7a1660e4d104c2ff23ce655813d28cc"; }
{ locale = "fa"; arch = "linux-i686"; sha256 = "7ce8f6af63ad6d683e5e70e9b077c2452a7c0c040bad83efceab860e3d41d288"; }
{ locale = "fa"; arch = "linux-x86_64"; sha256 = "14f7b3f7c7eff44db26c3b55ae85b8625354f1962315fd40e3df4199b067d303"; }
{ locale = "ff"; arch = "linux-i686"; sha256 = "f4c9eb89160a5d4bf815715860fc4bc6bc7954e544182e60b204a031f83be5e0"; }
{ locale = "ff"; arch = "linux-x86_64"; sha256 = "b774f005bb5dee44eb0974834b42441b47a68f733ef22446b2547aef898b0c02"; }
{ locale = "fi"; arch = "linux-i686"; sha256 = "873cf1d866f5db419549a9c39fad9524599a737d80c6568d7a5c9c3739d36cd4"; }
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "29f179920b198403f983b11bbd3f1b2d2cb83c65f5f8edcff63dd891d50c413a"; }
{ locale = "fr"; arch = "linux-i686"; sha256 = "ade608f8965144177d656d33ff4fa2f8fbd8f54861fca68ac74abab9ca085ad5"; }
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "9bfade44971633bca8b12d6e2e05de6d20ec55e368d78da49e44a0131e9d94bb"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "6124308765f3456ac066dc734d245c455168d66ed59a8a65edc1b59ff1130169"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "9a60afeb858c1e48e21e112f772bc2efd3ef2891b51d0241384658905b140709"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "2de086f287e86d29579896e8fdd9a4d43ba5ed49b5042e4b5c71ff6380d21467"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "4f2cb11d743ac7d6fb5bc319c940729aa81d9ac97545cf5c6096fcd0d2e7de69"; }
{ locale = "gd"; arch = "linux-i686"; sha256 = "c18e5614d73f79df017b1cdedb6949e907ffcdc4152ddfbd56f79242a742f13a"; }
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "4b64e007698b2433ead4b14b87c06fd1682ebe7e90ee881d310a8cdab2cd4d13"; }
{ locale = "gl"; arch = "linux-i686"; sha256 = "b319a40c4fa9c81533f431e95ad8f33d365aa799d3dccde5188beb3442c8422d"; }
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "04a9103e56982e4529c361647ccef527cfbbbb4e88a96a708c0665ee04accd44"; }
{ locale = "gu-IN"; arch = "linux-i686"; sha256 = "a15bd410f9bdfde48438db95c44d91472f5567bd41c529b13a7b4d057f97a6b3"; }
{ locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "8046ecbabf700872e4e8cf5d1a1d3df53f984a00415e49cb1d21bd507533f4c9"; }
{ locale = "he"; arch = "linux-i686"; sha256 = "8369eeb403ef55e61263eafb61e8265f130d5fe4dc277b5e68f6efb65edf6702"; }
{ locale = "he"; arch = "linux-x86_64"; sha256 = "a602a9944685ce688a002ea87178e1231170b78ba6ee911a3c7effa41768ecb1"; }
{ locale = "hi-IN"; arch = "linux-i686"; sha256 = "6eb2e8fa05bf7470f1be9756a5e529e5949f3e0796a0c663ee44c7264846fd3b"; }
{ locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "7e39439801361ab9051941323987364678ef9b1fc8e765bfad2d39d836b7bf85"; }
{ locale = "hr"; arch = "linux-i686"; sha256 = "84cabd389757c61cea75ffc642a4b52e544e841a124066701eb071d2d88c15ed"; }
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "0bc123e9a5190d155727971c2bed078a5e6b857daa22f2f4bcee4aee76e07bbc"; }
{ locale = "hsb"; arch = "linux-i686"; sha256 = "7a5d5a4a7a936defd6c3ea3b04550e39398428f90722d521490b700133964f82"; }
{ locale = "hsb"; arch = "linux-x86_64"; sha256 = "545ec5865ce941ca3bc635032cd65215111d56b3f0d68814efdd8ecacaab1d1d"; }
{ locale = "hu"; arch = "linux-i686"; sha256 = "b540eadbfa2bf5232049e30167ccf16249786f612ec152c14999e660eceb6497"; }
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "4f64d672481bfe88f40fcf944d98fafceae18372c1e2373bba8172877d7555b8"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "f5ace133a64745ecf564996ebd6be55ce3ee0ee5be2ed8fe6c66414833d1e479"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e949bffb9180b0ccdc6794b99b3897f9f30dbea84d9d218cd68477634eb58b25"; }
{ locale = "id"; arch = "linux-i686"; sha256 = "73f2d64106a3404f6edcc66ab59091ffedb0fcd0c7f475becebebdfc4df41e1c"; }
{ locale = "id"; arch = "linux-x86_64"; sha256 = "20d9193d9fc95a3e040220373c216913ca0099989d665b516b1e5de1cd7bf05b"; }
{ locale = "is"; arch = "linux-i686"; sha256 = "d6bdeb739b5db8c8a25239963bf2f0d096b76f5914f8f4f4a4843e611beaad9f"; }
{ locale = "is"; arch = "linux-x86_64"; sha256 = "300ccec13085aee1b011dd0058c279a31981b3e91280440672e09c71c4dd0eda"; }
{ locale = "it"; arch = "linux-i686"; sha256 = "1e02459ec7e62ca3038018e6c88f410e53b0d7b3d1b6cb94d74ad0218a54a948"; }
{ locale = "it"; arch = "linux-x86_64"; sha256 = "ba8e8a9ab5f391a5560b7bfd41dd853c6b52c2ff59ce8424f96236263985029d"; }
{ locale = "ja"; arch = "linux-i686"; sha256 = "681589c9748b0c7f78ba5c4afa0f254af6f92a0c0cfb504df6b29f94a917f8bb"; }
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "7c6447f4dd823e1517ce12ad0b295b53a22d3a0855e1660fac9563a91f6999c2"; }
{ locale = "kk"; arch = "linux-i686"; sha256 = "0303c9b812115d3ada0d8fdfcf8e77143f4239440935bfaad5340d33a3270b8b"; }
{ locale = "kk"; arch = "linux-x86_64"; sha256 = "168b2ae2ac9168ae674d8649840fd7cc93d95325c7c0d60d7251239b776e5886"; }
{ locale = "km"; arch = "linux-i686"; sha256 = "04ba6e90f883e52809e51202356e4abda62ae40bb0ed225965ec8eeca333457d"; }
{ locale = "km"; arch = "linux-x86_64"; sha256 = "4903ca63d1ffdafbb7ae36eb7221992101a8a013928e25a820aac51022cdbade"; }
{ locale = "kn"; arch = "linux-i686"; sha256 = "2fc54219aa69f963c86e47fc2cafd78bfad2bbd2a11d2fb947786eaa30cfe255"; }
{ locale = "kn"; arch = "linux-x86_64"; sha256 = "8fd8e3de5ba9bf2f408da21bdedc1d2baf269fb33251d38fc84ec8b9c2fc86a8"; }
{ locale = "ko"; arch = "linux-i686"; sha256 = "eba2c630a59006bad5ff822409c18008e46a327e2903d88461dc88a54f573baa"; }
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "baaafa60c8101ea2dfab30149e7ac6b953a63fb7c835e6aa1488349ce8a98384"; }
{ locale = "ku"; arch = "linux-i686"; sha256 = "b1333ed8afb9cd20b0e24d25e5747f466050acf1fc4ae2924df1bb345ce49f90"; }
{ locale = "ku"; arch = "linux-x86_64"; sha256 = "dd87578c93884388871680ef66f1d37e78f78939e7182a7d3a41fd8287afcdb8"; }
{ locale = "lij"; arch = "linux-i686"; sha256 = "6bdab68412b7d08da2023da4346eeac231bbda2de36d7225b7f7bdd23a36dbd6"; }
{ locale = "lij"; arch = "linux-x86_64"; sha256 = "d31d69421e74bf089e74f70e5c595284a8b60ce153c7c3ffd83e808adb1bf371"; }
{ locale = "lt"; arch = "linux-i686"; sha256 = "4e15475eed19edf5080695da8c9dc94d3bc28e064a30065a1adeb6ea11adcce9"; }
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "f5b94a979a1863d068e4f35f71476677febe23de0de2dd803f44e57d2a196c55"; }
{ locale = "lv"; arch = "linux-i686"; sha256 = "177f771d821f7501d906fea0bec54d6064e36ce74dc5e17596cdbc460b7c0115"; }
{ locale = "lv"; arch = "linux-x86_64"; sha256 = "a958f13c3be77bdd1ea10edb5a453f54aaf6b2b7d00981762ea946abb2aa0a7c"; }
{ locale = "mai"; arch = "linux-i686"; sha256 = "32ee3fdb74c2023952071679cfc271ef548b0ba278619f0d2c2f19596c1b5fa1"; }
{ locale = "mai"; arch = "linux-x86_64"; sha256 = "c4bb89d5c9b16a4814a628ee31f8628cf287864db44d55ba11321d8203a1fd1c"; }
{ locale = "mk"; arch = "linux-i686"; sha256 = "b7ef5bee8ed38ba31ee2e2c1ab010e3a385b97096fff0120bb279e82b6220464"; }
{ locale = "mk"; arch = "linux-x86_64"; sha256 = "edf82adb52759c0d60f4bbf23ba1e0b2f7bb47475c80621a508e8a46c6221d06"; }
{ locale = "ml"; arch = "linux-i686"; sha256 = "265e68ed9ca02987ca9bc165b4fb69217e4e7aaf73d7ceb83eb0a3d472a3cbed"; }
{ locale = "ml"; arch = "linux-x86_64"; sha256 = "948eae17ae44b03c01124243f2246abe98fa6fdd17e9f174a8b1387f87994ff4"; }
{ locale = "mr"; arch = "linux-i686"; sha256 = "d3941188b754ec8219b0682eb8c3b531debbeccc0a5738a6304bb18075e473a6"; }
{ locale = "mr"; arch = "linux-x86_64"; sha256 = "b40f07132f883a703caefc275ad4a3a6d65f0e5535067595ddd9e7ff604ca315"; }
{ locale = "ms"; arch = "linux-i686"; sha256 = "217ae6fba0bb782e84bfc7d7658971c72a8922c4b8ae32abcacd8548c3b865ea"; }
{ locale = "ms"; arch = "linux-x86_64"; sha256 = "74d4a6123c40d92db7690e518d6943c916ee5a8ad266c94bdb8edc0e31f7e744"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "cc66fba1d389994b079962e78a7aeb2e4df8c3eea785ada286983a12329c2699"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "20161c2e0fdfdc65625d31d6ec1fbbdf2b88281e44b9dcbc9c4e5a07bf03d105"; }
{ locale = "nl"; arch = "linux-i686"; sha256 = "a8b86126c00e2fefe05a3783e03c7f3f6ca9575180b3b275b1dbb85c68cb126a"; }
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "61fea91996c56b7279dc88714567b3e63f69d1b56a2922ea9886b74a69045d53"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "594e4c7393b6692bcbff4a732cb22687207cdbbfeb1d66bd10d7784fa60b1fd1"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "ae78c76d203532c34023f06a6c7a3f26e864a1b95aca358b7c680e275b250c8a"; }
{ locale = "or"; arch = "linux-i686"; sha256 = "b26642112413d3c53c6275a8b2bbaf162f4bdbaf9002ad4479b807e3447b2abe"; }
{ locale = "or"; arch = "linux-x86_64"; sha256 = "d212b39c68a7cf8619c946ff7e94c2081ba2a9fca3ed599870167477a887fe87"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "e28e4bec4e4f9d151bdc1e1ffbd42266052fbd81a479c70196a614f825e42f9f"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "4874f5407d8040a5e447d5a22a8d9e433a6bda273bc813654d95e0b9abb02af5"; }
{ locale = "pl"; arch = "linux-i686"; sha256 = "f738a7209e3da17fbc2c955148ef1e0ec08878acf374b9bff2ae6cb0b3b50138"; }
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "b78325bc9ab80c176ba266cc6c46933f78ba69e0da44e6526e7b433336534d11"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "dc1564eeb496b1b8584338879d26cfbe4e2191eef204c80ee6a2f9c2d4722426"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "48c8bb9a52ae80c74f6fe379b28cf072d8275158326e752c776c27409578fcfe"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "0e74d57776d68d3d35e26b5fabdb66016a00d8bf22c6ec458ffea2e2e233227d"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "61d5fbc72f928e59cdf93ef08684e4d598b154638bf88cdace7d274874efa040"; }
{ locale = "rm"; arch = "linux-i686"; sha256 = "1baa7d0d61394c3108ff7d91798fa917e63a1a0943785f94697619cbb684148a"; }
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "5cec6c5c013997f1ebade4d139d055b1df3fb5ed75dd41e335535dbfc6bc9359"; }
{ locale = "ro"; arch = "linux-i686"; sha256 = "78e4f327a928aed2342d845c9e8e4458eca8f77898aa2a7dd5f7ca55fc61a62b"; }
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "320c3dbd605c650b378ed8e93e8b2518039c8efab27471012a498dbc51d1cac3"; }
{ locale = "ru"; arch = "linux-i686"; sha256 = "3fc9d98a86e63717dfeaa58ece0dbbb1a0523801c56c056ff74a60491a27fcb9"; }
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "1d95e946fbb109380ad2e2fd5986f12211241113e218ae7ecb43e009b7aa5a37"; }
{ locale = "si"; arch = "linux-i686"; sha256 = "12d8e83cc703c00da6054bd32bdf39993b588cbb5374880a3961d5ab476b6d29"; }
{ locale = "si"; arch = "linux-x86_64"; sha256 = "4ce710ccda7b56a46a8fea2f42c499aa2296377a0979f76f19563caa85f4517e"; }
{ locale = "sk"; arch = "linux-i686"; sha256 = "86b726c25de378d53a8220681468fec88a7d525288b02eb9b700b12f87739ffc"; }
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "bf8f6bb1b5fd7c82ca14f1802e7914e10b981c04d3ca89df983fe07d7df5b88c"; }
{ locale = "sl"; arch = "linux-i686"; sha256 = "39aaca3b7a559346aa418fd4abb1f2a44dc71901050a212178e3cbc7b870e6b1"; }
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "85f5f097c7b9a07bbcb97caa9c8e5cfd16d3636ae17b41ec32e91d1238134db9"; }
{ locale = "son"; arch = "linux-i686"; sha256 = "2b5a33079e835afdf0246f8b4dec1db92fcc861636a75333c75f6d5d40c14201"; }
{ locale = "son"; arch = "linux-x86_64"; sha256 = "4d91324e9b7f88db822216440d5420b0c8b0898bdf77699a6b0fde1ab4db2f0c"; }
{ locale = "sq"; arch = "linux-i686"; sha256 = "e3e0194f5e72904b056be4b3e941c015d5af0d9f1a349fa39492a6cefaf5236d"; }
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "45767fa6b57fb21399d4850fa88a3435e3fe0bb679de56fc1c28767eca235ba5"; }
{ locale = "sr"; arch = "linux-i686"; sha256 = "0f7addd1581d8552b874651bc8dde5b2fe4d4b814c694272674fb5f7732000be"; }
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "7b68d38004216c86e3eb648fa78b06da88a703d68343f723f8e9d577d4c1224c"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "5f76d137052ff04da12e80f08a34a09c6ccd92d9ddf2f6efcf193940a948f86c"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "1aac59a70ac58bfe1926e87a850d7a5a2783332cfd49d9df1ad1fd3e276a9a29"; }
{ locale = "ta"; arch = "linux-i686"; sha256 = "2716d50134514693b5d6edafc7c127c708b9973c39d42823987061547e4c18be"; }
{ locale = "ta"; arch = "linux-x86_64"; sha256 = "9c9310ad313227cab38d8cd9ff6c4d9c15037bd39777a7fbd4b23ca71a1ac48e"; }
{ locale = "te"; arch = "linux-i686"; sha256 = "ac7d78ab767b13810ef7f313c2ba92067756082667db0e256e916f1f0be8c9fa"; }
{ locale = "te"; arch = "linux-x86_64"; sha256 = "cd6fc0d115fb67272f205a3595c82107dc8b20ce0696a2de8da6f82a7ae07112"; }
{ locale = "th"; arch = "linux-i686"; sha256 = "2d17b346aa296b79e880b83185d3608de4369de62e2e0ce2cfb8d2f3dd6ee97f"; }
{ locale = "th"; arch = "linux-x86_64"; sha256 = "331f2c59b2659c65c6899455e9ce55cd54b8debf4d17a60a8d6e76e2198080b6"; }
{ locale = "tr"; arch = "linux-i686"; sha256 = "491550857b3b2b3643f1798a9e871492177cdddfd17366057d147e1fbe1ca40e"; }
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "aa8677def660eb8a3d258e7e7da05972e84be96807c8c7912f15bde05d749af7"; }
{ locale = "uk"; arch = "linux-i686"; sha256 = "9ebb7a0997353bc84b5d48ffae1631d30a70ecc3ed21010fc8499513e3404651"; }
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "d686139d6622d6867cb9af95ec0c5e79866974d12468722d40c0ede104897034"; }
{ locale = "vi"; arch = "linux-i686"; sha256 = "e56c74b2f6752667f9448c081114065aa0d1c63979cc4bbbf1965a7acc62133e"; }
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "41c79d4bcca7c28d02108129de1c8c93f5666bbaf651faef1eb9b424d4e8cb5d"; }
{ locale = "xh"; arch = "linux-i686"; sha256 = "89f30d4950fec07c9f1df426c1e5e9f72ab15efa5db93d243418909369d69f03"; }
{ locale = "xh"; arch = "linux-x86_64"; sha256 = "f97ea6169a6bdd4e48a0aee72ca709ebc1e2032a406d3dde6d8a6719b8429ee7"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "9ad1e75c6ca5f38bb565e747cec2901ad567efd69efa56328b912e37239f5b9e"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "400baea252b6f92051e7b054bdb4a4827571036ff7def10cbd841cfe2eaea60a"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "2e7bc62dd7c6c41c5feaf8cf9131bbbb0f0a3403870e57066a98147275b120fd"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "f2d620e5f4e8baac689557dc34ce582aaf36bcf4253c4f7cb00db52e1e1db98e"; }
{ locale = "zu"; arch = "linux-i686"; sha256 = "c9915d4f1b637934ba22dbb81aa2f711417fd5600c6efe25781f11bbd0c707cc"; }
{ locale = "zu"; arch = "linux-x86_64"; sha256 = "8fa84e20fb1e21947a8f727bb881d8249bf384944ee9693314cb39715547da5d"; }
];
let
arch = if stdenv.system == "i686-linux" arch = if stdenv.system == "i686-linux"
then "linux-i686" then "linux-i686"
else "linux-x86_64"; else "linux-x86_64";
@ -247,7 +64,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2"; url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
inherit (source) sha256; inherit (source) sha1;
}; };
phases = "unpackPhase installPhase"; phases = "unpackPhase installPhase";
@ -271,7 +88,10 @@ stdenv.mkDerivation {
gtk gtk
libX11 libX11
libXScrnSaver libXScrnSaver
libXcomposite
libXdamage
libXext libXext
libXfixes
libXinerama libXinerama
libXrender libXrender
libXt libXt

View file

@ -1,219 +0,0 @@
# TODO share code with thunderbird-bin/generate_nix.rb
version = if ARGV.empty?
"latest"
else
ARGV[0]
end
base_path = "download-installer.cdn.mozilla.net/pub/firefox/releases"
arches = ["linux-i686", "linux-x86_64"]
arches.each do |arch|
system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
end
locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
File.basename(path)
end.sort
locales.delete("index.html")
locales.delete("xpi")
# real version number, e.g. "30.0" instead of "latest".
real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
locale_arch_path_tuples = locales.flat_map do |locale|
arches.map do |arch|
path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
[locale, arch, path]
end
end
paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
input.each_line.map do |line|
$stderr.puts(line)
line.match(/^[0-9a-f]*/)[0]
end
end
puts(<<"EOH")
# This file is generated from generate_nix.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_nix.rb > default.nix
{ stdenv, fetchurl, config
, alsaLib
, atk
, cairo
, cups
, dbus_glib
, dbus_libs
, fontconfig
, freetype
, gconf
, gdk_pixbuf
, glib
, glibc
, gst_plugins_base
, gstreamer
, gtk
, libX11
, libXScrnSaver
, libXext
, libXinerama
, libXrender
, libXt
, libcanberra
, libgnome
, libgnomeui
, mesa
, nspr
, nss
, pango
, heimdal
, pulseaudio
, systemd
}:
assert stdenv.isLinux;
let
version = "#{real_version}";
sources = [
EOH
locale_arch_path_tuples.zip(hashes) do |tuple, hash|
locale, arch, path = tuple
puts(%Q| { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
end
puts(<<'EOF')
];
arch = if stdenv.system == "i686-linux"
then "linux-i686"
else "linux-x86_64";
isPrefixOf = prefix: string:
builtins.substring 0 (builtins.stringLength prefix) string == prefix;
sourceMatches = locale: source:
(isPrefixOf source.locale locale) && source.arch == arch;
systemLocale = config.i18n.defaultLocale or "en-US";
defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
in
stdenv.mkDerivation {
name = "firefox-bin-${version}";
src = fetchurl {
url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
inherit (source) sha256;
};
phases = "unpackPhase installPhase";
libPath = stdenv.lib.makeLibraryPath
[ stdenv.gcc.gcc
alsaLib
atk
cairo
cups
dbus_glib
dbus_libs
fontconfig
freetype
gconf
gdk_pixbuf
glib
glibc
gst_plugins_base
gstreamer
gtk
libX11
libXScrnSaver
libXext
libXinerama
libXrender
libXt
libcanberra
libgnome
libgnomeui
mesa
nspr
nss
pango
heimdal
pulseaudio
systemd
] + ":" + stdenv.lib.makeSearchPath "lib64" [
stdenv.gcc.gcc
];
# "strip" after "patchelf" may break binaries.
# See: https://github.com/NixOS/patchelf/issues/10
dontStrip = 1;
installPhase =
''
mkdir -p "$prefix/usr/lib/firefox-bin-${version}"
cp -r * "$prefix/usr/lib/firefox-bin-${version}"
mkdir -p "$out/bin"
ln -s "$prefix/usr/lib/firefox-bin-${version}/firefox" "$out/bin/"
for executable in \
firefox mozilla-xremote-client firefox-bin plugin-container \
updater crashreporter webapprt-stub
do
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
"$out/usr/lib/firefox-bin-${version}/$executable"
done
for executable in \
firefox mozilla-xremote-client firefox-bin plugin-container \
updater crashreporter webapprt-stub libxul.so
do
patchelf --set-rpath "$libPath" \
"$out/usr/lib/firefox-bin-${version}/$executable"
done
# Create a desktop item.
mkdir -p $out/share/applications
cat > $out/share/applications/firefox.desktop <<EOF
[Desktop Entry]
Type=Application
Exec=$out/bin/firefox
Icon=$out/lib/firefox-bin-${version}/chrome/icons/default/default256.png
Name=Firefox
GenericName=Web Browser
Categories=Application;Network;
EOF
'';
meta = with stdenv.lib; {
description = "Mozilla Firefox, free web browser";
homepage = http://www.mozilla.org/firefox/;
license = {
shortName = "unfree"; # not sure
fullName = "unfree";
url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
};
platforms = platforms.linux;
};
}
EOF

View file

@ -0,0 +1,48 @@
# TODO share code with thunderbird-bin/generate_sources.rb
require "open-uri"
version = if ARGV.empty?
"latest"
else
ARGV[0]
end
base_path = "http://download-installer.cdn.mozilla.net/pub/firefox/releases"
Source = Struct.new(:hash, :arch, :locale, :filename)
sources = open("#{base_path}/#{version}/SHA1SUMS") do |input|
input.readlines
end.select do |line|
/\/firefox-.*\.tar\.bz2$/ === line && !(/source/ === line)
end.map do |line|
hash, name = line.chomp.split(/ +/)
Source.new(hash, *(name.split("/")))
end.sort_by do |source|
[source.locale, source.arch]
end
real_version = sources[0].filename.match(/firefox-([0-9.]*)\.tar\.bz2/)[1]
arches = ["linux-i686", "linux-x86_64"]
puts(<<"EOH")
# This file is generated from generate_nix.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_source.rb > source.nix
{
version = "#{real_version}";
sources = [
EOH
sources.each do |source|
puts(%Q| { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
end
puts(<<'EOF')
];
}
EOF

View file

@ -0,0 +1,192 @@
# This file is generated from generate_nix.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_source.rb > source.nix
{
version = "33.0.2";
sources = [
{ locale = "ach"; arch = "linux-i686"; sha1 = "84289121c49e9472972f04cafa707abef6d40ab4"; }
{ locale = "ach"; arch = "linux-x86_64"; sha1 = "b048883f61a09b3a4d46b5b35dfa44df108c013d"; }
{ locale = "af"; arch = "linux-i686"; sha1 = "2a8bf42955842920044a119b5da480dd40fd99f0"; }
{ locale = "af"; arch = "linux-x86_64"; sha1 = "c5cd176dc69eea6d3a933b58661704c8c381ca70"; }
{ locale = "an"; arch = "linux-i686"; sha1 = "8aab040e91770e347bd89a77d6cc3e2f822f1b01"; }
{ locale = "an"; arch = "linux-x86_64"; sha1 = "fba44ab169b11a78b3616a4bcfa9a813626306a5"; }
{ locale = "ar"; arch = "linux-i686"; sha1 = "3ca9bee8dfe329198669c27a7743504767e4311c"; }
{ locale = "ar"; arch = "linux-x86_64"; sha1 = "4420c6974845d5b036ca8465fd530ff477302b6e"; }
{ locale = "as"; arch = "linux-i686"; sha1 = "85d3f501184ed7bf4fbf2328d7797dc7656c60ea"; }
{ locale = "as"; arch = "linux-x86_64"; sha1 = "7b79e41bbecb87df2b79c41fd6f4efe5fc5a62f1"; }
{ locale = "ast"; arch = "linux-i686"; sha1 = "65dc73669af6965ef7cc3e937070a629a91d27c0"; }
{ locale = "ast"; arch = "linux-x86_64"; sha1 = "5ba415acaf6aaf00ef9603b1bd7c28067a38c06f"; }
{ locale = "az"; arch = "linux-i686"; sha1 = "161ffff8bba5bd7e3fdfff2cbbe06788a75a1786"; }
{ locale = "az"; arch = "linux-x86_64"; sha1 = "305c54bf69d82270beaf9268d4936c04465efc19"; }
{ locale = "be"; arch = "linux-i686"; sha1 = "a4677e7a0013390c99dc117e70f7be344487b9fa"; }
{ locale = "be"; arch = "linux-x86_64"; sha1 = "9d2a5a92c74dcb4ecc960fda83cda4d6a6a333e7"; }
{ locale = "bg"; arch = "linux-i686"; sha1 = "06cd3eeb03646b2301f779859b6121e33946b9f9"; }
{ locale = "bg"; arch = "linux-x86_64"; sha1 = "f352868b172f54d007b72b6364ecd9a073a086e3"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha1 = "b487c35201063e0b3b1751361973e86bbb6d3646"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "e5d827177cc3bb9adcb74f01e4937ba77982c2d8"; }
{ locale = "bn-IN"; arch = "linux-i686"; sha1 = "edb44f171a1d70a7e4c8a0eddceb603b511210f8"; }
{ locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "dcc2e0ac1c5bb8b06e6daeb8a98d8598664864f9"; }
{ locale = "br"; arch = "linux-i686"; sha1 = "eb21581ed2c552383e868cf2d689517642b66f47"; }
{ locale = "br"; arch = "linux-x86_64"; sha1 = "bfedb09a7ad5998b90fc3471115be0a607b0f6ca"; }
{ locale = "bs"; arch = "linux-i686"; sha1 = "23507b237d3968ceb1a987326ac62d94f9df65ea"; }
{ locale = "bs"; arch = "linux-x86_64"; sha1 = "47f485cd621bd892994292ed564b90269e2a2754"; }
{ locale = "ca"; arch = "linux-i686"; sha1 = "e69ae2cf47575cca8403e9d8273161c9f23b28d7"; }
{ locale = "ca"; arch = "linux-x86_64"; sha1 = "fbe9546b99ffadd68c05783fa14eb56465eda3cc"; }
{ locale = "cs"; arch = "linux-i686"; sha1 = "dd523103288e93513fa366a2ddbeaa554fdbb176"; }
{ locale = "cs"; arch = "linux-x86_64"; sha1 = "55c0db80a935cecce7551008fcc389f4fb742748"; }
{ locale = "csb"; arch = "linux-i686"; sha1 = "66704c774f8aa5b6ed08b5ad418474e39092ec6d"; }
{ locale = "csb"; arch = "linux-x86_64"; sha1 = "01f72eafcf9b16ba9030956c147fd0198bbc7920"; }
{ locale = "cy"; arch = "linux-i686"; sha1 = "900d37825d69a9ac26f1876b6967f5b7499bbd85"; }
{ locale = "cy"; arch = "linux-x86_64"; sha1 = "52da4de76b59a234b933c49ed760f223c7c4c15d"; }
{ locale = "da"; arch = "linux-i686"; sha1 = "a750e76cd0c9a0f9188642a14339d7c9173cd720"; }
{ locale = "da"; arch = "linux-x86_64"; sha1 = "59e5293f5862f583b9dccc4c33441773e024f90f"; }
{ locale = "de"; arch = "linux-i686"; sha1 = "d83b88f086bfc5cfedf15c02ed4b5359abaec1e3"; }
{ locale = "de"; arch = "linux-x86_64"; sha1 = "a8d3c09b24c9554205d0f7b09b3281ae55e3a7ef"; }
{ locale = "dsb"; arch = "linux-i686"; sha1 = "123923553c828e8190c265ffbfc423a1744ae031"; }
{ locale = "dsb"; arch = "linux-x86_64"; sha1 = "51cd2a899d18239e653460eff4b5fb9a3c792cad"; }
{ locale = "el"; arch = "linux-i686"; sha1 = "280719149af0cbc2ed3216d2f7217e60bfdfa2d1"; }
{ locale = "el"; arch = "linux-x86_64"; sha1 = "854c5243738cd462465b38fe09da05bcf336fd8e"; }
{ locale = "en-GB"; arch = "linux-i686"; sha1 = "1db81b7381b6217b2d041b2faaca83a90be48640"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha1 = "0de6a9f1ae3f7db8d30cb1b38da6bc928a56a373"; }
{ locale = "en-US"; arch = "linux-i686"; sha1 = "2a92e782d140055690ce9ac89be46ef2e0664260"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha1 = "dd511606189c45f830e196b396ee62682ef4116b"; }
{ locale = "en-ZA"; arch = "linux-i686"; sha1 = "89e0abd4a56ad8d7cfa750e8c1c44e70320ebdbd"; }
{ locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "873a055caa419904a1c82c29407f7f5d2b6baf70"; }
{ locale = "eo"; arch = "linux-i686"; sha1 = "369dda2004fadc6d6f58c8f5eb86515eb0fc1c4a"; }
{ locale = "eo"; arch = "linux-x86_64"; sha1 = "c25e885800ee5a84e05919aee38f29608e878b9f"; }
{ locale = "es-AR"; arch = "linux-i686"; sha1 = "d334207e5b0456ad90b12b9a713e446b6d0a59e6"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha1 = "d6938e9c0e150fcb468301dd12d657e44a6fd216"; }
{ locale = "es-CL"; arch = "linux-i686"; sha1 = "8a3e3f6302e260857ff09a737e8272d59c3490be"; }
{ locale = "es-CL"; arch = "linux-x86_64"; sha1 = "5eb5e282d60f97bc723a362dad92d7d14a0ee9e2"; }
{ locale = "es-ES"; arch = "linux-i686"; sha1 = "69149b7d4309b51ae87deb834d5ab1836dcfb7d4"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha1 = "840c817433ec950a0284b4ff59e0634111cff3ae"; }
{ locale = "es-MX"; arch = "linux-i686"; sha1 = "0a2ddb4b2b92264372b1bdf5ad957147610c5383"; }
{ locale = "es-MX"; arch = "linux-x86_64"; sha1 = "aab30300c0062f0b3839201cecda6fdd974638ff"; }
{ locale = "et"; arch = "linux-i686"; sha1 = "a09b9a0c58afbb1a19e841a4f72cca699d0f14e4"; }
{ locale = "et"; arch = "linux-x86_64"; sha1 = "2c23762407edee338a53f50e9c9f5a884bc2c479"; }
{ locale = "eu"; arch = "linux-i686"; sha1 = "2b118062f5c8f93cb2be5aa298d4e2caae0302f8"; }
{ locale = "eu"; arch = "linux-x86_64"; sha1 = "ae2841ec555a74d129052f6af9931d1927bdcccb"; }
{ locale = "fa"; arch = "linux-i686"; sha1 = "604a2be7317416e31ba2d1705c587a29b9dcfc57"; }
{ locale = "fa"; arch = "linux-x86_64"; sha1 = "3c53a30d4383d05a12631feb72be8aac88b4ad9e"; }
{ locale = "ff"; arch = "linux-i686"; sha1 = "7229ddd990a18eddafe2478db0e082b108a18972"; }
{ locale = "ff"; arch = "linux-x86_64"; sha1 = "0555b251a17ff1fb700e891676987f98a110ec1a"; }
{ locale = "fi"; arch = "linux-i686"; sha1 = "e04a02fcffab0db1e85b4cee754d5ba8006cf387"; }
{ locale = "fi"; arch = "linux-x86_64"; sha1 = "d85c3448d2b685fb69cb7f567ee50c21a4d66345"; }
{ locale = "fr"; arch = "linux-i686"; sha1 = "7be35c9e5bca6b83b3123468333d05360cb212ff"; }
{ locale = "fr"; arch = "linux-x86_64"; sha1 = "01a9900d207f44456f55499b5c8074983001a896"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha1 = "aab9b751d299d6ea3b5914b33b6ba22d45a1a800"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "146f82bc19217b2736e82f6cdf8c367dfe546b0e"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha1 = "21420623f201278b788f3ebf8ea075d5cd2720cc"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "888112fc030689f48889227765377dab969e07db"; }
{ locale = "gd"; arch = "linux-i686"; sha1 = "528b236cb8553576adceb5ffe73a52f07a2bbab7"; }
{ locale = "gd"; arch = "linux-x86_64"; sha1 = "41d5a5cd74e61d5274774842f224daf22ad9751a"; }
{ locale = "gl"; arch = "linux-i686"; sha1 = "36397364384b61a083e9cfb4535749b08fd35d68"; }
{ locale = "gl"; arch = "linux-x86_64"; sha1 = "08a80c6088abf0b970e1bbce1370de24ba3e50bf"; }
{ locale = "gu-IN"; arch = "linux-i686"; sha1 = "cecf38096e029453ffbaf5ce14333836754f05dc"; }
{ locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "87515724726efd12eab5018d6062ef8a4bec19c6"; }
{ locale = "he"; arch = "linux-i686"; sha1 = "ca162ce8e0d33883489923f714cb6880eed4ddf6"; }
{ locale = "he"; arch = "linux-x86_64"; sha1 = "bdc063b683ccdc26e8d3314aac9a89beffb855dc"; }
{ locale = "hi-IN"; arch = "linux-i686"; sha1 = "6054818606b0e004f16d503f6772897bc556cea5"; }
{ locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "b52d98d4bc6825e923ad438b0a4e7989e8cabe3a"; }
{ locale = "hr"; arch = "linux-i686"; sha1 = "d75988c20d86068523dc2bfbf6f1b6a9fdf50ea2"; }
{ locale = "hr"; arch = "linux-x86_64"; sha1 = "0eb0eb3bcf947a5df91552a520c3dae502e8ca12"; }
{ locale = "hsb"; arch = "linux-i686"; sha1 = "6a7af0b5e6f9e7673c41b69c0b20b619657670e1"; }
{ locale = "hsb"; arch = "linux-x86_64"; sha1 = "eba91ab9ce2c8b4951c201f8ca0247c8810991ce"; }
{ locale = "hu"; arch = "linux-i686"; sha1 = "0277e06231e406fca6594489d0629a2df28b099a"; }
{ locale = "hu"; arch = "linux-x86_64"; sha1 = "1049f9deef387f7e51d5b1b87677a236ecd8e8bc"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha1 = "da5b737c60c95df82a464e3028869892ac083f22"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "e9bcab47f9870b0dce22f764d78acdb9c8fdc3a2"; }
{ locale = "id"; arch = "linux-i686"; sha1 = "c76ff5c58977afcedf88ea354596329d83dbfcd4"; }
{ locale = "id"; arch = "linux-x86_64"; sha1 = "9cd4cfa700f96654608956932cc16d0b60d3de72"; }
{ locale = "is"; arch = "linux-i686"; sha1 = "b79c4c2131e8ba15d6f31f0609616476b91b739b"; }
{ locale = "is"; arch = "linux-x86_64"; sha1 = "feaa1616f97e1145554fdd93f1f5310dbf35c30a"; }
{ locale = "it"; arch = "linux-i686"; sha1 = "e3c1658e92f1ef6ec98c2dce0269eba3c64a4312"; }
{ locale = "it"; arch = "linux-x86_64"; sha1 = "608298dad85daa4ca08996cfe20a1602a951dcba"; }
{ locale = "ja"; arch = "linux-i686"; sha1 = "eacc6251f1fca09b41e84d43f84ae49c87619c55"; }
{ locale = "ja"; arch = "linux-x86_64"; sha1 = "110e1ad59d404aa4bcbf5ed6781a93a27d9756d0"; }
{ locale = "kk"; arch = "linux-i686"; sha1 = "772ad939e83fb889ac24cafba5006395757d73b8"; }
{ locale = "kk"; arch = "linux-x86_64"; sha1 = "2d0e1909f76f9007a63afd1aadd3175a3dc5bade"; }
{ locale = "km"; arch = "linux-i686"; sha1 = "284d52d38a58c392dfa4deac506b26c8dcc8a8d7"; }
{ locale = "km"; arch = "linux-x86_64"; sha1 = "acf596620f0de73eb51b2ff1687ee5723e1939bd"; }
{ locale = "kn"; arch = "linux-i686"; sha1 = "b4e3aa3ca7dbad47db42dc10e486d38b4515decc"; }
{ locale = "kn"; arch = "linux-x86_64"; sha1 = "b24aedb7ed569666e979ef71c54b99c5f0fdecc5"; }
{ locale = "ko"; arch = "linux-i686"; sha1 = "29e54578a74203613e084a5ef36e05a7fff0e0c7"; }
{ locale = "ko"; arch = "linux-x86_64"; sha1 = "858fb59b17acbc8027ab5962ed4a4c45b0e3afd7"; }
{ locale = "ku"; arch = "linux-i686"; sha1 = "ee5b0d2fa065d4f488f9871cb034db27ef02580c"; }
{ locale = "ku"; arch = "linux-x86_64"; sha1 = "31bbfb80de63d24022c7779ded2e31a32dbdca0e"; }
{ locale = "lij"; arch = "linux-i686"; sha1 = "4e82e29fbf6485ea16ce0766764ac62ed848b94d"; }
{ locale = "lij"; arch = "linux-x86_64"; sha1 = "cbe98fdf2eb3001968d0df0769e0cd0902b06fbc"; }
{ locale = "lt"; arch = "linux-i686"; sha1 = "d12ae187d164616e89cf4eed77e5927e575128d2"; }
{ locale = "lt"; arch = "linux-x86_64"; sha1 = "518a384b8ad40ea9efe659a896b0512948e1e987"; }
{ locale = "lv"; arch = "linux-i686"; sha1 = "88c90db1b921a76cb85632e0f362b122d4da411c"; }
{ locale = "lv"; arch = "linux-x86_64"; sha1 = "3c2a1c0b507c486b709c1010343a97bc8f7c3e77"; }
{ locale = "mai"; arch = "linux-i686"; sha1 = "5b73e8d4a01826f3b27664b9289953ad3784793b"; }
{ locale = "mai"; arch = "linux-x86_64"; sha1 = "d988bee839d38d09b990cc93107cc2f53e236928"; }
{ locale = "mk"; arch = "linux-i686"; sha1 = "dce5f05792e19ae41352b33a15721e91b1ec51d8"; }
{ locale = "mk"; arch = "linux-x86_64"; sha1 = "92025b929fceecefc7bc120a3bf7cbd4374dadb0"; }
{ locale = "ml"; arch = "linux-i686"; sha1 = "073aee45ae60efb142514353125f8f73d07cb41b"; }
{ locale = "ml"; arch = "linux-x86_64"; sha1 = "0aa10e353aacc98de2799c42fb1a767a2db073df"; }
{ locale = "mr"; arch = "linux-i686"; sha1 = "96f72aa8dbde2c807d314dffe7b17d9ef8cd4cbb"; }
{ locale = "mr"; arch = "linux-x86_64"; sha1 = "0153e84af4ee51cfe046b7419471788becae94bb"; }
{ locale = "ms"; arch = "linux-i686"; sha1 = "a5a9a008006830b903aff077dd4ecbd88f56e065"; }
{ locale = "ms"; arch = "linux-x86_64"; sha1 = "d62254d76c09c6e7ecf5b8fce5f16c19f6778f95"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha1 = "23552008764881e8132ad918f7fee319d8663665"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "eb42bdb42d0e51b1c68dc50b8da066682afa6a68"; }
{ locale = "nl"; arch = "linux-i686"; sha1 = "88fea28ecd7f8257fac516183e48f6a23599850b"; }
{ locale = "nl"; arch = "linux-x86_64"; sha1 = "9f5002532f94726b53de4c2ea9e0099a2b88e4cc"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha1 = "005f55140ced2888691c3695f491063874c083e0"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "9e8c4103fe98a591ca62f8bf3b73dd91ff8e6973"; }
{ locale = "or"; arch = "linux-i686"; sha1 = "20f94f1c14cfcd95825cbf0613e94b4bf4db8e55"; }
{ locale = "or"; arch = "linux-x86_64"; sha1 = "9a31112abecd538e1b9489b16a89fd5c8bb10d25"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha1 = "fa6d6e65d14f7b771c65465b67f1ceca83402051"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "9268ffeb1982f08044ab882224aad93da4064340"; }
{ locale = "pl"; arch = "linux-i686"; sha1 = "97b6e4700c6cd35a40e9256dc558cc0f01198c75"; }
{ locale = "pl"; arch = "linux-x86_64"; sha1 = "46c721a5c778a7dbc51f6a89ef29ee00203a64f9"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha1 = "11f6f7868a6733a2459d3e36e106526eb0a2b44f"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "d276a761068f662b59c7d832f24bd756eda5a37a"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha1 = "3eeb28a4a01d13111a2214ee64647f332d476088"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "a55faf0846dbf8e964402e75f7c213968afd4568"; }
{ locale = "rm"; arch = "linux-i686"; sha1 = "471757165eeeeb2e97f3a2e71fc942ad7f7719e4"; }
{ locale = "rm"; arch = "linux-x86_64"; sha1 = "3583eaf02e502d1346de9ef769a9df236a78599d"; }
{ locale = "ro"; arch = "linux-i686"; sha1 = "1b93473d549e639b9e3f29e31387fb79ae373d94"; }
{ locale = "ro"; arch = "linux-x86_64"; sha1 = "dc0255b15ff129cb38eaa0a52d61a2f74bbcf7bc"; }
{ locale = "ru"; arch = "linux-i686"; sha1 = "43ba7700c44d26b6433678d7dd6e0a0c14d93f45"; }
{ locale = "ru"; arch = "linux-x86_64"; sha1 = "46bc5736bbfcfb948e9980dbc63b901753e16862"; }
{ locale = "si"; arch = "linux-i686"; sha1 = "d445f110df79720b14fd6f445167a706b116488b"; }
{ locale = "si"; arch = "linux-x86_64"; sha1 = "b4b3db391ae6e2d503633245878a00f4e33e0d43"; }
{ locale = "sk"; arch = "linux-i686"; sha1 = "3080a0fb40da4e96943114d20f1f72529d0667bf"; }
{ locale = "sk"; arch = "linux-x86_64"; sha1 = "7158353b5310e77ca0497c288f0662e1f922fb7a"; }
{ locale = "sl"; arch = "linux-i686"; sha1 = "24260e9b0fcb7313a3eebe5070e0a94b27bf81a2"; }
{ locale = "sl"; arch = "linux-x86_64"; sha1 = "9a5add8d7300ddc64089e02404825514ff17647a"; }
{ locale = "son"; arch = "linux-i686"; sha1 = "600913614d41258cc77cf506cc13d1ddab40625d"; }
{ locale = "son"; arch = "linux-x86_64"; sha1 = "b278970e4ca2ccb2dd3491a905bbdbbf0d70490e"; }
{ locale = "sq"; arch = "linux-i686"; sha1 = "5f15a63b1648e44ae9551aba26e81ec48a6bdfae"; }
{ locale = "sq"; arch = "linux-x86_64"; sha1 = "cbb9ed192d45f6acaaa27ecfa41b618053c6d7d6"; }
{ locale = "sr"; arch = "linux-i686"; sha1 = "6ef381a41653bdaeb86315c090fcbc31b9dc606b"; }
{ locale = "sr"; arch = "linux-x86_64"; sha1 = "0c0957b8bf14789c1d535044ab4c23c6da7b7fb0"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha1 = "1e1aff3b58c5545d4fca293e36392d1bfa94ad84"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "6af5115d5c998f01fc47a632a2043d1796dc0e48"; }
{ locale = "ta"; arch = "linux-i686"; sha1 = "69b0da1959ebe1216042b7e9eb50ce35c1d32dd6"; }
{ locale = "ta"; arch = "linux-x86_64"; sha1 = "423f5eee83bedcc10aaf43ba78fe8eda221f7225"; }
{ locale = "te"; arch = "linux-i686"; sha1 = "05c078b8532236c8807366058fa56d86f7d9f202"; }
{ locale = "te"; arch = "linux-x86_64"; sha1 = "36edfcbe5eee5700b99285d4be56d812f8d6126c"; }
{ locale = "th"; arch = "linux-i686"; sha1 = "f1dbcb989ab807dde9c718564f2a6666e541fb08"; }
{ locale = "th"; arch = "linux-x86_64"; sha1 = "6b97dc0cfb18c168b909e80a0cf6944197fcf971"; }
{ locale = "tr"; arch = "linux-i686"; sha1 = "a5311e7bbece416d44659fb6a026d1c4b7e559ad"; }
{ locale = "tr"; arch = "linux-x86_64"; sha1 = "75c876fc07f088b4909cc07892e15b9cda8d7d57"; }
{ locale = "uk"; arch = "linux-i686"; sha1 = "24bcdf22c9887b6272289fc74ec9b7c5ca210fd6"; }
{ locale = "uk"; arch = "linux-x86_64"; sha1 = "4d334079f0314f3ec7ad201b3ff3a47c096820c7"; }
{ locale = "vi"; arch = "linux-i686"; sha1 = "31a06884815086e2c2e5f2e346b645e7831bbe0f"; }
{ locale = "vi"; arch = "linux-x86_64"; sha1 = "f842a69f2b9ac552227fc70c9f83851d6e493111"; }
{ locale = "xh"; arch = "linux-i686"; sha1 = "feab880c09ad8b7cda7cae61886da651c21e54e6"; }
{ locale = "xh"; arch = "linux-x86_64"; sha1 = "b30851acdbaba53791698277d4285da3229707ae"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha1 = "27166890fc8b804fe092fad68b04c59ee9705b70"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "e7f8aac338aa457bc8de8dc68e7d8f0af6303420"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha1 = "e9ea70c45439fd09a8b36694a9e59d7161aa6341"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "c907e3c10dddfb313c7570fe8232c74673d2fc93"; }
{ locale = "zu"; arch = "linux-i686"; sha1 = "d1aad06eeebd135c65092f78d50f2b9c64705320"; }
{ locale = "zu"; arch = "linux-x86_64"; sha1 = "2fbb2d086c8260dda2485c430143a53c4f1383f0"; }
];
}

View file

@ -15,14 +15,14 @@
assert stdenv.gcc ? libc && stdenv.gcc.libc != null; assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
let version = "33.0.1"; in let version = "33.0.2"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "firefox-${version}"; name = "firefox-${version}";
src = fetchurl { src = fetchurl {
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2"; url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
sha1 = "09b9ca1f6af1e0ff8716d559ccf55801ae1a8f2d"; sha1 = "60657ba123df85a632822974d8f914cc8c35a738";
}; };
buildInputs = buildInputs =

View file

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
perl perlXMLParser evolution_data_server gnome_doc_utils avahi perl perlXMLParser evolution_data_server gnome_doc_utils avahi
libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
hicolor_icon_theme gnome3.gnome_icon_theme boost boost.lib hicolor_icon_theme gnome3.gnome_icon_theme boost
autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr
nss zlib libsecret libXrandr randrproto which libxslt libtasn1 nss zlib libsecret libXrandr randrproto which libxslt libtasn1
gmp nettle makeWrapper ]; gmp nettle makeWrapper ];

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "kadu-0.12.2"; name = "kadu-0.12.3";
src = fetchurl { src = fetchurl {
url = http://download.kadu.im/stable/kadu-0.12.2.tar.bz2; url = http://download.kadu.im/stable/kadu-0.12.3.tar.bz2;
sha256 = "0rqhkiyn8c7jigpxmvwh7daxsgjxlvd16zjdss1azdzd9x2dbym1"; sha256 = "1a5q5b8pm253cwg6ahahjdm8jxj0pv41apyi1nvvy08bs38bn1yn";
}; };
buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig

View file

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
configureFlags = "--with-extra-includes=${libjpeg}/include"; configureFlags = "--with-extra-includes=${libjpeg}/include";
buildInputs = buildInputs =
[ pkgconfig autoreconfHook commoncpp2 openssl boost boost.lib libsndfile [ pkgconfig autoreconfHook commoncpp2 openssl boost libsndfile
libxml2 libjpeg readline qt3 perl file libxml2 libjpeg readline qt3 perl file
# optional ? : # optional ? :
alsaLib speex alsaLib speex

View file

@ -12,17 +12,17 @@ let
buildInputs = map (n: builtins.getAttr n x) buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames)); (builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec { sourceInfo = rec {
version="1.2.3"; version="1.2.4";
baseName="vacuum-im"; baseName="vacuum-im";
name="${baseName}-${version}"; name="${baseName}-${version}";
url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz"; url="https://googledrive.com/host/0B7A5K_290X8-d1hjQmJaSGZmTTA/vacuum-1.2.4.tar.gz";
hash="037k2b2kkp2ywkrshqa0fj18mkd2jq60x4x62kzbrsvb85qcbbxh"; sha256="10qxpfbbaagqcalhk0nagvi5irbbz5hk31w19lba8hxf6pfylrhf";
}; };
in in
rec { rec {
src = a.fetchurl { src = a.fetchurl {
url = sourceInfo.url; url = sourceInfo.url;
sha256 = sourceInfo.hash; sha256 = sourceInfo.sha256;
}; };
inherit (sourceInfo) name version; inherit (sourceInfo) name version;

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl"; sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
}; };
buildInputs = [ qt5 pkgconfig boost boost.lib ]; buildInputs = [ qt5 pkgconfig boost ];
postPatch = '' postPatch = ''
sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro

View file

@ -1,8 +1,3 @@
# This file is generated from generate_nix.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_nix.rb > default.nix
{ stdenv, fetchurl, config { stdenv, fetchurl, config
, gconf , gconf
, alsaLib , alsaLib
@ -39,121 +34,10 @@
assert stdenv.isLinux; assert stdenv.isLinux;
let # imports `version` and `sources`
version = "31.2.0"; with (import ./sources.nix);
sources = [
{ locale = "tr"; arch = "linux-i686"; sha256 = "02dc838606507040c73ddff4a1b60fec7d6e613aa08da2ce1c76e9c367bc29e5"; }
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "a93243ab5b1d64a94bf10833d6b8985a65906d0be24bdcdd7b5babfb1d466bcd"; }
{ locale = "nl"; arch = "linux-i686"; sha256 = "d675da8358bf4ed519ee49dcc2c2162075b5e9e0fca244b474322a7614f535da"; }
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "4e8f9e3f9fe851dc38deae42443cf884776e1d93abf34ce6963651a85afdc4a9"; }
{ locale = "he"; arch = "linux-i686"; sha256 = "8a769559e73abfdb610891a23538ef38df3852ffb39d02cba96e6a8ec914f94a"; }
{ locale = "he"; arch = "linux-x86_64"; sha256 = "e53b95914753b8640b69e104fbf5efb2fddcecc17eded23974c08274378105c2"; }
{ locale = "bg"; arch = "linux-i686"; sha256 = "60deb9deb678c9e5233d9c0146aa4fc8a74b9ba9b5be43ed8c5a452039b8307d"; }
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "73e5c984d5d3fa17f93cb947fd63671fba66bab94117db84e187cb9260500101"; }
{ locale = "si"; arch = "linux-i686"; sha256 = "669d825940712d7f10c7303e3e0a0ed9c48e9e5c26b0c035ed58bf8694d5ddc3"; }
{ locale = "si"; arch = "linux-x86_64"; sha256 = "e60e048af0c965ac6f2adedb58e192d6d4208bf7f57dcef13b899da04ca14420"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "f5f5b653e17b495c3cb4b1a26b39d3fdbeedb22c8d733cb2f3b6e57d46269949"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "653cc18216f5fc156feef73170f903471480612a4de6df4efa3cce79b58fee28"; }
{ locale = "ro"; arch = "linux-i686"; sha256 = "5cc87c9c84c205f99dc3fa58be8fedd72b9afccb69c91616f11929e2a7e075fd"; }
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "dc6e8f5dd30a7e2dcfebabfcc508de89cde3754c036811df7168f4f1e53c1477"; }
{ locale = "ast"; arch = "linux-i686"; sha256 = "653025d1260db10310f8d689cb4554acf7a6388a99bac977b6f59b683d7e5983"; }
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "1a4623f94b4c68b6b89ec53c512f860388965dc36f2d06272341a194dc85eef6"; }
{ locale = "pl"; arch = "linux-i686"; sha256 = "0e0ae13028d5f65a54398c634ed5b4a6685e2dc84b05121e71a0c0ca7a04053e"; }
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "2589909994cfa059d55a75b7d8f756c09f67994034f7f45c7b5b8805302645bf"; }
{ locale = "gl"; arch = "linux-i686"; sha256 = "155e79bad6226eb2231a08856415b5e4a15cb02235b0b17ff7c0378c38d2dc93"; }
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "688d3c51645061fda283e2d486de1306f0b457149c82cbd20c7c019e76ed98b2"; }
{ locale = "ja"; arch = "linux-i686"; sha256 = "90b3bbc31046daada0ce995108fb9542aeb878220579836ed0e5b14088199795"; }
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "ebd172d4a74ef757ceace8799c752e34fa0fb41dd5f4083d2aad2df4efd0329b"; }
{ locale = "ca"; arch = "linux-i686"; sha256 = "c1502e310fd4b0a682fef147b4f5a97db972ed49916012a145ce6d5c4afd6452"; }
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "bac8bfe883d35f3624bae8cd4d831694a8e3f2b319a912ad5007e39483a22e70"; }
{ locale = "fr"; arch = "linux-i686"; sha256 = "d0315db23af439e736e02d93d2467c86fe2a186c849aef32e928adb5059fa7fd"; }
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "8d5c5c4ac8865ee233ea10d2c4b153bb47cf4df4047dfae9aa7b5722c293e5cc"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "9bbac5b2d4ada74e6cdc8730997d47043d319a79a61636322038584265001fed"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "ac828318d8ce07332af73b3146f77825e51e8df8e858c0596589dbdfb2c8718f"; }
{ locale = "sl"; arch = "linux-i686"; sha256 = "16276607ffd4fa9fac4077cfc6da91ced5d5a4b08d804726d9d4b7e870cc25f2"; }
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "7e1c2f2aaa973b7a19518c62beb43130d7fb95d4c5aecd3370d7ab2fb59f37c5"; }
{ locale = "be"; arch = "linux-i686"; sha256 = "48b27779e6ee95971d72a6be14e69ac1e724f5450126ad2627a9b2f0511b663c"; }
{ locale = "be"; arch = "linux-x86_64"; sha256 = "ebd551829f7a66b47a82cad5db79a27126719af71ada250dbaedf292077e9c8e"; }
{ locale = "ko"; arch = "linux-i686"; sha256 = "8f92e772ce7c54d6210c83fee257c9cc0b2a3542f41ac2059ea377c64d4f59ed"; }
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "b2cec9901318ec0754e8caca2d56e6e4d08deb4aa21db7fb04c555062b84b9be"; }
{ locale = "hr"; arch = "linux-i686"; sha256 = "c5a1da56142398fc79b6d356d600f8228b0a4f1ac40d04df4ff5c25564b77a6f"; }
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "5d0308e1c08960a26ac3328eb5be4c237e2320a38a6db077186f1d1a278feb8d"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "d0abb5c4657a4a04999a44f96d00271e8dc3ad79ae0e78cf4b820fc2fd29b266"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "fdde99be62fe6a911711e1ba69a2babcdba53216a5942494ab7e52cada8bf893"; }
{ locale = "vi"; arch = "linux-i686"; sha256 = "d0420a7ccd8f4fcd7f56497636baa701c71576d3b88440b609cbb3ebf245d4e4"; }
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "5657eb2a99f7c2cf32297bbb45fab4c0eb2dd48ba4ba98487beed18aa5e85ada"; }
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "fe60d3b13e964bd99730e8082b742729084e87f6a285deb8cd2383dccf881f1c"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "76faee1fd8da11731ece128832997de0f10501040921e6abb46fc0ae4922d568"; }
{ locale = "el"; arch = "linux-i686"; sha256 = "c1ad068c565abb7b3f16c843f6974fcec6f46714c3f9afb193d10ffa3773cbff"; }
{ locale = "el"; arch = "linux-x86_64"; sha256 = "b5cd4fb82525b67ef199b9eadaebe25f70a29e1dc43b2ad0f0074bf7d01a05f0"; }
{ locale = "is"; arch = "linux-i686"; sha256 = "195cb61263c4c01c345a5effcb5f4f6741a1ee10f716006a614d55721b013e48"; }
{ locale = "is"; arch = "linux-x86_64"; sha256 = "42447cb7c7689623a34607a0aa1a9866552756576932d45a4721c5fe8541070f"; }
{ locale = "ru"; arch = "linux-i686"; sha256 = "6c0f45046e4d1910a20e245f0b69af5b4fb2a9507abd99217bffe68bf213061e"; }
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "408f3b38fc416cc12640af0928fbea1506eae3f4a65b6b3b889bca54bb0a1521"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "330f4546fe50d717fc66b8417405d3c1eef8ca4f312b21563c426739eee4724a"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "283d3e581ebb84059985aad40f72338a77b068e27b8247e0ac16b915ed16f797"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "8068738dbfc0ed5f5a08b1b4a65a5e9e1ac780de43fc5f27c269dcd5e9998f97"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "a101856b6151cae9d33a909d1a0fc11eb26439ca161db55dc262bf86bb457c29"; }
{ locale = "sk"; arch = "linux-i686"; sha256 = "5a790cc811d8e392daa83b11feb232092ab97dc8c9fc0bb47b4013751a30f76e"; }
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "7842ceeab524c98387ca6319735bf7c331d34bcfde395078cc32c443e69962ef"; }
{ locale = "sr"; arch = "linux-i686"; sha256 = "06ded63a3d09af09ac68b318f79f07e924addb30d4c11903b6a86ba3ef476761"; }
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "53a99f98398b2044866422ca44b496d489c0b78724f28afb4f919eca656d528a"; }
{ locale = "en-US"; arch = "linux-i686"; sha256 = "4c4da90f383d7b43e97e471656a6cfbbd44d1b80d57b8b2405497678aced46b5"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "41ff22bc9a41aa0e71deebce4894e99f3e3737a57279a1488bf9d2f869cd56ad"; }
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "e11451297f17febcf0057ae02dc15a298aacc865146e1aac363300dac6de57c5"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "0e5d389a2c5b673b423dd2afad375eb6a7e05c8eb0b07ceb4975d658827d6cf5"; }
{ locale = "gd"; arch = "linux-i686"; sha256 = "5fc40508e7a6228065084fc91431af3b9231c6ce46ae3e88ef249ad67bf1b545"; }
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "ef365e27b05f4bd0c8211ed9e54ecfa4983111be74261303870a8d22e6093c08"; }
{ locale = "fi"; arch = "linux-i686"; sha256 = "9461f7d3953dc6aa5c9d2406331138a5e34d114eb5b48b09b562dade25a38ab7"; }
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "6a0310cc0e0a5d9e1590c735e91e8c1bb85358687f4a6a59219de05bb0cf9d1d"; }
{ locale = "de"; arch = "linux-i686"; sha256 = "b4fd29c1bd06c5d6b85aeb6434746f1fa0af627c5795ce2ebc7d3dddcf78e9e6"; }
{ locale = "de"; arch = "linux-x86_64"; sha256 = "b24afec0b5de5e872848dfcd609f1cf81fe2eed96cc9ee1a5f17fd1b68750d34"; }
{ locale = "sq"; arch = "linux-i686"; sha256 = "a78274174c8c26426d9f7e85589f6143f47fab9ce8eb9bbb91fc6c9444c1470d"; }
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "18c6ee5a732d777d9326593a4edfc30f11acdfef2397aa55c436d54a99de9c3a"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "3e12328500db45ecfb4572c3cad8b75a46d930ec57a426c8fbe6dd8e033f3cfc"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "a76f785c8c0b17f3962a94d4cee5bce9be7b91fd2805133f490ad516ba2d5ad8"; }
{ locale = "hu"; arch = "linux-i686"; sha256 = "72e1d888516119a6aa21d077fbe8faefc5cf13e8e422ae26aeed4416700f16af"; }
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "962f0b046ab3f385348022d78ffffdae6137b351c5031453f62b5fa1dd44a9b3"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "b5b11886e19a03e219bb803c7853bded9c5e4a2cde0a33abba4c0665a44ec8f4"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "faa18298e02ecd0eca77f4e68e88ebb91ca8ea3abb6241f53d82e1db7db95076"; }
{ locale = "cs"; arch = "linux-i686"; sha256 = "03b23597d55f1db442f8147bcff7108e3b520e0b5d05d819df07915ba6baa35f"; }
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "3dea9adb367958babb54dce3102d43d316088aa6140101d18a59cda20522d78f"; }
{ locale = "br"; arch = "linux-i686"; sha256 = "7b1814286847188ca68b3f24457b3a6ee5cd967833bf789104db0fedd2993941"; }
{ locale = "br"; arch = "linux-x86_64"; sha256 = "7605776d4a72d82fc65280df0cf9812f134a1dc790e0f60f089f287f38ed5db0"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "da8177ab1912d5a0047dd2f6848a421c8fe32d39bacb64e76e0633ddaca5f4de"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "60b1c2f1f209c5e16c6f29c0a5bcaf46c04bb2ae289925761193387ae65fe18d"; }
{ locale = "rm"; arch = "linux-i686"; sha256 = "29e073a8068f7d060cf2818d85d465df3f606aba95e867dc9aa67533d09e4b55"; }
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "8d8ac419650a9cd0b138aa823dcfb67e47f8522a5d51625090c26c45a5c577a7"; }
{ locale = "lt"; arch = "linux-i686"; sha256 = "9d537ff70f06a5189296a99126a57ab8664266ec2da673671e60e97678d3ed9d"; }
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "77f30fb2b94fa7cb690c5c0f2fff0ec89c1aa8f8915891d17a66357ddd10d462"; }
{ locale = "eu"; arch = "linux-i686"; sha256 = "1b613c1cf303a65c3065fc3edf15c6a051c1a7e347512e39cce425ef02828c3c"; }
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "a02a04bc88efca8523b4af8e4962b205ad13d9eb9879405db57356966b12202b"; }
{ locale = "it"; arch = "linux-i686"; sha256 = "baede1707cca4ff149956884f855fa0077c372275f6be6f59d32e47cc6509b5b"; }
{ locale = "it"; arch = "linux-x86_64"; sha256 = "e49f0b02d323e2f83d0da2a5ec2e4585693362545e50bfba51e273d0edf52813"; }
{ locale = "id"; arch = "linux-i686"; sha256 = "31691ec0b51d19bdab2efe2ab1813bd3363e71ad62bc4f5a860e017516509ad5"; }
{ locale = "id"; arch = "linux-x86_64"; sha256 = "c6241fb8cd1d83ac5753518c2cc215ee831fa24b816a5a522029d14cea24b15b"; }
{ locale = "da"; arch = "linux-i686"; sha256 = "aa6c91c15ff9f1769d727883c17720a2732ede4b786c4bff7d42fe25c129246b"; }
{ locale = "da"; arch = "linux-x86_64"; sha256 = "b940f8ab5b2ad50faedc4520f4a7bd5936debfd70b2fa86b2abf955a22557b20"; }
{ locale = "ta-LK"; arch = "linux-i686"; sha256 = "cc70eb04cbab5bcd674e40c4d58760c07353726c968f766fc749fcd7154fddd9"; }
{ locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "948172b68287b1cd8a1d7a32b3e7fd5494390aefea1683cbad34f12ba5d241a7"; }
{ locale = "uk"; arch = "linux-i686"; sha256 = "6b45d36abc8fe1c731baf855866000ffa08671d025ab97b5301b22079765d70c"; }
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "9d619639157c645bc34628b7c31ccfb4e8223b891cf8e99118e7b767f7f5e24b"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "a9176628228c3f3e07d2929caa872b4a24d9f620de79a148c01f0716c9dd058f"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "f067e1f516d639b2cc997019a39b568d6377437d2d6810fb87d23a64e72995a0"; }
{ locale = "ar"; arch = "linux-i686"; sha256 = "7b016747c9e9066a8e4383303ee22e600d3b00716c53755c95067dc8b6267046"; }
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "f798804c9aa0eb8fd9cde80acf8a2ebc3b4855588ff14092da935cd77bbc660a"; }
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "7a19e07c52de321f8f182bd14fdaf137b120167d9d2ab4929476f7cf9a94a744"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "b66b2ff31cc778f52ce9e987f38a93f973c04dacbf04559b1872537a083cb98e"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "7599ba2b65fcac92464c2ee480c4c823cd0f35661fa30982575e6f87069d3e58"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "e81f157f75f2eb94f28dc7f2da5c1d0fbb8f8077c28c3afdb2144dd906ce773f"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "bdcafd77469b70a8e02cacab63503e4ba085e3b4230e012313f743a130448cb1"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "2f57c5353e75ec9dd56abf4c4f197af64648e3e2e927b7c868db6f664abb2e14"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "f9d8a77df3e4718260e9235ce09008a224e02bde12efe5a88c9341432637f0c4"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "46a4ae81ecd6fb22aed54a0ca40ddf292adc94b37b38a57e9ab64f5bed8b0a39"; }
{ locale = "et"; arch = "linux-i686"; sha256 = "f03136ad26eb1d5ead82e26e8620e3cd1b7f30ceb552329d008a33bcb2e930c4"; }
{ locale = "et"; arch = "linux-x86_64"; sha256 = "d2e446dea1db14210da9e1556614a92954c61ce00b24958ea4c2a61b597c0b13"; }
];
let
arch = if stdenv.system == "i686-linux" arch = if stdenv.system == "i686-linux"
then "linux-i686" then "linux-i686"
else "linux-x86_64"; else "linux-x86_64";
@ -177,7 +61,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2"; url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
inherit (source) sha256; inherit (source) sha1;
}; };
phases = "unpackPhase installPhase"; phases = "unpackPhase installPhase";

View file

@ -1,213 +0,0 @@
version = if ARGV.empty?
"latest"
else
ARGV[0]
end
base_path = "download-installer.cdn.mozilla.net/pub/thunderbird/releases"
arches = ["linux-i686", "linux-x86_64"]
arches.each do |arch|
system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
end
locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
File.basename(path)
end
locales.delete("index.html")
locales.delete("xpi")
real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/thunderbird-*")[0].match(/thunderbird-([0-9.]*)/)[1][0..-2]
locale_arch_path_tuples = locales.flat_map do |locale|
arches.map do |arch|
path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/thunderbird-*")[0]
[locale, arch, path]
end
end
paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
input.each_line.map do |line|
$stderr.puts(line)
line.match(/^[0-9a-f]*/)[0]
end
end
puts(<<"EOH")
# This file is generated from generate_nix.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_nix.rb > default.nix
{ stdenv, fetchurl, config
, gconf
, alsaLib
, at_spi2_atk
, atk
, cairo
, cups
, curl
, dbus_glib
, dbus_libs
, fontconfig
, freetype
, gdk_pixbuf
, glib
, glibc
, gst_plugins_base
, gstreamer
, gtk
, kerberos
, libX11
, libXScrnSaver
, libXext
, libXinerama
, libXrender
, libXt
, libcanberra
, libgnome
, libgnomeui
, mesa
, nspr
, nss
, pango
}:
assert stdenv.isLinux;
let
version = "#{real_version}";
sources = [
EOH
locale_arch_path_tuples.zip(hashes) do |tuple, hash|
locale, arch, path = tuple
puts(%Q| { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
end
puts(<<'EOF')
];
arch = if stdenv.system == "i686-linux"
then "linux-i686"
else "linux-x86_64";
isPrefixOf = prefix: string:
builtins.substring 0 (builtins.stringLength prefix) string == prefix;
sourceMatches = locale: source:
(isPrefixOf source.locale locale) && source.arch == arch;
systemLocale = config.i18n.defaultLocale or "en-US";
defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
in
stdenv.mkDerivation {
name = "thunderbird-bin-${version}";
src = fetchurl {
url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
inherit (source) sha256;
};
phases = "unpackPhase installPhase";
libPath = stdenv.lib.makeLibraryPath
[ stdenv.gcc.gcc
gconf
alsaLib
at_spi2_atk
atk
cairo
cups
curl
dbus_glib
dbus_libs
fontconfig
freetype
gdk_pixbuf
glib
glibc
gst_plugins_base
gstreamer
gtk
kerberos
libX11
libXScrnSaver
libXext
libXinerama
libXrender
libXt
libcanberra
libgnome
libgnomeui
mesa
nspr
nss
pango
] + ":" + stdenv.lib.makeSearchPath "lib64" [
stdenv.gcc.gcc
];
installPhase =
''
mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
mkdir -p "$out/bin"
ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
for executable in \
thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
updater
do
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
"$out/usr/lib/thunderbird-bin-${version}/$executable"
done
for executable in \
thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
updater libxul.so
do
patchelf --set-rpath "$libPath" \
"$out/usr/lib/thunderbird-bin-${version}/$executable"
done
# Create a desktop item.
mkdir -p $out/share/applications
cat > $out/share/applications/thunderbird.desktop <<EOF
[Desktop Entry]
Type=Application
Exec=$out/bin/thunderbird
Icon=$out/lib/thunderbird-bin-${version}/chrome/icons/default/default256.png
Name=Thunderbird
GenericName=Mail Reader
Categories=Application;Network;
EOF
'';
meta = with stdenv.lib; {
description = "Mozilla Thunderbird, a full-featured email client";
homepage = http://www.mozilla.org/thunderbird/;
license = {
shortName = "unfree"; # not sure
fullName = "unfree";
url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
};
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
platforms = platforms.linux;
};
}
EOF

View file

@ -0,0 +1,46 @@
require "open-uri"
version = if ARGV.empty?
"latest"
else
ARGV[0]
end
base_path = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases"
Source = Struct.new(:hash, :arch, :locale, :filename)
sources = open("#{base_path}/#{version}/SHA1SUMS") do |input|
input.readlines
end.select do |line|
/\/thunderbird-.*\.tar\.bz2$/ === line && !(/source/ === line)
end.map do |line|
hash, name = line.chomp.split(/ +/)
Source.new(hash, *(name.split("/")))
end.sort_by do |source|
[source.locale, source.arch]
end
real_version = sources[0].filename.match(/thunderbird-([0-9.]*)\.tar\.bz2/)[1]
arches = ["linux-i686", "linux-x86_64"]
puts(<<"EOH")
# This file is generated from generate_nix.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_source.rb > source.nix
{
version = "#{real_version}";
sources = [
EOH
sources.each do |source|
puts(%Q| { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
end
puts(<<'EOF')
];
}
EOF

View file

@ -0,0 +1,120 @@
# This file is generated from generate_nix.rb. DO NOT EDIT.
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_source.rb > source.nix
{
version = "31.2.0";
sources = [
{ locale = "ar"; arch = "linux-i686"; sha1 = "d56d0a2590e04fca857f5083be846b8de73a138c"; }
{ locale = "ar"; arch = "linux-x86_64"; sha1 = "8e6f0280225e71859cedf72307e12179e71b2bca"; }
{ locale = "ast"; arch = "linux-i686"; sha1 = "ca2544e5b09b065df8763e8c803856a3313c12b7"; }
{ locale = "ast"; arch = "linux-x86_64"; sha1 = "71487e868e4a2a87fc2f1550c3c6959016cf4de4"; }
{ locale = "be"; arch = "linux-i686"; sha1 = "1620d97545765499b37eb05d04bf6d9ee1470544"; }
{ locale = "be"; arch = "linux-x86_64"; sha1 = "1aebaef6d0e05c6e8ca0d7673b5ab7d9123305ed"; }
{ locale = "bg"; arch = "linux-i686"; sha1 = "af62f41d3abb604ea4c9bd7ef297eaa28f65e00c"; }
{ locale = "bg"; arch = "linux-x86_64"; sha1 = "d67bba94639d967e65328fb989696e4e461a0bd3"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha1 = "7d7180ab9fdb0694ea93842f79411038f576c3a9"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "4794ee971d932272ac809e2cdf432de5f38e0073"; }
{ locale = "br"; arch = "linux-i686"; sha1 = "533b40426ca2ad796ffe8ce45051701c27c179be"; }
{ locale = "br"; arch = "linux-x86_64"; sha1 = "921b1d5a09a3ee282dead4762176eade35a18270"; }
{ locale = "ca"; arch = "linux-i686"; sha1 = "01858a6bd869dd5060899af428924c3e5d700ee6"; }
{ locale = "ca"; arch = "linux-x86_64"; sha1 = "1d64573818675c956b4b61b5501b1c2420dfd894"; }
{ locale = "cs"; arch = "linux-i686"; sha1 = "582dacac45ba886232cc0e9b2757996af1c61fd6"; }
{ locale = "cs"; arch = "linux-x86_64"; sha1 = "6dc0aa493e90c1c24b2cb3c323a4778413371486"; }
{ locale = "da"; arch = "linux-i686"; sha1 = "c64e7c50015d4cd633695f98715b6082f23bfb5f"; }
{ locale = "da"; arch = "linux-x86_64"; sha1 = "10bc1b1758a1cc53fb9503d8ae02c92e640bfb13"; }
{ locale = "de"; arch = "linux-i686"; sha1 = "69be28626ef89fba20b568cc026786c82a6a3dd6"; }
{ locale = "de"; arch = "linux-x86_64"; sha1 = "4d43592b2b28241c3e95c089f52b5adfb6c60d80"; }
{ locale = "el"; arch = "linux-i686"; sha1 = "881a8a8021ee63ed0d62c594bee464532b2d63f9"; }
{ locale = "el"; arch = "linux-x86_64"; sha1 = "53a30b91a9391e673537ba23ab194573bb40535f"; }
{ locale = "en-GB"; arch = "linux-i686"; sha1 = "acc98d20faccfcbaaff944957b334598faf73351"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha1 = "01ba64dc0228f17c3afc86559a541bc1fd71646a"; }
{ locale = "en-US"; arch = "linux-i686"; sha1 = "fb035b98358fd697e31162f639a5f01d1f43490b"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha1 = "26be2c2f908054dc3c8b3d53bfe3a840aae56428"; }
{ locale = "es-AR"; arch = "linux-i686"; sha1 = "10049cd0188485a6ab61519402fa74d62e9cab2b"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha1 = "f579cd0579ff249dc100658cc0e7e6677a28976d"; }
{ locale = "es-ES"; arch = "linux-i686"; sha1 = "fb9174c60d66141fdf568c92259b02579e70e9fe"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha1 = "8f0f216d81badf5bffd976c0472d9f1318672e48"; }
{ locale = "et"; arch = "linux-i686"; sha1 = "052477b4febfb97d446976d81453289850a61aa3"; }
{ locale = "et"; arch = "linux-x86_64"; sha1 = "6a6341649624e9932714d32d750501e71dbb3106"; }
{ locale = "eu"; arch = "linux-i686"; sha1 = "effe11b4ab62a11c110e0edfd9b46c5c8f259133"; }
{ locale = "eu"; arch = "linux-x86_64"; sha1 = "5152d64bf47f7b92a1e33b42ba1b48596f7069d8"; }
{ locale = "fi"; arch = "linux-i686"; sha1 = "6b3019504e9a97db8eae5a35c2b963ebdca144ed"; }
{ locale = "fi"; arch = "linux-x86_64"; sha1 = "a44a93c9c727ecb64f6f83a3fa6c66fc0f1a1153"; }
{ locale = "fr"; arch = "linux-i686"; sha1 = "31c96279136afe886465eae51b6f32d3f13e53bb"; }
{ locale = "fr"; arch = "linux-x86_64"; sha1 = "c2923291007f5480d2913d6093b38233939f089a"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha1 = "00425ba7a789dca73ad5cb3a65bc08040f1a8d2f"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "a462db5d04e8ad7c3840912b8445041391d01973"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha1 = "2158427e0f838e958d40a1d3b6a4e50127ac00ea"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "2390c016ee8b52cf927e4f9cb74b20d65fe06de3"; }
{ locale = "gd"; arch = "linux-i686"; sha1 = "d7e2675b58ff68bff21fb9d0ce0643073df4e491"; }
{ locale = "gd"; arch = "linux-x86_64"; sha1 = "ba01c8483e05a4b612443c8172737d901f665666"; }
{ locale = "gl"; arch = "linux-i686"; sha1 = "9e2895f43b978304e42ec714b01857f494cea265"; }
{ locale = "gl"; arch = "linux-x86_64"; sha1 = "c1cf1ee118b1133f8df6314a2aa8e83be14b4d5b"; }
{ locale = "he"; arch = "linux-i686"; sha1 = "a0a872333657bccb342a086a576f273fd34a2d21"; }
{ locale = "he"; arch = "linux-x86_64"; sha1 = "6ceb775435b2ed0a14f11c096b595361baf6282d"; }
{ locale = "hr"; arch = "linux-i686"; sha1 = "8975da24b95de228584cd5c8ab8c6d174f0fcd60"; }
{ locale = "hr"; arch = "linux-x86_64"; sha1 = "23467c23408408c878afe00244bf4779b1eead03"; }
{ locale = "hu"; arch = "linux-i686"; sha1 = "690b220b01a1bcd683409fca76d50a507e09241e"; }
{ locale = "hu"; arch = "linux-x86_64"; sha1 = "99ff74aab54f05295199edcb0e06b0fc68bff234"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha1 = "ed490aa96fce3e61c61ea60f7353edc06fffb5ce"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "f907190eedbcca43e830f632416a0cfd4df9c77e"; }
{ locale = "id"; arch = "linux-i686"; sha1 = "3e328a1dd6c29f38913171aae8939f636eb9c845"; }
{ locale = "id"; arch = "linux-x86_64"; sha1 = "ed074968abf7fb207c747c88a21d1f5834228445"; }
{ locale = "is"; arch = "linux-i686"; sha1 = "2da9b0ade06b20c19a90eb192c85e17ed96487b1"; }
{ locale = "is"; arch = "linux-x86_64"; sha1 = "7eefd8c52f95ed4c011ec1b95b4b7b1237801cdd"; }
{ locale = "it"; arch = "linux-i686"; sha1 = "c46a316fe393dd2353802e488a31b55699ee8d62"; }
{ locale = "it"; arch = "linux-x86_64"; sha1 = "3e13de5f40f71455a1bf2e562c0ea07833ed28a6"; }
{ locale = "ja"; arch = "linux-i686"; sha1 = "1a3e904090d6786f23b88cd91afa2f34fc732c70"; }
{ locale = "ja"; arch = "linux-x86_64"; sha1 = "8b8259bb4cbd30bc0e7aff95585d3f29e9bdd566"; }
{ locale = "ko"; arch = "linux-i686"; sha1 = "af8db8f0a4329babec9ede706ce36e0f5dcc714e"; }
{ locale = "ko"; arch = "linux-x86_64"; sha1 = "0397e824b2f2158b0862fe2ac7d192bc8c2c0a8b"; }
{ locale = "lt"; arch = "linux-i686"; sha1 = "b53dae618889ef676053154517b69c05f0051ffe"; }
{ locale = "lt"; arch = "linux-x86_64"; sha1 = "cb82a5027aecb830197b764c86452a008da5f55f"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha1 = "7cca3934255d4f73f35fff9ef90e0c2ea48e856b"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "4b86d7723efd32be9722012e17ca0d49560fe22a"; }
{ locale = "nl"; arch = "linux-i686"; sha1 = "dc7430d675f88aa0f7e4b78fa93572305ed97222"; }
{ locale = "nl"; arch = "linux-x86_64"; sha1 = "e9e9f7ed4308d496bb6490ac252f236bcd659bda"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha1 = "5a5f40de1986de090a59205446ce5918910c2ae1"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "649eea7ff3be8b2d8cb0fa9df623e8f38117132d"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha1 = "5255472c604dd97b44433ab76c34d4e6c1e44d17"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "8a1e3a0ec2400a43b41856fb111e86392d29a1fe"; }
{ locale = "pl"; arch = "linux-i686"; sha1 = "b279dbd5bfe1e45ac65891b6632461c8f76ac9b0"; }
{ locale = "pl"; arch = "linux-x86_64"; sha1 = "46b827110e9bb188075fa58088b2bec1a2762609"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha1 = "f2bcec6668773a907368d9d04cc3fb018992637c"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "f91868c8678862da540e7e7ba9fc1ae1756de0db"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha1 = "4f62468a76e73b98f85bc13c48ad0e9c62cded36"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "a3647ab9b35f22e6ca6b0f943321f40c4376659f"; }
{ locale = "rm"; arch = "linux-i686"; sha1 = "fb0af4d895b50cbb20fa049c83c0f47f8cf494d4"; }
{ locale = "rm"; arch = "linux-x86_64"; sha1 = "49501a9a00349a2db0be269831b76021f5a4d116"; }
{ locale = "ro"; arch = "linux-i686"; sha1 = "4b03ae9f43f6b1c473fe170fae4141a1aa2898d5"; }
{ locale = "ro"; arch = "linux-x86_64"; sha1 = "0e0dc3b8836696b5453cef65c343b77c42df0e7a"; }
{ locale = "ru"; arch = "linux-i686"; sha1 = "35c31b019b2c97f534f8ca33dcfb00503c712704"; }
{ locale = "ru"; arch = "linux-x86_64"; sha1 = "814eb4985e17a88af793e1e9dd657fd9b9a32822"; }
{ locale = "si"; arch = "linux-i686"; sha1 = "f700ffb1ce581fc19f4abbaa9139d4be904bace4"; }
{ locale = "si"; arch = "linux-x86_64"; sha1 = "bd772880dac1bee8208dbf6a3e1a244af2d884aa"; }
{ locale = "sk"; arch = "linux-i686"; sha1 = "6ff95241e3feab5c003a0dc9020ab089d0286f0e"; }
{ locale = "sk"; arch = "linux-x86_64"; sha1 = "7dfb864346fd853d83d910d98e1e530f049372d6"; }
{ locale = "sl"; arch = "linux-i686"; sha1 = "f9f824a578f77c13a8e39c9c5e756de8e05255cb"; }
{ locale = "sl"; arch = "linux-x86_64"; sha1 = "32e1e3983f0ea5e972f82d3c0f4663386f8da991"; }
{ locale = "sq"; arch = "linux-i686"; sha1 = "5b04196a291058c7c68485a245d73d01a2adfc27"; }
{ locale = "sq"; arch = "linux-x86_64"; sha1 = "1860030149e4568e8b24922dbed0673bc72aa7a2"; }
{ locale = "sr"; arch = "linux-i686"; sha1 = "c88e8d47f4078cb06600c4b6128b3d7a62239608"; }
{ locale = "sr"; arch = "linux-x86_64"; sha1 = "195c76ce3b8cbc4d8a6cfb015116bbf57ffbed7e"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha1 = "d19cfcfce1118693c0dee00dc8dbdc657932e817"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "92a1bd6764eef68e537c45c77b893da55ba910bc"; }
{ locale = "ta-LK"; arch = "linux-i686"; sha1 = "4bf45f785006cf30305d11aedf00d0038995e7e2"; }
{ locale = "ta-LK"; arch = "linux-x86_64"; sha1 = "30be2773e6922e6abc4af33cca35964425059fca"; }
{ locale = "tr"; arch = "linux-i686"; sha1 = "3a7de4dbed32a7d7b0faa20246f2ffc07ab31b44"; }
{ locale = "tr"; arch = "linux-x86_64"; sha1 = "d64aea1cdf318d08321681f70ff22d7f80ae9e4e"; }
{ locale = "uk"; arch = "linux-i686"; sha1 = "48d3a17e0b24c55e1fe3b73b019365e38653b187"; }
{ locale = "uk"; arch = "linux-x86_64"; sha1 = "ba89e2038eac2e8ad34ac4296feda8c62f170143"; }
{ locale = "vi"; arch = "linux-i686"; sha1 = "06ebf22992bc3890df6fae5955bb9791b9bb1339"; }
{ locale = "vi"; arch = "linux-x86_64"; sha1 = "3e5d8b660e799eeeb37bb5b0fbf86d4d44fa31ba"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha1 = "5a697d19c7890f600697dea64aa5ecff8ef0e5a1"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "3226435da70e0aae98eaee1fb1c9a87af7167403"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha1 = "53a2c162f9186dca91cc35f5298285f4f9da7a55"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "12cdf96a7cc3ea40cd9542d8a7d16827116e65d7"; }
];
}

View file

@ -13,7 +13,7 @@
enableOfficialBranding ? false enableOfficialBranding ? false
}: }:
let version = "31.1.2"; in let version = "31.2.0"; in
let verName = "${version}"; in let verName = "${version}"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2"; url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
sha1 = "a3983e7d29bd70e8117ca26f5b9873c68675caa9"; sha1 = "87dff89388bd7ec51876e1bdbd82bc3fe60006b6";
}; };
buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx

View file

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "3d9170645450f9cb0a605278b8646fec2110b9637910d86fd27cf245cbe24eaf"; sha256 = "3d9170645450f9cb0a605278b8646fec2110b9637910d86fd27cf245cbe24eaf";
}; };
buildInputs = [ cmake pkgconfig qt4 boost boost.lib bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ]; buildInputs = [ cmake pkgconfig qt4 boost bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
cmakeFlags = '' cmakeFlags = ''
-DUSE_ASPELL=ON -DUSE_ASPELL=ON

View file

@ -0,0 +1,36 @@
{ stdenv, fetchurl, jre }:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "6.0.0";
name = "frostwire-${version}";
src = fetchurl {
url = "http://dl.frostwire.com/frostwire/${version}/frostwire-${version}.x86_64.tar.gz";
sha256 = "73d6e3db9971becf1c5b7faf12b62fa3ac0a243ac06b8b4eada9118f56990177";
};
inherit jre;
installPhase = ''
jar=$(ls */*.jar)
mkdir -p $out/share/java
mv $jar $out/share/java
mkdir -p $out/bin
cat > $out/bin/frostwire <<EOF
#! $SHELL -e
exec $out/share/java/frostwire
EOF
chmod +x $out/bin/frostwire
'';
meta = {
homepage = http://www.frostwire.com/;
description = "BitTorrent Client and Cloud File Downloader";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.gavin ];
};
}

View file

@ -2,18 +2,21 @@
, pkgconfig }: , pkgconfig }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qbittorrent-3.1.10"; name = "qbittorrent-3.1.11";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qbittorrent/${name}.tar.xz"; url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
sha256 = "0xhqli191r5v9b5x6wj1wsjlj6svf6ldgzl7jza39q3ipr5c2pg6"; sha256 = "0qvz8ifk01b9sw9x5yh3b5kmssx5yi026zvgvabdvfaqkvcmw43i";
}; };
buildInputs = [ qt4 which dbus_libs boost libtorrentRasterbar buildInputs = [
pkgconfig ]; qt4 which dbus_libs boost libtorrentRasterbar pkgconfig
];
configureFlags = "--with-libboost-inc=${boost}/include " configureFlags = [
+ "--with-libboost-lib=${boost}/lib"; "--with-libboost-lib=${boost.lib}/lib"
"--with-libboost-inc=${boost.dev}/include"
];
# https://github.com/qbittorrent/qBittorrent/issues/1992 # https://github.com/qbittorrent/qBittorrent/issues/1992
#enableParallelBuilding = true; #enableParallelBuilding = true;

View file

@ -26,7 +26,6 @@ in stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
"--with-libgeoip" "--with-libgeoip"
"--with-libiconv" "--with-libiconv"
"--with-boost=${boost}"
"--disable-deprecated-functions" "--disable-deprecated-functions"
"--enable-tests" "--enable-tests"
"--enable-python-binding" "--enable-python-binding"

View file

@ -14,7 +14,7 @@ stdenv.mkDerivation {
sha256 = "0fmmhr3as4v2kb6h64k1fq979080cqhd75jvxfg7axk2mylb6b3q"; sha256 = "0fmmhr3as4v2kb6h64k1fq979080cqhd75jvxfg7axk2mylb6b3q";
}; };
buildInputs = [ cmake boost boost.lib gmp mpfr libedit python texinfo gnused ]; buildInputs = [ cmake boost gmp mpfr libedit python texinfo gnused ];
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -24,7 +24,7 @@ let
langsSpaces = stdenv.lib.concatStringsSep " " langs; langsSpaces = stdenv.lib.concatStringsSep " " langs;
major = "4"; major = "4";
minor = "3"; minor = "3";
patch = "1"; patch = "3";
tweak = "2"; tweak = "2";
subdir = "${major}.${minor}.${patch}"; subdir = "${major}.${minor}.${patch}";
version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
@ -40,9 +40,9 @@ let
sha256 = "10amvz7fzr1kcy3svfspkdykmspqgpjdmk44cyr406wi7v4lwnf9"; sha256 = "10amvz7fzr1kcy3svfspkdykmspqgpjdmk44cyr406wi7v4lwnf9";
}; };
configureFlags = "--with-boost=${boost}"; buildInputs = [ boost mdds pkgconfig ];
buildInputs = [ boost boost.lib mdds pkgconfig ]; configureFlags = [ "--with-boost=${boost.dev}" ];
}; };
fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl { fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
@ -60,9 +60,10 @@ let
(x: x.name == "${name}.tar.bz2") (x: x.name == "${name}.tar.bz2")
("Error: update liborcus version inside LO expression") ("Error: update liborcus version inside LO expression")
(import ./libreoffice-srcs.nix)); (import ./libreoffice-srcs.nix));
configureFlags = "--with-boost=${boost}";
buildInputs = [ boost boost.lib mdds pkgconfig zlib libixion ]; buildInputs = [ boost mdds pkgconfig zlib libixion ];
configureFlags = [ "--with-boost=${boost.dev}" ];
}; };
fetchSrc = {name, sha256}: fetchurl { fetchSrc = {name, sha256}: fetchurl {
@ -79,14 +80,14 @@ let
translations = fetchSrc { translations = fetchSrc {
name = "translations"; name = "translations";
sha256 = "0vj1fpr99cb124hag0hijpp3pfbbi0gak56qiikxbwbq7mab6p9h"; sha256 = "0jpkkb71fbiid12r2dpvak304hlvx4ws1bk2yrb3narz15wzcvjr";
}; };
# TODO: dictionaries # TODO: dictionaries
help = fetchSrc { help = fetchSrc {
name = "help"; name = "help";
sha256 = "1q0vzfla764zjz6xcx6r4nc8rikwb3pr2jsraj28hhwr5b26gdfz"; sha256 = "0vd4ndnqy7xjlxh9flfp84jy82bvaq80pxcsx6lsarxsb4cvw7sz";
}; };
}; };
@ -96,7 +97,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
sha256 = "0s1j5y1gfyf3r53bbqnzirx17p49i8ah07737nrzik0ggps3lgd5"; sha256 = "0abmrn8iwwsbvi9dxq1pnirclxvfb33ngg7lpsj0y5lf0jpgpbb0";
}; };
# Openoffice will open libcups dynamically, so we link it directly # Openoffice will open libcups dynamically, so we link it directly
@ -183,6 +184,8 @@ stdenv.mkDerivation rec {
''; '';
configureFlags = [ configureFlags = [
"--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib"
"--with-vendor=NixOS" "--with-vendor=NixOS"
# Without these, configure does not finish # Without these, configure does not finish
@ -198,7 +201,6 @@ stdenv.mkDerivation rec {
"--with-system-headers" "--with-system-headers"
"--with-system-openssl" "--with-system-openssl"
"--with-system-openldap" "--with-system-openldap"
"--with-boost-libdir=${boost.lib}/lib"
"--without-system-libwps" # TODO "--without-system-libwps" # TODO
"--without-doxygen" "--without-doxygen"
@ -236,7 +238,7 @@ stdenv.mkDerivation rec {
''; '';
buildInputs = with xorg; buildInputs = with xorg;
[ ant ArchiveZip autoconf automake bison boost boost.lib cairo clucene_core [ ant ArchiveZip autoconf automake bison boost cairo clucene_core
CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig
freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg

View file

@ -525,4 +525,10 @@
md5 = "44d667c142d7cda120332623eab69f40"; md5 = "44d667c142d7cda120332623eab69f40";
brief = true; brief = true;
} }
{
name = "libgltf-0.0.2.tar.bz2";
md5 = "d63a9f47ab048f5009d90693d6aa6424";
brief = true;
subDir = "libgltf/";
}
] ]

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "1pf1dgwd9j586nqmni6gqf3qxrsmawcmi9wzqfzqkjci18xd7dgy"; sha256 = "1pf1dgwd9j586nqmni6gqf3qxrsmawcmi9wzqfzqkjci18xd7dgy";
}; };
buildInputs = [ pkgconfig cmake glib qt4 boost boost.lib libsigrok buildInputs = [ pkgconfig cmake glib qt4 boost libsigrok
libsigrokdecode libserialport libzip udev libusb1 libftdi libsigrokdecode libserialport libzip udev libusb1 libftdi
]; ];

View file

@ -3,7 +3,7 @@
{stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: {stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
let let
version = "8.5pre-2313bde0"; version = "8.5pre-edbd6a21";
coq-version = "8.5"; coq-version = "8.5";
buildIde = lablgtk != null; buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@ -17,8 +17,8 @@ stdenv.mkDerivation {
src = fetchgit { src = fetchgit {
url = git://scm.gforge.inria.fr/coq/coq.git; url = git://scm.gforge.inria.fr/coq/coq.git;
rev = "2313bde0116a5916912bebbaca77d291f7b2760a"; rev = "edbd6a211c934778d9721c36463836ef902b4fdd";
sha256 = "116b8060a47a7b2d0cac72d86f7e320bec99b6d450614d1e6b92ff919619c509"; sha256 = "19zk1lghqljh86z2kv6kpxwzinpkbwxzf244dmszx31zw4zdrskl";
}; };
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];

View file

@ -3,7 +3,7 @@
{stdenv, fetchurl, pkgconfig, writeText, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: {stdenv, fetchurl, pkgconfig, writeText, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
let let
version = "8.4pl4"; version = "8.4pl5";
coq-version = "8.4"; coq-version = "8.4";
buildIde = lablgtk != null; buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@ -17,7 +17,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz"; url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
sha256 = "00bzf4kfbd0g279jrr8ynzvb9wqcly3wi577bkrxivhrg2msxhq6"; sha256 = "0iajsabyrgypk1ncm0kqcxqv02k24xa1bayaxacjgmsqiavmm09m";
}; };
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];

View file

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
rev = "3aa11620a823d617fc033d26aedae91853d18635"; rev = "3aa11620a823d617fc033d26aedae91853d18635";
sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c"; sha256 = "832520787f57f63cf47364d080f30ad10d6d6e00f166790c19b125be3d6dd45c";
}; };
buildInputs = [ cmake boost boost.lib bison flex perl zlib ]; buildInputs = [ cmake boost bison flex perl zlib ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
patchPhase = '' patchPhase = ''
sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt sed -e 's,^export(PACKAGE.*,,' -i CMakeLists.txt

View file

@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
name = "sage-6.1.1"; name = "sage-6.1.1";
src = fetchurl { src = fetchurl {
url = "http://mirrors.xmission.com/sage/src/sage-6.1.1.tar.gz"; url = "mirror://sagemath/${name}.tar.gz";
sha256 = "0kbzs0l9q7y34jv3f8rd1c2mrjsjkdgaw6mfdwjlpg9g4gghmq5y"; sha256 = "0kbzs0l9q7y34jv3f8rd1c2mrjsjkdgaw6mfdwjlpg9g4gghmq5y";
}; };
@ -23,9 +23,8 @@ stdenv.mkDerivation rec {
''; '';
meta = { meta = {
homepage = http://www.scilab.org/; homepage = "http://www.sagemath.org";
description = "Scientific software package for numerical computations (Matlab lookalike)"; description = "A free open source mathematics software system";
# see http://www.scilab.org/legal license = stdenv.lib.licenses.gpl2Plus;
license = "SciLab";
}; };
} }

View file

@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa
boost boost.lib glm boost glm
]; ];
configureFlags = "--with-boost-libdir=${boost.lib}/lib"; configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions

View file

@ -41,7 +41,6 @@ stdenv.mkDerivation rec {
++ optional portaudioSupport portaudio ++ optional portaudioSupport portaudio
; ;
configureFlags = "--with-boost-libdir=${boost.lib}/lib/";
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -30,12 +30,11 @@ stdenv.mkDerivation rec {
patch -p1 < ${patch_CVE} patch -p1 < ${patch_CVE}
# Add all libs to `macros/libslist', a list of library search paths. # Add all libs to `macros/libslist', a list of library search paths.
for lib in ${lib.concatStringsSep " " libs=$(echo "$NIX_LDFLAGS" | tr ' ' '\n' | sed -n 's/.*-L\(.*\).*/\1/p')
(map (lib: "\"${lib}\"/lib") for lib in $libs; do
(buildInputs ++ [stdenv.glibc]))}
do
echo -n "$lib " >> macros/libslist echo -n "$lib " >> macros/libslist
done done
echo -n "${stdenv.glibc}/lib" >> macros/libslist
# Make sure to honor $TMPDIR, for chroot builds. # Make sure to honor $TMPDIR, for chroot builds.
for file in configure gui/Makefile.in Makefile.in for file in configure gui/Makefile.in Makefile.in
@ -54,7 +53,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
gettext x11 SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good gettext x11 SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
gst_ffmpeg speex libtool gst_ffmpeg speex libtool
libogg libxml2 libjpeg mesa libpng libungif boost boost.lib freetype agg libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
dbus curl pkgconfig glib gtk gtkglext pangox_compat dbus curl pkgconfig glib gtk gtkglext pangox_compat
xulrunner xulrunner
makeWrapper makeWrapper

View file

@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
expat wxGTK zlib ruby gettext pkgconfig curl expat wxGTK zlib ruby gettext pkgconfig curl
]; ];
configureFlags = "--with-boost-libdir=${boost}/lib";
buildPhase = '' buildPhase = ''
ruby ./drake ruby ./drake
''; '';

View file

@ -1,22 +1,32 @@
{ stdenv, fetchurl, which, qt4, x11, pulseaudio, fftwSinglePrec { stdenv, fetchurl, which, qt4, x11, pulseaudio, fftwSinglePrec
, lame, zlib, mesa, alsaLib, freetype, perl, pkgconfig , lame, zlib, mesa, alsaLib, freetype, perl, pkgconfig
, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm, libXmu , libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm, libXmu
, yasm, libuuid, taglib, libtool, autoconf, automake, file
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mythtv-0.24.2"; name = "mythtv-${version}";
version = "0.27.4";
src = fetchurl { src = fetchurl {
url = "http://ftp.osuosl.org/pub/mythtv/${name}.tar.bz2"; url = "https://github.com/MythTV/mythtv/archive/v${version}.tar.gz";
sha256 = "14mkyf2b26pc9spx6lg15mml0nqyg1r3qnq8m9dz3110h771y2db"; sha256 = "0nrn4fbkkzh43n7jgbv21i92sb4z4yacwj9yj6m3hjbffzy4ywqz";
}; };
sourceRoot = "${name}/mythtv";
buildInputs = [ buildInputs = [
freetype qt4 lame zlib x11 mesa perl alsaLib pulseaudio fftwSinglePrec freetype qt4 lame zlib x11 mesa perl alsaLib pulseaudio fftwSinglePrec
libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu
libuuid taglib
]; ];
nativeBuildInputs = [ pkgconfig which yasm libtool autoconf automake file ];
nativeBuildInputs = [ pkgconfig which ]; meta = with stdenv.lib; {
homepage = "https://www.mythtv.org/";
patches = [ ./settings.patch ]; description = "Open Source DVR";
license = licenses.gpl2;
meta.platforms = platforms.linux;
maintainers = [ maintainers.titanous ];
};
} }

View file

@ -1,13 +0,0 @@
diff --git a/Makefile b/Makefile
index 05db819..383036d 100644
--- a/Makefile
+++ b/Makefile
@@ -53,7 +53,7 @@ i18n/Makefile: i18n/i18n.pro
locales/Makefile: locales/locales.pro
$(addsuffix /Makefile,$(QT_SUBDIRS)): %/Makefile :
- cd $*; $(QMAKE) QMAKE=$(QMAKE) -o $(@F) $(<F)
+ cd $*; $(QMAKE) QMAKE=$(QMAKE) PREFIX=${PREFIX} -o $(@F) $(<F)
$(SUBDIRS): $(addsuffix /Makefile,$(SUBDIRS)) version.cpp
$(MAKE) -C $@

View file

@ -99,11 +99,11 @@ stdenv.mkDerivation rec {
done done
''; '';
meta = { meta = with stdenv.lib; {
homepage = http://xbmc.org/; homepage = http://xbmc.org/;
description = "Media center"; description = "Media center";
license = "GPLv2"; license = "GPLv2";
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.iElectric ]; maintainers = [ maintainers.iElectric maintainers.titanous ];
}; };
} }

View file

@ -81,13 +81,13 @@ in
plugin = "svtplay"; plugin = "svtplay";
namespace = "plugin.video.svtplay"; namespace = "plugin.video.svtplay";
version = "4.0.8"; version = "4.0.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nilzen"; owner = "nilzen";
repo = "xbmc-" + plugin; repo = "xbmc-" + plugin;
rev = "967dc429201200200dba0e755ede3a0e9cb1b137"; rev = "29a754e49584d1ca32f0c07b87304669cf266bb0";
sha256 = "0kaxcci9zbblpkn1mrmdl49844r90agww41frz9vw6q2ajq1z16k"; sha256 = "0k7mwaknw4h1jlq7ialbzgxxpb11j8bk29dx2gimp40lvnyw4yhz";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -28,8 +28,15 @@ stdenv.mkDerivation {
do do
$(ln -s $share $out/share/xbmc/.) $(ln -s $share $out/share/xbmc/.)
done) done)
makeWrapper ${xbmc}/bin/xbmc $out/bin/xbmc \ $(for passthrough in icons xsessions applications
do
ln -s ${xbmc}/share/$passthrough $out/share/
done)
$(for exe in xbmc{,-standalone}
do
makeWrapper ${xbmc}/bin/$exe $out/bin/$exe \
--prefix XBMC_HOME : $out/share/xbmc; --prefix XBMC_HOME : $out/share/xbmc;
done)
''; '';
preferLocalBuilds = true; preferLocalBuilds = true;

View file

@ -7,10 +7,10 @@ with stdenv.lib;
let sourceInfo = rec { let sourceInfo = rec {
baseName="virt-viewer"; baseName="virt-viewer";
version="0.6.0"; version="1.0";
name="${baseName}-${version}"; name="${baseName}-${version}";
url="http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz"; url="http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
hash="0svalnr6k8rjadysnxixygk3bdx04asmwx75bhrbljyicba216v6"; hash="09sf1xzvw2yysv4c1jkqlzrazdg501r4j12hiwjdzk5swk6lppw0";
}; in }; in
stdenv.mkDerivation { stdenv.mkDerivation {

View file

@ -12,7 +12,7 @@ with stdenv.lib;
let let
version = "4.3.16"; # changes ./guest-additions as well version = "4.3.18"; # changes ./guest-additions as well
forEachModule = action: '' forEachModule = action: ''
for mod in \ for mod in \
@ -32,13 +32,13 @@ let
''; '';
# See https://github.com/NixOS/nixpkgs/issues/672 for details # See https://github.com/NixOS/nixpkgs/issues/672 for details
extpackRevision = "95972"; extpackRevision = "96516";
extensionPack = requireFile rec { extensionPack = requireFile rec {
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack"; name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
# IMPORTANT: Hash must be base16 encoded because it's used as an input to # IMPORTANT: Hash must be base16 encoded because it's used as an input to
# VBoxExtPackHelperApp! # VBoxExtPackHelperApp!
# Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS
sha256 = "93b01ac2c575388ea6ae994450907c24e30a788c271ae9ff18512a06f28d9abd"; sha256 = "9c98f8256935492e6e45f7998e1c0e2fd859d87b24123d35ea0065fd0fd62d60";
message = '' message = ''
In order to use the extension pack, you need to comply with the VirtualBox Personal Use In order to use the extension pack, you need to comply with the VirtualBox Personal Use
and Evaluation License (PUEL) by downloading the related binaries from: and Evaluation License (PUEL) by downloading the related binaries from:
@ -57,7 +57,7 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "99c32e646dbc93cbf4cc0b62ca6c1d24113a295fd758dc15724c14908dd6dcb3"; sha256 = "9798acbc78b2645f2a02446ef6be181ede1a377792007af2a3280c962edc24cb";
}; };
buildInputs = buildInputs =

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "d58f678613bd37f5f94bcf324708af63572fc8582833a2558574090231fd080f"; sha256 = "e5b425ec4f6a62523855c3cbd3975d17f962f27df093d403eab27c0e7f71464a";
}; };
KERN_DIR = "${kernel.dev}/lib/modules/*/build"; KERN_DIR = "${kernel.dev}/lib/modules/*/build";

View file

@ -226,9 +226,10 @@ make_deterministic_repo(){
fi fi
done done
# Do a full repack, for determinism. # Do a full repack. Must run single-threaded, or else we loose determinism.
# Repack does not add unreferenced objects to a pack file. git config pack.threads 1
git repack -A -d -f git repack -A -d -f
rm -f .git/config
# Garbage collect unreferenced objects. # Garbage collect unreferenced objects.
git gc --prune=all git gc --prune=all

View file

@ -393,4 +393,37 @@ rec {
http://cflags.cc/roy/ http://cflags.cc/roy/
]; ];
# Sage mirrors (http://www.sagemath.org/mirrors.html)
sagemath = [
http://boxen.math.washington.edu/home/sagemath/sage-mirror/src/
http://echidna.maths.usyd.edu.au/sage/src/
http://ftp.iitm.ac.in/sage/src/
http://ftp.kaist.ac.kr/sage/src/
http://ftp.riken.jp/sagemath/src/
http://ftp.tsukuba.wide.ad.jp/software/sage/src/
http://jambu.spms.ntu.edu.sg/sage/src/
http://linorg.usp.br/sage/src/
http://mirror.aarnet.edu.au/pub/sage/src/
http://mirror.clibre.uqam.ca/sage/src/
http://mirror.hust.edu.cn/sagemath/src/
http://mirror.switch.ch/mirror/sagemath/src/
http://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/
http://mirrors.fe.up.pt/pub/sage/src/
http://mirrors.hustunique.com/sagemath/src/
http://mirrors.ustc.edu.cn/sagemath/src/
http://mirrors.xmission.com/sage/src/
http://sage.asis.io/src/
http://sage.mirror.garr.it/mirrors/sage/src/
http://sage.yasar.edu.tr/src/
http://sagemath.c3sl.ufpr.br/src/
http://sagemath.polytechnic.edu.na/src/
http://sunsite.rediris.es/mirror/sagemath/src/
http://www-ftp.lip6.fr/pub/math/sagemath/src/
http://www.mirrorservice.org/sites/www.sagemath.org/src/
# Old versions
http://www.cecm.sfu.ca/sage/src/
http://sagemath.org/src-old/
];
} }

View file

@ -1,13 +1,15 @@
{stdenv, fetchurl}: {stdenv, fetchurl, unzip}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "freefont-ttf-20100919"; name = "freefont-ttf-20120503";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/freefont/${name}.tar.gz"; url = "mirror://gnu/freefont/${name}.zip";
sha256 = "1q3h5jp1mbdkinkwxy0lfd0a1q7azlbagraydlzaa2ng82836wg4"; sha256 = "1bw9mrf5pqi2a29b7qw4nhhj566aqqmi28hkbn2a38c2pzqvm1bw";
}; };
buildInputs = [ unzip ];
installPhase = '' installPhase = ''
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype cp *.ttf $out/share/fonts/truetype

View file

@ -1,24 +1,23 @@
{ stdenv, fetchurl, unzip }: { stdenv, fetchurl, unzip }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "junicode-0.6.15"; name = "junicode-0.7.8";
src = fetchurl { src = fetchurl {
url = mirror://sourceforge/junicode/junicode-0.6.15.zip; url = mirror://sourceforge/junicode/junicode/junicode-0-7-8/junicode-0-7-8.zip;
sha256 = "0p16r5s6qwyz0hayb6k61s5r2sfachlx7r6gpqqx5myx6ipbfdns"; sha256 = "1lgkhj52s351ya7lp9z3xba7kaivgdvg80njhpj1rpc3jcmc69vl";
}; };
buildInputs = [ unzip ]; buildInputs = [ unzip ];
sourceRoot = ".";
installPhase = installPhase =
'' ''
mkdir -p $out/share/fonts/junicode-ttf mkdir -p $out/share/fonts/junicode-ttf
cp *.ttf $out/share/fonts/junicode-ttf cp fonts/*.ttf $out/share/fonts/junicode-ttf
''; '';
meta = { meta = {
homepage = http://junicode.sourceforge.net/;
description = "A Unicode font"; description = "A Unicode font";
}; };
} }

View file

@ -0,0 +1,49 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
version = "2.00.1";
name = "liberation-fonts-${version}";
src = fetchurl {
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q";
};
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
mkdir -p "$out/doc/${name}"
cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
'';
meta = {
description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New";
longDescription = ''
The Liberation Fonts are intended to be replacements for the three most
commonly used fonts on Microsoft systems: Times New Roman, Arial, and
Courier New.
There are three sets: Sans (a substitute for Arial, Albany, Helvetica,
Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times
New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono
(a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and
Bitstream Vera Sans Mono).
You are free to use these fonts on any system you would like. You are
free to redistribute them under the GPL+exception license found in the
download. Using these fonts does not subject your documents to the
GPL---it liberates them from any proprietary claim.
'';
# See `License.txt' for details.
license = "GPLv2 + exception";
homepage = https://fedorahosted.org/liberation-fonts/;
maintainers = [
stdenv.lib.maintainers.raskin
stdenv.lib.maintainers.ludo
];
};
}

View file

@ -1,18 +1,20 @@
{stdenv, fetchurl}: {stdenv, fetchurl, fontforge, python, pythonPackages}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "liberation-fonts-1.04"; name = "liberation-fonts-2.00.1";
src = fetchurl { src = fetchurl {
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/${name}.tar.gz"; url = "https://fedorahosted.org/releases/l/i/liberation-fonts/${name}.tar.gz";
sha256 = "189i6pc4jqhhmsb9shi8afg9af9crpmz9bnlldhqaxavr1bhj38f"; sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs";
}; };
buildInputs = [fontforge python pythonPackages.fonttools];
installPhase = '' installPhase = ''
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
cp -v *.ttf $out/share/fonts/truetype cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
mkdir -p "$out/doc/${name}" mkdir -p "$out/doc/${name}"
cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
''; '';
meta = { meta = {

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