forked from mirrors/nixpkgs
Merge branch 'master' of https://github.com/NixOS/nixpkgs into ansible
This commit is contained in:
commit
ab3aed6dfc
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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 . "'}; ";
|
||||
}
|
||||
|
||||
|
||||
|
|
5
nixos/maintainers/scripts/ec2/amazon-hvm-config.nix
Normal file
5
nixos/maintainers/scripts/ec2/amazon-hvm-config.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{ config, pkgs, ...}:
|
||||
{
|
||||
imports = [ ./amazon-base-config.nix ];
|
||||
ec2.hvm = true;
|
||||
}
|
33
nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix
Normal file
33
nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix
Normal 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
|
||||
'';
|
||||
}
|
|
@ -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)
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ++
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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 = "";
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -7,7 +7,10 @@ let
|
|||
|
||||
customGrsecPkg =
|
||||
(import ../../../pkgs/build-support/grsecurity
|
||||
{ grsecOptions = cfg; }
|
||||
{
|
||||
inherit lib pkgs;
|
||||
grsecOptions = cfg;
|
||||
}
|
||||
).grsecPackage;
|
||||
in
|
||||
{
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -344,5 +344,8 @@ in
|
|||
(isYes "BLK_DEV_INITRD")
|
||||
];
|
||||
|
||||
# Prevent systemd from waiting for the /dev/root symlink.
|
||||
systemd.units."dev-root.device".text = "";
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 "!";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 {};
|
||||
|
||||
|
|
|
@ -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;
|
||||
'';
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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 ]");
|
||||
'';
|
||||
|
||||
})
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 "";
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 { };
|
||||
|
|
49
pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
Normal file
49
pkgs/desktops/gnome-3/3.12/misc/geary/default.nix
Normal 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;
|
||||
};
|
||||
}
|
24
pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch
Normal file
24
pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch
Normal 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(
|
|
@ -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 = {
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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 = {
|
|
@ -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 = {
|
|
@ -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;
|
||||
};
|
||||
})
|
|
@ -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";
|
||||
|
|
|
@ -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 = {
|
15
pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
Normal file
15
pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
Normal 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 ];
|
||||
};
|
||||
})
|
|
@ -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 ];
|
||||
};
|
||||
})
|
26
pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
Normal file
26
pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
Normal 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 ];
|
||||
};
|
||||
})
|
|
@ -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;
|
||||
})
|
||||
|
|
20
pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
Normal file
20
pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
Normal 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 ];
|
||||
};
|
||||
})
|
|
@ -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
|
|
@ -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 = {
|
||||
|
|
21
pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
Normal file
21
pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
Normal 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;
|
||||
};
|
||||
})
|
21
pkgs/development/libraries/haskell/boundingboxes/0.2.nix
Normal file
21
pkgs/development/libraries/haskell/boundingboxes/0.2.nix
Normal 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;
|
||||
};
|
||||
})
|
14
pkgs/development/libraries/haskell/categories/default.nix
Normal file
14
pkgs/development/libraries/haskell/categories/default.nix
Normal 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;
|
||||
};
|
||||
})
|
|
@ -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/";
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
14
pkgs/development/libraries/haskell/colors/default.nix
Normal file
14
pkgs/development/libraries/haskell/colors/default.nix
Normal 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;
|
||||
};
|
||||
})
|
23
pkgs/development/libraries/haskell/compdata/default.nix
Normal file
23
pkgs/development/libraries/haskell/compdata/default.nix
Normal 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;
|
||||
};
|
||||
})
|
|
@ -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
|
||||
|
|
13
pkgs/development/libraries/haskell/control-bool/default.nix
Normal file
13
pkgs/development/libraries/haskell/control-bool/default.nix
Normal 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;
|
||||
};
|
||||
})
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue