Merge branch 'master.upstream' into staging.upstream

This commit is contained in:
William A. Kennington III 2015-10-30 17:16:07 -07:00
commit dd2de66d61
320 changed files with 26241 additions and 2581 deletions

View file

@ -31,6 +31,7 @@ For pull-requests, please rebase onto nixpkgs `master`.
* [Documentation (Nix Expression Language chapter)](https://nixos.org/nix/manual/#ch-expression-language)
* [Manual (How to write packages for Nix)](https://nixos.org/nixpkgs/manual/)
* [Manual (NixOS)](https://nixos.org/nixos/manual/)
* [Nix Wiki](https://nixos.org/wiki/)
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for 14.12 release](https://hydra.nixos.org/jobset/nixos/release-14.12)
* [Continuous package builds for 15.09 release](https://hydra.nixos.org/jobset/nixos/release-15.09)

View file

@ -116,7 +116,7 @@ rec {
Type:
collect ::
(AttrSet -> Bool) -> AttrSet -> AttrSet
(AttrSet -> Bool) -> AttrSet -> [x]
Example:
collect isList { a = { b = ["b"]; }; c = [1]; }

View file

@ -76,6 +76,7 @@
dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>";
DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
deepfire = "Kosyrev Serge <_deepfire@feelingofgreen.ru>";
demin-dmitriy = "Dmitriy Demin <demindf@gmail.com>";
desiderius = "Didier J. Devroye <didier@devroye.name>";
devhell = "devhell <\"^\"@regexmail.net>";
dezgeg = "Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>";
@ -89,6 +90,7 @@
edwtjo = "Edward Tjörnhammar <ed@cflags.cc>";
eelco = "Eelco Dolstra <eelco.dolstra@logicblox.com>";
eikek = "Eike Kettner <eike.kettner@posteo.de>";
elasticdog = "Aaron Bull Schaefer <aaron@elasticdog.com>";
ellis = "Ellis Whitehead <nixos@ellisw.net>";
emery = "Emery Hemingway <emery@vfemail.net>";
enolan = "Echo Nolan <echo@echonolan.net>";
@ -181,6 +183,7 @@
mathnerd314 = "Mathnerd314 <mathnerd314.gph+hs@gmail.com>";
matthiasbeyer = "Matthias Beyer <mail@beyermatthias.de>";
mbakke = "Marius Bakke <ymse@tuta.io>";
mbe = "Brandon Edens <brandonedens@gmail.com>";
meditans = "Carlo Nucera <meditans@gmail.com>";
meisternu = "Matt Miemiec <meister@krutt.org>";
michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
@ -259,9 +262,11 @@
skeidel = "Sven Keidel <svenkeidel@gmail.com>";
smironov = "Sergey Mironov <ierton@gmail.com>";
spacefrogg = "Michael Raitza <spacefrogg-nixos@meterriblecrew.net>";
spencerjanssen = "Spencer Janssen <spencerjanssen@gmail.com>";
sprock = "Roger Mason <rmason@mun.ca>";
spwhitt = "Spencer Whitt <sw@swhitt.me>";
stephenmw = "Stephen Weinberg <stephen@q5comm.com>";
steveej = "Stefan Junker <mail@stefanjunker.de>";
szczyp = "Szczyp <qb@szczyp.com>";
sztupi = "Attila Sztupak <attila.sztupak@gmail.com>";
tailhook = "Paul Colomiets <paul@colomiets.name>";
@ -289,6 +294,7 @@
vlstill = "Vladimír Štill <xstill@fi.muni.cz>";
vmandela = "Venkateswara Rao Mandela <venkat.mandela@gmail.com>";
vozz = "Oliver Hunt <oliver.huntuk@gmail.com>";
wedens = "wedens <kirill.wedens@gmail.com>";
winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
wizeman = "Ricardo M. Correia <rcorreia@wizy.org>";
wjlroe = "William Roe <willroe@gmail.com>";

View file

@ -17,7 +17,7 @@ trap "exitHandler" EXIT
# fetch the trace and the drvPath of the attribute.
nix-instantiate $NIXPKGS -A $attr --show-trace > "$tmp/drvPath" 2> "$tmp/trace" || {
cat 1>&2 - "$tmp/trace" <<EOF
An error occured while evaluating $attr.
An error occurred while evaluating $attr.
EOF
exit 1
}

View file

@ -110,7 +110,7 @@ pkgs.vmTools.runInLinuxVM (
umount /mnt/proc /mnt/dev /mnt/sys
umount /mnt
# Do an fsck to make sure resize2fs works.
# Do a fsck to make sure resize2fs works.
fsck.${fsType} -f -y $rootDisk
''
)

View file

@ -0,0 +1,46 @@
{ config, lib, ... }:
with lib;
{
options = {
environment.enableDebugInfo = mkOption {
type = types.bool;
default = false;
description = ''
Some NixOS packages provide debug symbols. However, these are
not included in the system closure by default to save disk
space. Enabling this option causes the debug symbols to appear
in <filename>/run/current-system/sw/lib/debug/.build-id</filename>,
where tools such as <command>gdb</command> can find them.
If you need debug symbols for a package that doesn't
provide them by default, you can enable them as follows:
<!-- FIXME: ugly, see #10721 -->
<programlisting>
nixpkgs.config.packageOverrides = pkgs: {
hello = overrideDerivation pkgs.hello (attrs: {
outputs = attrs.outputs or ["out"] ++ ["debug"];
buildInputs = attrs.buildInputs ++ [&lt;nixpkgs/pkgs/build-support/setup-hooks/separate-debug-info.sh>];
});
};
</programlisting>
'';
};
};
config = {
# FIXME: currently disabled because /lib is already in
# environment.pathsToLink, and we can't have both.
#environment.pathsToLink = [ "/lib/debug/.build-id" ];
environment.outputsToLink =
optional config.environment.enableDebugInfo "debug";
};
}

View file

@ -3,6 +3,84 @@
with utils;
with lib;
let
swapCfg = {config, options, ...}: {
options = {
device = mkOption {
example = "/dev/sda3";
type = types.str;
description = "Path of the device.";
};
label = mkOption {
example = "swap";
type = types.str;
description = ''
Label of the device. Can be used instead of <varname>device</varname>.
'';
};
size = mkOption {
default = null;
example = 2048;
type = types.nullOr types.int;
description = ''
If this option is set, device is interpreted as the
path of a swapfile that will be created automatically
with the indicated size (in megabytes) if it doesn't
exist.
'';
};
priority = mkOption {
default = null;
example = 2048;
type = types.nullOr types.int;
description = ''
Specify the priority of the swap device. Priority is a value between 0 and 32767.
Higher numbers indicate higher priority.
null lets the kernel choose a priority, which will show up as a negative value.
'';
};
randomEncryption = mkOption {
default = false;
type = types.bool;
description = ''
Encrypt swap device with a random key. This way you won't have a persistent swap device.
WARNING: Don't try to hibernate when you have at least one swap partition with
this option enabled! We have no way to set the partition into which hibernation image
is saved, so if your image ends up on an encrypted one you would lose it!
'';
};
deviceName = mkOption {
type = types.str;
internal = true;
};
realDevice = mkOption {
type = types.path;
internal = true;
};
};
config = rec {
device = mkIf options.label.isDefined
"/dev/disk/by-label/${config.label}";
deviceName = escapeSystemdPath config.device;
realDevice = if config.randomEncryption then "/dev/mapper/${deviceName}" else config.device;
};
};
in
{
###### interface
@ -26,58 +104,7 @@ with lib;
recommended.
'';
type = types.listOf types.optionSet;
options = {config, options, ...}: {
options = {
device = mkOption {
example = "/dev/sda3";
type = types.str;
description = "Path of the device.";
};
label = mkOption {
example = "swap";
type = types.str;
description = ''
Label of the device. Can be used instead of <varname>device</varname>.
'';
};
size = mkOption {
default = null;
example = 2048;
type = types.nullOr types.int;
description = ''
If this option is set, device is interpreted as the
path of a swapfile that will be created automatically
with the indicated size (in megabytes) if it doesn't
exist.
'';
};
priority = mkOption {
default = null;
example = 2048;
type = types.nullOr types.int;
description = ''
Specify the priority of the swap device. Priority is a value between 0 and 32767.
Higher numbers indicate higher priority.
null lets the kernel choose a priority, which will show up as a negative value.
'';
};
};
config = {
device = mkIf options.label.isDefined
"/dev/disk/by-label/${config.label}";
};
};
type = types.listOf (types.submodule swapCfg);
};
};
@ -95,27 +122,37 @@ with lib;
createSwapDevice = sw:
assert sw.device != "";
let device' = escapeSystemdPath sw.device; in
nameValuePair "mkswap-${escapeSystemdPath sw.device}"
{ description = "Initialisation of Swapfile ${sw.device}";
wantedBy = [ "${device'}.swap" ];
before = [ "${device'}.swap" ];
path = [ pkgs.utillinux ];
let realDevice' = escapeSystemdPath sw.realDevice;
in nameValuePair "mkswap-${sw.deviceName}"
{ description = "Initialisation of swap device ${sw.device}";
wantedBy = [ "${realDevice'}.swap" ];
before = [ "${realDevice'}.swap" ];
path = [ pkgs.utillinux ] ++ optional sw.randomEncryption pkgs.cryptsetup;
script =
''
if [ ! -e "${sw.device}" ]; then
fallocate -l ${toString sw.size}M "${sw.device}" ||
dd if=/dev/zero of="${sw.device}" bs=1M count=${toString sw.size}
chmod 0600 ${sw.device}
mkswap ${sw.device}
fi
${optionalString (sw.size != null) ''
if [ ! -e "${sw.device}" ]; then
fallocate -l ${toString sw.size}M "${sw.device}" ||
dd if=/dev/zero of="${sw.device}" bs=1M count=${toString sw.size}
chmod 0600 ${sw.device}
${optionalString (!sw.randomEncryption) "mkswap ${sw.realDevice}"}
fi
''}
${optionalString sw.randomEncryption ''
echo "secretkey" | cryptsetup luksFormat --batch-mode ${sw.device}
echo "secretkey" | cryptsetup luksOpen ${sw.device} ${sw.deviceName}
cryptsetup luksErase --batch-mode ${sw.device}
mkswap ${sw.realDevice}
''}
'';
unitConfig.RequiresMountsFor = [ "${dirOf sw.device}" ];
unitConfig.DefaultDependencies = false; # needed to prevent a cycle
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = sw.randomEncryption;
serviceConfig.ExecStop = optionalString sw.randomEncryption "cryptsetup luksClose ${sw.deviceName}";
};
in listToAttrs (map createSwapDevice (filter (sw: sw.size != null) config.swapDevices));
in listToAttrs (map createSwapDevice (filter (sw: sw.size != null || sw.randomEncryption) config.swapDevices));
};

View file

@ -7,12 +7,6 @@ with lib;
let
extraManpages = pkgs.runCommand "extra-manpages" { buildInputs = [ pkgs.help2man ]; }
''
mkdir -p $out/share/man/man1
help2man ${pkgs.gnutar}/bin/tar > $out/share/man/man1/tar.1
'';
requiredPackages =
[ config.nix.package
pkgs.acl
@ -34,7 +28,6 @@ let
pkgs.xz
pkgs.less
pkgs.libcap
pkgs.man
pkgs.nano
pkgs.ncurses
pkgs.netcat
@ -47,7 +40,6 @@ let
pkgs.time
pkgs.texinfoInteractive
pkgs.utillinux
extraManpages
];
in
@ -78,8 +70,16 @@ in
# to work.
default = [];
example = ["/"];
description = "List of directories to be symlinked in `/run/current-system/sw'.";
description = "List of directories to be symlinked in <filename>/run/current-system/sw</filename>.";
};
outputsToLink = mkOption {
type = types.listOf types.str;
default = [];
example = [ "doc" ];
description = "List of package outputs to be symlinked into <filename>/run/current-system/sw</filename>.";
};
};
system = {
@ -103,9 +103,7 @@ in
[ "/bin"
"/etc/xdg"
"/info"
"/lib" # FIXME: remove
#"/lib/debug/.build-id" # enables GDB to find separated debug info
"/man"
"/lib" # FIXME: remove and update debug-info.nix
"/sbin"
"/share/applications"
"/share/desktop-directories"
@ -113,7 +111,6 @@ in
"/share/emacs"
"/share/icons"
"/share/info"
"/share/man"
"/share/menus"
"/share/mime"
"/share/nano"
@ -126,7 +123,7 @@ in
system.path = pkgs.buildEnv {
name = "system-path";
paths = config.environment.systemPackages;
inherit (config.environment) pathsToLink;
inherit (config.environment) pathsToLink outputsToLink;
ignoreCollisions = true;
# !!! Hacky, should modularise.
postBuild =

View file

@ -22,13 +22,9 @@ in
boot.loader.grub.enable = false;
boot.loader.generic-extlinux-compatible.enable = true;
# FIXME: change this to linuxPackages_latest once v4.2 is out
boot.kernelPackages = pkgs.linuxPackages_testing;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"];
# FIXME: fix manual evaluation on ARM
services.nixosManual.enable = lib.mkOverride 0 false;
# FIXME: this probably should be in installation-device.nix
users.extraUsers.root.initialHashedPassword = "";

View file

@ -27,9 +27,6 @@ in
boot.kernelPackages = pkgs.linuxPackages_rpi;
# FIXME: fix manual evaluation on ARM
services.nixosManual.enable = lib.mkOverride 0 false;
# FIXME: this probably should be in installation-device.nix
users.extraUsers.root.initialHashedPassword = "";

View file

@ -235,7 +235,7 @@ fi
# default and/or activate it now.
if [ "$action" = switch -o "$action" = boot -o "$action" = test -o "$action" = dry-activate ]; then
if ! $pathToConfig/bin/switch-to-configuration "$action"; then
echo "warning: error(s) occured while switching to the new configuration" >&2
echo "warning: error(s) occurred while switching to the new configuration" >&2
exit 1
fi
fi

View file

@ -1,7 +1,8 @@
[
./config/debug-info.nix
./config/fonts/corefonts.nix
./config/fonts/fontconfig.nix
./config/fonts/fontconfig-ultimate.nix
./config/fonts/fontconfig.nix
./config/fonts/fontdir.nix
./config/fonts/fonts.nix
./config/fonts/ghostscript.nix
@ -22,9 +23,9 @@
./config/system-environment.nix
./config/system-path.nix
./config/timezone.nix
./config/vpnc.nix
./config/unix-odbc-drivers.nix
./config/users-groups.nix
./config/vpnc.nix
./config/zram.nix
./hardware/all-firmware.nix
./hardware/cpu/amd-microcode.nix
@ -61,9 +62,11 @@
./programs/command-not-found/command-not-found.nix
./programs/dconf.nix
./programs/environment.nix
./programs/freetds.nix
./programs/ibus.nix
./programs/kbdlight.nix
./programs/light.nix
./programs/man.nix
./programs/nano.nix
./programs/screen.nix
./programs/shadow.nix
@ -73,7 +76,6 @@
./programs/uim.nix
./programs/venus.nix
./programs/wvdial.nix
./programs/freetds.nix
./programs/xfs_quota.nix
./programs/zsh/zsh.nix
./rename.nix
@ -264,6 +266,7 @@
./services/networking/atftpd.nix
./services/networking/avahi-daemon.nix
./services/networking/bind.nix
./services/networking/autossh.nix
./services/networking/bird.nix
./services/networking/bitlbee.nix
./services/networking/btsync.nix

View file

@ -0,0 +1,30 @@
{ config, lib, pkgs, ... }:
with lib;
{
options = {
programs.man.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable manual pages and the <command>man</command> command.
'';
};
};
config = mkIf config.programs.man.enable {
environment.systemPackages = [ pkgs.man ];
environment.pathsToLink = [ "/share/man" ];
environment.outputsToLink = [ "man" ];
};
}

View file

@ -202,6 +202,8 @@ in
# For non-root operation.
initdb
fi
# See postStart!
touch "${cfg.dataDir}/.first_startup"
fi
ln -sfn "${configFile}" "${cfg.dataDir}/postgresql.conf"

View file

@ -92,7 +92,9 @@ in
system.build.manual = manual;
environment.systemPackages = [ manual.manpages manual.manual help ];
environment.systemPackages =
[ manual.manual help ]
++ optional config.programs.man.enable manual.manpages;
boot.extraTTYs = mkIf cfg.showManual ["tty${cfg.ttyNumber}"];

View file

@ -29,6 +29,7 @@ in
wantedBy = [ "graphical.target" ];
after = [ "NetworkManager-wait-online.service" "network.target" ];
preStart = "mkdir -pv /var/tmp/teamviewer10/{logs,config}";
serviceConfig = {
Type = "forking";

View file

@ -0,0 +1,114 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.autossh;
in
{
###### interface
options = {
services.autossh = {
sessions = mkOption {
type = types.listOf (types.submodule {
options = {
name = mkOption {
type = types.string;
example = "socks-peer";
description = "Name of the local AutoSSH session";
};
user = mkOption {
type = types.string;
example = "bill";
description = "Name of the user the AutoSSH session should run as";
};
monitoringPort = mkOption {
type = types.int;
default = 0;
example = 20000;
description = ''
Port to be used by AutoSSH for peer monitoring. Note, that
AutoSSH also uses mport+1. Value of 0 disables the keep-alive
style monitoring
'';
};
extraArguments = mkOption {
type = types.string;
example = "-N -D4343 bill@socks.example.net";
description = ''
Arguments to be passed to AutoSSH and retransmitted to SSH
process. Some meaningful options include -N (don't run remote
command), -D (open SOCKS proxy on local port), -R (forward
remote port), -L (forward local port), -v (Enable debug). Check
ssh manual for the complete list.
'';
};
};
});
default = [];
description = ''
List of AutoSSH sessions to start as systemd services. Each service is
named 'autossh-{session.name}'.
'';
example = [
{
name="socks-peer";
user="bill";
monitoringPort = 20000;
extraArguments="-N -D4343 billremote@socks.host.net";
}
];
};
};
};
###### implementation
config = mkIf (cfg.sessions != []) {
systemd.services =
lib.fold ( s : acc : acc //
{
"autossh-${s.name}" =
let
mport = if s ? monitoringPort then s.monitoringPort else 0;
in
{
description = "AutoSSH session (" + s.name + ")";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
# To be able to start the service with no network connection
environment.AUTOSSH_GATETIME="0";
# How often AutoSSH checks the network, in seconds
environment.AUTOSSH_POLL="30";
serviceConfig = {
User = "${s.user}";
PermissionsStartOnly = true;
# AutoSSH may exit with 0 code if the SSH session was
# gracefully terminated by either local or remote side.
Restart = "on-success";
ExecStart = "${pkgs.autossh}/bin/autossh -M ${toString mport} ${s.extraArguments}";
};
};
}) {} cfg.sessions;
environment.systemPackages = [ pkgs.autossh ];
};
}

View file

@ -40,7 +40,6 @@ let
polkit.addRule(function(action, subject) {
if (
subject.isInGroup("networkmanager")
&& subject.active
&& (action.id.indexOf("org.freedesktop.NetworkManager.") == 0
|| action.id.indexOf("org.freedesktop.ModemManager") == 0
))
@ -207,10 +206,16 @@ in {
environment.systemPackages = cfg.packages;
users.extraGroups = singleton {
users.extraGroups = [{
name = "networkmanager";
gid = config.ids.gids.networkmanager;
};
}
{
name = "nm-openvpn";
}];
users.extraUsers = [{
name = "nm-openvpn";
}];
systemd.packages = cfg.packages;

View file

@ -35,6 +35,8 @@ let
SessionCommand=${dmcfg.session.script}
SessionDir=${dmcfg.session.desktops}
XauthPath=${pkgs.xorg.xauth}/bin/xauth
${cfg.extraConfig}
'';
in
@ -50,6 +52,19 @@ in
'';
};
extraConfig = mkOption {
type = types.str;
default = "";
example = ''
[Autologin]
User=john
Session=plasma.desktop
'';
description = ''
Extra lines appended to the configuration of SDDM.
'';
};
theme = mkOption {
type = types.str;
default = "maui";

View file

@ -206,7 +206,7 @@ let
preLVMCommands postDeviceCommands postMountCommands kernelModules;
resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}")
(filter (sd: sd ? label || hasPrefix "/dev/" sd.device) config.swapDevices);
(filter (sd: (sd ? label || hasPrefix "/dev/" sd.device) && !sd.randomEncryption) config.swapDevices);
fsInfo =
let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType fs.options ];

View file

@ -174,7 +174,7 @@ in
# Swap devices.
${flip concatMapStrings config.swapDevices (sw:
"${sw.device} none swap${prioOption sw.priority}\n"
"${sw.realDevice} none swap${prioOption sw.priority}\n"
)}
'';

View file

@ -1,5 +0,0 @@
{ config, pkgs, modulesPath, ... }:
{
imports = [ "${modulesPath}/virtualisation/nova-image.nix" ];
}

View file

@ -1,90 +1,45 @@
# Usage:
# $ NIXOS_CONFIG=`pwd`/nixos/modules/virtualisation/nova-image.nix nix-build '<nixpkgs/nixos>' -A config.system.build.novaImage
{ config, lib, pkgs, ... }:
with lib;
{
imports = [ ../profiles/qemu-guest.nix ../profiles/headless.nix ./ec2-data.nix ];
system.build.novaImage =
pkgs.vmTools.runInLinuxVM (
pkgs.runCommand "nova-image"
{ preVM =
''
mkdir $out
diskImage=$out/image
${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 ];
system.build.novaImage = import ../../lib/make-disk-image.nix {
inherit pkgs lib config;
partitioned = true;
diskSize = 1 * 1024;
configFile = pkgs.writeText "configuration.nix"
''
{
imports = [ <nixpkgs/nixos/modules/virtualisation/nova-image.nix> ];
}
''
# Create a single / partition.
${pkgs.parted}/sbin/parted /dev/vda mklabel msdos
${pkgs.parted}/sbin/parted /dev/vda -- mkpart primary ext2 1M -1s
. /sys/class/block/vda1/uevent
mknod /dev/vda1 b $MAJOR $MINOR
'';
};
# Create an empty filesystem and mount it.
${pkgs.e2fsprogs}/sbin/mkfs.ext3 -L nixos /dev/vda1
${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
mkdir /mnt
mount /dev/vda1 /mnt
# The initrd expects these directories to exist.
mkdir /mnt/dev /mnt/proc /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
# Copy all paths in the closure to the filesystem.
storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
mkdir -p /mnt/nix/store
${pkgs.rsync}/bin/rsync -av $storePaths /mnt/nix/store/
# 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 --option build-users-group ""
# Create the system profile to allow nixos-rebuild to work.
chroot /mnt ${config.nix.package}/bin/nix-env --option build-users-group "" \
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
# `nixos-rebuild' requires an /etc/NIXOS.
mkdir -p /mnt/etc
touch /mnt/etc/NIXOS
# `switch-to-configuration' requires a /bin/sh
mkdir -p /mnt/bin
ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh
# Install a configuration.nix.
mkdir -p /mnt/etc/nixos
cp ${./nova-config.nix} /mnt/etc/nixos/configuration.nix
# Generate the GRUB menu.
chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot
umount /mnt/proc /mnt/dev /mnt/sys
umount /mnt
''
);
imports = [
../profiles/qemu-guest.nix
../profiles/headless.nix
./ec2-data.nix
];
fileSystems."/".device = "/dev/disk/by-label/nixos";
boot.kernelParams = [ "console=ttyS0" ];
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/vda";
boot.loader.grub.timeout = 0;
# Allow root logins
services.openssh.enable = true;
services.openssh.permitRootLogin = "without-password";
# Put /tmp and /var on /ephemeral0, which has a lot more space.
# Unfortunately we can't do this with the `fileSystems' option
# because it has no support for creating the source of a bind
# mount. Also, "move" /nix to /ephemeral0 by layering a unionfs-fuse
# mount on top of it so we have a lot more space for Nix operations.
/*
boot.initrd.postMountCommands =
''
@ -106,10 +61,6 @@ with lib;
'';
boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
*/
*/
# 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";
}

View file

@ -0,0 +1,70 @@
{ stdenv, fetchurl, libXmu, libXt, libX11, libXext, libXxf86vm, jack
, makeWrapper
}:
let
rpath = stdenv.lib.makeLibraryPath
[ libXmu libXt libX11 libXext libXxf86vm jack ];
in
stdenv.mkDerivation rec {
name = "baudline-${version}";
version = "1.08";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://www.baudline.com/baudline_${version}_linux_x86_64.tar.gz";
sha256 = "09fn0046i69in1jpizkzbaq5ggij0mpflcsparyskm3wh71mbzvr";
}
else if stdenv.system == "i686-linux" then
fetchurl {
url = "http://www.baudline.com/baudline_${version}_linux_i686.tar.gz";
sha256 = "1waip5pmcf5ffcfvn8lf1rvsaq2ab66imrbfqs777scz7k8fhhjb";
}
else
throw "baudline isn't supported (yet?) on ${stdenv.system}";
buildInputs = [ makeWrapper ];
# Prebuilt binary distribution.
# "patchelf --set-rpath" seems to break the application (cannot start), using
# LD_LIBRARY_PATH wrapper script instead.
buildPhase = "true";
installPhase = ''
mkdir -p "$out/bin"
mkdir -p "$out/libexec/baudline"
cp -r . "$out/libexec/baudline/"
interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*)"
for prog in "$out"/libexec/baudline/baudline*; do
patchelf --interpreter "$interpreter" "$prog"
ln -sr "$prog" "$out/bin/"
done
for prog in "$out"/bin/*; do
wrapProgram "$prog" --prefix LD_LIBRARY_PATH : ${rpath}
done
'';
meta = with stdenv.lib; {
description = "Scientific signal analysis application";
longDescription = ''
Baudline is a time-frequency browser designed for scientific
visualization of the spectral domain. Signal analysis is performed by
Fourier, correlation, and raster transforms that create colorful
spectrograms with vibrant detail. Conduct test and measurement
experiments with the built in function generator, or play back audio
files with a multitude of effects and filters. The baudline signal
analyzer combines fast digital signal processing, versatile high speed
displays, and continuous capture tools for hunting down and studying
elusive signal characteristics.
'';
homepage = http://www.baudline.com/;
# See http://www.baudline.com/faq.html#licensing_terms.
# (Do NOT (re)distribute on hydra.)
license = licenses.unfree;
platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = [ maintainers.bjornfor ];
};
}

View file

@ -1,31 +1,27 @@
{ fetchurl, stdenv }:
let version = "0.9";
in
stdenv.mkDerivation {
name = "cd-discid-${version}";
src = fetchurl {
url = "mirror://debian/pool/main/c/cd-discid/cd-discid_${version}.orig.tar.gz";
sha256 = "1fx2ky1pb07l1r0bldpw16wdsfzw7a0093ib9v66kmilwy2sq5s9";
};
stdenv.mkDerivation rec {
name = "cd-discid-${version}";
version = "1.4";
patches = [ ./install.patch ];
src = fetchurl {
url = "http://linukz.org/download/${name}.tar.gz";
sha256 = "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz";
};
configurePhase = ''
sed -i "s|^[[:blank:]]*prefix *=.*$|prefix = $out|g ;
s|^[[:blank:]]*INSTALL *=.*$|INSTALL = install -c|g" \
"Makefile";
installFlags = "PREFIX=$(out)";
meta = with stdenv.lib; {
homepage = http://linukz.org/cd-discid.shtml;
license = licenses.gpl2Plus;
maintainers = [ maintainers.rycee ];
platforms = platforms.unix;
description = "command-line utility to get CDDB discid information from a CD-ROM disc";
longDescription = ''
cd-discid is a backend utility to get CDDB discid information
from a CD-ROM disc. It was originally designed for cdgrab (now
abcde), but can be used for any purpose requiring CDDB data.
'';
meta = {
homepage = http://lly.org/~rcw/cd-discid/;
license = stdenv.lib.licenses.gpl2Plus;
description = "cd-discid, a command-line utility to retrieve a disc's CDDB ID";
longDescription = ''
cd-discid is a backend utility to get CDDB discid information
from a CD-ROM disc. It was originally designed for cdgrab (now
abcde), but can be used for any purpose requiring CDDB data.
'';
};
}
};
}

View file

@ -1,14 +0,0 @@
--- cd-discid-0.9/Makefile 2003-01-05 21:18:07.000000000 +0100
+++ cd-discid-0.9/Makefile 2008-05-26 22:14:56.000000000 +0200
@@ -32,9 +32,9 @@ clean:
install: cd-discid
$(INSTALL) -d -m 755 $(bindir)
- $(INSTALL) -s -m 755 -o 0 cd-discid $(bindir)
+ $(INSTALL) -s -m 755 cd-discid $(bindir)
$(INSTALL) -d -m 755 $(mandir)
- $(INSTALL) -m 644 -o 0 cd-discid.1 $(mandir)
+ $(INSTALL) -m 644 cd-discid.1 $(mandir)
tarball:
@cd .. && tar czvf cd-discid_$(VERSION).orig.tar.gz \

View file

@ -12,13 +12,13 @@
}:
stdenv.mkDerivation {
name = "csound-6.03.2";
name = "csound-6.04";
enableParallelBuilding = true;
src = fetchurl {
url = mirror://sourceforge/csound/Csound6.03.2.tar.gz;
sha256 = "0w6ij57dbfjljpf05bb9r91jphwaq1v63rh0713vl2n11d73dy7m";
url = mirror://sourceforge/csound/Csound6.04.tar.gz;
sha256 = "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g";
};
buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ];

View file

@ -15,8 +15,9 @@ stdenv.mkDerivation rec {
# http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/822346
patches = [ ./socket.patch ./gcc-47.patch ];
buildInputs = [ alsaLib gtk libjack2 libuuid libxml2 makeWrapper
buildInputs = [ alsaLib gtk libjack2 libxml2 makeWrapper
pkgconfig readline ];
propagatedBuildInputs = [ libuuid ];
postInstall = ''
for i in lash_control lash_panel

View file

@ -0,0 +1,35 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "mp3val-${version}";
version = "0.1.8";
src = fetchurl {
url = "mirror://sourceforge/mp3val/${name}-src.tar.gz";
sha256 = "17y3646ghr38r620vkrxin3dksxqig5yb3nn4cfv6arm7kz6x8cm";
};
makefile = "Makefile.linux";
installPhase = ''
install -Dv mp3val "$out/bin/mp3val"
'';
meta = {
description = "A tool for validating and repairing MPEG audio streams";
longDescription = ''
MP3val is a small, high-speed, free software tool for checking MPEG audio
files' integrity. It can be useful for finding corrupted files (e.g.
incompletely downloaded, truncated, containing garbage). MP3val is
also able to fix most of the problems. Being a multiplatform application,
MP3val can be runned both under Windows and under Linux (or BSD). The most
common MPEG audio file type is MPEG 1 Layer III (mp3), but MP3val supports
also other MPEG versions and layers. The tool is also aware of the most
common types of tags (ID3v1, ID3v2, APEv2).
'';
homepage = http://mp3val.sourceforge.net/index.shtml;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.devhell ];
};
}

View file

@ -1,24 +1,25 @@
{ stdenv, fetchurl, qt4, alsaLib, libjack2, dbus }:
stdenv.mkDerivation rec {
version = "0.3.12";
version = "0.4.0";
name = "qjackctl-${version}";
# some dependencies such as killall have to be installed additionally
src = fetchurl {
url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
sha256 = "14yvnc4k3hwsjflg8b2d04bc63pdl0gyqjc7vl6rdn29nbr23zwc";
sha256 = "0nj8c8vy00524hbjqwsqkliblcf9j7h46adk6v5np645pp2iqrav";
};
buildInputs = [ qt4 alsaLib libjack2 dbus ];
configureFlags = "--enable-jack-version";
meta = {
meta = with stdenv.lib; {
description = "A Qt application to control the JACK sound server daemon";
homepage = http://qjackctl.sourceforge.net/;
license = "GPL";
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
};
}

View file

@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
else
requireFile {
url = "http://backstage.renoise.com/frontend/app/index.html#/login";
name = "rns_3_0_1_reg_x86_64.tar.gz";
sha256 = "1swax2jz0gswdpzz8alwjfd8rhigc2yfspj7p8wvdvylqrf7n8q7";
name = "rns_3_0_1_linux_x86_64.tar.gz";
sha256 = "1yb5w5jrg9dk9fg5rfvfk6p0rxn4r4i32vxp2l9lzhbs02pv15wd";
}
else if builtins.currentSystem == "i686-linux" then
if demo then

View file

@ -4,11 +4,11 @@
withLirc ? false, lirc ? null } :
stdenv.mkDerivation (rec {
version = "14.12";
version = "15.08";
name = "rosegarden-${version}";
src = fetchurl {
url = "mirror://sourceforge/rosegarden/${name}.tar.bz2";
sha256 = "0zhlxr1njyy6837f09l6p75js0j5mxmls6m02bqafv9j32wgnxpq";
sha256 = "1pk24bhpsmvn6rkqgll31na44w03banra1y7kiqd0gajlnw7wlls";
};
QTDIR=qt4;

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xorg, libcap, systemd
, gvfs, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xorg, libcap, systemd
}:
let
@ -16,15 +16,15 @@ let
};
in stdenv.mkDerivation rec {
name = "atom-${version}";
version = "1.0.4";
version = "1.1.0";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "0jki2ca12mazvszy05xc7zy8nfpavl0rnzcyksvvic32l3w2yxj7";
sha256 = "1rbwwwryhcasqgn2y1d9hvi3n4dag50dh1fd9hmkx4h9nmm3mbi0";
name = "${name}.deb";
};
buildInputs = [ atomEnv makeWrapper ];
buildInputs = [ atomEnv gvfs makeWrapper ];
phases = [ "installPhase" "fixupPhase" ];
@ -41,7 +41,8 @@ in stdenv.mkDerivation rec {
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/share/atom/resources/app/apm/bin/node
wrapProgram $out/bin/atom \
--prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
--prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64" \
--prefix "PATH" : "${gvfs}/bin"
wrapProgram $out/bin/apm \
--prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
'';

View file

@ -106,16 +106,16 @@ rec {
anyedittools = buildEclipsePlugin rec {
name = "anyedit-${version}";
version = "2.4.15.201504172030";
version = "2.5.0.201510241327";
srcFeature = fetchurl {
url = "http://andrei.gmxhome.de/eclipse/features/AnyEditTools_${version}.jar";
sha256 = "19hbwgqn02ghflbcp5cw3qy203mym5kwgzq4xrn0xcl8ckl5s2pp";
sha256 = "01qaxg1b4n7y7g1xdkx1bnmpwqydln270mk14l4pl35q3c88s5nc";
};
srcPlugin = fetchurl {
url = "http://dl.bintray.com/iloveeclipse/plugins/de.loskutov.anyedit.AnyEditTools_${version}.jar";
sha256 = "1i3ghf2mhdfhify30hlyxqmyqcp40pkd5zhsiyg6finn4w81sxv2";
url = "https://github.com/iloveeclipse/anyedittools/releases/download/2.5.0/de.loskutov.anyedit.AnyEditTools_${version}.jar";
sha256 = "0m4qxkscl5xih8x1znbrih4jh28wky4l62spfif9zw0s7mgl117c";
};
meta = with stdenv.lib; {

View file

@ -1,7 +1,7 @@
{ stdenv, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
, alsaLib, cairo, acl, gpm, AppKit, Foundation, libobjc
, alsaLib, cairo, acl, gpm, AppKit
, withX ? !stdenv.isDarwin
, withGTK3 ? false, gtk3 ? null
, withGTK2 ? true, gtk2
@ -47,11 +47,9 @@ stdenv.mkDerivation rec {
imagemagick gconf ]
++ stdenv.lib.optional (withX && withGTK2) gtk2
++ stdenv.lib.optional (withX && withGTK3) gtk3
++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo
++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Foundation libobjc ];
++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin AppKit;
configureFlags =
if stdenv.isDarwin

View file

@ -1,10 +1,10 @@
{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, Carbon, Foundation,
libobjc, Cocoa, WebKit, Quartz, ImageCaptureCore, OSAKit
{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
, Carbon, Cocoa, ImageCaptureCore, OSAKit, Quartz, WebKit
}:
stdenv.mkDerivation rec {
emacsName = "emacs-24.5";
name = "${emacsName}-mac-5.11";
name = "${emacsName}-mac-5.12";
#builder = ./builder.sh;
@ -15,18 +15,17 @@ stdenv.mkDerivation rec {
macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
sha256 = "0p4jh6s1qi6jm6zr82grk65x33ix1hb0fbpih4vh3vnx6310iwsb";
sha256 = "1kryg4xw2jn2jwd9ilm2snjvgmnbbp392ry1skzl4d4xf7ff3vx1";
};
NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
enableParallelBuilding = true;
buildInputs = [
ncurses pkgconfig texinfo libxml2 gnutls Carbon Cocoa Foundation libobjc WebKit Quartz
ImageCaptureCore OSAKit
ncurses pkgconfig texinfo libxml2 gnutls
];
propagatedBuildInputs = [
Carbon Cocoa ImageCaptureCore OSAKit Quartz WebKit
];
postUnpack = ''
@ -36,6 +35,7 @@ stdenv.mkDerivation rec {
'';
preConfigure = ''
substituteInPlace lisp/international/mule-cmds.el --replace /usr $TMPDIR
substituteInPlace Makefile.in --replace "/bin/pwd" "pwd"
substituteInPlace lib-src/Makefile.in --replace "/bin/pwd" "pwd"
@ -102,7 +102,7 @@ stdenv.mkDerivation rec {
separately.
This is "Mac port" addition to GNU Emacs 24. This provides a native
GUI support for Mac OS X 10.4 - 10.9. Note that Emacs 23 and later
GUI support for Mac OS X 10.4 - 10.11. Note that Emacs 23 and later
already contain the official GUI support via the NS (Cocoa) port for
Mac OS X 10.4 and later. So if it is good enough for you, then you
don't need to try this.

View file

@ -1,14 +1,14 @@
{stdenv, fetchurl, emacs}:
let
version = "2.11.0";
version = "2.12.1";
in
stdenv.mkDerivation {
name = "emacs-dash-${version}";
src = fetchurl {
url = "https://github.com/magnars/dash.el/archive/${version}.tar.gz";
sha256 = "1piwcwilkxcbjxx832mhb7q3pz1fgwp203r581bpqcw6kd5x726q";
sha256 = "082jl7mp4x063bpj5ad2pc5125k0d6p7rb89gcj7ny3lma9h2ij1";
};
buildInputs = [ emacs ];

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git, dash }:
let
version = "2.2.1";
version = "2.3.0";
in
stdenv.mkDerivation {
name = "magit-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation {
owner = "magit";
repo = "magit";
rev = version;
sha256 = "1bq26wrgm4wgif0hj16mkmiz0p1iilxs7dmdd1vq5df8nivmakjz";
sha256 = "1zbx1ky1481lkvfjr4k23q7jdrk9ji9v5ghj88qib36vbmzfwww8";
};
buildInputs = [ emacs texinfo git ];
@ -28,15 +28,10 @@ stdenv.mkDerivation {
cp lisp/magit-version.el .
'';
doCheck = false; # one out of 5 tests fails, not sure why
doCheck = false; # 2 out of 15 tests fails, not sure why
checkTarget = "test";
preCheck = "export EMAIL='Joe Doe <joe.doe@example.org>'";
# postInstall = ''
# mkdir -p $out/bin
# mv "bin/"* $out/bin/
# '';
meta = {
homepage = "https://github.com/magit/magit";
description = "Magit, an Emacs interface to Git";

View file

@ -6,6 +6,7 @@
, withPython3 ? true, python3Packages, extraPython3Packages ? []
, withJemalloc ? true, jemalloc
, withPyGUI ? false
, vimAlias ? false
, configure ? null
}:
@ -45,7 +46,11 @@ let
};
pythonEnv = pythonPackages.python.buildEnv.override {
extraLibs = [ pythonPackages.neovim ] ++ extraPythonPackages;
extraLibs = (
if withPyGUI
then [ pythonPackages.neovim_gui ]
else [ pythonPackages.neovim ]
) ++ extraPythonPackages;
ignoreCollisions = true;
};
@ -103,6 +108,9 @@ let
$out/bin/nvim
'' + optionalString withPython ''
ln -s ${pythonEnv}/bin/python $out/bin/nvim-python
'' + optionalString withPyGUI ''
makeWrapper "${pythonEnv}/bin/pynvim" "$out/bin/pynvim" \
--prefix PATH : "$out/bin"
'' + optionalString withPython3 ''
ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
'' + optionalString (withPython || withPython3) ''

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, boost155, zlib, openssl, R, qt4, libuuid, hunspellDicts, unzip, ant, jdk }:
{ stdenv, fetchurl, cmake, boost155, zlib, openssl, R, qt4, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper }:
let
version = "0.98.110";
@ -8,7 +8,7 @@ in
stdenv.mkDerivation {
name = "RStudio-${version}";
buildInputs = [ cmake boost155 zlib openssl R qt4 libuuid unzip ant jdk ];
buildInputs = [ cmake boost155 zlib openssl R qt4 libuuid unzip ant jdk makeWrapper ];
src = fetchurl {
url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz";
@ -61,6 +61,10 @@ stdenv.mkDerivation {
cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" ];
postInstall = ''
wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin
'';
meta = with stdenv.lib;
{ description = "Set of integrated tools for the R language";
homepage = http://www.rstudio.com/;

View file

@ -1,10 +1,15 @@
{ fetchurl, stdenv, glib, xorg, cairo, gtk, pango, makeWrapper, openssl, bzip2 }:
{ fetchurl, stdenv, glib, xorg, cairo, gtk, pango, makeWrapper, openssl, bzip2,
pkexecPath ? "/var/setuid-wrappers/pkexec", libredirect,
gksuSupport ? false, gksu}:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
assert gksuSupport -> gksu != null;
let
build = "3083";
libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk cairo pango];
redirects = [ "/usr/bin/pkexec=${pkexecPath}" ]
++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo";
in let
# package with just the binaries
sublime = stdenv.mkDerivation {
@ -35,6 +40,9 @@ in let
--set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
$i
done
# Rewrite pkexec|gksudo argument. Note that we can't delete bytes in binary.
sed -i -e 's,/bin/cp\x00,cp\x00\x00\x00\x00\x00\x00,g' sublime_text
'';
installPhase = ''
@ -44,6 +52,10 @@ in let
mkdir -p $out
cp -prvd * $out/
wrapProgram $out/sublime_text \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects}
# Without this, plugin_host crashes, even though it has the rpath
wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl}/lib/libssl.so:${bzip2}/lib/libbz2.so
'';
@ -64,7 +76,7 @@ in stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "Sophisticated text editor for code, markup and prose";
homepage = https://www.sublimetext.com/;
maintainers = with maintainers; [ wmertens ];
maintainers = with maintainers; [ wmertens demin-dmitriy ];
license = licenses.unfree;
platforms = platforms.linux;
};

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, ncurses, gettext, pkgconfig
# apple frameworks
, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private }:
, Carbon, Cocoa }:
stdenv.mkDerivation rec {
name = "vim-${version}";
@ -14,16 +14,10 @@ stdenv.mkDerivation rec {
sha256 = "1m34s2hsc5lcish6gmvn2iwaz0k7jc3kg9q4nf30fj9inl7gaybs";
};
# this makes maintainers very sad
# open source CF doesn't have anything NSArray-related, causing linking errors. the
# missing symbol is in system CoreFoundation.
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
enableParallelBuilding = true;
buildInputs = [ ncurses pkgconfig ]
++ stdenv.lib.optionals stdenv.isDarwin [ cf-private CoreData CoreServices Cocoa Foundation libobjc ];
++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
nativeBuildInputs = [ gettext ];
configureFlags = [

View file

@ -1,17 +1,17 @@
{ stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool, libusb
, libxml2, makeWrapper, packagekit, pkgconfig, saneBackends, systemd, vala }:
, libxml2, makeWrapper, pkgconfig, saneBackends, systemd, vala }:
let version = "3.18.1"; in
let version = "3.19.1"; in
stdenv.mkDerivation rec {
name = "simple-scan-${version}";
src = fetchurl {
sha256 = "1i37j36kbn1h8yfzcvbis6f38xz2nj5512ls3gb0j5na0bvja2cw";
url = "https://launchpad.net/simple-scan/3.18/${version}/+download/${name}.tar.xz";
sha256 = "1d2a8cncq36ly60jpz0fzdw1lgxynl6lyrlw0q66yijlxqn81ynr";
url = "https://launchpad.net/simple-scan/3.19/${version}/+download/${name}.tar.xz";
};
buildInputs = [ cairo colord glib gusb gtk3 libusb libxml2 packagekit
saneBackends systemd vala ];
buildInputs = [ cairo colord glib gusb gtk3 libusb libxml2 saneBackends
systemd vala ];
nativeBuildInputs = [ intltool itstool makeWrapper pkgconfig ];
enableParallelBuilding = true;

View file

@ -281,7 +281,7 @@ let
buildInputs = [ scope.canberra ];
nativeBuildInputs = [ scope.pkgconfig ];
# cmake does not detect path to `ilmbase`
NIX_CFLAGS_COMPILE = "-I${scope.ilmbase}/include/OpenEXR";
NIX_CFLAGS_COMPILE = "-I${scope.ilmbase}/include/OpenEXR -I${pkgs.glib}/include/glib-2.0 -I${pkgs.glib}/lib/glib-2.0/include";
# some components of this package have been replaced in other packages
meta = { priority = 10; };
};

View file

@ -23,11 +23,11 @@
stdenv.mkDerivation rec {
name = "gnuradio-${version}";
version = "3.7.7.1";
version = "3.7.8";
src = fetchurl {
url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz";
sha256 = "0kjqav1rdyi60vq85djmigyrgh606ga625icwj15iarlqwzv29rb";
sha256 = "0wj1rp8fdrmsfqbcaicvfxk71vkd9hcczmb1vrnvfzypnmacn6gy";
};
buildInputs = [

View file

@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "gphoto2-2.5.5";
name = "gphoto2-2.5.8";
src = fetchurl {
url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
sha256 = "1d0lvp5gsrss72597wixhgh8prcw4g7izfg3zdzzsswjgnlsxsal";
sha256 = "0kgfql6c64ha1gahjdwlqhmkslnfywmc2fkys4c5682zv4awvax9";
};
nativeBuildInputs = [ pkgconfig gettext ];

View file

@ -0,0 +1,21 @@
{ stdenv, fetchurl, libjpeg }:
stdenv.mkDerivation rec {
version = "1.0.6";
name = "jp2a-${version}";
src = fetchurl {
url = "mirror://sourceforge/jp2a/${name}.tar.gz";
sha256 = "076frk3pa16s4r1b10zgy81vdlz0385zh3ykbnkaij25jn5aqc09";
};
makeFlags = "PREFIX=$(out)";
buildInputs = [ libjpeg ];
meta = with stdenv.lib; {
homepage = https://csl.name/jp2a/;
description = "A small utility that converts JPG images to ASCII.";
license = licenses.gpl2;
};
}

View file

@ -1,13 +1,13 @@
{ stdenv, fetchurl, pkgs, pythonPackages }:
pythonPackages.buildPythonPackage rec {
version = "0.6.0";
version = "0.6.3";
name = "khard-${version}";
namePrefix = "";
src = fetchurl {
url = "https://github.com/scheibler/khard/archive/v${version}.tar.gz";
sha256 = "1ag6p416iibwgvijjc8bwyrssxw3s3j559700xfgp10vj0nqk1hb";
sha256 = "1dn1v4ycgqbq8vknz1dy710asq8cizxmzaynn69xknwkpgda7fm9";
};
propagatedBuildInputs = with pythonPackages; [

View file

@ -1,41 +0,0 @@
{ stdenv, fetchurl, qt4, muparser, which, boost, pkgconfig }:
stdenv.mkDerivation rec {
version = "2.0.8";
name = "librecad-${version}";
src = fetchurl {
url = "https://github.com/LibreCAD/LibreCAD/tarball/${version}";
name = name + ".tar.gz";
sha256 = "110vn1rvzidg8k6ifz1zws2wsn4cd05xl5ha0hbff2ln7izy84zc";
};
patchPhase = ''
sed -i -e s,/bin/bash,`type -P bash`, scripts/postprocess-unix.sh
sed -i -e s,/usr/share,$out/share, librecad/src/lib/engine/rs_system.cpp
'';
configurePhase = ''
qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost.dev}
'';
installPhase = ''
mkdir -p $out/bin $out/share
cp -R unix/librecad $out/bin
cp -R unix/resources $out/share/librecad
'';
buildInputs = [ qt4 muparser which boost ];
nativeBuildInputs = [ pkgconfig ];
enableParallelBuilding = true;
meta = {
description = "A 2D CAD package based upon Qt";
homepage = http://librecad.org;
repositories.git = git://github.com/LibreCAD/LibreCAD.git;
license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View file

@ -1,20 +1,23 @@
{ stdenv, fetchurl, qt4, muparser, which}:
{ stdenv, fetchurl, qt4, muparser, which, boost, pkgconfig }:
stdenv.mkDerivation {
name = "librecad-1.0.4";
stdenv.mkDerivation rec {
version = "2.0.8";
name = "librecad-${version}";
src = fetchurl {
url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.4;
name = "librecad-1.0.4.tar.gz";
sha256 = "00nzbijw7pn1zkj4256da501xcm6rkcvycpa79y6dr2p6c43yc6m";
url = "https://github.com/LibreCAD/LibreCAD/tarball/${version}";
name = name + ".tar.gz";
sha256 = "110vn1rvzidg8k6ifz1zws2wsn4cd05xl5ha0hbff2ln7izy84zc";
};
patchPhase = ''
sed -i -e s,/bin/bash,`type -P bash`, scripts/postprocess-unix.sh
sed -i -e s,/usr/share,$out/share, src/lib/engine/rs_system.cpp
sed -i -e s,/usr/share,$out/share, librecad/src/lib/engine/rs_system.cpp
'';
configurePhase = "qmake PREFIX=$out";
configurePhase = ''
qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost.dev}
'';
installPhase = ''
mkdir -p $out/bin $out/share
@ -22,11 +25,15 @@ stdenv.mkDerivation {
cp -R unix/resources $out/share/librecad
'';
buildInputs = [ qt4 muparser which ];
buildInputs = [ qt4 muparser which boost ];
nativeBuildInputs = [ pkgconfig ];
enableParallelBuilding = true;
meta = {
description = "A 2D CAD package based upon Qt";
homepage = http://librecad.org;
repositories.git = git://github.com/LibreCAD/LibreCAD.git;
license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, wxGTK, desktop_file_utils, libSM, imagemagick }:
stdenv.mkDerivation rec {
version = "0.7.77";
version = "0.7.78";
name = "mediainfo-gui-${version}";
src = fetchurl {
url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "0n15z1jlj5s69pwk3mdv4r5c8ncfy7qjbdw5wfwynwypkl5382pn";
sha256 = "0458rxla3nhw9rbb2psak8qvxwr0drfhdl82k6wvb3a38xb0qij3";
};
buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo wxGTK desktop_file_utils libSM imagemagick ];

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, zlib }:
stdenv.mkDerivation rec {
version = "0.7.77";
version = "0.7.78";
name = "mediainfo-${version}";
src = fetchurl {
url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "0n15z1jlj5s69pwk3mdv4r5c8ncfy7qjbdw5wfwynwypkl5382pn";
sha256 = "0458rxla3nhw9rbb2psak8qvxwr0drfhdl82k6wvb3a38xb0qij3";
};
buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo zlib ];

View file

@ -1,18 +1,18 @@
{ stdenv, python27Packages, fetchgit }:
let
py = python27Packages;
in
py.buildPythonPackage rec {
name = "printrun";
{ stdenv, python27Packages, fetchFromGitHub }:
src = fetchgit {
url = "https://github.com/kliment/Printrun";
rev = "2299962bb338d3f4335b97211ee609ebaea008f7"; # printrun-20140801
sha256 = "19nay7xclm36x56hpm87gw4ca6rnygpqaw5ypbmrz0hyxx140abj";
python27Packages.buildPythonPackage rec {
name = "printrun-20150310";
src = fetchFromGitHub {
owner = "kliment";
repo = "Printrun";
rev = name;
sha256 = "09ijv8h4k5h15swg64s7igamvynawz7gdi7hiymzrzywdvr0zwsa";
};
propagatedBuildInputs = with py; [ wxPython30 pyserial dbus psutil
numpy pyopengl pyglet cython ];
propagatedBuildInputs = with python27Packages; [
wxPython30 pyserial dbus psutil numpy pyopengl pyglet cython
];
doCheck = false;

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "qtpass-${version}";
version = "1.0.1";
version = "1.0.3";
src = fetchurl {
url = "https://github.com/IJHack/qtpass/archive/v${version}.tar.gz";
sha256 = "1mmncvamvwr3hizc1jgpb5kscl9idmrfd2785jhwi87q11wjrwxz";
sha256 = "a61a29ddd5a874fcdcb915dbc9d91e10787be22d794cc8ebb2ba3cff27030c67";
};
buildInputs = [ git gnupg makeWrapper pass qt5.base ];

View file

@ -1,18 +1,19 @@
{ stdenv, fetchurl, autoconf, automake, pkgconfig
, libX11, libXinerama, libXft, pango
, i3Support ? false, i3
, libX11, libXinerama, libXft, pango, cairo
, libstartup_notification, i3Support ? false, i3
}:
stdenv.mkDerivation rec {
name = "rofi-${version}";
version = "0.15.8";
version = "0.15.10";
src = fetchurl {
url = "https://github.com/DaveDavenport/rofi/archive/${version}.tar.gz";
sha256 = "1qhj8xrxfnzy16g577w0zxg1cy885rbqydlbbxgfk0dpjvq70lq6";
sha256 = "0wwdc9dj8qfmqv4pcllq78h38hqmz9s3hqf71fsk71byiid69ln9";
};
buildInputs = [ autoconf automake pkgconfig libX11 libXinerama libXft pango
cairo libstartup_notification
] ++ stdenv.lib.optional i3Support i3;
preConfigure = ''

View file

@ -3,13 +3,13 @@
}:
stdenv.mkDerivation rec {
version = "1.2.7";
version = "1.2.9";
name = "slic3r-${version}";
src = fetchgit {
url = "git://github.com/alexrj/Slic3r";
rev = "refs/tags/${version}";
sha256 = "1bybbl8b0lfh9wkn1k9cxd11hlc5064wzh0fk6zdmc9vnnay399i";
sha256 = "1xwl8ay5m6pwrrnhbmnmpwyh4wc8hsi4ldzgq98f4bh6szj6jh4z";
};
buildInputs = with perlPackages; [ perl makeWrapper which

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "taskwarrior-${version}";
version = "2.4.4";
version = "2.5.0";
enableParallelBuilding = true;
src = fetchurl {
url = "http://www.taskwarrior.org/download/task-${version}.tar.gz";
sha256 = "7ff406414e0be480f91981831507ac255297aab33d8246f98dbfd2b1b2df8e3b";
sha256 = "0dj66c4pwdmfnzdlm1r23gqim6banycyzvmq266114v9b90ng3jd";
};
nativeBuildInputs = [ cmake libuuid gnutls ];

View file

@ -37,7 +37,7 @@ mkChromiumDerivation (base: rec {
meta = {
description = "An open source web browser from Google";
homepage = http://www.chromium.org/;
maintainers = with maintainers; [ goibhniu chaoflow aszlig ];
maintainers = with maintainers; [ chaoflow aszlig ];
license = licenses.bsd3;
platforms = platforms.linux;
};

View file

@ -45,10 +45,11 @@ in stdenv.mkDerivation {
'';
patches =
if versionOlder version "45.0.0.0"
then singleton ./nix_plugin_paths_44.patch
else singleton ./nix_plugin_paths_46.patch ++
optional (!versionOlder version "46.0.0.0") ./build_fixes_46.patch;
(if versionOlder version "45.0.0.0"
then singleton ./nix_plugin_paths_44.patch
else singleton ./nix_plugin_paths_46.patch ++
optional (!versionOlder version "46.0.0.0") ./build_fixes_46.patch) ++
singleton ./widevine.patch;
patchPhase = let
diffmod = sym: "/^${sym} /{s/^${sym} //;${transform ""};s/^/${sym} /}";

View file

@ -13,9 +13,9 @@
sha256bin64 = "1m8vv3qh79an3719afz7n2ijqanf4cyxz2q4bzm512x52z5zipl7";
};
stable = {
version = "46.0.2490.71";
sha256 = "1dnwhwvn39x8lm1jszjn8y7vy478zy75gm696rr2dvk4kqj1hjyd";
sha256bin32 = "1v1acg32dzmkydzy7sh6xjbzqar052iw8x8hql2yjz5kxznir4sf";
sha256bin64 = "15ladhxiym760mid5zq09vp73irzwlp31br9yqslzgv4460ma3np";
version = "45.0.2454.101";
sha256 = "1yw5xlgy5hd3iwcyf0sillq5p367fcpvp4mizpmv52cwmv52ss0v";
sha256bin32 = "1ll8lmkmx7v74naz1vcnrwk5ighh0skfcb66jkq4kgxrb5fjgwm5";
sha256bin64 = "1cwbd3n77dnbfnrfr8g0qng9xkgvz6y7mx489gpx1wsamgi42bzj";
};
}

View file

@ -0,0 +1,12 @@
diff -upr chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h
--- chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 01:18:59.000000000 +0300
+++ chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 09:09:49.157260050 +0300
@@ -14,4 +14,8 @@
// - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
// as a string, e.g., "1.0.123.456").
+#include "third_party/widevine/cdm/widevine_cdm_common.h"
+#define WIDEVINE_CDM_AVAILABLE
+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
+
#endif // WIDEVINE_CDM_VERSION_H_

View file

@ -36,7 +36,7 @@
let
# -> http://get.adobe.com/flashplayer/
version = "11.2.202.535";
version = "11.2.202.540";
src =
if stdenv.system == "x86_64-linux" then
@ -47,7 +47,7 @@ let
else rec {
inherit version;
url = "http://fpdownload.adobe.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
sha256 = "13fy842plbnv4w081sbhga0jrpbwz8yydg49c2v96l2marmzw9zp";
sha256 = "0zya9n5h669wbna182ig6dl4yf5sv4lvqk19rqhcwv3i718b0ai6";
}
else if stdenv.system == "i686-linux" then
if debug then
@ -60,7 +60,7 @@ let
else rec {
inherit version;
url = "http://fpdownload.adobe.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
sha256 = "0z99nz1k0cf86dgs367ddxfnf05m32psidpmdzi5qiqaj10h6j6s";
sha256 = "1n8ik5f257s388ql7gkmfh1iqil0g4kzxh3zsv2x8r6ssrvpq1by";
}
else throw "Flash Player is not supported on this platform";

View file

@ -20,11 +20,11 @@
let
# NOTE: When updating, please also update in current stable, as older versions stop working
version = "3.8.9";
version = "3.10.9";
sha256 =
{
"x86_64-linux" = "1mdhf57bqi4vihbzv5lz8zk4n576c1qjm7hzcq4f5qvkdsmp5in2";
"i686-linux" = "0gighh782jjmlgqgbw2d00a3ri5h3inqdik7v70f1yygvkr7awy8";
"x86_64-linux" = "1kg6x1z8if63s15464xiz59qwncb5xhv108icicb5s2yhjzzyi29";
"i686-linux" = "172x9f7x425w5ljr6xa0srvv19qysmvr3gs3jkbmnxfwrfxyxf79";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch =

View file

@ -1,13 +1,13 @@
{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
, pkgconfig, xdg_utils, gtk2, sqlite, pugixml }:
let version = "3.14.0"; in
let version = "3.14.1"; in
stdenv.mkDerivation {
name = "filezilla-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
sha256 = "1zbrsmrqnxzj6cnf2y1sx384nv6c8l3338ynazjfbiqbyfs5lf4j";
sha256 = "0v6lb7miy6jbnswii816na8818xqxlvs1vadnii21xfmrsv7225i";
};
configureFlags = [

View file

@ -1,56 +1,67 @@
{ stdenv, fetchurl, ant, jdk }:
{ stdenv, fetchurl, fetchgit, ant, jdk, makeWrapper }:
let
# The .gitmodules in freenet-official-20130413-eccc9b3198
# points to freenet-contrib-staging-ce3b7d5
freenet_ext = fetchurl {
url = https://downloads.freenetproject.org/latest/freenet-ext.jar;
sha1 = "507ab3f6ee91f47c187149136fb6d6e98f9a8c7f";
sha256 = "17ypljdvazgx2z6hhswny1lxfrknysz3x6igx8vl3xgdpvbb7wij";
};
bcprov = fetchurl {
url = http://www.bouncycastle.org/download/bcprov-jdk15on-148.jar;
sha256 = "12129q8rmqwlvj6z4j0gc3w0hq5ccrkf2gdlsggp3iws7cp7wjw0";
url = https://downloads.freenetproject.org/latest/bcprov-jdk15on-152.jar;
sha256 = "0wqpdcvcfh939fk8yr033ijzr1vjbp6ydlnv5ly8jiykwj0x3i0d";
};
seednodes = fetchurl {
url = https://downloads.freenetproject.org/alpha/opennet/seednodes.fref;
sha256 = "109zn9w8axdkjwhkkcm2s8dvib0mq0n8imjgs3r8hvi128cjsmg9";
};
version = "build01470";
in
stdenv.mkDerivation {
name = "freenet-20130413-eccc9b3198";
name = "freenet-${version}";
src = fetchurl {
url = https://github.com/freenet/fred-official/tarball/eccc9b3198;
name = "freenet-official-eccc9b3198.tar.gz";
sha256 = "0x0s8gmb95770l7968r99sq0588vf0n1687ivc2hixar19cw620y";
src = fetchgit {
url = https://github.com/freenet/fred;
rev = "refs/tags/${version}";
sha256 = "1b6e6fec2b9a729d4a25605fa142df9ea42e59b379ff665f580e32c6178c9746";
};
patchPhase = ''
cp ${freenet_ext} lib/freenet/freenet-ext.jar
cp ${bcprov} lib/bcprov.jar
cp ${bcprov} lib/bcprov-jdk15on-152.jar
sed '/antcall.*-ext/d' -i build.xml
sed 's/@unknown@/${version}/g' -i build-clean.xml
'';
buildInputs = [ ant jdk ];
buildInputs = [ ant jdk makeWrapper ];
buildPhase = "ant package-only";
freenetWrapper = ./freenetWrapper;
installPhase = ''
mkdir -p $out/share/freenet $out/bin
cp lib/bcprov.jar $out/share/freenet
cp lib/bcprov-jdk15on-152.jar $out/share/freenet
cp lib/freenet/freenet-ext.jar $out/share/freenet
cp dist/freenet.jar $out/share/freenet
cat <<EOF > $out/bin/freenet
cat <<EOF > $out/bin/freenet.wrapped
#!${stdenv.shell}
${jdk.jre}/bin/java -cp $out/share/freenet/bcprov.jar:$out/share/freenet/freenet-ext.jar:$out/share/freenet/freenet.jar \\
${jdk.jre}/bin/java -cp $out/share/freenet/bcprov-jdk15on-152.jar:$out/share/freenet/freenet-ext.jar:$out/share/freenet/freenet.jar \\
-Xmx1024M freenet.node.NodeStarter
EOF
chmod +x $out/bin/freenet
chmod +x $out/bin/freenet.wrapped
makeWrapper $freenetWrapper $out/bin/freenet \
--set FREENET_ROOT "$out" \
--set FREENET_SEEDNODES "${seednodes}"
'';
meta = {
description = "Decentralised and censorship-resistant network";
homepage = https://freenetproject.org/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.doublec ];
platforms = with stdenv.lib.platforms; linux;
};
}

View file

@ -0,0 +1,16 @@
#! /usr/bin/env bash
export FREENET_HOME="$HOME/.local/share/freenet"
if [ -n "$XDG_DATA_HOME" ]
then export FREENET_HOME="$XDG_DATA_HOME/freenet"
fi
if [ ! -d $FREENET_HOME ]; then
mkdir -p $FREENET_HOME
fi
cp -u $FREENET_SEEDNODES $FREENET_HOME/seednodes.fref
chmod u+rw $FREENET_HOME/seednodes.fref
cd $FREENET_HOME
exec $FREENET_ROOT/bin/freenet.wrapped "$@"

View file

@ -1,6 +1,5 @@
{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes,
wineUnstable, makeWrapper, libXau , bash, patchelf, config,
acceptLicense ? false }:
wineUnstable, makeWrapper, libXau , patchelf, config }:
with stdenv.lib;
@ -30,22 +29,23 @@ stdenv.mkDerivation {
rm -R $out/share/teamviewer/tv_bin/wine/{bin,lib,share}
cat > $out/bin/teamviewer << EOF
#!${bash}/bin/sh
#!${stdenv.shell}
export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
export PATH=${topath}\''${PATH:+:\$PATH}
$out/share/teamviewer/tv_bin/script/teamviewer "\$@"
EOF
chmod +x $out/bin/teamviewer
patchelf --set-rpath "${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer/tv_bin/teamviewerd
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/teamviewer/tv_bin/teamviewerd
ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin/
${optionalString acceptLicense "
cat > $out/share/teamviewer/config/global.conf << EOF
[int32] EulaAccepted = 1
[int32] EulaAcceptedRevision = 6
EOF
"}
rm -rf $out/share/teamviewer/logfiles $out/share/teamviewer/config
ln -sv /var/tmp/teamviewer10/logs/ $out/share/teamviewer/logfiles
ln -sv /var/tmp/teamviewer10/config/ $out/share/teamviewer/config
'';
# the fixupPhase undoes the rpath patch
postFixup = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/teamviewer/tv_bin/teamviewerd
patchelf --set-rpath "${stdenv.cc.cc}/lib64:${stdenv.cc.cc}/lib:${libX11}/lib:${libXext}/lib:${libXau}/lib:${libXdamage}/lib:${libXfixes}/lib" $out/share/teamviewer/tv_bin/teamviewerd
'';
meta = {

View file

@ -4,11 +4,11 @@
}:
stdenv.mkDerivation rec {
name = "gnumeric-1.12.23";
name = "gnumeric-1.12.24";
src = fetchurl {
url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
sha256 = "0lcmw4jrfg9y2fhx13xw8w85vi7bcmgyn2sdjxi21xkh3szlqiq0";
sha256 = "0lcm8k0jb8rd5y4ii803f21nv8rx6gc3mmdlrj5h0rkkn9qm57f5";
};
configureFlags = "--disable-component";

View file

@ -0,0 +1,41 @@
{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
stdenv.mkDerivation {
name = "aangifte2013-wa";
src = fetchurl {
url = http://download.belastingdienst.nl/belastingdienst/apps/linux/wa2013_linux.tar.gz;
sha256 = "1bx6qnxikzpzrn8r66qxcind3k9yznwgp05dm549ph0w4rjbhgc9";
};
dontStrip = true;
dontPatchELF = true;
buildInputs = [ makeWrapper ];
buildPhase =
''
for i in bin/*; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i
done
'';
installPhase =
''
mkdir -p $out
cp -prvd * $out/
wrapProgram $out/bin/wa2013ux --prefix PATH : ${xdg_utils}/bin \
--prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
'';
meta = {
description = "Elektronische aangifte WA 2013 (Dutch Tax Return Program)";
url = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2013_linux;
license = stdenv.lib.licenses.unfree;
platforms = stdenv.lib.platforms.linux;
hydraPlatforms = [];
};
}

View file

@ -0,0 +1,41 @@
{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
stdenv.mkDerivation {
name = "aangifte2014-wa";
src = fetchurl {
url = http://download.belastingdienst.nl/belastingdienst/apps/linux/wa2014_linux.tar.gz;
sha256 = "0ckwk190vyvwgv8kq0xxsxvm1kniv3iip4l5aycjx1wcyic2289x";
};
dontStrip = true;
dontPatchELF = true;
buildInputs = [ makeWrapper ];
buildPhase =
''
for i in bin/*; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i
done
'';
installPhase =
''
mkdir -p $out
cp -prvd * $out/
wrapProgram $out/bin/wa2014ux --prefix PATH : ${xdg_utils}/bin \
--prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
'';
meta = {
description = "Elektronische aangifte WA 2014 (Dutch Tax Return Program)";
url = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2014_linux;
license = stdenv.lib.licenses.unfree;
platforms = stdenv.lib.platforms.linux;
hydraPlatforms = [];
};
}

View file

@ -0,0 +1,41 @@
{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
stdenv.mkDerivation {
name = "aangifte2014-1";
src = fetchurl {
url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2014_linux.tar.gz;
sha256 = "1lkpfn9ban122hw27vvscdlg3933i2lqcdhp7lk26f894jbwzq3j";
};
dontStrip = true;
dontPatchELF = true;
buildInputs = [ makeWrapper ];
buildPhase =
''
for i in bin/*; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_CC/nix-support/orig-cc)/lib \
$i
done
'';
installPhase =
''
mkdir -p $out
cp -prvd * $out/
wrapProgram $out/bin/ib2014ux --prefix PATH : ${xdg_utils}/bin \
--prefix LD_PRELOAD : $(cat $NIX_CC/nix-support/orig-cc)/lib/libgcc_s.so.1
'';
meta = {
description = "Elektronische aangifte IB 2014 (Dutch Tax Return Program)";
url = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2014_linux;
license = stdenv.lib.licenses.unfree;
platforms = stdenv.lib.platforms.linux;
hydraPlatforms = [];
};
}

View file

@ -71,6 +71,8 @@ rec {
tig = callPackage ./tig { };
transcrypt = callPackage ./transcrypt { };
hub = import ./hub {
inherit go;
inherit stdenv fetchgit;

View file

@ -0,0 +1,35 @@
{ stdenv, fetchurl, git, openssl }:
stdenv.mkDerivation rec {
name = "transcrypt-0.9.7";
src = fetchurl {
url = https://github.com/elasticdog/transcrypt/archive/v0.9.7.tar.gz;
sha256 = "0pgrf74wdc7whvwz7lkkq6qfk38n37dc5668baq7czgckibvjqdh";
};
buildInputs = [ git openssl ];
installPhase = ''
install -m 755 -D transcrypt $out/bin/transcrypt
install -m 644 -D man/transcrypt.1 $out/share/man/man1/transcrypt.1
install -m 644 -D contrib/bash/transcrypt $out/share/bash-completion/completions/transcrypt
install -m 644 -D contrib/zsh/_transcrypt $out/share/zsh/site-functions/_transcrypt
'';
meta = with stdenv.lib; {
description = "Transparently encrypt files within a Git repository";
longDescription = ''
A script to configure transparent encryption of sensitive files stored in
a Git repository. Files that you choose will be automatically encrypted
when you commit them, and automatically decrypted when you check them
out. The process will degrade gracefully, so even people without your
encryption password can safely commit changes to the repository's
non-encrypted files.
'';
homepage = https://github.com/elasticdog/transcrypt;
license = licenses.mit;
maintainers = [ maintainers.elasticdog ];
platforms = platforms.all;
};
}

View file

@ -7,11 +7,11 @@ assert stdenv ? glibc;
assert faacSupport -> faac != null;
stdenv.mkDerivation {
name = "avidemux-2.5.6";
name = "avidemux-2.6.9";
src = fetchurl {
url = mirror://sourceforge/avidemux/avidemux_2.5.6.tar.gz;
sha256 = "12wvxz0n2g85f079d8mdkkp2zm279d34m9v7qgcqndh48cn7znnn";
url = mirror://sourceforge/avidemux/avidemux_2.6.9.tar.gz;
sha256 = "01jhgricd7m9hdhr22yrdjfrnl41zccm2yxw7gfb02mwcswvswy0";
};
buildInputs = [ cmake pkgconfig libxml2 qt4 gtk gettext SDL libXv
@ -40,7 +40,7 @@ stdenv.mkDerivation {
meta = {
homepage = http://fixounet.free.fr/avidemux/;
description = "Free video editor designed for simple video editing tasks";
maintainers = with stdenv.lib.maintainers; [viric];
maintainers = with stdenv.lib.maintainers; [ viric jagajaga ];
platforms = with stdenv.lib.platforms; linux;
};
}

View file

@ -43,11 +43,11 @@ let
};
in stdenv.mkDerivation rec {
name = "kodi-" + version;
version = "15.1";
version = "15.2";
src = fetchurl {
url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
sha256 = "0187qxzyq4nhzbcwbhi71j4bl5k7pwjryhklil90gy5ziw6n3ckj";
sha256 = "043i0f1crx9glwxil4xm45z5kxpkrx316gi4ir4d3rbd5safp2nx";
};
buildInputs = [

View file

@ -59,13 +59,13 @@ in
plugin = "genesis";
namespace = "plugin.video.genesis";
version = "4.0.1";
version = "5.1.3";
src = fetchFromGitHub {
owner = "lambda81";
repo = "lambda-addons";
rev = "34af083980598177684eeb6e1e73da336b84575a";
sha256 = "1fh3j4ymkrx9flpvnlyjp1q4avfmjv5a6yfwl3cmqnslkkp6kn9n";
rev = "f2cd04f33af88d60e1330573bbf2ef9cee7f0a56";
sha256 = "0z0ldckqqif9v5nhnjr5n2495cm3z9grjmrh7czl4xlnq4bvviqq";
};
meta = with stdenv.lib; {
@ -81,13 +81,13 @@ in
plugin = "svtplay";
namespace = "plugin.video.svtplay";
version = "4.0.14";
version = "4.0.15";
src = fetchFromGitHub {
owner = "nilzen";
repo = "xbmc-" + plugin;
rev = "a6041aa6cf8f8461c0ebb093d901320822539094";
sha256 = "1nxa2855i1if4vsflhb88i9s12flp2yzgan2wzdv2117cmll4pvd";
rev = "3b926898b7007827b469ecb1c27ede4238fd26f6";
sha256 = "1bx2c3z8rbkk75hykpmls956hfkwvsm4d8gvlrh53s8zimlwgv7k";
};
meta = with stdenv.lib; {
@ -105,4 +105,4 @@ in
};
}
}

View file

@ -1,11 +1,11 @@
{ stdenv, fetchbzr, python, pyqt4, sip, rtmpdump, makeWrapper }:
stdenv.mkDerivation {
name = "qarte-2.3.0";
name = "qarte-2.4.0";
src = fetchbzr {
url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk;
rev = "148";
sha256 = "0bp2qbl2g3dygmb31lwlarki9lybkb9zxixda4lwrlz628w93fxh";
rev = "150";
sha256 = "0fj11jx9l5qi968c906rrksdic7w4yj414m47k6axlb4v6ghdnar";
};
buildInputs = [ makeWrapper ];

View file

@ -1,21 +0,0 @@
{ fetchurl, pythonPackages }:
pythonPackages.buildPythonPackage rec {
name = "novaclient-2012.1";
namePrefix = "";
src = fetchurl {
url = "http://pypi.python.org/packages/source/p/python-novaclient/python-${name}.tar.gz";
md5 = "8f53a308e08b2af4645281917be77ffc";
};
pythonPath = [ pythonPackages.prettytable pythonPackages.argparse pythonPackages.httplib2 ];
buildInputs = [ pythonPackages.mock pythonPackages.nose ];
meta = {
homepage = https://github.com/rackspace/python-novaclient;
description = "Client library and command line tool for the OpenStack Nova API";
broken = true;
};
}

View file

@ -1,12 +0,0 @@
diff -ru -x '*~' nova-2011.2-orig//bin/nova-manage nova-2011.2//bin/nova-manage
--- nova-2011.2-orig//bin/nova-manage 2011-04-15 04:57:52.000000000 +0200
+++ nova-2011.2//bin/nova-manage 2011-06-09 18:28:39.063299654 +0200
@@ -1009,7 +1009,7 @@
if (FLAGS.image_service == 'nova.image.local.LocalImageService'
and directory == os.path.abspath(FLAGS.images_path)):
new_dir = "%s_bak" % directory
- os.move(directory, new_dir)
+ os.rename(directory, new_dir)
os.mkdir(directory)
directory = new_dir
for fn in glob.glob("%s/*/info.json" % directory):

View file

@ -1,95 +0,0 @@
{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, novaclient }:
with stdenv.lib;
let version = "2011.2"; in
stdenv.mkDerivation rec {
name = "nova-${version}";
src = fetchurl {
url = "http://launchpad.net/nova/cactus/${version}/+download/nova-${version}.tar.gz";
sha256 = "1s2w0rm332y9x34ngjz8sys9sbldg857rx9d6r3nb1ik979fx8p7";
};
patches =
[ ./convert.patch ];
pythonPath = with pythonPackages;
[ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes
paste_deploy m2crypto ipy twisted sqlalchemy_migrate
distutils_extra simplejson readline glance cheetah lockfile httplib2
# !!! should libvirt be a build-time dependency? Note that
# libxml2Python is a dependency of libvirt.py.
libvirt libxml2Python
novaclient
];
buildInputs =
[ pythonPackages.python
pythonPackages.wrapPython
pythonPackages.mox
intltool
] ++ pythonPath;
PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
preConfigure =
''
# Set the built-in state location to something sensible.
sed -i nova/flags.py \
-e "/DEFINE.*'state_path'/ s|../|/var/lib/nova|"
substituteInPlace nova/virt/images.py --replace /usr/bin/curl ${curl}/bin/curl
substituteInPlace nova/api/ec2/cloud.py \
--replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh
'';
buildPhase = "python setup.py build";
installPhase =
''
p=$(toPythonPath $out)
export PYTHONPATH=$p:$PYTHONPATH
mkdir -p $p
python setup.py install --prefix=$out
# Nova doesn't like to be called ".nova-foo-wrapped" because it
# computes some stuff from its own argv[0]. So put the wrapped
# programs in $out/libexec under their original names.
mkdir -p $out/libexec/nova
wrapProgram() {
local prog="$1"
local hidden=$out/libexec/nova/$(basename "$prog")
mv $prog $hidden
makeWrapper $hidden $prog "$@"
}
wrapPythonPrograms
cp -prvd etc $out/etc
# Nova makes some weird assumptions about where to find its own
# programs relative to the Python directory.
ln -sfn $out/bin $out/lib/${pythonPackages.python.libPrefix}/site-packages/bin
# Install the certificate generation script.
cp nova/CA/genrootca.sh $out/libexec/nova/
cp nova/CA/openssl.cnf.tmpl $out/libexec/nova/
# Allow nova-manage etc. to find the proper configuration file.
ln -s /etc/nova/nova.conf $out/libexec/nova/nova.conf
'';
doCheck = false; # !!! fix
checkPhase = "python setup.py test";
meta = {
homepage = http://nova.openstack.org/;
description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
broken = true;
};
}

View file

@ -0,0 +1,67 @@
{ stdenv, fetchurl, pythonPackages, sqlite, which, strace }:
pythonPackages.buildPythonPackage rec {
name = "glance-${version}";
version = "11.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/glance/archive/${version}.tar.gz";
sha256 = "05rz1lmzdmpnw8sf87vvi0l6q9g6s840z934zyinw17yfcvmqrdg";
};
# https://github.com/openstack/glance/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with pythonPackages; [
pbr sqlalchemy_1_0 anyjson eventlet PasteDeploy routes webob sqlalchemy_migrate
httplib2 pycrypto iso8601 stevedore futurist keystonemiddleware paste
jsonschema keystoneclient pyopenssl six retrying semantic-version qpid-python
WSME osprofiler glance_store castellan taskflow cryptography xattr pysendfile
# oslo componenets
oslo-config oslo-context oslo-concurrency oslo-service oslo-utils oslo-db
oslo-i18n oslo-log oslo-messaging oslo-middleware oslo-policy oslo-serialization
];
buildInputs = with pythonPackages; [
Babel coverage fixtures mox3 mock oslosphinx requests2 testrepository pep8
testresources testscenarios testtools psutil_1 oslotest psycopg2 MySQL_python
sqlite which strace
];
patchPhase = ''
# it's not a test, but a class mixin
sed -i 's/ImageCacheTestCase/ImageCacheMixin/' glance/tests/unit/test_image_cache.py
# these require network access, see https://bugs.launchpad.net/glance/+bug/1508868
sed -i 's/test_get_image_data_http/noop/' glance/tests/unit/common/scripts/test_scripts_utils.py
sed -i 's/test_set_image_data_http/noop/' glance/tests/unit/common/scripts/image_import/test_main.py
sed -i 's/test_create_image_with_nonexistent_location_url/noop/' glance/tests/unit/v1/test_api.py
sed -i 's/test_upload_image_http_nonexistent_location_url/noop/' glance/tests/unit/v1/test_api.py
# TODO: couldn't figure out why this test is failing
sed -i 's/test_all_task_api/noop/' glance/tests/integration/v2/test_tasks_api.py
'';
postInstall = ''
# check all binaries don't crash
for i in $out/bin/*; do
case "$i" in
*glance-artifacts) # https://bugs.launchpad.net/glance/+bug/1508879
:
;;
*)
$i --help
esac
done
'';
meta = with stdenv.lib; {
homepage = http://glance.openstack.org/;
description = "Services for discovering, registering, and retrieving virtual machine images";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -0,0 +1,49 @@
{ stdenv, fetchurl, pythonPackages, xmlsec, which }:
pythonPackages.buildPythonPackage rec {
name = "keystone-${version}";
version = "8.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/keystone/archive/${version}.tar.gz";
sha256 = "1xbrs7xgwjzrs07zyxxcl2lq18dh582gd6lx1zzzji8c0qmffy0z";
};
# remove on next version bump
patches = [ ./remove-oslo-policy-tests.patch ];
# https://github.com/openstack/keystone/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with pythonPackages; [
pbr webob eventlet greenlet PasteDeploy paste routes cryptography six
sqlalchemy_1_0 sqlalchemy_migrate stevedore passlib keystoneclient memcached
keystonemiddleware oauthlib pysaml2 dogpile_cache jsonschema pycadf msgpack
xmlsec MySQL_python
# oslo
oslo-cache oslo-concurrency oslo-config oslo-context oslo-messaging oslo-db
oslo-i18n oslo-log oslo-middleware oslo-policy oslo-serialization oslo-service
oslo-utils
];
buildInputs = with pythonPackages; [
coverage fixtures mock subunit tempest-lib testtools testrepository
ldap ldappool webtest requests2 oslotest pep8 pymongo which
];
postInstall = ''
# check all binaries don't crash
for i in $out/bin/*; do
$i --help
done
'';
meta = with stdenv.lib; {
homepage = http://keystone.openstack.org/;
description = "Authentication, authorization and service discovery mechanisms via HTTP";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -0,0 +1,60 @@
{ stdenv, fetchurl, pythonPackages, xmlsec, which }:
pythonPackages.buildPythonPackage rec {
name = "neutron-${version}";
version = "7.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/neutron/archive/${version}.tar.gz";
sha256 = "02ll081xly7zfjmgkal81fy3aplbnn5zgx8xfy3yy1nv3kfnyi40";
};
# https://github.com/openstack/neutron/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with pythonPackages; [
pbr paste PasteDeploy routes debtcollector eventlet greenlet httplib2 requests2
jinja2 keystonemiddleware netaddr retrying sqlalchemy_1_0 webob alembic six
stevedore pecan ryu networking-hyperv MySQL_python
# clients
keystoneclient neutronclient novaclient
# oslo components
oslo-concurrency oslo-config oslo-context oslo-db oslo-i18n oslo-log oslo-messaging
oslo-middleware oslo-policy oslo-rootwrap oslo-serialization oslo-service oslo-utils
oslo-versionedobjects
];
buildInputs = with pythonPackages; [
cliff coverage fixtures mock subunit requests-mock oslosphinx testrepository
testtools testresources testscenarios webtest oslotest os-testr tempest-lib
ddt pep8
];
postInstall = ''
# requires extra optional dependencies
# TODO: package networking_mlnx, networking_vsphere, bsnstacklib, XenAPI
rm $out/bin/{neutron-mlnx-agent,neutron-ovsvapp-agent,neutron-restproxy-agent,neutron-rootwrap-xen-dom0}
# check all binaries don't crash
for i in $out/bin/*; do
case "$i" in
*neutron-pd-notify|*neutron-rootwrap-daemon|*neutron-rootwrap)
:
;;
*)
$i --help
esac
done
'';
meta = with stdenv.lib; {
homepage = http://neutron.openstack.org/;
description = "Virtual network service for Openstack";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -0,0 +1,63 @@
{ stdenv, fetchurl, pythonPackages, openssl, openssh }:
pythonPackages.buildPythonPackage rec {
name = "nova-${version}";
version = "12.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/nova/archive/${version}.tar.gz";
sha256 = "175n1znvmy8f5vqvabc2fa4qy8y17685z4gzpq8984mdsdnpv21w";
};
# https://github.com/openstack/nova/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with pythonPackages; [
pbr sqlalchemy_1_0 boto decorator eventlet jinja2 lxml routes cryptography
webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr
netifaces paramiko Babel iso8601 jsonschema keystoneclient requests2 six
stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql
keystonemiddleware MySQL_python
# oslo components
oslo-rootwrap oslo-reports oslo-utils oslo-i18n oslo-config oslo-context
oslo-log oslo-serialization oslo-middleware oslo-db oslo-service oslo-messaging
oslo-concurrency oslo-versionedobjects
# clients
cinderclient neutronclient glanceclient
];
buildInputs = with pythonPackages; [
coverage fixtures mock mox3 subunit requests-mock pillow oslosphinx
oslotest testrepository testresources testtools tempest-lib bandit
oslo-vmware pep8 barbicanclient ironicclient openssl openssh
];
postInstall = ''
cp -prvd etc $out/etc
# check all binaries don't crash
for i in $out/bin/*; do
case "$i" in
*nova-dhcpbridge*)
:
;;
*nova-rootwrap*)
:
;;
*)
$i --help
;;
esac
done
'';
meta = with stdenv.lib; {
homepage = http://nova.openstack.org/;
description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -0,0 +1,61 @@
From 6016d017004acaae288312b196ef07ea98e9962d Mon Sep 17 00:00:00 2001
From: Brant Knudson <bknudson@us.ibm.com>
Date: Mon, 12 Oct 2015 15:12:45 -0500
Subject: [PATCH] Remove oslo.policy implementation tests from keystone
oslo.policy 0.12.0 contains a change to use requests to do the http
check rather than urllib. This change caused keystone tests to fail
because the keystone tests were mocking urllib, making assumptions
about how oslo.policy is implemented. Keystone doesn't need to test
internal features of oslo.policy, so these tests are removed.
Change-Id: I9d6e4950b9fe75cbb94100c8effdcec002642027
Closes-Bug: 1505374
---
keystone/tests/unit/test_policy.py | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/keystone/tests/unit/test_policy.py b/keystone/tests/unit/test_policy.py
index b2f0e52..686e2b7 100644
--- a/keystone/tests/unit/test_policy.py
+++ b/keystone/tests/unit/test_policy.py
@@ -16,10 +16,8 @@
import json
import os
-import mock
from oslo_policy import policy as common_policy
import six
-from six.moves.urllib import request as urlrequest
from testtools import matchers
from keystone import exception
@@ -118,28 +116,6 @@ def test_enforce_good_action(self):
action = "example:allowed"
rules.enforce(self.credentials, action, self.target)
- def test_enforce_http_true(self):
-
- def fakeurlopen(url, post_data):
- return six.StringIO("True")
-
- action = "example:get_http"
- target = {}
- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen):
- result = rules.enforce(self.credentials, action, target)
- self.assertTrue(result)
-
- def test_enforce_http_false(self):
-
- def fakeurlopen(url, post_data):
- return six.StringIO("False")
-
- action = "example:get_http"
- target = {}
- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen):
- self.assertRaises(exception.ForbiddenAction, rules.enforce,
- self.credentials, action, target)
-
def test_templatized_enforcement(self):
target_mine = {'project_id': 'fake'}
target_not_mine = {'project_id': 'another'}

View file

@ -2,47 +2,53 @@
, fetchurl, fetchFromGitHub }:
let
coreosImageRelease = "738.1.0";
coreosImageRelease = "794.1.0";
coreosImageSystemdVersion = "222";
stage1Flavour = "coreos";
in stdenv.mkDerivation rec {
version = "0.8.0";
version = "0.10.0";
name = "rkt-${version}";
BUILDDIR="build-${name}";
src = fetchFromGitHub {
rev = "v${version}";
owner = "coreos";
repo = "rkt";
sha256 = "1abv9psd5w0m8p2kvrwyjnrclzajmrpbwfwmkgpnkydhmsimhnn0";
sha256 = "1d9n00wkzib4v5mfl46f2mqc8zfpv33kqixifmv8p4azqv78cbxn";
};
stage1image = fetchurl {
stage1BaseImage = fetchurl {
url = "http://alpha.release.core-os.net/amd64-usr/${coreosImageRelease}/coreos_production_pxe_image.cpio.gz";
sha256 = "1rnb9rwms5g7f142d9yh169a5k2hxiximpgk4y4kqmc1294lqnl0";
sha256 = "05nzl3av6cawr8v203a8c95c443g6h1nfy2n4jmgvn0j4iyy44ym";
};
buildInputs = [ autoconf automake go file git wget gnupg1 squashfsTools cpio ];
preConfigure = ''
./autogen.sh
configureFlagsArray=(
--with-stage1=${stage1Flavour}
--with-stage1-image-path=$out/stage1-${stage1Flavour}.aci
--with-coreos-local-pxe-image-path=${stage1BaseImage}
--with-coreos-local-pxe-image-systemd-version=v${coreosImageSystemdVersion}
);
'';
preBuild = ''
# hack to avoid downloading image during build, this has been
# improved in rkt master
mkdir -p build-rkt-0.8.0/tmp/usr_from_coreos
cp -v ${stage1image} build-rkt-0.8.0/tmp/usr_from_coreos/pxe.img
export BUILDDIR
'';
installPhase = ''
mkdir -p $out/bin
cp -Rv build-rkt-${version}/bin/* $out/bin
cp -Rv $BUILDDIR/bin/* $out/bin
'';
meta = with lib; {
description = "A fast, composable, and secure App Container runtime for Linux";
homepage = http://rkt.io;
homepage = https://github.com/coreos/rkt;
license = licenses.asl20;
maintainers = with maintainers; [ ragge ];
maintainers = with maintainers; [ ragge steveej ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -19,7 +19,7 @@ buildPythonPackage rec {
propagatedBuildInputs =
[ eventlet greenlet gflags netaddr sqlalchemy carrot routes
paste_deploy m2crypto ipy twisted sqlalchemy_migrate
PasteDeploy m2crypto ipy twisted sqlalchemy_migrate
distutils_extra simplejson readline glance cheetah lockfile httplib2
urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3
libvirt libxml2Python ipaddr vte libosinfo

View file

@ -14,15 +14,15 @@ stdenv.mkDerivation rec {
pythonPath = with pythonPackages;
[ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes
paste_deploy m2crypto ipy twisted sqlalchemy_migrate
PasteDeploy m2crypto ipy twisted sqlalchemy_migrate
distutils_extra simplejson readline glance cheetah lockfile httplib2
# !!! should libvirt be a build-time dependency? Note that
# libxml2Python is a dependency of libvirt.py.
# libxml2Python is a dependency of libvirt.py.
libvirt libxml2Python urlgrabber
];
buildInputs =
[ pythonPackages.python
[ pythonPackages.python
pythonPackages.wrapPython
pythonPackages.mox
intltool

View file

@ -0,0 +1,21 @@
{ stdenv, fetchgit, pkgconfig, dbus_glib, autoreconfHook, xorg }:
stdenv.mkDerivation rec {
name = "kbdd";
src = fetchgit {
url = https://github.com/qnikst/kbdd;
rev = "47dee0232f157cd865e43d92005a2ba107f6fd75";
sha256 = "1b9a66d216326a9759cad26393fbf8259fe7a0c2dd1075047fc989f0e52d969f";
};
buildInputs = [ pkgconfig xorg.libX11 dbus_glib autoreconfHook ];
meta = {
description = "Simple daemon and library to make per window layout using XKB";
homepage = https://github.com/qnikst/kbdd;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.wedens ];
};
}

View file

@ -2,7 +2,7 @@
# a fork of the buildEnv in the Nix distribution. Most changes should
# eventually be merged back into the Nix distribution.
{ perl, runCommand }:
{ perl, runCommand, lib }:
{ name
@ -21,6 +21,10 @@
# directories in the list is not symlinked.
pathsToLink ? ["/"]
, # The package outputs to include. By default, only the default
# output is included.
outputsToLink ? []
, # Root the result in directory "$out${extraPrefix}", e.g. "/share".
extraPrefix ? ""
@ -34,14 +38,16 @@
}:
runCommand name
rec { inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs;
pkgs = builtins.toJSON (map (drv: {
paths = [ drv ]; # FIXME: handle multiple outputs
priority = drv.meta.priority or 5;
}) paths);
preferLocalBuild = true;
# XXX: The size is somewhat arbitrary
passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else null;
{ inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs;
pkgs = builtins.toJSON (map (drv: {
paths =
[ drv ]
++ lib.concatMap (outputName: lib.optional (drv.${outputName}.outPath or null != null) drv.${outputName}) outputsToLink;
priority = drv.meta.priority or 5;
}) paths);
preferLocalBuild = true;
# XXX: The size is somewhat arbitrary
passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else null;
}
''
${perl}/bin/perl -w ${./builder.pl}

View file

@ -8,6 +8,7 @@
#include <fcntl.h>
#include <limits.h>
#include <string.h>
#include <spawn.h>
#define MAX_REDIRECTS 128
@ -103,9 +104,29 @@ int __xstat(int ver, const char * path, struct stat * st)
return __xstat_real(ver, rewrite(path, buf), st);
}
int __xstat64(int ver, const char * path, struct stat64 * st)
{
int (*__xstat64_real) (int ver, const char *, struct stat64 *) = dlsym(RTLD_NEXT, "__xstat64");
char buf[PATH_MAX];
return __xstat64_real(ver, rewrite(path, buf), st);
}
int * access(const char * path, int mode)
{
int * (*access_real) (const char *, int mode) = dlsym(RTLD_NEXT, "access");
char buf[PATH_MAX];
return access_real(rewrite(path, buf), mode);
}
int posix_spawn(pid_t * pid, const char * path,
const posix_spawn_file_actions_t * file_actions,
const posix_spawnattr_t * attrp,
char * const argv[], char * const envp[])
{
int (*posix_spawn_real) (pid_t *, const char *,
const posix_spawn_file_actions_t *,
const posix_spawnattr_t *,
char * const argv[], char * const envp[]) = dlsym(RTLD_NEXT, "posix_spawn");
char buf[PATH_MAX];
return posix_spawn_real(pid, rewrite(path, buf), file_actions, attrp, argv, envp);
}

View file

@ -1,5 +1,3 @@
#! /bin/sh
source $stdenv/setup
set -euo pipefail

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation {
phases = "unpackPhase installPhase";
installPhase = ''
${./fetch-cargo-deps} . "$out"
bash ${./fetch-cargo-deps} . "$out"
'';
outputHashAlgo = "sha256";

View file

@ -1837,6 +1837,7 @@ rec {
"bzip2"
"tar"
"grep"
"mawk"
"sed"
"findutils"
"g++"

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl, perl, bdftopcf, mkfontdir, mkfontscale }:
stdenv.mkDerivation rec {
name = "terminus-font-4.39";
name = "terminus-font-4.40";
src = fetchurl {
url = "mirror://sourceforge/project/terminus-font/${name}/${name}.tar.gz";
sha256 = "1gzmn7zakvy6yrvmswyjfklnsvqrjm0imhq8rjws8rdkhqwkh21i";
sha256 = "0487cyx5h1f0crbny5sg73a22gmym5vk1i7646gy7hgiscj2rxb4";
};
buildInputs = [ perl bdftopcf mkfontdir mkfontscale ];

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
name = "ubuntu-font-family-0.80";
name = "ubuntu-font-family-0.83";
buildInputs = [unzip];
src = fetchurl {
url = "http://font.ubuntu.com/download/${name}.zip";
sha256 = "0k4f548riq23gmw4zhn30qqkcpaj4g2ab5rbc3lflfxwkc4p0w8h";
sha256 = "0hjvq2x758dx0sfwqhzflns0ns035qm7h6ygskbx1svzg517sva5";
};
installPhase =

View file

@ -0,0 +1,29 @@
{ stdenv, fetchzip }:
stdenv.mkDerivation rec {
version = "3.2.2";
package-name = "elementary-icon-theme";
name = "${package-name}-${version}";
src = fetchzip {
url = "https://launchpad.net/elementaryicons/3.x/${version}/+download/elementary-icon-theme-${version}.tar.xz";
sha256 = "0b6sgvkzc5h9zm3la6f0ngs9pfjrsj318qcynxd3yydb50cd3hnf";
};
dontBuild = true;
installPhase = ''
install -dm 755 $out/share/icons
cp -dr --no-preserve='ownership' . $out/share/icons/Elementary/
'';
meta = with stdenv.lib; {
description = "Elementary icon theme";
homepage = "https://launchpad.net/elementaryicons";
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ simonvandel ];
};
}

View file

@ -1,11 +1,11 @@
{ stdenv, fetchFromGitHub, unzip }:
stdenv.mkDerivation rec {
version = "4727aa5";
version = "129da4d8036c9ea52ba8b94cdfa0148e4c2cff96";
package-name = "numix-icon-theme-circle";
name = "${package-name}-20151005";
name = "${package-name}-20151014";
buildInputs = [ unzip ];
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
owner = "numixproject";
repo = package-name;
rev = version;
sha256 = "0khps3il0wyjizzzv8rxznhywp3nqd1hj1zhdvyqzgql3gffylqc";
sha256 = "1505j63qh96hy04x3ywc6kspavzgjd848cgdkda23kjdbx0fpij4";
};
dontBuild = true;

View file

@ -1,17 +1,17 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "ae57260";
version = "0f7641b048a07eb614662c502eb209dad5eb6d97";
package-name = "numix-icon-theme";
name = "${package-name}-20150910";
name = "${package-name}-20151023";
src = fetchFromGitHub {
owner = "numixproject";
repo = package-name;
rev = version;
sha256 = "147a8d9wkhrq4f4154gb0l16rj849lsccxl8npicr6zixvsjgqlq";
sha256 = "16kbasgbb5mgiyl9b240215kivdnl8ynpkxhp5gairba9l4jpbih";
};
dontBuild = true;

View file

@ -8,17 +8,17 @@ let
# Annoyingly, these files are updated without a change in URL. This means that
# builds will start failing every month or so, until the hashes are updated.
version = "2015-10-19";
version = "2015-10-27";
in
stdenv.mkDerivation {
name = "geolite-legacy-${version}";
srcGeoIP = fetchDB
"GeoLiteCountry/GeoIP.dat.gz" "GeoIP.dat.gz"
"066j1mnpzfyd5cp0knvg13v01fdvgv32ggvab0xwyh1pa0c14dv4";
"1w0dh8p0zjbrkzm156wy77im4v0yp9d44gygrc10majnyhzkjlff";
srcGeoIPv6 = fetchDB
"GeoIPv6.dat.gz" "GeoIPv6.dat.gz"
"1q5vgk522wq5ybhbw86zk8njgg611kc46a22vkrp08vklbni3akz";
"0bs3p76lwlfbawqn0wj2fnnd52bdmkc35rjkpb7wy6sz6x33p79r";
srcGeoLiteCity = fetchDB
"GeoLiteCity.dat.xz" "GeoIPCity.dat.xz"
"09w7vs13xzji574bykggh8cph992zc4yajvhjh4qrvwrxjmjilw3";

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