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) * [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 (How to write packages for Nix)](https://nixos.org/nixpkgs/manual/)
* [Manual (NixOS)](https://nixos.org/nixos/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 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 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) * [Continuous package builds for 15.09 release](https://hydra.nixos.org/jobset/nixos/release-15.09)

View file

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

View file

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

View file

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

View file

@ -110,7 +110,7 @@ pkgs.vmTools.runInLinuxVM (
umount /mnt/proc /mnt/dev /mnt/sys umount /mnt/proc /mnt/dev /mnt/sys
umount /mnt umount /mnt
# Do an fsck to make sure resize2fs works. # Do a fsck to make sure resize2fs works.
fsck.${fsType} -f -y $rootDisk 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 utils;
with lib; 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 ###### interface
@ -26,58 +104,7 @@ with lib;
recommended. recommended.
''; '';
type = types.listOf types.optionSet; type = types.listOf (types.submodule swapCfg);
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}";
};
};
}; };
}; };
@ -95,27 +122,37 @@ with lib;
createSwapDevice = sw: createSwapDevice = sw:
assert sw.device != ""; assert sw.device != "";
let device' = escapeSystemdPath sw.device; in let realDevice' = escapeSystemdPath sw.realDevice;
nameValuePair "mkswap-${escapeSystemdPath sw.device}" in nameValuePair "mkswap-${sw.deviceName}"
{ description = "Initialisation of Swapfile ${sw.device}"; { description = "Initialisation of swap device ${sw.device}";
wantedBy = [ "${device'}.swap" ]; wantedBy = [ "${realDevice'}.swap" ];
before = [ "${device'}.swap" ]; before = [ "${realDevice'}.swap" ];
path = [ pkgs.utillinux ]; path = [ pkgs.utillinux ] ++ optional sw.randomEncryption pkgs.cryptsetup;
script = script =
'' ''
if [ ! -e "${sw.device}" ]; then ${optionalString (sw.size != null) ''
fallocate -l ${toString sw.size}M "${sw.device}" || if [ ! -e "${sw.device}" ]; then
dd if=/dev/zero of="${sw.device}" bs=1M count=${toString sw.size} fallocate -l ${toString sw.size}M "${sw.device}" ||
chmod 0600 ${sw.device} dd if=/dev/zero of="${sw.device}" bs=1M count=${toString sw.size}
mkswap ${sw.device} chmod 0600 ${sw.device}
fi ${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.RequiresMountsFor = [ "${dirOf sw.device}" ];
unitConfig.DefaultDependencies = false; # needed to prevent a cycle unitConfig.DefaultDependencies = false; # needed to prevent a cycle
serviceConfig.Type = "oneshot"; 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 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 = requiredPackages =
[ config.nix.package [ config.nix.package
pkgs.acl pkgs.acl
@ -34,7 +28,6 @@ let
pkgs.xz pkgs.xz
pkgs.less pkgs.less
pkgs.libcap pkgs.libcap
pkgs.man
pkgs.nano pkgs.nano
pkgs.ncurses pkgs.ncurses
pkgs.netcat pkgs.netcat
@ -47,7 +40,6 @@ let
pkgs.time pkgs.time
pkgs.texinfoInteractive pkgs.texinfoInteractive
pkgs.utillinux pkgs.utillinux
extraManpages
]; ];
in in
@ -78,8 +70,16 @@ in
# to work. # to work.
default = []; default = [];
example = ["/"]; 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 = { system = {
@ -103,9 +103,7 @@ in
[ "/bin" [ "/bin"
"/etc/xdg" "/etc/xdg"
"/info" "/info"
"/lib" # FIXME: remove "/lib" # FIXME: remove and update debug-info.nix
#"/lib/debug/.build-id" # enables GDB to find separated debug info
"/man"
"/sbin" "/sbin"
"/share/applications" "/share/applications"
"/share/desktop-directories" "/share/desktop-directories"
@ -113,7 +111,6 @@ in
"/share/emacs" "/share/emacs"
"/share/icons" "/share/icons"
"/share/info" "/share/info"
"/share/man"
"/share/menus" "/share/menus"
"/share/mime" "/share/mime"
"/share/nano" "/share/nano"
@ -126,7 +123,7 @@ in
system.path = pkgs.buildEnv { system.path = pkgs.buildEnv {
name = "system-path"; name = "system-path";
paths = config.environment.systemPackages; paths = config.environment.systemPackages;
inherit (config.environment) pathsToLink; inherit (config.environment) pathsToLink outputsToLink;
ignoreCollisions = true; ignoreCollisions = true;
# !!! Hacky, should modularise. # !!! Hacky, should modularise.
postBuild = postBuild =

View file

@ -22,13 +22,9 @@ in
boot.loader.grub.enable = false; boot.loader.grub.enable = false;
boot.loader.generic-extlinux-compatible.enable = true; boot.loader.generic-extlinux-compatible.enable = true;
# FIXME: change this to linuxPackages_latest once v4.2 is out boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackages_testing;
boot.kernelParams = ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"]; 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 # FIXME: this probably should be in installation-device.nix
users.extraUsers.root.initialHashedPassword = ""; users.extraUsers.root.initialHashedPassword = "";

View file

@ -27,9 +27,6 @@ in
boot.kernelPackages = pkgs.linuxPackages_rpi; 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 # FIXME: this probably should be in installation-device.nix
users.extraUsers.root.initialHashedPassword = ""; users.extraUsers.root.initialHashedPassword = "";

View file

@ -235,7 +235,7 @@ fi
# default and/or activate it now. # default and/or activate it now.
if [ "$action" = switch -o "$action" = boot -o "$action" = test -o "$action" = dry-activate ]; then if [ "$action" = switch -o "$action" = boot -o "$action" = test -o "$action" = dry-activate ]; then
if ! $pathToConfig/bin/switch-to-configuration "$action"; 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 exit 1
fi fi
fi fi

View file

@ -1,7 +1,8 @@
[ [
./config/debug-info.nix
./config/fonts/corefonts.nix ./config/fonts/corefonts.nix
./config/fonts/fontconfig.nix
./config/fonts/fontconfig-ultimate.nix ./config/fonts/fontconfig-ultimate.nix
./config/fonts/fontconfig.nix
./config/fonts/fontdir.nix ./config/fonts/fontdir.nix
./config/fonts/fonts.nix ./config/fonts/fonts.nix
./config/fonts/ghostscript.nix ./config/fonts/ghostscript.nix
@ -22,9 +23,9 @@
./config/system-environment.nix ./config/system-environment.nix
./config/system-path.nix ./config/system-path.nix
./config/timezone.nix ./config/timezone.nix
./config/vpnc.nix
./config/unix-odbc-drivers.nix ./config/unix-odbc-drivers.nix
./config/users-groups.nix ./config/users-groups.nix
./config/vpnc.nix
./config/zram.nix ./config/zram.nix
./hardware/all-firmware.nix ./hardware/all-firmware.nix
./hardware/cpu/amd-microcode.nix ./hardware/cpu/amd-microcode.nix
@ -61,9 +62,11 @@
./programs/command-not-found/command-not-found.nix ./programs/command-not-found/command-not-found.nix
./programs/dconf.nix ./programs/dconf.nix
./programs/environment.nix ./programs/environment.nix
./programs/freetds.nix
./programs/ibus.nix ./programs/ibus.nix
./programs/kbdlight.nix ./programs/kbdlight.nix
./programs/light.nix ./programs/light.nix
./programs/man.nix
./programs/nano.nix ./programs/nano.nix
./programs/screen.nix ./programs/screen.nix
./programs/shadow.nix ./programs/shadow.nix
@ -73,7 +76,6 @@
./programs/uim.nix ./programs/uim.nix
./programs/venus.nix ./programs/venus.nix
./programs/wvdial.nix ./programs/wvdial.nix
./programs/freetds.nix
./programs/xfs_quota.nix ./programs/xfs_quota.nix
./programs/zsh/zsh.nix ./programs/zsh/zsh.nix
./rename.nix ./rename.nix
@ -264,6 +266,7 @@
./services/networking/atftpd.nix ./services/networking/atftpd.nix
./services/networking/avahi-daemon.nix ./services/networking/avahi-daemon.nix
./services/networking/bind.nix ./services/networking/bind.nix
./services/networking/autossh.nix
./services/networking/bird.nix ./services/networking/bird.nix
./services/networking/bitlbee.nix ./services/networking/bitlbee.nix
./services/networking/btsync.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. # For non-root operation.
initdb initdb
fi fi
# See postStart!
touch "${cfg.dataDir}/.first_startup"
fi fi
ln -sfn "${configFile}" "${cfg.dataDir}/postgresql.conf" ln -sfn "${configFile}" "${cfg.dataDir}/postgresql.conf"

View file

@ -92,7 +92,9 @@ in
system.build.manual = manual; 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}"]; boot.extraTTYs = mkIf cfg.showManual ["tty${cfg.ttyNumber}"];

View file

@ -29,6 +29,7 @@ in
wantedBy = [ "graphical.target" ]; wantedBy = [ "graphical.target" ];
after = [ "NetworkManager-wait-online.service" "network.target" ]; after = [ "NetworkManager-wait-online.service" "network.target" ];
preStart = "mkdir -pv /var/tmp/teamviewer10/{logs,config}";
serviceConfig = { serviceConfig = {
Type = "forking"; 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) { polkit.addRule(function(action, subject) {
if ( if (
subject.isInGroup("networkmanager") subject.isInGroup("networkmanager")
&& subject.active
&& (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && (action.id.indexOf("org.freedesktop.NetworkManager.") == 0
|| action.id.indexOf("org.freedesktop.ModemManager") == 0 || action.id.indexOf("org.freedesktop.ModemManager") == 0
)) ))
@ -207,10 +206,16 @@ in {
environment.systemPackages = cfg.packages; environment.systemPackages = cfg.packages;
users.extraGroups = singleton { users.extraGroups = [{
name = "networkmanager"; name = "networkmanager";
gid = config.ids.gids.networkmanager; gid = config.ids.gids.networkmanager;
}; }
{
name = "nm-openvpn";
}];
users.extraUsers = [{
name = "nm-openvpn";
}];
systemd.packages = cfg.packages; systemd.packages = cfg.packages;

View file

@ -35,6 +35,8 @@ let
SessionCommand=${dmcfg.session.script} SessionCommand=${dmcfg.session.script}
SessionDir=${dmcfg.session.desktops} SessionDir=${dmcfg.session.desktops}
XauthPath=${pkgs.xorg.xauth}/bin/xauth XauthPath=${pkgs.xorg.xauth}/bin/xauth
${cfg.extraConfig}
''; '';
in 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 { theme = mkOption {
type = types.str; type = types.str;
default = "maui"; default = "maui";

View file

@ -206,7 +206,7 @@ let
preLVMCommands postDeviceCommands postMountCommands kernelModules; preLVMCommands postDeviceCommands postMountCommands kernelModules;
resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}") 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 = fsInfo =
let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType fs.options ]; 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. # Swap devices.
${flip concatMapStrings config.swapDevices (sw: ${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, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
{ {
imports = [ ../profiles/qemu-guest.nix ../profiles/headless.nix ./ec2-data.nix ]; system.build.novaImage = import ../../lib/make-disk-image.nix {
inherit pkgs lib config;
system.build.novaImage = partitioned = true;
pkgs.vmTools.runInLinuxVM ( diskSize = 1 * 1024;
pkgs.runCommand "nova-image" configFile = pkgs.writeText "configuration.nix"
{ preVM = ''
'' {
mkdir $out imports = [ <nixpkgs/nixos/modules/virtualisation/nova-image.nix> ];
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 ];
} }
'' '';
# 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. imports = [
${pkgs.e2fsprogs}/sbin/mkfs.ext3 -L nixos /dev/vda1 ../profiles/qemu-guest.nix
${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1 ../profiles/headless.nix
mkdir /mnt ./ec2-data.nix
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
''
);
fileSystems."/".device = "/dev/disk/by-label/nixos"; fileSystems."/".device = "/dev/disk/by-label/nixos";
boot.kernelParams = [ "console=ttyS0" ]; boot.kernelParams = [ "console=ttyS0" ];
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/vda"; boot.loader.grub.device = "/dev/vda";
boot.loader.grub.timeout = 0; 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. # Put /tmp and /var on /ephemeral0, which has a lot more space.
# Unfortunately we can't do this with the `fileSystems' option # Unfortunately we can't do this with the `fileSystems' option
# because it has no support for creating the source of a bind # because it has no support for creating the source of a bind
# mount. Also, "move" /nix to /ephemeral0 by layering a unionfs-fuse # 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. # mount on top of it so we have a lot more space for Nix operations.
/* /*
boot.initrd.postMountCommands = boot.initrd.postMountCommands =
'' ''
@ -106,10 +61,6 @@ with lib;
''; '';
boot.initrd.supportedFilesystems = [ "unionfs-fuse" ]; 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 }: { fetchurl, stdenv }:
let version = "0.9"; stdenv.mkDerivation rec {
in name = "cd-discid-${version}";
stdenv.mkDerivation { version = "1.4";
name = "cd-discid-${version}";
src = fetchurl {
url = "mirror://debian/pool/main/c/cd-discid/cd-discid_${version}.orig.tar.gz";
sha256 = "1fx2ky1pb07l1r0bldpw16wdsfzw7a0093ib9v66kmilwy2sq5s9";
};
patches = [ ./install.patch ]; src = fetchurl {
url = "http://linukz.org/download/${name}.tar.gz";
sha256 = "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz";
};
configurePhase = '' installFlags = "PREFIX=$(out)";
sed -i "s|^[[:blank:]]*prefix *=.*$|prefix = $out|g ;
s|^[[:blank:]]*INSTALL *=.*$|INSTALL = install -c|g" \ meta = with stdenv.lib; {
"Makefile"; 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 { stdenv.mkDerivation {
name = "csound-6.03.2"; name = "csound-6.04";
enableParallelBuilding = true; enableParallelBuilding = true;
src = fetchurl { src = fetchurl {
url = mirror://sourceforge/csound/Csound6.03.2.tar.gz; url = mirror://sourceforge/csound/Csound6.04.tar.gz;
sha256 = "0w6ij57dbfjljpf05bb9r91jphwaq1v63rh0713vl2n11d73dy7m"; sha256 = "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g";
}; };
buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ]; 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 # http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/822346
patches = [ ./socket.patch ./gcc-47.patch ]; patches = [ ./socket.patch ./gcc-47.patch ];
buildInputs = [ alsaLib gtk libjack2 libuuid libxml2 makeWrapper buildInputs = [ alsaLib gtk libjack2 libxml2 makeWrapper
pkgconfig readline ]; pkgconfig readline ];
propagatedBuildInputs = [ libuuid ];
postInstall = '' postInstall = ''
for i in lash_control lash_panel 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, fetchurl, qt4, alsaLib, libjack2, dbus }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.3.12"; version = "0.4.0";
name = "qjackctl-${version}"; name = "qjackctl-${version}";
# some dependencies such as killall have to be installed additionally # some dependencies such as killall have to be installed additionally
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qjackctl/${name}.tar.gz"; url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
sha256 = "14yvnc4k3hwsjflg8b2d04bc63pdl0gyqjc7vl6rdn29nbr23zwc"; sha256 = "0nj8c8vy00524hbjqwsqkliblcf9j7h46adk6v5np645pp2iqrav";
}; };
buildInputs = [ qt4 alsaLib libjack2 dbus ]; buildInputs = [ qt4 alsaLib libjack2 dbus ];
configureFlags = "--enable-jack-version"; configureFlags = "--enable-jack-version";
meta = { meta = with stdenv.lib; {
description = "A Qt application to control the JACK sound server daemon"; description = "A Qt application to control the JACK sound server daemon";
homepage = http://qjackctl.sourceforge.net/; homepage = http://qjackctl.sourceforge.net/;
license = "GPL"; license = licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux; maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
}; };
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,10 +1,10 @@
{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, Carbon, Foundation, { stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
libobjc, Cocoa, WebKit, Quartz, ImageCaptureCore, OSAKit , Carbon, Cocoa, ImageCaptureCore, OSAKit, Quartz, WebKit
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
emacsName = "emacs-24.5"; emacsName = "emacs-24.5";
name = "${emacsName}-mac-5.11"; name = "${emacsName}-mac-5.12";
#builder = ./builder.sh; #builder = ./builder.sh;
@ -15,18 +15,17 @@ stdenv.mkDerivation rec {
macportSrc = fetchurl { macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz"; 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; enableParallelBuilding = true;
buildInputs = [ buildInputs = [
ncurses pkgconfig texinfo libxml2 gnutls Carbon Cocoa Foundation libobjc WebKit Quartz ncurses pkgconfig texinfo libxml2 gnutls
ImageCaptureCore OSAKit ];
propagatedBuildInputs = [
Carbon Cocoa ImageCaptureCore OSAKit Quartz WebKit
]; ];
postUnpack = '' postUnpack = ''
@ -36,6 +35,7 @@ stdenv.mkDerivation rec {
''; '';
preConfigure = '' preConfigure = ''
substituteInPlace lisp/international/mule-cmds.el --replace /usr $TMPDIR
substituteInPlace Makefile.in --replace "/bin/pwd" "pwd" substituteInPlace Makefile.in --replace "/bin/pwd" "pwd"
substituteInPlace lib-src/Makefile.in --replace "/bin/pwd" "pwd" substituteInPlace lib-src/Makefile.in --replace "/bin/pwd" "pwd"
@ -102,7 +102,7 @@ stdenv.mkDerivation rec {
separately. separately.
This is "Mac port" addition to GNU Emacs 24. This provides a native 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 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 Mac OS X 10.4 and later. So if it is good enough for you, then you
don't need to try this. don't need to try this.

View file

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

View file

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

View file

@ -6,6 +6,7 @@
, withPython3 ? true, python3Packages, extraPython3Packages ? [] , withPython3 ? true, python3Packages, extraPython3Packages ? []
, withJemalloc ? true, jemalloc , withJemalloc ? true, jemalloc
, withPyGUI ? false
, vimAlias ? false , vimAlias ? false
, configure ? null , configure ? null
}: }:
@ -45,7 +46,11 @@ let
}; };
pythonEnv = pythonPackages.python.buildEnv.override { pythonEnv = pythonPackages.python.buildEnv.override {
extraLibs = [ pythonPackages.neovim ] ++ extraPythonPackages; extraLibs = (
if withPyGUI
then [ pythonPackages.neovim_gui ]
else [ pythonPackages.neovim ]
) ++ extraPythonPackages;
ignoreCollisions = true; ignoreCollisions = true;
}; };
@ -103,6 +108,9 @@ let
$out/bin/nvim $out/bin/nvim
'' + optionalString withPython '' '' + optionalString withPython ''
ln -s ${pythonEnv}/bin/python $out/bin/nvim-python ln -s ${pythonEnv}/bin/python $out/bin/nvim-python
'' + optionalString withPyGUI ''
makeWrapper "${pythonEnv}/bin/pynvim" "$out/bin/pynvim" \
--prefix PATH : "$out/bin"
'' + optionalString withPython3 '' '' + optionalString withPython3 ''
ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3 ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
'' + optionalString (withPython || withPython3) '' '' + 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 let
version = "0.98.110"; version = "0.98.110";
@ -8,7 +8,7 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "RStudio-${version}"; 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 { src = fetchurl {
url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz"; url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz";
@ -61,6 +61,10 @@ stdenv.mkDerivation {
cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" ]; cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" ];
postInstall = ''
wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin
'';
meta = with stdenv.lib; meta = with stdenv.lib;
{ description = "Set of integrated tools for the R language"; { description = "Set of integrated tools for the R language";
homepage = http://www.rstudio.com/; 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 stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
assert gksuSupport -> gksu != null;
let let
build = "3083"; build = "3083";
libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk cairo pango]; 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 in let
# package with just the binaries # package with just the binaries
sublime = stdenv.mkDerivation { sublime = stdenv.mkDerivation {
@ -35,6 +40,9 @@ in let
--set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \ --set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
$i $i
done 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 = '' installPhase = ''
@ -44,6 +52,10 @@ in let
mkdir -p $out mkdir -p $out
cp -prvd * $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 # 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 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; { meta = with stdenv.lib; {
description = "Sophisticated text editor for code, markup and prose"; description = "Sophisticated text editor for code, markup and prose";
homepage = https://www.sublimetext.com/; homepage = https://www.sublimetext.com/;
maintainers = with maintainers; [ wmertens ]; maintainers = with maintainers; [ wmertens demin-dmitriy ];
license = licenses.unfree; license = licenses.unfree;
platforms = platforms.linux; platforms = platforms.linux;
}; };

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, ncurses, gettext, pkgconfig { stdenv, fetchFromGitHub, ncurses, gettext, pkgconfig
# apple frameworks # apple frameworks
, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private }: , Carbon, Cocoa }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vim-${version}"; name = "vim-${version}";
@ -14,16 +14,10 @@ stdenv.mkDerivation rec {
sha256 = "1m34s2hsc5lcish6gmvn2iwaz0k7jc3kg9q4nf30fj9inl7gaybs"; 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; enableParallelBuilding = true;
buildInputs = [ ncurses pkgconfig ] buildInputs = [ ncurses pkgconfig ]
++ stdenv.lib.optionals stdenv.isDarwin [ cf-private CoreData CoreServices Cocoa Foundation libobjc ]; ++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ];
nativeBuildInputs = [ gettext ]; nativeBuildInputs = [ gettext ];
configureFlags = [ configureFlags = [

View file

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

View file

@ -281,7 +281,7 @@ let
buildInputs = [ scope.canberra ]; buildInputs = [ scope.canberra ];
nativeBuildInputs = [ scope.pkgconfig ]; nativeBuildInputs = [ scope.pkgconfig ];
# cmake does not detect path to `ilmbase` # 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 # some components of this package have been replaced in other packages
meta = { priority = 10; }; meta = { priority = 10; };
}; };

View file

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

View file

@ -3,11 +3,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gphoto2-2.5.5"; name = "gphoto2-2.5.8";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
sha256 = "1d0lvp5gsrss72597wixhgh8prcw4g7izfg3zdzzsswjgnlsxsal"; sha256 = "0kgfql6c64ha1gahjdwlqhmkslnfywmc2fkys4c5682zv4awvax9";
}; };
nativeBuildInputs = [ pkgconfig gettext ]; 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 }: { stdenv, fetchurl, pkgs, pythonPackages }:
pythonPackages.buildPythonPackage rec { pythonPackages.buildPythonPackage rec {
version = "0.6.0"; version = "0.6.3";
name = "khard-${version}"; name = "khard-${version}";
namePrefix = ""; namePrefix = "";
src = fetchurl { src = fetchurl {
url = "https://github.com/scheibler/khard/archive/v${version}.tar.gz"; url = "https://github.com/scheibler/khard/archive/v${version}.tar.gz";
sha256 = "1ag6p416iibwgvijjc8bwyrssxw3s3j559700xfgp10vj0nqk1hb"; sha256 = "1dn1v4ycgqbq8vknz1dy710asq8cizxmzaynn69xknwkpgda7fm9";
}; };
propagatedBuildInputs = with pythonPackages; [ 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 { stdenv.mkDerivation rec {
name = "librecad-1.0.4"; version = "2.0.8";
name = "librecad-${version}";
src = fetchurl { src = fetchurl {
url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.4; url = "https://github.com/LibreCAD/LibreCAD/tarball/${version}";
name = "librecad-1.0.4.tar.gz"; name = name + ".tar.gz";
sha256 = "00nzbijw7pn1zkj4256da501xcm6rkcvycpa79y6dr2p6c43yc6m"; sha256 = "110vn1rvzidg8k6ifz1zws2wsn4cd05xl5ha0hbff2ln7izy84zc";
}; };
patchPhase = '' patchPhase = ''
sed -i -e s,/bin/bash,`type -P bash`, scripts/postprocess-unix.sh 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 = '' installPhase = ''
mkdir -p $out/bin $out/share mkdir -p $out/bin $out/share
@ -22,11 +25,15 @@ stdenv.mkDerivation {
cp -R unix/resources $out/share/librecad cp -R unix/resources $out/share/librecad
''; '';
buildInputs = [ qt4 muparser which ]; buildInputs = [ qt4 muparser which boost ];
nativeBuildInputs = [ pkgconfig ];
enableParallelBuilding = true;
meta = { meta = {
description = "A 2D CAD package based upon Qt"; description = "A 2D CAD package based upon Qt";
homepage = http://librecad.org; homepage = http://librecad.org;
repositories.git = git://github.com/LibreCAD/LibreCAD.git;
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux; 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, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, wxGTK, desktop_file_utils, libSM, imagemagick }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.7.77"; version = "0.7.78";
name = "mediainfo-gui-${version}"; name = "mediainfo-gui-${version}";
src = fetchurl { src = fetchurl {
url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; 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 ]; 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, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, zlib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.7.77"; version = "0.7.78";
name = "mediainfo-${version}"; name = "mediainfo-${version}";
src = fetchurl { src = fetchurl {
url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "0n15z1jlj5s69pwk3mdv4r5c8ncfy7qjbdw5wfwynwypkl5382pn"; sha256 = "0458rxla3nhw9rbb2psak8qvxwr0drfhdl82k6wvb3a38xb0qij3";
}; };
buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo zlib ]; buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo zlib ];

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -13,9 +13,9 @@
sha256bin64 = "1m8vv3qh79an3719afz7n2ijqanf4cyxz2q4bzm512x52z5zipl7"; sha256bin64 = "1m8vv3qh79an3719afz7n2ijqanf4cyxz2q4bzm512x52z5zipl7";
}; };
stable = { stable = {
version = "46.0.2490.71"; version = "45.0.2454.101";
sha256 = "1dnwhwvn39x8lm1jszjn8y7vy478zy75gm696rr2dvk4kqj1hjyd"; sha256 = "1yw5xlgy5hd3iwcyf0sillq5p367fcpvp4mizpmv52cwmv52ss0v";
sha256bin32 = "1v1acg32dzmkydzy7sh6xjbzqar052iw8x8hql2yjz5kxznir4sf"; sha256bin32 = "1ll8lmkmx7v74naz1vcnrwk5ighh0skfcb66jkq4kgxrb5fjgwm5";
sha256bin64 = "15ladhxiym760mid5zq09vp73irzwlp31br9yqslzgv4460ma3np"; 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 let
# -> http://get.adobe.com/flashplayer/ # -> http://get.adobe.com/flashplayer/
version = "11.2.202.535"; version = "11.2.202.540";
src = src =
if stdenv.system == "x86_64-linux" then if stdenv.system == "x86_64-linux" then
@ -47,7 +47,7 @@ let
else rec { else rec {
inherit version; inherit version;
url = "http://fpdownload.adobe.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; 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 else if stdenv.system == "i686-linux" then
if debug then if debug then
@ -60,7 +60,7 @@ let
else rec { else rec {
inherit version; inherit version;
url = "http://fpdownload.adobe.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; 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"; else throw "Flash Player is not supported on this platform";

View file

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

View file

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

View file

@ -1,56 +1,67 @@
{ stdenv, fetchurl, ant, jdk }: { stdenv, fetchurl, fetchgit, ant, jdk, makeWrapper }:
let let
# The .gitmodules in freenet-official-20130413-eccc9b3198
# points to freenet-contrib-staging-ce3b7d5
freenet_ext = fetchurl { freenet_ext = fetchurl {
url = https://downloads.freenetproject.org/latest/freenet-ext.jar; url = https://downloads.freenetproject.org/latest/freenet-ext.jar;
sha1 = "507ab3f6ee91f47c187149136fb6d6e98f9a8c7f"; sha256 = "17ypljdvazgx2z6hhswny1lxfrknysz3x6igx8vl3xgdpvbb7wij";
}; };
bcprov = fetchurl { bcprov = fetchurl {
url = http://www.bouncycastle.org/download/bcprov-jdk15on-148.jar; url = https://downloads.freenetproject.org/latest/bcprov-jdk15on-152.jar;
sha256 = "12129q8rmqwlvj6z4j0gc3w0hq5ccrkf2gdlsggp3iws7cp7wjw0"; sha256 = "0wqpdcvcfh939fk8yr033ijzr1vjbp6ydlnv5ly8jiykwj0x3i0d";
}; };
seednodes = fetchurl {
url = https://downloads.freenetproject.org/alpha/opennet/seednodes.fref;
sha256 = "109zn9w8axdkjwhkkcm2s8dvib0mq0n8imjgs3r8hvi128cjsmg9";
};
version = "build01470";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "freenet-20130413-eccc9b3198"; name = "freenet-${version}";
src = fetchurl {
url = https://github.com/freenet/fred-official/tarball/eccc9b3198; src = fetchgit {
name = "freenet-official-eccc9b3198.tar.gz"; url = https://github.com/freenet/fred;
sha256 = "0x0s8gmb95770l7968r99sq0588vf0n1687ivc2hixar19cw620y"; rev = "refs/tags/${version}";
sha256 = "1b6e6fec2b9a729d4a25605fa142df9ea42e59b379ff665f580e32c6178c9746";
}; };
patchPhase = '' patchPhase = ''
cp ${freenet_ext} lib/freenet/freenet-ext.jar 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 '/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"; buildPhase = "ant package-only";
freenetWrapper = ./freenetWrapper;
installPhase = '' installPhase = ''
mkdir -p $out/share/freenet $out/bin 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 lib/freenet/freenet-ext.jar $out/share/freenet
cp dist/freenet.jar $out/share/freenet cp dist/freenet.jar $out/share/freenet
cat <<EOF > $out/bin/freenet cat <<EOF > $out/bin/freenet.wrapped
#!${stdenv.shell} #!${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 -Xmx1024M freenet.node.NodeStarter
EOF 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 = { meta = {
description = "Decentralised and censorship-resistant network"; description = "Decentralised and censorship-resistant network";
homepage = https://freenetproject.org/; homepage = https://freenetproject.org/;
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.doublec ];
platforms = with stdenv.lib.platforms; linux; 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, { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes,
wineUnstable, makeWrapper, libXau , bash, patchelf, config, wineUnstable, makeWrapper, libXau , patchelf, config }:
acceptLicense ? false }:
with stdenv.lib; with stdenv.lib;
@ -30,22 +29,23 @@ stdenv.mkDerivation {
rm -R $out/share/teamviewer/tv_bin/wine/{bin,lib,share} rm -R $out/share/teamviewer/tv_bin/wine/{bin,lib,share}
cat > $out/bin/teamviewer << EOF cat > $out/bin/teamviewer << EOF
#!${bash}/bin/sh #!${stdenv.shell}
export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
export PATH=${topath}\''${PATH:+:\$PATH} export PATH=${topath}\''${PATH:+:\$PATH}
$out/share/teamviewer/tv_bin/script/teamviewer "\$@" $out/share/teamviewer/tv_bin/script/teamviewer "\$@"
EOF EOF
chmod +x $out/bin/teamviewer 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/ ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin/
${optionalString acceptLicense " rm -rf $out/share/teamviewer/logfiles $out/share/teamviewer/config
cat > $out/share/teamviewer/config/global.conf << EOF ln -sv /var/tmp/teamviewer10/logs/ $out/share/teamviewer/logfiles
[int32] EulaAccepted = 1 ln -sv /var/tmp/teamviewer10/config/ $out/share/teamviewer/config
[int32] EulaAcceptedRevision = 6 '';
EOF
"} # 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 = { meta = {

View file

@ -4,11 +4,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gnumeric-1.12.23"; name = "gnumeric-1.12.24";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz"; url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
sha256 = "0lcmw4jrfg9y2fhx13xw8w85vi7bcmgyn2sdjxi21xkh3szlqiq0"; sha256 = "0lcm8k0jb8rd5y4ii803f21nv8rx6gc3mmdlrj5h0rkkn9qm57f5";
}; };
configureFlags = "--disable-component"; 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 { }; tig = callPackage ./tig { };
transcrypt = callPackage ./transcrypt { };
hub = import ./hub { hub = import ./hub {
inherit go; inherit go;
inherit stdenv fetchgit; 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; assert faacSupport -> faac != null;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "avidemux-2.5.6"; name = "avidemux-2.6.9";
src = fetchurl { src = fetchurl {
url = mirror://sourceforge/avidemux/avidemux_2.5.6.tar.gz; url = mirror://sourceforge/avidemux/avidemux_2.6.9.tar.gz;
sha256 = "12wvxz0n2g85f079d8mdkkp2zm279d34m9v7qgcqndh48cn7znnn"; sha256 = "01jhgricd7m9hdhr22yrdjfrnl41zccm2yxw7gfb02mwcswvswy0";
}; };
buildInputs = [ cmake pkgconfig libxml2 qt4 gtk gettext SDL libXv buildInputs = [ cmake pkgconfig libxml2 qt4 gtk gettext SDL libXv
@ -40,7 +40,7 @@ stdenv.mkDerivation {
meta = { meta = {
homepage = http://fixounet.free.fr/avidemux/; homepage = http://fixounet.free.fr/avidemux/;
description = "Free video editor designed for simple video editing tasks"; 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; platforms = with stdenv.lib.platforms; linux;
}; };
} }

View file

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

View file

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

View file

@ -1,11 +1,11 @@
{ stdenv, fetchbzr, python, pyqt4, sip, rtmpdump, makeWrapper }: { stdenv, fetchbzr, python, pyqt4, sip, rtmpdump, makeWrapper }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "qarte-2.3.0"; name = "qarte-2.4.0";
src = fetchbzr { src = fetchbzr {
url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk; url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk;
rev = "148"; rev = "150";
sha256 = "0bp2qbl2g3dygmb31lwlarki9lybkb9zxixda4lwrlz628w93fxh"; sha256 = "0fj11jx9l5qi968c906rrksdic7w4yj414m47k6axlb4v6ghdnar";
}; };
buildInputs = [ makeWrapper ]; 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 }: , fetchurl, fetchFromGitHub }:
let let
coreosImageRelease = "738.1.0"; coreosImageRelease = "794.1.0";
coreosImageSystemdVersion = "222";
stage1Flavour = "coreos";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "0.8.0"; version = "0.10.0";
name = "rkt-${version}"; name = "rkt-${version}";
BUILDDIR="build-${name}";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "coreos"; owner = "coreos";
repo = "rkt"; 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"; 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 ]; buildInputs = [ autoconf automake go file git wget gnupg1 squashfsTools cpio ];
preConfigure = '' preConfigure = ''
./autogen.sh ./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 = '' preBuild = ''
# hack to avoid downloading image during build, this has been export BUILDDIR
# 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
''; '';
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp -Rv build-rkt-${version}/bin/* $out/bin cp -Rv $BUILDDIR/bin/* $out/bin
''; '';
meta = with lib; { meta = with lib; {
description = "A fast, composable, and secure App Container runtime for Linux"; description = "A fast, composable, and secure App Container runtime for Linux";
homepage = http://rkt.io; homepage = https://github.com/coreos/rkt;
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ ragge ]; maintainers = with maintainers; [ ragge steveej ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
}; };
} }

View file

@ -19,7 +19,7 @@ buildPythonPackage rec {
propagatedBuildInputs = propagatedBuildInputs =
[ eventlet greenlet gflags netaddr sqlalchemy carrot routes [ 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 distutils_extra simplejson readline glance cheetah lockfile httplib2
urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3 urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3
libvirt libxml2Python ipaddr vte libosinfo libvirt libxml2Python ipaddr vte libosinfo

View file

@ -14,15 +14,15 @@ stdenv.mkDerivation rec {
pythonPath = with pythonPackages; pythonPath = with pythonPackages;
[ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes [ 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 distutils_extra simplejson readline glance cheetah lockfile httplib2
# !!! should libvirt be a build-time dependency? Note that # !!! 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 libvirt libxml2Python urlgrabber
]; ];
buildInputs = buildInputs =
[ pythonPackages.python [ pythonPackages.python
pythonPackages.wrapPython pythonPackages.wrapPython
pythonPackages.mox pythonPackages.mox
intltool 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 # a fork of the buildEnv in the Nix distribution. Most changes should
# eventually be merged back into the Nix distribution. # eventually be merged back into the Nix distribution.
{ perl, runCommand }: { perl, runCommand, lib }:
{ name { name
@ -21,6 +21,10 @@
# directories in the list is not symlinked. # directories in the list is not symlinked.
pathsToLink ? ["/"] 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". , # Root the result in directory "$out${extraPrefix}", e.g. "/share".
extraPrefix ? "" extraPrefix ? ""
@ -34,14 +38,16 @@
}: }:
runCommand name runCommand name
rec { inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs; { inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs;
pkgs = builtins.toJSON (map (drv: { pkgs = builtins.toJSON (map (drv: {
paths = [ drv ]; # FIXME: handle multiple outputs paths =
priority = drv.meta.priority or 5; [ drv ]
}) paths); ++ lib.concatMap (outputName: lib.optional (drv.${outputName}.outPath or null != null) drv.${outputName}) outputsToLink;
preferLocalBuild = true; priority = drv.meta.priority or 5;
# XXX: The size is somewhat arbitrary }) paths);
passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else null; 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} ${perl}/bin/perl -w ${./builder.pl}

View file

@ -8,6 +8,7 @@
#include <fcntl.h> #include <fcntl.h>
#include <limits.h> #include <limits.h>
#include <string.h> #include <string.h>
#include <spawn.h>
#define MAX_REDIRECTS 128 #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); 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(const char * path, int mode)
{ {
int * (*access_real) (const char *, int mode) = dlsym(RTLD_NEXT, "access"); int * (*access_real) (const char *, int mode) = dlsym(RTLD_NEXT, "access");
char buf[PATH_MAX]; char buf[PATH_MAX];
return access_real(rewrite(path, buf), mode); 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 source $stdenv/setup
set -euo pipefail set -euo pipefail

View file

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

View file

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

View file

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

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, unzip }: { stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ubuntu-font-family-0.80"; name = "ubuntu-font-family-0.83";
buildInputs = [unzip]; buildInputs = [unzip];
src = fetchurl { src = fetchurl {
url = "http://font.ubuntu.com/download/${name}.zip"; url = "http://font.ubuntu.com/download/${name}.zip";
sha256 = "0k4f548riq23gmw4zhn30qqkcpaj4g2ab5rbc3lflfxwkc4p0w8h"; sha256 = "0hjvq2x758dx0sfwqhzflns0ns035qm7h6ygskbx1svzg517sva5";
}; };
installPhase = 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, fetchFromGitHub, unzip }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "4727aa5"; version = "129da4d8036c9ea52ba8b94cdfa0148e4c2cff96";
package-name = "numix-icon-theme-circle"; package-name = "numix-icon-theme-circle";
name = "${package-name}-20151005"; name = "${package-name}-20151014";
buildInputs = [ unzip ]; buildInputs = [ unzip ];
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
owner = "numixproject"; owner = "numixproject";
repo = package-name; repo = package-name;
rev = version; rev = version;
sha256 = "0khps3il0wyjizzzv8rxznhywp3nqd1hj1zhdvyqzgql3gffylqc"; sha256 = "1505j63qh96hy04x3ywc6kspavzgjd848cgdkda23kjdbx0fpij4";
}; };
dontBuild = true; dontBuild = true;

View file

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

View file

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

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