3
0
Fork 0
forked from mirrors/nixpkgs

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

View file

@ -4,26 +4,26 @@ export LANG=C LC_ALL=C LC_COLLATE=C
# Load git log
raw_git_log="$(git log)"
git_data="$(echo "$raw_git_log" | grep 'Author:' |
sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//;
git_data="$(echo "$raw_git_log" | grep 'Author:' |
sed -e 's/^ *Author://; s/\\//g; s/^ *//; s/ *$//;
s/ @ .*//; s/ *[<]/\t/; s/[>]//')"
# Name - nick - email correspondence from log and from maintainer list
# 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;
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)"
emails="$(
( echo "$maintainers" | cut -f 3; echo "$git_data" | cut -f 2 ) |
sort | uniq | grep -E ".+@.+[.].+"
emails="$(
( echo "$maintainers" | cut -f 3; echo "$git_data" | cut -f 2 ) |
sort | uniq | grep -E ".+@.+[.].+"
)"
fetchGithubName () {
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 //'
)"
userid="$(
@ -36,7 +36,7 @@ fetchGithubName () {
}
[ -n "$NIXPKGS_GITHUB_NAME_CACHE" ] && {
echo "$emails" | while read email; do
echo "$emails" | while read email; do
line="$(grep "$email " "$NIXPKGS_GITHUB_NAME_CACHE")"
[ -z "$line" ] && {
echo "$email $(fetchGithubName "$email")" >> \
@ -47,11 +47,11 @@ fetchGithubName () {
# For RDF
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 () {
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)"
@ -80,8 +80,8 @@ name_list="$(
?x <my://can-be>+ ?y.
?x <my://is-name> ?g.
}
" | tail -n +2 |
sed -re 's@<my://name/@@g; s@<my://@@g; s@>@@g;' |
" | tail -n +2 |
sed -re 's@<my://name/@@g; s@<my://@@g; s@>@@g;' |
sort -k 2,3 -t ' '
)"
github_name_list="$(
@ -89,14 +89,14 @@ github_name_list="$(
select ?x ?y where {
?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;'
)"
# Take first spelling option for every person
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')"
# Add github usernames
@ -104,9 +104,9 @@ if [ -n "$NIXPKGS_GITHUB_NAME_CACHE" ]; then
github_adder_script="$(echo "$github_name_list" |
grep -E "$(echo "$name_list_canonical" | cut -f 2 |
tr '\n' '|' )" |
sort | uniq |
sort | uniq |
sed -re 's/(.*)\t(.*)/s| \1$| \1\t\2|g;/' |
denormalize_name
denormalize_name
)"
else
github_adder_script=''
@ -117,6 +117,6 @@ echo "$name_list" | denormalize_name
echo
echo "$git_data" | cut -f 1 |
sed -re "$cleaner_script" |
sed -e "$cleaner_script" |
sort | uniq -c | sort -k1n | sed -re "$github_adder_script" |
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.
isoName ? "cd.iso"
@ -22,12 +22,18 @@
, # Whether this should be an efi-bootable El-Torito CD.
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.
bootImage ? ""
, # The path (in the ISO file system) of the efi boot image.
efiBootImage ? ""
, # The path (outside the ISO file system) of the isohybrid-mbr image.
isohybridMbrImage ? ""
, # Whether to compress the resulting ISO image with bzip2.
compressImage ? false
@ -38,13 +44,14 @@
assert bootable -> bootImage != "";
assert efiBootable -> efiBootImage != "";
assert usbBootable -> isohybridMbrImage != "";
stdenv.mkDerivation {
name = "iso9660-image";
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.
sources = map (x: x.source) contents;

View file

@ -31,11 +31,20 @@ if test -n "$bootable"; then
fi
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
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
touch pathlist
@ -74,18 +83,41 @@ for ((n = 0; n < ${#objects[*]}; n++)); do
fi
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
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
$genCommand -o $out/iso/$isoName
else
$genCommand | bzip2 > $out/iso/$isoName.bz2
xorriso="xorriso
-as mkisofs
-iso-level 3
-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
if test -n "$compressImage"; then
echo "Compressing image..."
bzip2 $out/iso/$isoName
fi
mkdir -p $out/nix-support
echo $system > $out/nix-support/system

View file

@ -169,6 +169,12 @@ foreach my $u (@{$spec->{users}}) {
} else {
$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.
if ($u->{createHome}) {
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 $u = $usersOut{$name};;
next if !defined $u;
$hashedPassword = "!" if !$spec->{mutableUsers};
$hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME
push @shadowNew, join(":", $name, $hashedPassword, @rest) . "\n";
$shadowSeen{$name} = 1;

View file

@ -8,19 +8,19 @@ let
cfg = config.users;
passwordDescription = ''
The options <literal>hashedPassword</literal>,
<literal>password</literal> and <literal>passwordFile</literal>
The options <option>hashedPassword</option>,
<option>password</option> and <option>passwordFile</option>
controls what password is set for the user.
<literal>hashedPassword</literal> overrides both
<literal>password</literal> and <literal>passwordFile</literal>.
<literal>password</literal> overrides <literal>passwordFile</literal>.
<option>hashedPassword</option> overrides both
<option>password</option> and <option>passwordFile</option>.
<option>password</option> overrides <option>passwordFile</option>.
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.
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
the user is created for the first time. After that, you are free to
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
options.
'';
@ -155,7 +155,7 @@ let
default = false;
description = ''
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);
default = null;
description = ''
Specifies the (hashed) password for the user.
Specifies the hashed password for the user.
${passwordDescription}
'';
};
@ -191,6 +191,37 @@ let
${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
@ -204,6 +235,14 @@ let
useDefaultShell = mkDefault true;
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:
{ inherit (u)
name uid group description home shell createHome isSystemUser
password passwordFile hashedPassword;
password passwordFile hashedPassword
initialPassword initialHashedPassword;
}) cfg.extraUsers;
groups = mapAttrsToList (n: g:
{ inherit (g) name gid;
@ -386,24 +426,12 @@ in {
options = [ groupOpts ];
};
# FIXME: obsolete - will remove.
security.initialRootPassword = mkOption {
type = types.str;
default = "!";
example = "";
description = ''
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.
'';
visible = false;
};
};
@ -421,7 +449,7 @@ in {
shell = mkDefault cfg.defaultUserShell;
group = "root";
extraGroups = [ "grsecurity" ];
hashedPassword = mkDefault config.security.initialRootPassword;
initialHashedPassword = mkDefault config.security.initialRootPassword;
};
nobody = {
uid = ids.uids.nobody;

View file

@ -36,6 +36,9 @@ with lib;
# EFI booting
isoImage.makeEfiBootable = true;
# USB booting
isoImage.makeUsbBootable = true;
# Add Memtest86+ to the CD.
boot.loader.grub.memtest86.enable = true;
@ -46,5 +49,5 @@ with lib;
boot.supportedFilesystems = [ "zfs" "btrfs" ];
# 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
# The Grub image.
grubImage = pkgs.runCommand "grub_eltorito" {}
# The configuration file for syslinux.
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
cat ${pkgs.grub2}/lib/grub/*/cdboot.img tmp > $out
''; # */
SERIAL 0 38400
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.
grubCfg =
''
set default=${builtins.toString config.boot.loader.grub.default}
set timeout=${builtins.toString config.boot.loader.grub.timeout}
LABEL chain
MENU LABEL Boot existing OS
COM32 chain.c32
APPEND hd0 0
if loadfont /boot/grub/unicode.pf2; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
terminal_output gfxterm
LABEL reboot
MENU LABEL Reboot
COM32 reboot.c32
insmod png
if background_image /boot/grub/splash.png; then
set color_normal=white/black
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}
LABEL poweroff
MENU LABEL Power Off
COM32 poweroff.c32
'';
# The efi boot image
efiDir = pkgs.runCommand "efi-directory" {} ''
mkdir -p $out/efi/boot
cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/efi/boot/boot${targetArch}.efi
mkdir -p $out/EFI/boot
cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi
mkdir -p $out/loader/entries
echo "title NixOS LiveCD" > $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.
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
# 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";
};
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" ];
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "usb-storage" ];
boot.initrd.kernelModules = [ "loop" ];
@ -233,15 +241,12 @@ in
# Individual files to be included on the CD, outside of the Nix
# store on the CD.
isoImage.contents =
[ { source = grubImage;
target = "/boot/grub/grub_eltorito";
}
{ source = pkgs.substituteAll {
name = "grub.cfg";
src = pkgs.writeText "grub.cfg-in" grubCfg;
[ { source = pkgs.substituteAll {
name = "isolinux.cfg";
src = pkgs.writeText "isolinux.cfg-in" isolinuxCfg;
bootRoot = "/boot";
};
target = "/boot/grub/grub.cfg";
target = "/isolinux/isolinux.cfg";
}
{ source = config.boot.kernelPackages.kernel + "/bzImage";
target = "/boot/bzImage";
@ -249,51 +254,38 @@ in
{ source = config.system.build.initialRamdisk + "/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;
target = "/nix-store.squashfs";
}
{ source = "${pkgs.syslinux}/share/syslinux";
target = "/isolinux";
}
{ source = config.isoImage.splashImage;
target = "/isolinux/background.png";
}
] ++ optionals config.isoImage.makeEfiBootable [
{ source = efiImg;
target = "/boot/efi.img";
}
{ source = "${efiDir}/efi";
target = "/efi";
{ source = "${efiDir}/EFI";
target = "/EFI";
}
{ source = "${efiDir}/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.
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;
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 {
efiBootable = true;
efiBootImage = "boot/efi.img";

View file

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

View file

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

View file

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

View file

@ -43,6 +43,15 @@ in {
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 {
type = types.listOf types.str;
default = [];
@ -65,7 +74,7 @@ in {
configHeader = mkOption {
type = types.lines;
default = ''
@version: 3.6
@version: 3.5
@include "scl.conf"
'';
description = ''
@ -77,13 +86,18 @@ in {
};
config = mkIf cfg.enable {
systemd.sockets.syslog = mkIf cfg.listenToJournal {
wantedBy = [ "sockets.target" ];
socketConfig.Service = "syslog-ng.service";
};
systemd.services.syslog-ng = {
description = "syslog-ng daemon";
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
serviceConfig = {
Type = "notify";
Sockets = if cfg.listenToJournal then "syslog.socket" else null;
StandardOutput = "null";
Restart = "on-failure";
ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}";

View file

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

View file

@ -32,6 +32,8 @@ let
${optionalString (cfg.dbPassword != "") ''
DBPassword = ${cfg.dbPassword}
''}
${config.services.zabbixServer.extraConfig}
'';
useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == "";
@ -46,6 +48,7 @@ in
services.zabbixServer.enable = mkOption {
default = false;
type = types.bool;
description = ''
Whether to run the Zabbix server on this machine.
'';
@ -53,6 +56,7 @@ in
services.zabbixServer.dbServer = mkOption {
default = "localhost";
type = types.str;
description = ''
Hostname or IP address of the database server.
Use an empty string ("") to use peer authentication.
@ -61,9 +65,18 @@ in
services.zabbixServer.dbPassword = mkOption {
default = "";
type = types.str;
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

View file

@ -88,7 +88,7 @@ in
config = mkIf cfg.enable {
systemd.services.transmission = {
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" ];
wantedBy = [ "multi-user.target" ];

View file

@ -130,6 +130,7 @@ let
cp -v ${udev}/lib/udev/rules.d/80-drivers.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.bcache-tools}/lib/udev/rules.d/*.rules $out/
for i in $out/*.rules; do
substituteInPlace $i \
@ -139,7 +140,8 @@ let
--replace ${pkgs.utillinux}/sbin/blkid ${extraUtils}/bin/blkid \
--replace /sbin/blkid ${extraUtils}/bin/blkid \
--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
# 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;
# 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 ];
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
require = [
# Docker image config.
imports = [
../installer/cd-dvd/channel.nix
../profiles/minimal.nix
../profiles/clone-config.nix
@ -47,16 +47,16 @@ in {
boot.isContainer = true;
# Iptables do not work in docker
# Iptables do not work in Docker.
networking.firewall.enable = false;
services.openssh.enable = true;
# Socket activated ssh presents problem in docker
# Socket activated ssh presents problem in Docker.
services.openssh.startWhenNeeded = false;
# Allow the user to login as root without password
security.initialRootPassword = "";
# Allow the user to login as root without password.
users.extraUsers.root.initialHashedPassword = mkOverride 150 "";
# Some more help text.
services.mingetty.helpLine =

View file

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

View file

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

View file

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

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
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
];

View file

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
};
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
];

View file

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

View file

@ -1,26 +1,17 @@
{ stdenv, fetchurl, pythonPackages, gettext, pyqt4
, pkgconfig, libdiscid, libofa, ffmpeg, chromaprint
{ stdenv, buildPythonPackage, fetchurl, gettext
, pkgconfig, libofa, ffmpeg, chromaprint
, pyqt4, mutagen, python-libdiscid
}:
pythonPackages.buildPythonPackage rec {
let version = "1.3"; in
buildPythonPackage {
name = "picard-${version}";
namePrefix = "";
version = "1.2";
src = fetchurl {
url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz";
sha256 = "0sbsf8hzxhxcnnjqvsd6mc23lmk7w33nln0f3w72f89mjgs6pxm6";
url = "ftp://ftp.musicbrainz.org/pub/musicbrainz/picard/picard-${version}.tar.gz";
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 = [
pkgconfig
ffmpeg
@ -29,19 +20,11 @@ pythonPackages.buildPythonPackage rec {
];
propagatedBuildInputs = [
pythonPackages.mutagen
pyqt4
libdiscid
mutagen
python-libdiscid
];
configurePhase = ''
python setup.py config
'';
buildPhase = ''
python setup.py build
'';
installPhase = ''
python setup.py install --prefix="$out"
'';

View file

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
alsaLib boost boost.lib cairo fftwSinglePrec fltk jack2 libsndfile mesa
alsaLib boost cairo fftwSinglePrec fltk jack2 libsndfile mesa
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 }:
let
version = "90141016";
in
stdenv.mkDerivation rec {
name = "magit-${version}";
name = "magit-90141025";
src = fetchFromGitHub {
owner = "magit";
repo = "magit";
rev = version;
sha256 = "11d3gzj0hlb7wqsjzjb0vf9i0ik4xzwdyayjy4hfgx0gjmymkfx3";
rev = "50c08522c8a3c67e0f3b821fe4df61e8bd456ff9";
sha256 = "0mzyx72pidzvla1x2qszn3c60n2j0n8i5k875c4difvd1n4p0vsk";
};
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 }:
(mkIdeaProduct rec {
inherit name version build src;
@ -136,41 +202,6 @@ let
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
{
@ -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 {
name = "idea-community-${version}";
version = "13.1.5";
build = "IC-135.1289";
version = "14pre";
build = "IC-139.222.5";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "e08b9adad0ed9aa62a43f3026a1b499d1663710314d00a3bec2e171a6c375f09";
url = "http://download-ln.jetbrains.com/idea/idea${build}.tar.gz";
sha256 = "e2c696f465da36b77148a61b45f35f8f08ceae3b624904de8f7cccf0e7c20ce2";
};
};
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "13.1.5";
build = "IU-135.1289";
version = "14pre";
build = "IU-139.222.5";
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
sha256 = "0800b1ffc135f884e46f1004289fb75850148d705afc447d3374cfd281c231a2";
url = "http://download-ln.jetbrains.com/idea/idea${build}.tar.gz";
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,
kdebase_workspace, gettext, perl, okteta, qjson }:
kdebase_workspace, gettext, perl, okteta, qjson, kate, konsole, kde_runtime, oxygen_icons }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
propagatedUserEnvPkgs = [ kdevplatform kate konsole kde_runtime oxygen_icons ];
NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
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
}:
@ -7,11 +7,9 @@ stdenv.mkDerivation rec {
version = "7.4.479";
src = fetchFromGitHub {
owner = "genoma";
repo = "macvim";
rev = "f9c084b97fa9d5cad2448dfd3eff3d9b7f0fac59";
sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf";
src = fetchurl {
url = "https://github.com/genoma/macvim/archive/g-snapshot-21.tar.gz";
sha256 = "1s86dpb8bcxh309gikiz8gm9ygv3d2jy6i4qlnxarbvcdk65fzv4";
};
enableParallelBuilding = true;

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
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
];

View file

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

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
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 ];

View file

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

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
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
];

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 {
version = "0.8.0";
version = "0.9.5";
name = "rapcad-${version}";
src = fetchgit {
url = "https://github.com/GilesBathgate/RapCAD.git";
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 = ''
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 {
name = "sxiv-1.2";
version = "1.3-git";
name = "sxiv-${version}";
src = fetchurl {
url = "https://github.com/muennich/sxiv/archive/v1.2.tar.gz";
name = "${name}.tar.gz";
sha256 = "1wwcxy2adc67xd8x6c2sayy1cjcwrv2lvv1iwln7y4w992gbcxmc";
src = fetchgit {
url = "git@github.com:muennich/sxiv.git";
rev = "f55d9f4283f7133ab5a137fc04ee19d1df62fafb";
sha256 = "85f734f40fdc837514b72694de12bac92fe130286fa6f1dc374e94d575ca8280";
};
patches = [ ./146.patch ];
buildInputs = [ libX11 imlib2 giflib ];
prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
postUnpack = ''
substituteInPlace $sourceRoot/Makefile \
--replace /usr/local $out
'';
buildInputs = [ libX11 imlib2 giflib libexif ];
meta = {
description = "Simple X Image Viewer";
homepage = "https://github.com/muennich/sxiv";

View file

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

View file

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

View file

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

View file

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

View file

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
};
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
opencolorio openexr openimageio /* openjpeg */ python zlib fftw
]

View file

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

View file

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

View file

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
};
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
];

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 {
name = "kdeconnect-${version}";
version = "0.7.2";
version = "0.7.3";
src = fetchurl {
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 = ''
wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins

View file

@ -15,7 +15,7 @@ stdenv.mkDerivation {
'';
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 = ''

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation {
sha256 = "0bbhqjjzh922aymjqrnl2hd3r8x6p7x5aa5jidv3l4d77drhlgzy";
};
buildInputs = [ cmake boost boost.lib ];
buildInputs = [ cmake boost ];
# these tests take a long time and don't
# 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
# ships with NixOS and it is API incompatible.
buildInputs = [ db4 boost boost.lib openssl unzip ];
buildInputs = [ db4 boost openssl unzip ];
patchPhase = ''
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
# ships with NixOS and it is API incompatible.
buildInputs = [ db4 boost boost.lib openssl unzip qt4 ];
buildInputs = [ db4 boost openssl unzip qt4 ];
configurePhase = ''
qmake USE_UPNP=-

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
};
buildInputs = [ qt4 pkgconfig boost boost.lib ];
buildInputs = [ qt4 pkgconfig boost ];
propagatedBuildInputs = [ dbus ];
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
, alsaLib
, atk
@ -21,7 +16,10 @@
, gtk
, libX11
, libXScrnSaver
, libXcomposite
, libXdamage
, libXext
, libXfixes
, libXinerama
, libXrender
, libXt
@ -39,191 +37,10 @@
assert stdenv.isLinux;
let
version = "32.0.3";
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"; }
];
# imports `version` and `sources`
with (import ./sources.nix);
let
arch = if stdenv.system == "i686-linux"
then "linux-i686"
else "linux-x86_64";
@ -247,7 +64,7 @@ stdenv.mkDerivation {
src = fetchurl {
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";
@ -271,7 +88,10 @@ stdenv.mkDerivation {
gtk
libX11
libXScrnSaver
libXcomposite
libXdamage
libXext
libXfixes
libXinerama
libXrender
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;
let version = "33.0.1"; in
let version = "33.0.2"; in
stdenv.mkDerivation rec {
name = "firefox-${version}";
src = fetchurl {
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
sha1 = "09b9ca1f6af1e0ff8716d559ccf55801ae1a8f2d";
sha1 = "60657ba123df85a632822974d8f914cc8c35a738";
};
buildInputs =

View file

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
perl perlXMLParser evolution_data_server gnome_doc_utils avahi
libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
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
nss zlib libsecret libXrandr randrproto which libxslt libtasn1
gmp nettle makeWrapper ];

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation {
name = "kadu-0.12.2";
name = "kadu-0.12.3";
src = fetchurl {
url = http://download.kadu.im/stable/kadu-0.12.2.tar.bz2;
sha256 = "0rqhkiyn8c7jigpxmvwh7daxsgjxlvd16zjdss1azdzd9x2dbym1";
url = http://download.kadu.im/stable/kadu-0.12.3.tar.bz2;
sha256 = "1a5q5b8pm253cwg6ahahjdm8jxj0pv41apyi1nvvy08bs38bn1yn";
};
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";
buildInputs =
[ pkgconfig autoreconfHook commoncpp2 openssl boost boost.lib libsndfile
[ pkgconfig autoreconfHook commoncpp2 openssl boost libsndfile
libxml2 libjpeg readline qt3 perl file
# optional ? :
alsaLib speex

View file

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

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
};
buildInputs = [ qt5 pkgconfig boost boost.lib ];
buildInputs = [ qt5 pkgconfig boost ];
postPatch = ''
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
, gconf
, alsaLib
@ -39,121 +34,10 @@
assert stdenv.isLinux;
let
version = "31.2.0";
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"; }
];
# imports `version` and `sources`
with (import ./sources.nix);
let
arch = if stdenv.system == "i686-linux"
then "linux-i686"
else "linux-x86_64";
@ -177,7 +61,7 @@ stdenv.mkDerivation {
src = fetchurl {
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";

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
}:
let version = "31.1.2"; in
let version = "31.2.0"; in
let verName = "${version}"; in
stdenv.mkDerivation rec {
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
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

View file

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

View file

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

View file

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

View file

@ -24,7 +24,7 @@ let
langsSpaces = stdenv.lib.concatStringsSep " " langs;
major = "4";
minor = "3";
patch = "1";
patch = "3";
tweak = "2";
subdir = "${major}.${minor}.${patch}";
version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
@ -40,9 +40,9 @@ let
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 {
@ -60,9 +60,10 @@ let
(x: x.name == "${name}.tar.bz2")
("Error: update liborcus version inside LO expression")
(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 {
@ -79,14 +80,14 @@ let
translations = fetchSrc {
name = "translations";
sha256 = "0vj1fpr99cb124hag0hijpp3pfbbi0gak56qiikxbwbq7mab6p9h";
sha256 = "0jpkkb71fbiid12r2dpvak304hlvx4ws1bk2yrb3narz15wzcvjr";
};
# TODO: dictionaries
help = fetchSrc {
name = "help";
sha256 = "1q0vzfla764zjz6xcx6r4nc8rikwb3pr2jsraj28hhwr5b26gdfz";
sha256 = "0vd4ndnqy7xjlxh9flfp84jy82bvaq80pxcsx6lsarxsb4cvw7sz";
};
};
@ -96,7 +97,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
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
@ -183,6 +184,8 @@ stdenv.mkDerivation rec {
'';
configureFlags = [
"--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib"
"--with-vendor=NixOS"
# Without these, configure does not finish
@ -198,7 +201,6 @@ stdenv.mkDerivation rec {
"--with-system-headers"
"--with-system-openssl"
"--with-system-openldap"
"--with-boost-libdir=${boost.lib}/lib"
"--without-system-libwps" # TODO
"--without-doxygen"
@ -236,7 +238,7 @@ stdenv.mkDerivation rec {
'';
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
freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg

View file

@ -525,4 +525,10 @@
md5 = "44d667c142d7cda120332623eab69f40";
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";
};
buildInputs = [ pkgconfig cmake glib qt4 boost boost.lib libsigrok
buildInputs = [ pkgconfig cmake glib qt4 boost libsigrok
libsigrokdecode libserialport libzip udev libusb1 libftdi
];

View file

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

View file

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

View file

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

View file

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

View file

@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
buildInputs = [
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

View file

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

View file

@ -30,12 +30,11 @@ stdenv.mkDerivation rec {
patch -p1 < ${patch_CVE}
# Add all libs to `macros/libslist', a list of library search paths.
for lib in ${lib.concatStringsSep " "
(map (lib: "\"${lib}\"/lib")
(buildInputs ++ [stdenv.glibc]))}
do
libs=$(echo "$NIX_LDFLAGS" | tr ' ' '\n' | sed -n 's/.*-L\(.*\).*/\1/p')
for lib in $libs; do
echo -n "$lib " >> macros/libslist
done
echo -n "${stdenv.glibc}/lib" >> macros/libslist
# Make sure to honor $TMPDIR, for chroot builds.
for file in configure gui/Makefile.in Makefile.in
@ -54,7 +53,7 @@ stdenv.mkDerivation rec {
buildInputs = [
gettext x11 SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
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
xulrunner
makeWrapper

View file

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

View file

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

View file

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

View file

@ -28,8 +28,15 @@ stdenv.mkDerivation {
do
$(ln -s $share $out/share/xbmc/.)
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;
done)
'';
preferLocalBuilds = true;

View file

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

View file

@ -12,7 +12,7 @@ with stdenv.lib;
let
version = "4.3.16"; # changes ./guest-additions as well
version = "4.3.18"; # changes ./guest-additions as well
forEachModule = action: ''
for mod in \
@ -32,13 +32,13 @@ let
'';
# See https://github.com/NixOS/nixpkgs/issues/672 for details
extpackRevision = "95972";
extpackRevision = "96516";
extensionPack = requireFile rec {
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
# IMPORTANT: Hash must be base16 encoded because it's used as an input to
# VBoxExtPackHelperApp!
# Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS
sha256 = "93b01ac2c575388ea6ae994450907c24e30a788c271ae9ff18512a06f28d9abd";
sha256 = "9c98f8256935492e6e45f7998e1c0e2fd859d87b24123d35ea0065fd0fd62d60";
message = ''
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:
@ -57,7 +57,7 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "99c32e646dbc93cbf4cc0b62ca6c1d24113a295fd758dc15724c14908dd6dcb3";
sha256 = "9798acbc78b2645f2a02446ef6be181ede1a377792007af2a3280c962edc24cb";
};
buildInputs =

View file

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

View file

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

View file

@ -393,4 +393,37 @@ rec {
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 {
name = "freefont-ttf-20100919";
name = "freefont-ttf-20120503";
src = fetchurl {
url = "mirror://gnu/freefont/${name}.tar.gz";
sha256 = "1q3h5jp1mbdkinkwxy0lfd0a1q7azlbagraydlzaa2ng82836wg4";
url = "mirror://gnu/freefont/${name}.zip";
sha256 = "1bw9mrf5pqi2a29b7qw4nhhj566aqqmi28hkbn2a38c2pzqvm1bw";
};
buildInputs = [ unzip ];
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype

View file

@ -1,24 +1,23 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation {
name = "junicode-0.6.15";
name = "junicode-0.7.8";
src = fetchurl {
url = mirror://sourceforge/junicode/junicode-0.6.15.zip;
sha256 = "0p16r5s6qwyz0hayb6k61s5r2sfachlx7r6gpqqx5myx6ipbfdns";
url = mirror://sourceforge/junicode/junicode/junicode-0-7-8/junicode-0-7-8.zip;
sha256 = "1lgkhj52s351ya7lp9z3xba7kaivgdvg80njhpj1rpc3jcmc69vl";
};
buildInputs = [ unzip ];
sourceRoot = ".";
installPhase =
''
mkdir -p $out/share/fonts/junicode-ttf
cp *.ttf $out/share/fonts/junicode-ttf
cp fonts/*.ttf $out/share/fonts/junicode-ttf
'';
meta = {
homepage = http://junicode.sourceforge.net/;
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 {
name = "liberation-fonts-1.04";
name = "liberation-fonts-2.00.1";
src = fetchurl {
url = "https://fedorahosted.org/releases/l/i/liberation-fonts/${name}.tar.gz";
sha256 = "189i6pc4jqhhmsb9shi8afg9af9crpmz9bnlldhqaxavr1bhj38f";
sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs";
};
buildInputs = [fontforge python pythonPackages.fonttools];
installPhase = ''
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}"
cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}"
cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
'';
meta = {

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