3
0
Fork 0
forked from mirrors/nixpkgs

Merge branch 'master' of https://github.com/NixOS/nixpkgs into ansible

This commit is contained in:
Jussi Maki 2014-05-26 10:28:52 +02:00
commit ab3aed6dfc
207 changed files with 1727 additions and 942 deletions

View file

@ -91,4 +91,7 @@ foreach my $file (@{$data->{list}->{attrs}}) {
my $sha256 = hashFile("sha256", 0, $storePath) or die;
symlink("../$fn", "$tarballsCache/sha256/$sha256");
$sha256 = hashFile("sha256", 1, $storePath) or die;
symlink("../$fn", "$tarballsCache/sha256/$sha256");
}

View file

@ -52,12 +52,12 @@ sub createMachine {
my ($args) = @_;
my $vm = Machine->new({%{$args}, log => $log, redirectSerial => ($ENV{USE_SERIAL} // "0") ne "1"});
$vms{$vm->name} = $vm;
$context .= "my \$" . $vm->name . " = \$vms{'" . $vm->name . "'}; ";
return $vm;
}
foreach my $vmScript (@ARGV) {
my $vm = createMachine({startCommand => $vmScript});
$context .= "my \$" . $vm->name . " = \$vms{'" . $vm->name . "'}; ";
}

View file

@ -0,0 +1,5 @@
{ config, pkgs, ...}:
{
imports = [ ./amazon-base-config.nix ];
ec2.hvm = true;
}

View file

@ -0,0 +1,33 @@
{ config, pkgs, lib, ...}:
let
cloudUtils = pkgs.fetchurl {
url = "https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz";
sha256 = "16shlmg36lidp614km41y6qk3xccil02f5n3r4wf6d1zr5n4v8vd";
};
growpart = pkgs.stdenv.mkDerivation {
name = "growpart";
src = cloudUtils;
buildPhase = ''
cp bin/growpart $out
sed -i 's|awk|gawk|' $out
sed -i 's|sed|gnused|' $out
'';
dontInstall = true;
dontPatchShebangs = true;
};
in
{
imports = [ ./amazon-base-config.nix ];
ec2.hvm = true;
boot.loader.grub.device = lib.mkOverride 0 "nodev";
boot.initrd.extraUtilsCommands = ''
cp -v ${pkgs.gawk}/bin/gawk $out/bin/gawk
cp -v ${pkgs.gnused}/bin/sed $out/bin/gnused
cp -v ${pkgs.utillinux}/sbin/sfdisk $out/bin/sfdisk
cp -v ${growpart} $out/bin/growpart
'';
boot.initrd.postDeviceCommands = ''
[ -e /dev/xvda ] && [ -e /dev/xvda1 ] && TMPDIR=/run sh $(type -P growpart) /dev/xvda 1
'';
}

View file

@ -18,7 +18,7 @@ parser.add_argument('--hvm', dest='hvm', action='store_true', help='Create HVM i
parser.add_argument('--key', dest='key_name', action='store_true', help='Keypair used for HVM instance creation', default="rob")
args = parser.parse_args()
instance_type = "m3.xlarge" if args.hvm else "m1.small"
instance_type = "m3.medium" if args.hvm else "m1.small"
ebs_size = 8 if args.hvm else 20
@ -52,7 +52,6 @@ depl.deploy(allow_reboot=True)
m = depl.machines['machine']
# Do the installation.
device="/dev/xvdg"
if args.hvm:
@ -66,24 +65,27 @@ m.run_command("mkdir -p /mnt")
m.run_command("mount {0} /mnt".format(device))
m.run_command("touch /mnt/.ebs")
m.run_command("mkdir -p /mnt/etc/nixos")
m.run_command("nix-channel --add http://nixos.org/channels/nixos-{} nixos".format(args.channel))
m.run_command("nix-channel --update")
m.run_command("nixos-rebuild switch")
version = m.run_command("nixos-version", capture_stdout=True).split(' ')[0]
version = m.run_command("nix-instantiate --eval-only -A lib.nixpkgsVersion '<nixpkgs>'", capture_stdout=True).split(' ')[0].replace('"','').strip()
print >> sys.stderr, "NixOS version is {0}".format(version)
m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/configuration.nix")
m.run_command("nixos-install")
if args.hvm:
m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/amazon-base-config.nix")
m.upload_file("./amazon-hvm-config.nix", "/mnt/etc/nixos/configuration.nix")
m.upload_file("./amazon-hvm-install-config.nix", "/mnt/etc/nixos/amazon-hvm-install-config.nix")
m.run_command("NIXOS_CONFIG=/etc/nixos/amazon-hvm-install-config.nix nixos-install")
m.run_command('nix-env -iA nixos.pkgs.grub')
m.run_command('cp /nix/store/*-grub-0.97*/lib/grub/i386-pc/* /mnt/boot/grub')
m.run_command('sed -i "s|hd0|hd0,0|" /mnt/boot/grub/menu.lst')
m.run_command('echo "(hd1) /dev/xvdg" > device.map')
m.run_command('echo -e "root (hd1,0)\nsetup (hd1)" | grub --device-map=device.map --batch')
else:
m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/configuration.nix")
m.run_command("nixos-install")
m.run_command("umount /mnt")
if args.hvm:
ami_name = "nixos-{0}-x86_64-ebs-hvm".format(version)
description = "NixOS {0} (x86_64; EBS root; hvm)".format(version)

View file

@ -4,10 +4,11 @@
machine =
{ config, pkgs, resources, ... }:
{ deployment.targetEnv = "ec2";
deployment.ec2.instanceType = "m1.large";
deployment.ec2.instanceType = "c3.large";
deployment.ec2.securityGroups = [ "admin" ];
deployment.ec2.ebsBoot = false;
deployment.ec2.keyPair = resources.ec2KeyPairs.keypair.name;
deployment.ec2.zone = "us-east-1e";
environment.systemPackages = [ pkgs.parted ];
};
}

View file

@ -10,6 +10,7 @@ with lib;
# TODO: find another name for it.
fonts = mkOption {
type = types.listOf types.path;
example = [ pkgs.dejavu_fonts ];
description = "List of primary font paths.";
apply = list: list ++

View file

@ -2,6 +2,12 @@
with lib;
let
tzdir = "${pkgs.tzdata}/share/zoneinfo";
in
{
options = {
@ -26,8 +32,10 @@ with lib;
environment.variables.TZDIR = "/etc/zoneinfo";
systemd.globalEnvironment.TZDIR = tzdir;
environment.etc.localtime =
{ source = "${pkgs.tzdata}/share/zoneinfo/${config.time.timeZone}";
{ source = "${tzdir}/${config.time.timeZone}";
mode = "direct-symlink";
};

View file

@ -39,6 +39,9 @@ with lib;
# Add Memtest86+ to the CD.
boot.loader.grub.memtest86.enable = true;
# Get a console as soon as the initrd loads fbcon on EFI boot
# Get a console as soon as the initrd loads fbcon on EFI boot.
boot.initrd.kernelModules = [ "fbcon" ];
# Allow the user to log in as root without a password.
security.initialRootPassword = "";
}

View file

@ -67,7 +67,7 @@ let
${config.boot.kernelPackages.kernel}/bzImage ::boot/bzImage
mcopy -v -i "$out" \
${config.system.build.initialRamdisk}/initrd ::boot/initrd
'';
''; # */
targetArch = if pkgs.stdenv.isi686 then
"ia32"
@ -177,39 +177,45 @@ in
# recognise that.
boot.kernelParams = [ "root=LABEL=${config.isoImage.volumeID}" ];
# Note that /dev/root is a symlink to the actual root device
# specified on the kernel command line, created in the stage 1 init
# script.
fileSystems."/".device = "/dev/root";
fileSystems."/" =
{ fsType = "tmpfs";
device = "none";
options = "mode=0755";
};
fileSystems."/nix/store" =
# Note that /dev/root is a symlink to the actual root device
# specified on the kernel command line, created in the stage 1
# init script.
fileSystems."/iso" =
{ device = "/dev/root";
neededForBoot = true;
noCheck = true;
};
fileSystems."/nix/.ro-store" =
{ fsType = "squashfs";
device = "/nix-store.squashfs";
device = "/iso/nix-store.squashfs";
options = "loop";
neededForBoot = true;
};
fileSystems."/nix/.rw-store" =
{ fsType = "tmpfs";
device = "none";
options = "mode=0755";
neededForBoot = true;
};
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" ];
boot.initrd.kernelModules = [ "loop" ];
# In stage 1, mount a tmpfs on top of / (the ISO image) and
# /nix/store (the squashfs image) to make this a live CD.
# In stage 1, mount a tmpfs on top of /nix/store (the squashfs
# image) to make this a live CD.
boot.initrd.postMountCommands =
''
mkdir -p /unionfs-chroot/ro-root
mount --rbind $targetRoot /unionfs-chroot/ro-root
mkdir /unionfs-chroot/rw-root
mount -t tmpfs -o "mode=755" none /unionfs-chroot/rw-root
mkdir /mnt-root-union
unionfs -o allow_other,cow,chroot=/unionfs-chroot,max_files=32768 /rw-root=RW:/ro-root=RO /mnt-root-union
oldTargetRoot=$targetRoot
targetRoot=/mnt-root-union
mkdir /unionfs-chroot/rw-store
mount -t tmpfs -o "mode=755" none /unionfs-chroot/rw-store
mkdir -p $oldTargetRoot/nix/store
unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-store=RW:/ro-root/nix/store=RO /mnt-root-union/nix/store
mkdir -p $targetRoot/nix/store
unionfs -o allow_other,cow,nonempty,chroot=$targetRoot,max_files=32768 /nix/.rw-store=RW:/nix/.ro-store=RO $targetRoot/nix/store
'';
# Closures to be copied to the Nix store on the CD, namely the init
@ -253,10 +259,6 @@ in
{ source = config.system.build.squashfsStore;
target = "/nix-store.squashfs";
}
{ # Quick hack: need a mount point for the store.
source = pkgs.runCommand "empty" {} "mkdir -p $out";
target = "/nix/store";
}
] ++ optionals config.isoImage.makeEfiBootable [
{ source = efiImg;
target = "/boot/efi.img";

View file

@ -80,7 +80,8 @@ mount -t tmpfs -o "mode=0755" none $mountPoint/run
mount -t tmpfs -o "mode=0755" none $mountPoint/var/setuid-wrappers
rm -rf $mountPoint/var/run
ln -s /run $mountPoint/var/run
cp -f /etc/resolv.conf $mountPoint/etc/resolv.conf
rm -f $mountPoint/etc/{resolv.conf,hosts}
cp -f /etc/resolv.conf /etc/hosts $mountPoint/etc/
if [ -n "$runChroot" ]; then

View file

@ -121,7 +121,6 @@
./services/hardware/pommed.nix
./services/hardware/sane.nix
./services/hardware/udev.nix
./services/hardware/udisks.nix
./services/hardware/udisks2.nix
./services/hardware/upower.nix
./services/hardware/thinkfan.nix

View file

@ -7,7 +7,10 @@ let
customGrsecPkg =
(import ../../../pkgs/build-support/grsecurity
{ grsecOptions = cfg; }
{
inherit lib pkgs;
grsecOptions = cfg;
}
).grsecPackage;
in
{

View file

@ -7,8 +7,6 @@ let
inherit (pkgs) alsaUtils;
soundState = "/var/lib/alsa/asound.state";
in
{
@ -35,6 +33,17 @@ in
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
defaults.pcm.!card 3
'';
description = ''
Set addition configuration for system-wide alsa.
'';
};
};
};
@ -46,6 +55,13 @@ in
environment.systemPackages = [ alsaUtils ];
environment.etc = mkIf (config.sound.extraConfig != "")
[
{ source = pkgs.writeText "asound.conf" config.sound.extraConfig;
target = "asound.conf";
}
];
# ALSA provides a udev rule for restoring volume settings.
services.udev.packages = [ alsaUtils ];

View file

@ -4,6 +4,9 @@
with lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{
###### interface
@ -30,9 +33,9 @@ with lib;
config = mkIf config.services.gnome3.evolution-data-server.enable {
environment.systemPackages = [ pkgs.evolution_data_server ];
environment.systemPackages = [ gnome3.evolution_data_server ];
services.dbus.packages = [ pkgs.evolution_data_server ];
services.dbus.packages = [ gnome3.evolution_data_server ];
};

View file

@ -1,45 +0,0 @@
# Udisks daemon.
{ config, lib, pkgs, ... }:
with lib;
{
###### interface
options = {
services.udisks = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable Udisks, a DBus service that allows
applications to query and manipulate storage devices.
'';
};
};
};
###### implementation
config = mkIf config.services.udisks.enable {
environment.systemPackages = [ pkgs.udisks ];
services.dbus.packages = [ pkgs.udisks ];
system.activationScripts.udisks =
''
mkdir -m 0755 -p /var/lib/udisks
'';
services.udev.packages = [ pkgs.udisks ];
};
}

View file

@ -125,13 +125,17 @@ in
#include <abstractions/base>
#include <abstractions/nameservice>
${pkgs.glibc}/lib/*.so mr,
${pkgs.libevent}/lib/libevent*.so* mr,
${pkgs.curl}/lib/libcurl*.so* mr,
${pkgs.openssl}/lib/libssl*.so* mr,
${pkgs.openssl}/lib/libcrypto*.so* mr,
${pkgs.zlib}/lib/libz*.so* mr,
${pkgs.libssh2}/lib/libssh2*.so* mr,
${pkgs.glibc}/lib/*.so mr,
${pkgs.libevent}/lib/libevent*.so* mr,
${pkgs.curl}/lib/libcurl*.so* mr,
${pkgs.openssl}/lib/libssl*.so* mr,
${pkgs.openssl}/lib/libcrypto*.so* mr,
${pkgs.zlib}/lib/libz*.so* mr,
${pkgs.libssh2}/lib/libssh2*.so* mr,
${pkgs.systemd}/lib/libsystemd*.so* mr,
${pkgs.xz}/lib/liblzma*.so* mr,
${pkgs.libgcrypt}/lib/libgcrypt*.so* mr,
${pkgs.libgpgerror}/lib/libgpg-error*.so* mr,
@{PROC}/sys/kernel/random/uuid r,
@{PROC}/sys/vm/overcommit_memory r,

View file

@ -101,13 +101,14 @@ in {
};
environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules"
"${pkgs.glib_networking}/lib/gio/modules" ];
"${gnome3.glib_networking}/lib/gio/modules" ];
environment.systemPackages =
[ pkgs.desktop_file_utils
pkgs.glib_networking
pkgs.gtk3 # for gtk-update-icon-cache
gnome3.glib_networking
gnome3.gtk3 # for gtk-update-icon-cache
pkgs.ibus
pkgs.shared_mime_info # for update-mime-database
gnome3.gvfs
gnome3.dconf
gnome3.gnome-backgrounds
gnome3.gnome_control_center

View file

@ -169,7 +169,7 @@ in
videoDrivers = mkOption {
type = types.listOf types.str;
# !!! We'd like "nv" here, but it segfaults the X server.
default = [ "ati" "cirrus" "intel" "vesa" "vmware" ];
default = [ "ati" "cirrus" "intel" "vesa" "vmware" "modesetting" ];
example = [ "vesa" ];
description = ''
The names of the video drivers the configuration

View file

@ -127,11 +127,6 @@ in
mkdir -m 0555 -p /var/empty
'';
system.activationScripts.media =
''
mkdir -m 0755 -p /media
'';
system.activationScripts.usrbinenv =
''
mkdir -m 0755 -p /usr/bin

View file

@ -58,6 +58,7 @@ echo
mkdir -p /etc
touch /etc/fstab # to shut up mount
touch /etc/mtab # to shut up mke2fs
touch /etc/initrd-release
mkdir -p /proc
mount -t proc none /proc
mkdir -p /sys
@ -345,8 +346,8 @@ exec 3>&-
udevadm control --exit || true
# Kill any remaining processes, just to be sure we're not taking any
# with us into stage 2. unionfs-fuse mounts require the unionfs process.
pkill -9 -v '(1|unionfs)'
# with us into stage 2. But keep storage daemons like unionfs-fuse.
pkill -9 -v -f '@'
if test -n "$debug1mounts"; then fail; fi

View file

@ -344,5 +344,8 @@ in
(isYes "BLK_DEV_INITRD")
];
# Prevent systemd from waiting for the /dev/root symlink.
systemd.units."dev-root.device".text = "";
};
}

View file

@ -1,164 +1,183 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.ec2;
in
{
imports = [ ../profiles/headless.nix ./ec2-data.nix ];
system.build.amazonImage =
pkgs.vmTools.runInLinuxVM (
pkgs.runCommand "amazon-image"
{ preVM =
''
mkdir $out
diskImage=$out/nixos.img
${pkgs.vmTools.qemu}/bin/qemu-img create -f raw $diskImage "4G"
mv closure xchg/
'';
buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph =
[ "closure" config.system.build.toplevel ];
}
''
# Create an empty filesystem and mount it.
${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L nixos /dev/vda
${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda
mkdir /mnt
mount /dev/vda /mnt
options = {
ec2 = {
hvm = mkOption {
default = false;
description = ''
Whether the EC2 instance is a HVM instance.
'';
};
};
};
# The initrd expects these directories to exist.
mkdir /mnt/dev /mnt/proc /mnt/sys
config = {
system.build.amazonImage =
pkgs.vmTools.runInLinuxVM (
pkgs.runCommand "amazon-image"
{ preVM =
''
mkdir $out
diskImage=$out/nixos.img
${pkgs.vmTools.qemu}/bin/qemu-img create -f raw $diskImage "4G"
mv closure xchg/
'';
buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph =
[ "closure" config.system.build.toplevel ];
}
''
# Create an empty filesystem and mount it.
${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L nixos /dev/vda
${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda
mkdir /mnt
mount /dev/vda /mnt
mount -o bind /proc /mnt/proc
# The initrd expects these directories to exist.
mkdir /mnt/dev /mnt/proc /mnt/sys
# Copy all paths in the closure to the filesystem.
storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
mount -o bind /proc /mnt/proc
mkdir -p /mnt/nix/store
echo "copying everything (will take a while)..."
cp -prd $storePaths /mnt/nix/store/
# Copy all paths in the closure to the filesystem.
storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
# Register the paths in the Nix database.
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
chroot /mnt ${config.nix.package}/bin/nix-store --load-db
mkdir -p /mnt/nix/store
echo "copying everything (will take a while)..."
cp -prd $storePaths /mnt/nix/store/
# Create the system profile to allow nixos-rebuild to work.
chroot /mnt ${config.nix.package}/bin/nix-env \
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
# Register the paths in the Nix database.
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
chroot /mnt ${config.nix.package}/bin/nix-store --load-db
# `nixos-rebuild' requires an /etc/NIXOS.
mkdir -p /mnt/etc
touch /mnt/etc/NIXOS
# Create the system profile to allow nixos-rebuild to work.
chroot /mnt ${config.nix.package}/bin/nix-env \
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
# `switch-to-configuration' requires a /bin/sh
mkdir -p /mnt/bin
ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh
# `nixos-rebuild' requires an /etc/NIXOS.
mkdir -p /mnt/etc
touch /mnt/etc/NIXOS
# Install a configuration.nix.
mkdir -p /mnt/etc/nixos
cp ${./amazon-config.nix} /mnt/etc/nixos/configuration.nix
# `switch-to-configuration' requires a /bin/sh
mkdir -p /mnt/bin
ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh
# Generate the GRUB menu.
chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot
# Install a configuration.nix.
mkdir -p /mnt/etc/nixos
cp ${./amazon-config.nix} /mnt/etc/nixos/configuration.nix
umount /mnt/proc
umount /mnt
''
);
# Generate the GRUB menu.
chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot
fileSystems."/".device = "/dev/disk/by-label/nixos";
umount /mnt/proc
umount /mnt
''
);
boot.initrd.kernelModules = [ "xen-blkfront" ];
boot.kernelModules = [ "xen-netfront" ];
boot.kernelParams = [ "console=ttyS0" ];
fileSystems."/".device = "/dev/disk/by-label/nixos";
# Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd.
boot.loader.grub.version = 1;
boot.loader.grub.device = "nodev";
boot.loader.grub.timeout = 0;
boot.loader.grub.extraPerEntryConfig = "root (hd0)";
boot.initrd.kernelModules = [ "xen-blkfront" ];
boot.kernelModules = [ "xen-netfront" ];
boot.initrd.postDeviceCommands =
''
# Force udev to exit to prevent random "Device or resource busy
# while trying to open /dev/xvda" errors from fsck.
udevadm control --exit || true
kill -9 -1
'';
# Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd.
boot.loader.grub.version = 1;
boot.loader.grub.device = if cfg.hvm then "/dev/xvda" else "nodev";
boot.loader.grub.timeout = 0;
boot.loader.grub.extraPerEntryConfig = "root (hd0${lib.optionalString cfg.hvm ",0"})";
# Mount all formatted ephemeral disks and activate all swap devices.
# We cannot do this with the fileSystems and swapDevices options
# because the set of devices is dependent on the instance type
# (e.g. "m1.large" has one ephemeral filesystem and one swap device,
# while "m1.large" has two ephemeral filesystems and no swap
# devices). Also, put /tmp and /var on /disk0, since it has a lot
# more space than the root device. Similarly, "move" /nix to /disk0
# by layering a unionfs-fuse mount on top of it so we have a lot more space for
# Nix operations.
boot.initrd.postMountCommands =
''
diskNr=0
diskForUnionfs=
for device in /dev/xvd[abcde]*; do
if [ "$device" = /dev/xvda -o "$device" = /dev/xvda1 ]; then continue; fi
fsType=$(blkid -o value -s TYPE "$device" || true)
if [ "$fsType" = swap ]; then
echo "activating swap device $device..."
swapon "$device" || true
elif [ "$fsType" = ext3 ]; then
mp="/disk$diskNr"
diskNr=$((diskNr + 1))
echo "mounting $device on $mp..."
if mountFS "$device" "$mp" "" ext3; then
if [ -z "$diskForUnionfs" ]; then diskForUnionfs="$mp"; fi
fi
else
echo "skipping unknown device type $device"
fi
done
boot.initrd.postDeviceCommands =
''
# Force udev to exit to prevent random "Device or resource busy
# while trying to open /dev/xvda" errors from fsck.
udevadm control --exit || true
kill -9 -1
'';
if [ -n "$diskForUnionfs" ]; then
mkdir -m 755 -p $targetRoot/$diskForUnionfs/root
# Mount all formatted ephemeral disks and activate all swap devices.
# We cannot do this with the fileSystems and swapDevices options
# because the set of devices is dependent on the instance type
# (e.g. "m1.large" has one ephemeral filesystem and one swap device,
# while "m1.large" has two ephemeral filesystems and no swap
# devices). Also, put /tmp and /var on /disk0, since it has a lot
# more space than the root device. Similarly, "move" /nix to /disk0
# by layering a unionfs-fuse mount on top of it so we have a lot more space for
# Nix operations.
boot.initrd.postMountCommands =
''
diskNr=0
diskForUnionfs=
for device in /dev/xvd[abcde]*; do
if [ "$device" = /dev/xvda -o "$device" = /dev/xvda1 ]; then continue; fi
fsType=$(blkid -o value -s TYPE "$device" || true)
if [ "$fsType" = swap ]; then
echo "activating swap device $device..."
swapon "$device" || true
elif [ "$fsType" = ext3 ]; then
mp="/disk$diskNr"
diskNr=$((diskNr + 1))
echo "mounting $device on $mp..."
if mountFS "$device" "$mp" "" ext3; then
if [ -z "$diskForUnionfs" ]; then diskForUnionfs="$mp"; fi
fi
else
echo "skipping unknown device type $device"
fi
done
mkdir -m 1777 -p $targetRoot/$diskForUnionfs/root/tmp $targetRoot/tmp
mount --bind $targetRoot/$diskForUnionfs/root/tmp $targetRoot/tmp
if [ -n "$diskForUnionfs" ]; then
mkdir -m 755 -p $targetRoot/$diskForUnionfs/root
if [ ! -e $targetRoot/.ebs ]; then
mkdir -m 755 -p $targetRoot/$diskForUnionfs/root/var $targetRoot/var
mount --bind $targetRoot/$diskForUnionfs/root/var $targetRoot/var
mkdir -m 1777 -p $targetRoot/$diskForUnionfs/root/tmp $targetRoot/tmp
mount --bind $targetRoot/$diskForUnionfs/root/tmp $targetRoot/tmp
mkdir -p /unionfs-chroot/ro-nix
mount --rbind $targetRoot/nix /unionfs-chroot/ro-nix
if [ ! -e $targetRoot/.ebs ]; then
mkdir -m 755 -p $targetRoot/$diskForUnionfs/root/var $targetRoot/var
mount --bind $targetRoot/$diskForUnionfs/root/var $targetRoot/var
mkdir -m 755 -p $targetRoot/$diskForUnionfs/root/nix
mkdir -p /unionfs-chroot/rw-nix
mount --rbind $targetRoot/$diskForUnionfs/root/nix /unionfs-chroot/rw-nix
mkdir -p /unionfs-chroot/ro-nix
mount --rbind $targetRoot/nix /unionfs-chroot/ro-nix
unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-nix=RW:/ro-nix=RO $targetRoot/nix
fi
fi
'';
mkdir -m 755 -p $targetRoot/$diskForUnionfs/root/nix
mkdir -p /unionfs-chroot/rw-nix
mount --rbind $targetRoot/$diskForUnionfs/root/nix /unionfs-chroot/rw-nix
boot.initrd.extraUtilsCommands =
''
# We need swapon in the initrd.
cp ${pkgs.utillinux}/sbin/swapon $out/bin
'';
unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-nix=RW:/ro-nix=RO $targetRoot/nix
fi
fi
'';
# Don't put old configurations in the GRUB menu. The user has no
# way to select them anyway.
boot.loader.grub.configurationLimit = 0;
boot.initrd.extraUtilsCommands =
''
# We need swapon in the initrd.
cp ${pkgs.utillinux}/sbin/swapon $out/bin
'';
# Allow root logins only using the SSH key that the user specified
# at instance creation time.
services.openssh.enable = true;
services.openssh.permitRootLogin = "without-password";
# Don't put old configurations in the GRUB menu. The user has no
# way to select them anyway.
boot.loader.grub.configurationLimit = 0;
# Force getting the hostname from EC2.
networking.hostName = mkDefault "";
# Allow root logins only using the SSH key that the user specified
# at instance creation time.
services.openssh.enable = true;
services.openssh.permitRootLogin = "without-password";
# Always include cryptsetup so that Charon can use it.
environment.systemPackages = [ pkgs.cryptsetup ];
# Force getting the hostname from EC2.
networking.hostName = mkDefault "";
boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
# Always include cryptsetup so that Charon can use it.
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

@ -65,7 +65,7 @@ let
${if cfg.useBootLoader then ''
-drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \
-drive index=1,id=drive2,file=${bootDisk}/disk.img,if=virtio,readonly \
-boot menu=on
-boot menu=on \
'' else ''
-drive file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \
-kernel ${config.system.build.toplevel}/kernel \

View file

@ -62,7 +62,6 @@ in rec {
(all nixos.tests.printing)
(all nixos.tests.proxy)
(all nixos.tests.simple)
(all nixos.tests.udisks)
(all nixos.tests.udisks2)
(all nixos.tests.xfce)

View file

@ -241,7 +241,6 @@ in rec {
tests.runInMachine = callTest tests/run-in-machine.nix {};
tests.simple = callTest tests/simple.nix {};
tests.tomcat = callTest tests/tomcat.nix {};
tests.udisks = callTest tests/udisks.nix {};
tests.udisks2 = callTest tests/udisks2.nix {};
tests.xfce = callTest tests/xfce.nix {};

View file

@ -129,9 +129,10 @@ let
#$machine->waitForUnit('getty@tty2');
$machine->waitForUnit("rogue");
$machine->waitForUnit("nixos-manual");
$machine->waitForUnit("dhcpcd");
${optionalString testChannel ''
$machine->waitForUnit("dhcpcd");
# Allow the machine to talk to the fake nixos.org.
$machine->succeed(
"rm /etc/hosts",
@ -161,10 +162,10 @@ let
"/mnt/etc/nixos/configuration.nix");
# Perform the installation.
$machine->succeed("nixos-install >&2");
$machine->succeed("nixos-install < /dev/null >&2");
# Do it again to make sure it's idempotent.
$machine->succeed("nixos-install >&2");
$machine->succeed("nixos-install < /dev/null >&2");
$machine->succeed("umount /mnt/boot || true");
$machine->succeed("umount /mnt");
@ -173,7 +174,7 @@ let
$machine->shutdown;
# Now see if we can boot the installation.
my $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
# Did /boot get mounted?
$machine->waitForUnit("local-fs.target");
@ -205,7 +206,7 @@ let
# And just to be sure, check that the machine still boots after
# "nixos-rebuild switch".
my $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
$machine->waitForUnit("network.target");
$machine->shutdown;
'';

View file

@ -28,7 +28,9 @@ in
$client1->execute("mumble mumble://client1\@server/test &");
$client2->execute("mumble mumble://client2\@server/test &");
$server->sleep(10); # Wait for Mumble UI to pop up
$client1->waitForWindow(qr/Mumble/);
$client2->waitForWindow(qr/Mumble/);
$server->sleep(3); # Wait some more for the Mumble UI
# cancel client audio configuration
$client1->sendKeys("esc");

View file

@ -1,56 +0,0 @@
import ./make-test.nix ({ pkgs, ... }:
let
stick = pkgs.fetchurl {
url = http://nixos.org/~eelco/nix/udisks-test.img.xz;
sha256 = "0was1xgjkjad91nipzclaz5biv3m4b2nk029ga6nk7iklwi19l8b";
};
in
{
machine =
{ config, pkgs, ... }:
{ services.udisks.enable = true;
imports = [ ./common/user-account.nix ];
security.polkit.extraConfig =
''
polkit.addRule(function(action, subject) {
if (subject.user == "alice") return "yes";
});
'';
};
testScript =
''
my $stick = $machine->stateDir . "/usbstick.img";
system("xz -d < ${stick} > $stick") == 0 or die;
$machine->succeed("udisks --enumerate | grep /org/freedesktop/UDisks/devices/vda");
$machine->fail("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1");
# Attach a USB stick and wait for it to show up.
$machine->sendMonitorCommand("usb_add disk:$stick");
$machine->waitUntilSucceeds("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1");
$machine->succeed("udisks --show-info /dev/sda1 | grep 'label:.*USBSTICK'");
# Mount the stick as a non-root user and do some stuff with it.
$machine->succeed("su - alice -c 'udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1'");
$machine->succeed("su - alice -c 'udisks --mount /dev/sda1'");
$machine->succeed("su - alice -c 'cat /media/USBSTICK/test.txt'") =~ /Hello World/ or die;
$machine->succeed("su - alice -c 'echo foo > /media/USBSTICK/bar.txt'");
# Unmounting the stick should make the mountpoint disappear.
$machine->succeed("su - alice -c 'udisks --unmount /dev/sda1'");
$machine->fail("[ -d /media/USBSTICK ]");
# Remove the USB stick.
$machine->sendMonitorCommand("usb_del 0.3"); # FIXME
$machine->waitUntilFails("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1");
$machine->fail("[ -e /dev/sda ]");
'';
})

View file

@ -6,7 +6,7 @@
, perl, pkgconfig, python, serd, sord, sratom, suil }:
let
tag = "3.5.357";
tag = "3.5.380";
in
stdenv.mkDerivation rec {
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = git://git.ardour.org/ardour/ardour.git;
rev = "refs/tags/${tag}";
sha256 = "1e026fb9a6ad4179d52c4b578cc3861bdfd3629b9e7b7a7341d431c7d3692c42";
sha256 = "dbcbb2d9143e196d079c27b15266e47d24b81cb7591fe64b717f3485965ded7b";
};
buildInputs =
@ -28,9 +28,9 @@ stdenv.mkDerivation rec {
patchPhase = ''
# The funny revision number is from `git describe rev`
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-gce4d125\"; }\n' > libs/ardour/revision.cc
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-g2f6065b\"; }\n' > libs/ardour/revision.cc
# Note the different version number
sed -i '33i rev = \"3.5-357-gce4d125\"' wscript
sed -i '33i rev = \"3.5-380-g2f6065b\"' wscript
sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript
sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings
sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl

View file

@ -1,8 +1,10 @@
{ stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst_plugins_base
, liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist
, usbmuxd, libmtp, gvfs, libcdio, protobuf, libspotify, qca2, pkgconfig
, sparsehash }:
, sparsehash, config }:
let withSpotify = config.clementine.spotify or false;
in
stdenv.mkDerivation {
name = "clementine-1.2.1";
@ -27,7 +29,6 @@ stdenv.mkDerivation {
liblastfm
libmtp
libplist
libspotify
pkgconfig
protobuf
qca2
@ -37,7 +38,7 @@ stdenv.mkDerivation {
sqlite
taglib
usbmuxd
];
] ++ stdenv.lib.optional withSpotify libspotify;
meta = with stdenv.lib; {
homepage = "http://www.clementine-player.org";
@ -45,6 +46,7 @@ stdenv.mkDerivation {
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ maintainers.ttuegel ];
hydraPlatforms = []; # libspotify is unfree
# libspotify is unfree
hydraPlatforms = optional (!withSpotify) platforms.linux;
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "drumkv1-${version}";
version = "0.4.1";
version = "0.4.2";
src = fetchurl {
url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
sha256 = "0wxbn5qm3dn9spwbm618flgrwvls7bipg0nhgn0lv4za2g823g56";
sha256 = "18rvfgblynlmklk25azmppibn1bdjid97hipa323gnzmxgq0rfjq";
};
buildInputs = [ jackaudio libsndfile lv2 qt4 ];

View file

@ -1,17 +1,17 @@
{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg_0_10, libvorbis, mpc, libsndfile, jackaudio, db, libmodplug, timidity, libid3tag, libtool }:
{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg, libvorbis, mpc, libsndfile, jackaudio, db, libmodplug, timidity, libid3tag, libtool }:
stdenv.mkDerivation rec {
name = "moc-${version}";
version = "2.5.0-beta1";
version = "2.5.0-beta2";
src = fetchurl {
url = "http://ftp.daper.net/pub/soft/moc/unstable/moc-${version}.tar.bz2";
sha256 = "076816da9c6d1e61a386a1dda5f63ee2fc84bc31e9011ef70acc1d391d4c46a6";
sha256 = "486d50584c3fb0067b8c03af54e44351633a7740b18dc3b7358322051467034c";
};
configurePhase = "./configure prefix=$out";
buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg_0_10 libvorbis mpc libsndfile jackaudio db libmodplug timidity libid3tag libtool ];
buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis mpc libsndfile jackaudio db libmodplug timidity libid3tag libtool ];
meta = {
description = "MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.";

View file

@ -3,12 +3,12 @@
, libtool, libvorbis, pkgconfig, qt4, rubberband, stdenv }:
stdenv.mkDerivation rec {
version = "0.6.0";
version = "0.6.1";
name = "qtractor-${version}";
src = fetchurl {
url = "mirror://sourceforge/qtractor/${name}.tar.gz";
sha256 = "0aw6g0biqzysnsk5vd6wx3q1khyav6krhjz7bzk0v7d2160bn40r";
sha256 = "09lyz1pn2dadr1ii2msyv3n13kq3mbgpcwcyfm0brm01c2fnh6wc";
};
buildInputs =

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "samplv1-${version}";
version = "0.4.1";
version = "0.4.2";
src = fetchurl {
url = "mirror://sourceforge/samplv1/${name}.tar.gz";
sha256 = "1cx3qs9vrdwmym2qsghqq53bshnjqgpqypsilr1m2i1cpfnfrr6x";
sha256 = "1vr6jbqnsgdq3v2h1ndp4pirnil3119dqwlq0k0kdscmcskvb9j4";
};
buildInputs = [ jackaudio libsndfile lv2 qt4 ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "synthv1-${version}";
version = "0.4.1";
version = "0.4.2";
src = fetchurl {
url = "mirror://sourceforge/synthv1/${name}.tar.gz";
sha256 = "1j1x8n3rlwrh373wqmm6mj3cgyk3apvnpqygx1700fl4cf249agl";
sha256 = "1r4fszbzwd0yfcch0mcsmh7781zw1317hiljn85w79721fs2m8hc";
};
buildInputs = [ qt4 jackaudio lv2 ];

View file

@ -1,11 +1,11 @@
{ fetchurl, stdenv, emacs, texinfo, which, texLive }:
stdenv.mkDerivation rec {
name = "org-8.2.1";
name = "org-8.2.6";
src = fetchurl {
url = "http://orgmode.org/${name}.tar.gz";
sha256 = "625e2b6786158bcf6c43194075f7638ab8048c68a60025289a051c407e467823";
sha256 = "0f196r0n9m2np123sjabsqdw68h9qp6qr7l5v257am8qs7rj0jm1";
};
buildInputs = [ emacs ];

View file

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
name = "gimp-2.8.10";
src = fetchurl {
url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
sha256 = "1rha8yx0pplfjziqczjrxxp16vsvpmb5ziq3c218s4w9z4cqpzg7";
};

View file

@ -19,6 +19,7 @@ cabal.mkDerivation (self: {
tastyGolden tastyHunit time transformers utf8String
];
extraLibraries = [ libXScrnSaver ];
jailbreak = true;
meta = {
homepage = "http://arbtt.nomeata.de/";
description = "Automatic Rule-Based Time Tracker";

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool }:
{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool, gcc, makeWrapper }:
stdenv.mkDerivation rec {
name = "xca-${version}";
@ -15,7 +15,12 @@ stdenv.mkDerivation rec {
prefix=$out ./configure ${openssl} ${libtool}
'';
buildInputs = [ openssl qt4 libtool ];
postInstall = ''
wrapProgram "$out/bin/xca" \
--prefix LD_LIBRARY_PATH : "${qt4}/lib:${gcc.gcc}/lib:${gcc.gcc}/lib64:${openssl}/lib:${libtool}/lib"
'';
buildInputs = [ openssl qt4 libtool gcc makeWrapper ];
nativeBuildInputs = [ pkgconfig ];
meta = with stdenv.lib; {

View file

@ -1,5 +1,6 @@
{ cabal, alsaCore, alsaMixer, filepath, HTTP, libXrandr, mtl
, parsec, regexCompat, stm, time, utf8String, wirelesstools, X11, libmpd
{ cabal, alsaCore, alsaMixer, dbus, filepath, hinotify, HTTP
, libmpd, libXrandr, mtl, parsec, regexCompat, stm, time
, timezoneOlson, timezoneSeries, utf8String, wirelesstools, X11
, X11Xft
}:
@ -10,11 +11,12 @@ cabal.mkDerivation (self: {
isLibrary = false;
isExecutable = true;
buildDepends = [
alsaCore alsaMixer filepath HTTP mtl parsec regexCompat stm time
utf8String X11 X11Xft libmpd
alsaCore alsaMixer dbus filepath hinotify HTTP libmpd mtl parsec
regexCompat stm time timezoneOlson timezoneSeries utf8String X11
X11Xft
];
extraLibraries = [ libXrandr wirelesstools ];
configureFlags = "-fwith_xft -fwith_iwlib -fwith_alsa -fwith_mpd";
configureFlags = "-fall_extensions";
meta = {
homepage = "http://projects.haskell.org/xmobar/";
description = "A Minimalistic Text Based Status Bar";

View file

@ -13,9 +13,9 @@
sha256bin64 = "1sqavz6lh0ryf8jlw8jcfwk265spxs70bhigcgcqsd6647fbdqsr";
};
stable = {
version = "34.0.1847.132";
sha256 = "0f30i0jxqx059imfiyvsaslkydkva9x6nbvpsjccvwygs91hm4z8";
sha256bin32 = "1czbydkyazhc63ndyiarbwmmi7p3wh2rb4x7avs41yx7sx9vdqjl";
sha256bin64 = "01k301629m4m8a4mpg0m5kblygfs72kpa4qi3mlkl8cbb0rlq6mv";
version = "35.0.1916.114";
sha256 = "1bvpkwjchkzx1qfc93hd8md6sz5sd7pl55xc8b8m3iakbp0csvsn";
sha256bin32 = "0zm5770cv9dld37xall9lpl9faa0bgjcp8hjx6l1ivfhs6lxbxxa";
sha256bin64 = "18p302aj2d7xdza9kf438vbz3wqh8db7v2dq5d9b4b3ak6w9ld03";
};
}

View file

@ -2,12 +2,12 @@
m4, glib_networking, gsettings_desktop_schemas }:
stdenv.mkDerivation {
name = "dwb-2014-04-20";
name = "dwb-2014-05-23";
src = fetchgit {
url = "https://bitbucket.org/portix/dwb.git";
rev = "117a6a8cdb84b30b0c084dee531b650664d09ba2";
sha256 = "1k1nax3ij64b2hbn9paqj128yyzy41b61xd2m1ayq9y17k9als0b";
rev = "813457c0cb6603d3b7a548fc97a8298a7fac34fa";
sha256 = "1fywnf3yp6p84hap40nb9vrz1gswgnhppygmi1gzjzz3bphwf5pr";
};
buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas libsoup webkit gtk3 gnutls json_c m4 ];

View file

@ -5,11 +5,11 @@
assert sslSupport -> openssl != null;
stdenv.mkDerivation {
name = "lynx-2.8.7";
name = "lynx-2.8.8";
src = fetchurl {
url = http://lynx.isc.org/lynx2.8.7/lynx2.8.7.tar.bz2;
sha256 = "1baxwpdvak6nalr943g22z67r1d3fbibbkqvkvvar9xlvrs9gv20";
url = http://lynx.isc.org/lynx2.8.8/lynx2.8.8.tar.bz2;
sha256 = "1rxysl08acqll5b87368f04kckl8sggy1qhnq59gsxyny1ffg039";
};
configureFlags = if sslSupport then "--with-ssl=${openssl}" else "";

View file

@ -36,7 +36,7 @@
let
# -> http://get.adobe.com/flashplayer/
version = "11.2.202.356";
version = "11.2.202.359";
src =
if stdenv.system == "x86_64-linux" then
@ -47,7 +47,7 @@ let
else rec {
inherit version;
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
sha256 = "1g09a9fvm3wm2zi885q2kc2rwq0a7ywc637i31pzfic6kij10ps5";
sha256 = "13myq6f999qy1jbgm73gxnadrxdvasi2jiffdyxmwpbwglhhrpka";
}
else if stdenv.system == "i686-linux" then
if debug then {
@ -58,7 +58,7 @@ let
} else rec {
inherit version;
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
sha256 = "1r7sbwfbgq7c5jhginsc95rihdcjsfzrbx0kxgwv7sk2jc7x8hhb";
sha256 = "04wh18jbscp7m3drvsxxhp2vjnhww69vw0pgr23hx81ry0ccvb8m";
}
else throw "Flash Player is not supported on this platform";

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
stdenv.mkDerivation {
name = "esniper-2.29.0";
name = "esniper-2.30.0";
src = fetchurl {
url = "mirror://sourceforge/esniper/esniper-2-29-0.tgz";
sha256 = "052jfbzm0a88h3hss2vg1vfdrhibjwhbcdnwsbkk5i1z0jj16xxc";
url = "mirror://sourceforge/esniper/esniper-2-30-0.tgz";
sha256 = "1p85d5qfr3f35xfj5555ck4wwk5hqkh65ivam1527p8dwcz00wpl";
};
buildInputs = [ openssl curl ];

View file

@ -3,14 +3,14 @@
, pythonPackages, cacert, cmake, makeWrapper }:
stdenv.mkDerivation rec {
rev = "6f64ee699ba46c90b55d3b99c60e4807819e2b7b";
version = "0.4.4-rev${rev}";
rev = "02eed97d977567b0fb16cfeeaeebb863eab1e509";
version = "1.0-rev${rev}";
name = "weechat-${version}";
src = fetchgit {
inherit rev;
url = "git://github.com/weechat/weechat.git";
sha256 = "1w58gir48kxvscf6njy3kmfxbjlnsf2byw3g3w6r47zjkgyxcf1z";
sha256 = "0nk0p9chvn0h2pzq9793k2dz8h5iplz0zwqzyds55fbmsgzz51g2";
};
buildInputs =

View file

@ -1,10 +1,10 @@
{ stdenv, fetchurl, pkgconfig, intltool, file, makeWrapper
, openssl, curl, libevent, inotifyTools
, openssl, curl, libevent, inotifyTools, systemd
, enableGTK3 ? false, gtk3
}:
let
version = "2.82";
version = "2.83";
in
with { inherit (stdenv.lib) optional optionals optionalString; };
@ -14,11 +14,12 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://download.transmissionbt.com/files/transmission-${version}.tar.xz";
sha256 = "08imy28hpjxwdzgvhm66hkfyzp8qnnqr4jhv3rgshryzhw86b5ir";
sha256 = "0cqlgl6jmjw1caybz6nzh3l8z0jak1dxba01isv72zvy2r8b1qdh";
};
buildInputs = [ pkgconfig intltool file openssl curl libevent inotifyTools ]
++ optionals enableGTK3 [ gtk3 makeWrapper ];
++ optionals enableGTK3 [ gtk3 makeWrapper ]
++ optional stdenv.isLinux systemd;
preConfigure = ''
sed -i -e 's|/usr/bin/file|${file}/bin/file|g' configure

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec
{
version = "2.1.1";
version = "3.0.4";
name = "seafile-client-${version}";
src = fetchurl
{
url = "https://github.com/haiwen/seafile-client/archive/v${version}.tar.gz";
sha256 = "d98515ea229df702cbe973d85ec0bd5cf3f5282ef1022ba0157d5301b521c8e0";
sha256 = "10iz45y8j5f9smi0srxw62frb97vhr0w938v8w3rsjcw9qq366a2";
};
buildInputs = [ pkgconfig cmake qt4 seafile-shared makeWrapper ];

View file

@ -16,8 +16,8 @@
cabal.mkDerivation (self: {
pname = "git-annex";
version = "5.20140421";
sha256 = "1ahn62gmgszssl2ni7b6rran548wjkb10035hrgvag6dwiiyik9g";
version = "5.20140517";
sha256 = "150xf6664rfdljswc270m2pqvia4sywph4rrrbky6izy6a0vq680";
isLibrary = false;
isExecutable = true;
buildDepends = [

View file

@ -1,11 +1,11 @@
{stdenv, glibc, glibcLocales, gcc, coreutils, diffutils, findutils, gnused, gnugrep, gnutar, gzip, bzip2,
bashInteractive, xz, shadow, gawk, less, su, buildEnv}:
bashInteractive, xz, shadow, gawk, less, buildEnv}:
{name, pkgs ? [], profile ? ""}:
let
basePkgs = [
glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar
gzip bzip2 bashInteractive xz shadow gawk less su
gzip bzip2 bashInteractive xz shadow gawk less
];
# Compose a global profile for the chroot environment

View file

@ -3,4 +3,4 @@
chrootenvDest=/run/chrootenv/@name@
# Enter the LFS chroot environment
chroot $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="/root" PATH="/bin:/sbin" /bin/bash --login
sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="$HOME" PATH="/bin:/sbin" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" /bin/bash --login

View file

@ -17,7 +17,7 @@ mount --bind /home $chrootenvDest/home
# Bind mount state directories
mount --bind /var $chrootenvDest/var
mount --bind /run $chrootenvDest/run
mount --rbind /run $chrootenvDest/run
# Bind mount the host system's /etc
mount --bind /etc $chrootenvDest/host-etc

View file

@ -2,5 +2,5 @@
chrootenvDest=/run/chrootenv/@name@
# Unmount all bind mounts
umount $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run}
# Unmount all (r)bind mounts
umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run}

View file

@ -1,7 +1,7 @@
{ callPackage, self, pkgs }:
rec {
inherit (pkgs) glib gtk2 gtk3 gnome2 upower;
inherit (pkgs) glib gtk2 gtk3 gnome2 upower glib_networking;
gtk = gtk3; # just to be sure
libcanberra = pkgs.libcanberra_gtk3; # just to be sure
inherit (pkgs.gnome2) ORBit2;

View file

@ -33,9 +33,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/evolution" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
for f in $out/bin/* $out/libexec/*; do
wrapProgram "$f" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
done
'';
meta = with stdenv.lib; {

View file

@ -35,12 +35,15 @@ stdenv.mkDerivation rec {
in
''
substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
wrapProgram "$out/bin/gnome-documents" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix LD_LIBRARY_PATH ":" "${libPath}" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi"
for f in $out/bin/* $out/libexec/*; do
wrapProgram "$f" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix LD_LIBRARY_PATH ":" "${libPath}" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi"
done
rm $out/share/icons/hicolor/icon-theme.cache
'';

View file

@ -27,10 +27,14 @@ stdenv.mkDerivation rec {
hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ];
preFixup = ''
wrapProgram "$out/bin/gnome-photos" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
substituteInPlace $out/bin/gnome-photos --replace gapplication "${glib}/bin/gapplication"
for f in $out/bin/* $out/libexec/*; do
wrapProgram "$f" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
done
rm $out/share/icons/hicolor/icon-theme.cache
'';

View file

@ -33,9 +33,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/epiphany" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
for f in $out/bin/* $out/libexec/*; do
wrapProgram "$f" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
done
'';
patches = [ ./libxml_missing_dep.patch ];

View file

@ -44,6 +44,10 @@ rec {
gjs = callPackage ./core/gjs { };
glib_networking = pkgs.glib_networking.override {
inherit gsettings_desktop_schemas;
};
gnome-backgrounds = callPackage ./core/gnome-backgrounds { };
gnome-contacts = callPackage ./core/gnome-contacts { };
@ -112,7 +116,7 @@ rec {
gucharmap = callPackage ./core/gucharmap { };
gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; };
gvfs = pkgs.gvfs.override { gnome = gnome3; };
eog = callPackage ./core/eog { };
@ -134,6 +138,28 @@ rec {
nautilus = callPackage ./core/nautilus { };
networkmanager_openvpn = pkgs.networkmanager_openvpn.override {
inherit gnome3;
};
networkmanager_pptp = pkgs.networkmanager_pptp.override {
inherit gnome3;
};
networkmanager_vpnc = pkgs.networkmanager_vpnc.override {
inherit gnome3;
};
networkmanager_openconnect = pkgs.networkmanager_openconnect.override {
inherit gnome3;
};
networkmanagerapplet = pkgs.networkmanagerapplet.override {
inherit gnome3 gsettings_desktop_schemas glib_networking
networkmanager_openvpn networkmanager_pptp networkmanager_vpnc
networkmanager_openconnect;
};
rest = callPackage ./core/rest { };
sushi = callPackage ./core/sushi { };
@ -185,6 +211,8 @@ rec {
#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
geary = callPackage ./misc/geary { };
gfbgraph = callPackage ./misc/gfbgraph { };
goffice = callPackage ./misc/goffice { };

View file

@ -0,0 +1,49 @@
{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala
, makeWrapper, gdk_pixbuf, cmake, desktop_file_utils
, libnotify, libcanberra, libsecret, gmime
, libpthreadstubs, hicolor_icon_theme
, gnome3, librsvg, gnome_doc_utils, webkitgtk }:
stdenv.mkDerivation rec {
name = "geary-0.6.0";
src = fetchurl {
url = "mirror://gnome/sources/geary/0.6/${name}.tar.xz";
sha256 = "44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715";
};
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
buildInputs = [ intltool pkgconfig gtk3 makeWrapper cmake desktop_file_utils gnome_doc_utils
vala webkitgtk libnotify libcanberra gnome3.libgee libsecret gmime
libpthreadstubs gnome3.gsettings_desktop_schemas hicolor_icon_theme
gdk_pixbuf librsvg gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ];
preConfigure = ''
substituteInPlace src/CMakeLists.txt --replace '`pkg-config --variable=girdir gobject-introspection-1.0`' '${webkitgtk}/share/gir-1.0'
'';
postInstall = ''
mkdir -p $out/share/gsettings-schemas/${name}/
mv $out/share/glib-2.0 $out/share/gsettings-schemas/${name}
'';
preFixup = ''
wrapProgram "$out/bin/geary" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
enableParallelBuilding = true;
patches = [ ./disable_valadoc.patch ];
patchFlags = "-p0";
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Geary;
description = "Mail client for GNOME 3";
maintainers = with maintainers; [ lethalman ];
license = licenses.lgpl2;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,24 @@
--- src/CMakeLists.txt.orig 2014-05-23 14:41:20.809160364 +0200
+++ src/CMakeLists.txt 2014-05-23 14:41:29.240261581 +0200
@@ -696,21 +696,6 @@
${CMAKE_COMMAND} -E copy geary-mailer ${CMAKE_BINARY_DIR}/
)
-# Valadoc
-#################################################
-foreach(pkg ${ENGINE_PACKAGES})
- list(APPEND valadoc_pkg_opts "--pkg=${pkg}")
-endforeach(pkg ${ENGINE_PACKAGES})
-
-include(FindValadoc)
-add_custom_target(
- valadoc
- WORKING_DIRECTORY
- ${CMAKE_SOURCE_DIR}/src
- COMMAND
- ${VALADOC_EXECUTABLE} --force --no-protected -b ${CMAKE_CURRENT_SOURCE_DIR} -o ${CMAKE_SOURCE_DIR}/valadoc --package-name=geary --package-version=${VERSION} ${ENGINE_SRC} ${valadoc_pkg_opts} --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi
-)
-
## Make clean: remove copied files
##################################################
set_property(

View file

@ -1,4 +1,4 @@
{ cabal, fetchurl }:
{ cabal, fetchurl, filemanip, Agda }:
cabal.mkDerivation (self: {
pname = "Agda-stdlib";
@ -9,11 +9,16 @@ cabal.mkDerivation (self: {
sha256 = "1ynjgqk8hhnm6rbngy8fjsrd6i4phj2hlan9bk435bbywbl366k3";
};
buildDepends = [ filemanip Agda ];
preConfigure = "cd ffi";
postInstall = ''
mkdir -p $out/share
cp -pR ../src $out/share/agda
cd ..
runhaskell GenerateEverything
agda -i . -i src Everything.agda
cp -pR src $out/share/agda
'';
meta = {

View file

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "elm-server";
version = "0.11";
sha256 = "1977fa03n2m2apxhbzpcn6b5y5gf7ksnpigibi8djlpp76rliaz2";
version = "0.11.0.1";
sha256 = "0nnkhmmm4cl6a314xxh5qwxkjsc3k3vcwdfar62578ykarxb53g1";
isLibrary = false;
isExecutable = true;
buildDepends = [

View file

@ -1,27 +1,27 @@
{ cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup
, cmdargs, filemanip, filepath, HUnit, indents, languageEcmascript
, mtl, pandoc, parsec, QuickCheck, testFramework
, testFrameworkHunit, testFrameworkQuickcheck2, text, transformers
, unionFind, unorderedContainers
, languageGlsl, mtl, pandoc, parsec, QuickCheck, scientific
, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
, transformers, unionFind, unorderedContainers, yaml
}:
cabal.mkDerivation (self: {
pname = "Elm";
version = "0.12.1.3";
sha256 = "1p4py4qyxsp25qa8141ywfh0qnvdid4v7xlbqkk8aafxccb7lsm9";
version = "0.12.3";
sha256 = "1v6h9qbbz27ikh19xwjbyfw0zi5ag9x1gp0khh9v4af1g0j86320";
isLibrary = true;
isExecutable = true;
buildDepends = [
aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath
indents languageEcmascript mtl pandoc parsec text transformers
unionFind unorderedContainers
indents languageEcmascript languageGlsl mtl pandoc parsec
scientific text transformers unionFind unorderedContainers yaml
];
testDepends = [
aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filemanip
filepath HUnit indents languageEcmascript mtl pandoc parsec
QuickCheck testFramework testFrameworkHunit
filepath HUnit indents languageEcmascript languageGlsl mtl pandoc
parsec QuickCheck scientific testFramework testFrameworkHunit
testFrameworkQuickcheck2 text transformers unionFind
unorderedContainers
unorderedContainers yaml
];
doCheck = false;
meta = {

View file

@ -11,6 +11,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.nasm.us/;
description = "An 80x86 and x86-64 assembler designed for portability and modularity";
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.unix;
};
}

View file

@ -4,14 +4,14 @@
}:
let
version = "6.6.3";
version = "6.6.5";
in
stdenv.mkDerivation {
name = "swi-prolog-${version}";
src = fetchurl {
url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz";
sha256 = "01dr66d7rm2xvxwm6wy71bbjvfrmzxgvmaz3sl1fb63cn8d78nz3";
sha256 = "0lsa90sdnkd286xgm1amwkdhvnrpsz7imfzczrfdaw4arqk4bvkr";
};
buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama

View file

@ -12,6 +12,6 @@ stdenv.mkDerivation rec {
homepage = http://www.tortall.net/projects/yasm/;
description = "Complete rewrite of the NASM assembler";
license = "BSD";
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.unix;
};
}

View file

@ -18,7 +18,7 @@ with stdenv.lib;
let
majorVersion = "3.4";
version = "${majorVersion}.0";
version = "${majorVersion}.1";
fullVersion = "${version}";
buildInputs = filter (p: p != null) [
@ -31,7 +31,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz";
sha256 = "1gjcn5c3zqg161vwzh43ciha15w0plf5v7cyfm372pnllb08cdpi";
sha256 = "1i7dgbzyvj24i6gfhb5q2zwr9nn1ni6w1ig1rcgh96a321is35f5";
};
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";

View file

@ -3,7 +3,7 @@
}:
stdenv.mkDerivation {
name = "renpy-6.17.4";
name = "renpy-6.17.6";
meta = {
description = "Ren'Py Visual Novel Engine";
@ -14,8 +14,8 @@ stdenv.mkDerivation {
};
src = fetchurl {
url = "http://www.renpy.org/dl/6.17.4/renpy-6.17.4-source.tar.bz2";
sha256 = "1n0ki944vawl1i3z9g5h65spdjvb8p0gj6rckv36fb2yq2adxclp";
url = "http://www.renpy.org/dl/6.17.6/renpy-6.17.6-source.tar.bz2";
sha256 = "0rkynw9cnr1zqdinz037d9zig6grhp2ca2pyxk80vhdpjb0xrkic";
};
buildInputs = [

View file

@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
"--enable-avresample"
"--enable-runtime-cpudetect"
]
++ stdenv.lib.optional subtitleSupport "--enable-libass"
++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) "--enable-libass"
++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
++ stdenv.lib.optional speexSupport "--enable-libspeex"
++ stdenv.lib.optional theoraSupport "--enable-libtheora"
@ -55,13 +55,12 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
++ stdenv.lib.optional playSupport "--enable-ffplay"
++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) "--enable-ffplay"
++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig"
++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree"
++ stdenv.lib.optional gnutlsSupport "--enable-gnutls";
buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
++ stdenv.lib.optional subtitleSupport libass
buildInputs = [ pkgconfig lame yasm zlib bzip2 texinfo perl ]
++ stdenv.lib.optional mp3Support lame
++ stdenv.lib.optional speexSupport speex
++ stdenv.lib.optional theoraSupport libtheora
@ -75,10 +74,12 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional faacSupport faac
++ stdenv.lib.optional dc1394Support libdc1394
++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
++ stdenv.lib.optional playSupport SDL
++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) SDL
++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ]
++ stdenv.lib.optional fdkAACSupport fdk_aac
++ stdenv.lib.optional gnutlsSupport gnutls;
++ stdenv.lib.optional gnutlsSupport gnutls
++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) libass
++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
enableParallelBuilding = true;

View file

@ -2,15 +2,15 @@
, gsettings_desktop_schemas }:
let
ver_maj = "2.38";
ver_min = "2";
ver_maj = "2.40";
ver_min = "1";
in
stdenv.mkDerivation rec {
name = "glib-networking-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz";
sha256 = "1iwzjkx6q9gqr7fipc98zi2bi0gccrwq1v7skff1cdijkn8zxqp8";
sha256 = "9fb3e54d049a480afdb814ff7452e7ab67e5d5f607ade230d7713f19922b5a28";
};
configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";

View file

@ -55,7 +55,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig gettext perl python ];
propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty ++ libintlOrEmpty;
propagatedBuildInputs = [ pcre zlib libffi ]
++ optional (!stdenv.isDarwin) libiconvOrEmpty
++ libintlOrEmpty;
configureFlags =
optional stdenv.isDarwin "--disable-compile-warnings"

View file

@ -23,14 +23,17 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = with xlibs; with stdenv.lib;
[ glib cairo pango gdk_pixbuf atk ]
++ optionals stdenv.isLinux
[ libXrandr libXrender libXcomposite libXi libXcursor ]
++ optional stdenv.isDarwin x11
++ optionals (stdenv.isLinux || stdenv.isDarwin) [
libXrandr libXrender libXcomposite libXi libXcursor
]
++ optionals stdenv.isDarwin [ x11 libXdamage ]
++ libintlOrEmpty
++ optional xineramaSupport libXinerama
++ optionals cupsSupport [ cups ];
configureFlags = "--with-xinput=yes";
configureFlags = if stdenv.isDarwin
then "--disable-glibtest --disable-introspection --disable-visibility"
else "--with-xinput=yes";
postInstall = "rm -rf $out/share/gtk-doc";

View file

@ -1,7 +1,7 @@
{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintlOrEmpty
, icu, graphite2
, withIcu ? false # recommended by upstream as default, but most don't needed and it's big
, withGraphite2 ? true # it is small and major distros do include it
, withGraphite2 ? !stdenv.isDarwin # it is small and major distros do include it
}:
# TODO: split non-icu and icu lib into different outputs?

View file

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "GLURaw";
version = "1.4.0.0";
sha256 = "0q86rpd5cx0vrb9d3y1fljc3mg0p8wy6xdn37ngv2s0f4kslq63g";
version = "1.4.0.1";
sha256 = "1k0f1vbbrsfc7jb4qbif4w4q87lsis5gvq7jd2n8zzslxd5n8mcn";
buildDepends = [ OpenGLRaw ];
extraLibraries = [ freeglut mesa ];
meta = {

View file

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "GLUT";
version = "2.5.1.0";
sha256 = "0zxj5i8rw402gpns5ivb1g5fkk502jwzrkviqhwhrxn7yxrybi1s";
version = "2.5.1.1";
sha256 = "0n9dkdjmpnbcjg0ll0ny7mw21xwwix0gxy0hq6yagmgaakhpg0aa";
buildDepends = [ OpenGL OpenGLRaw ];
extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
meta = {

View file

@ -0,0 +1,14 @@
{ cabal, JuicyPixels, vector }:
cabal.mkDerivation (self: {
pname = "JuicyPixels-util";
version = "0.1";
sha256 = "181wryax2k43qlblink9vcg2hk8f2qxn02ifmgxa2fl95z5ar0dc";
buildDepends = [ JuicyPixels vector ];
meta = {
homepage = "https://github.com/fumieval/JuicyPixels-util";
description = "Convert JuicyPixel images into RGBA format, flip, trim and so on";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View file

@ -1,11 +1,11 @@
{ cabal, HUnit, QuickCheck, random, text, vector }:
{ cabal, dlist, fmlist, HUnit, QuickCheck, random, text, vector }:
cabal.mkDerivation (self: {
pname = "ListLike";
version = "4.0.2";
sha256 = "1ggh8yndnsmccgsl11fia4v2cad0vq3clibgh0311r3c43mwvnah";
buildDepends = [ text vector ];
testDepends = [ HUnit QuickCheck random text vector ];
version = "4.1.0";
sha256 = "0j78mm9vsl3scwgqp4h2bhq54hf22bxj9cg9pl26d12zw7038kwj";
buildDepends = [ dlist fmlist text vector ];
testDepends = [ dlist fmlist HUnit QuickCheck random text vector ];
jailbreak = true;
meta = {
homepage = "http://software.complete.org/listlike";

View file

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "OpenGL";
version = "2.9.1.0";
sha256 = "09xzjaa9qyh7bfsnq226v9zi6lhnalhmlqlca3808hgax8ijwhp3";
version = "2.9.2.0";
sha256 = "1sa5jmhj0az6sik6swv2vgzhv9gj34dbq2px23ag1a4yrk5gcn0p";
buildDepends = [ GLURaw OpenGLRaw text ];
extraLibraries = [ libX11 mesa ];
meta = {

View file

@ -0,0 +1,15 @@
{ cabal, mesa }:
cabal.mkDerivation (self: {
pname = "OpenGLRaw";
version = "1.5.0.0";
sha256 = "04lsidv82fl7yb2fnqpx7q0vgiwxbswh8g7dv9q9s9i2jwiaaal5";
extraLibraries = [ mesa ];
meta = {
homepage = "http://www.haskell.org/haskellwiki/Opengl";
description = "A raw binding for the OpenGL graphics system";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View file

@ -16,14 +16,10 @@ cabal.mkDerivation (self: {
attoparsec HUnit QuickCheck testFramework testFrameworkHunit
testFrameworkQuickcheck2 text time unorderedContainers vector
];
patchPhase = ''
sed -i -e 's|scientific >=.*,|scientific,|' aeson.cabal
'';
meta = {
homepage = "https://github.com/bos/aeson";
description = "Fast JSON parsing and encoding";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View file

@ -0,0 +1,26 @@
{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
, mtl, QuickCheck, scientific, syb, testFramework
, testFrameworkHunit, testFrameworkQuickcheck2, text, time
, unorderedContainers, vector
}:
cabal.mkDerivation (self: {
pname = "aeson";
version = "0.7.0.6";
sha256 = "0vsf9msz9iv7xvsnys5c0kbkldb0pvhiai02vz50b0d1kdsk2mb4";
buildDepends = [
attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
text time unorderedContainers vector
];
testDepends = [
attoparsec HUnit QuickCheck testFramework testFrameworkHunit
testFrameworkQuickcheck2 text time unorderedContainers vector
];
meta = {
homepage = "https://github.com/bos/aeson";
description = "Fast JSON parsing and encoding";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View file

@ -1,26 +1,27 @@
{ cabal, binary, clock, connection, dataBinaryIeee754, hspec
, hspecExpectations, monadControl, network, split, text, xml
, hspecExpectations, monadControl, network, split, text, vector
, xml
}:
cabal.mkDerivation (self: {
pname = "amqp";
version = "0.8.2";
sha256 = "0hl9x6kbxdv32014k1w34d84wl4ivpiyg1ikpjr0nr9bsg3wr0gf";
version = "0.8.3";
sha256 = "0gl5vdhbic8llhbqmhnwj0wvykhbrci6zz53v5cayqfcwi1v1dw2";
isLibrary = true;
isExecutable = true;
buildDepends = [
binary clock connection dataBinaryIeee754 monadControl network
split text xml
split text vector xml
];
testDepends = [
binary clock connection dataBinaryIeee754 hspec hspecExpectations
network split text
network split text vector
];
doCheck = false;
meta = {
homepage = "https://github.com/hreinhardt/amqp";
description = "Client library for AMQP servers (currently only RabbitMQ)";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
doCheck = false;
})

View file

@ -0,0 +1,20 @@
{ cabal, deepseq, QuickCheck, scientific, testFramework
, testFrameworkQuickcheck2, text
}:
cabal.mkDerivation (self: {
pname = "attoparsec";
version = "0.11.3.4";
sha256 = "1zahmkb0n7jz0di35x3r8s0xnfg1awqybh2x2zicxbwazl4f53hi";
buildDepends = [ deepseq scientific text ];
testDepends = [
QuickCheck testFramework testFrameworkQuickcheck2 text
];
meta = {
homepage = "https://github.com/bos/attoparsec";
description = "Fast combinator parsing for bytestrings and text";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View file

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "binary";
version = "0.7.2.0";
sha256 = "149pdhzjg9bhl66azgv0nmj3fy38s4klzk01vhzazngdiagfq6wn";
version = "0.7.2.1";
sha256 = "0s0idmcmribgajxxnxdvppnz62qyxwrj9iy34pi7nvm41gj6q5nz";
testDepends = [
Cabal filepath HUnit QuickCheck random testFramework
testFrameworkQuickcheck2

View file

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "blaze-svg";
version = "0.3.3.1";
sha256 = "00i0apyklvmkr4w30d4r86gcg86h35sc3ncvqax70827126cdmsj";
version = "0.3.4";
sha256 = "061011qrpqiyag9549hn0hfikvkrin5wb3cf0zfm9n80cgvzmqd3";
buildDepends = [ blazeMarkup mtl ];
jailbreak = true;
meta = {

View file

@ -0,0 +1,21 @@
{ cabal, lens, linear, QuickCheck, random, testFramework
, testFrameworkQuickcheck2, testFrameworkTh
}:
cabal.mkDerivation (self: {
pname = "boundingboxes";
version = "0.1.1";
sha256 = "1nl0lqgfwd98jzhhw7i4vvd88lpnn8770x2pcbyfzqcyr27079f0";
buildDepends = [ lens linear ];
testDepends = [
lens linear QuickCheck random testFramework
testFrameworkQuickcheck2 testFrameworkTh
];
doCheck = false;
meta = {
homepage = "https://github.com/fumieval/boundingboxes";
description = "The type for 2D bounding box";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View file

@ -0,0 +1,21 @@
{ cabal, lens, linear, QuickCheck, random, testFramework
, testFrameworkQuickcheck2, testFrameworkTh
}:
cabal.mkDerivation (self: {
pname = "boundingboxes";
version = "0.2";
sha256 = "0xvh1h4papfrf6dg553rx6q8fqi06ff1ivgn4rdx3haqg1zf40hp";
buildDepends = [ lens ];
testDepends = [
lens linear QuickCheck random testFramework
testFrameworkQuickcheck2 testFrameworkTh
];
doCheck = false;
meta = {
homepage = "https://github.com/fumieval/boundingboxes";
description = "The type for 2D bounding box";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View file

@ -0,0 +1,14 @@
{ cabal, void }:
cabal.mkDerivation (self: {
pname = "categories";
version = "1.0.6";
sha256 = "0i5mrxbhqj5g46lvwbw2m07prjvfwja6q8648qm6bq54z6zrl5cy";
buildDepends = [ void ];
meta = {
homepage = "http://github.com/ekmett/categories";
description = "Categories";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View file

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "chell-quickcheck";
version = "0.2.3";
sha256 = "15j1wzhfyr9v8hy9d5lnr6jkrfr1zfb7dwgiy3ni90mvpf8x54yc";
version = "0.2.4";
sha256 = "0ys6aks97y5h0n8n8dmwx8jrai4bjlnr7n69s259664y694054wd";
buildDepends = [ chell QuickCheck random ];
meta = {
homepage = "https://john-millikin.com/software/chell/";

View file

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "chell";
version = "0.3.3";
sha256 = "1k5vxipf47753d41dgr1gr4zy7y72gz2x8lcn0fgfmxi2v810nsm";
version = "0.4";
sha256 = "1hynr7n7wxgc3z6zrc3xrfpiqlh4zfb3kagwwfhqmcamv9d4x0ng";
buildDepends = [
ansiTerminal options patience random text transformers
];

View file

@ -0,0 +1,14 @@
{ cabal, profunctors }:
cabal.mkDerivation (self: {
pname = "colors";
version = "0.1.1";
sha256 = "1i1n05prbp0l3xgx0w2lxzc5r81pcmbzclsamdr7fmjvhvh8blqm";
buildDepends = [ profunctors ];
meta = {
homepage = "https://github.com/fumieval/colors";
description = "A type for colors";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View file

@ -0,0 +1,23 @@
{ cabal, deepseq, derive, HUnit, mtl, QuickCheck, testFramework
, testFrameworkHunit, testFrameworkQuickcheck2, thExpandSyns
, transformers, treeView
}:
cabal.mkDerivation (self: {
pname = "compdata";
version = "0.8.1.0";
sha256 = "06bsdhf40b8111k0fmfc53i5kib9n431f07qyj83pq8isgkk33xc";
buildDepends = [
deepseq derive mtl QuickCheck thExpandSyns transformers treeView
];
testDepends = [
deepseq derive HUnit mtl QuickCheck testFramework
testFrameworkHunit testFrameworkQuickcheck2 thExpandSyns
transformers
];
meta = {
description = "Compositional Data Types";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View file

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "conduit";
version = "1.1.2.1";
sha256 = "1jzc3vnc0dr4nm79yx2kk5rsm06jfbf3h89y28bgv05r1pw6r7ai";
version = "1.1.3";
sha256 = "14fc7v00zmrcwba2rdnh7c6sx0rv5mmbwlgq5p8p7nlald1dcr6z";
buildDepends = [
exceptions liftedBase mmorph monadControl mtl resourcet
transformers transformersBase void

View file

@ -0,0 +1,13 @@
{ cabal }:
cabal.mkDerivation (self: {
pname = "control-bool";
version = "0.2.1";
sha256 = "10amxm1ff7xhd8g66n65wkbb8d17n77v1nmwxkbzhrask398asp4";
meta = {
homepage = "https://github.com/fumieval/control-bool";
description = "Useful combinators for boolean expressions";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View file

@ -5,8 +5,8 @@
cabal.mkDerivation (self: {
pname = "dbus";
version = "0.10.7";
sha256 = "0xszynw6p07r7z9nlq8alx5lxfjm57gljya835ccj63hqhkr5yxh";
version = "0.10.8";
sha256 = "1pqcb6fk6l2xzwyy3n9sa2q2k3qykym1f98n2zf75545ix46b1r6";
buildDepends = [
cereal libxmlSax network parsec random text transformers vector
xmlTypes

View file

@ -2,9 +2,10 @@
cabal.mkDerivation (self: {
pname = "directory-tree";
version = "0.11.0";
sha256 = "07vqwnzbwfjvlwcl50x5jl9yzvqfln0m4k4lam9r5n49wv7p01c9";
version = "0.12.0";
sha256 = "1idknm7fwci91fkwvzl35g0qd0jk1vb00ds2x82zjf2hdbkcc2gz";
buildDepends = [ filepath ];
testDepends = [ filepath ];
meta = {
homepage = "http://brandon.si/code/directory-tree-module-released/";
description = "A simple directory-like tree datatype, with useful IO functions";

View file

@ -5,8 +5,8 @@
cabal.mkDerivation (self: {
pname = "esqueleto";
version = "1.4.1";
sha256 = "0b2gwsd6014fhmq8lipc299n6ndak7fv6dmrvi9vgasw0a665ryj";
version = "1.4.1.2";
sha256 = "1qny5c0xy2vdsl4qmgqr83jxqw1r68r81xhmx236rhxcffs9yvw2";
buildDepends = [
conduit monadLogger persistent resourcet tagged text transformers
unorderedContainers
@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
];
meta = {
homepage = "https://github.com/meteficha/esqueleto";
description = "Bare bones, type-safe EDSL for SQL queries on persistent backends";
description = "Type-safe EDSL for SQL queries on persistent backends";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.ocharles ];

View file

@ -7,8 +7,8 @@
cabal.mkDerivation (self: {
pname = "fay";
version = "0.20.0.3";
sha256 = "1vs4brndk091mp7lm057my4ghlpv3563qg5blrs5zqcmnwnm75x5";
version = "0.20.0.4";
sha256 = "0cxcd4nxnq8nl03xgxa1nb0932hq4dz1lxpp3gqqs5k5wvs62303";
isLibrary = true;
isExecutable = true;
buildDepends = [

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