Merge branch 'master' into staging

This commit is contained in:
Luca Bruno 2014-11-10 10:03:52 +01:00
commit 6af0d6974f
96 changed files with 1773 additions and 516 deletions

View File

@ -10,9 +10,7 @@
<listitem><para><command>$ git clone git://github.com/NixOS/nixpkgs.git</command></para></listitem> <listitem><para><command>$ git clone git://github.com/NixOS/nixpkgs.git</command></para></listitem>
<listitem><para><command>$ cd nixpkgs/pkgs/top-level</command></para></listitem> <listitem><para><command>$ nix-build -A manual nixpkgs/pkgs/top-level/release.nix</command></para></listitem>
<listitem><para><command>$ nix-build -A tarball release.nix</command></para></listitem>
<listitem><para>Inside the built derivation you shall see <literal>manual/index.html</literal> file.</para></listitem> <listitem><para>Inside the built derivation you shall see <literal>manual/index.html</literal> file.</para></listitem>

View File

@ -116,6 +116,7 @@
pkmx = "Chih-Mao Chen <pkmx.tw@gmail.com>"; pkmx = "Chih-Mao Chen <pkmx.tw@gmail.com>";
plcplc = "Philip Lykke Carlsen <plcplc@gmail.com>"; plcplc = "Philip Lykke Carlsen <plcplc@gmail.com>";
pSub = "Pascal Wittmann <mail@pascal-wittmann.de>"; pSub = "Pascal Wittmann <mail@pascal-wittmann.de>";
puffnfresh = "Brian McKenna <brian@brianmckenna.org>";
qknight = "Joachim Schiele <js@lastlog.de>"; qknight = "Joachim Schiele <js@lastlog.de>";
raskin = "Michael Raskin <7c6f434c@mail.ru>"; raskin = "Michael Raskin <7c6f434c@mail.ru>";
redbaron = "Maxim Ivanov <ivanov.maxim@gmail.com>"; redbaron = "Maxim Ivanov <ivanov.maxim@gmail.com>";
@ -139,6 +140,7 @@
skeidel = "Sven Keidel <svenkeidel@gmail.com>"; skeidel = "Sven Keidel <svenkeidel@gmail.com>";
smironov = "Sergey Mironov <ierton@gmail.com>"; smironov = "Sergey Mironov <ierton@gmail.com>";
sprock = "Roger Mason <rmason@mun.ca>"; sprock = "Roger Mason <rmason@mun.ca>";
sztupi = "Attila Sztupak <attila.sztupak@gmail.com>";
tailhook = "Paul Colomiets <paul@colomiets.name>"; tailhook = "Paul Colomiets <paul@colomiets.name>";
thammers = "Tobias Hammerschmidt <jawr@gmx.de>"; thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>"; the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";

View File

@ -0,0 +1,14 @@
*~
,*
.*.swp
.*.swo
result
result-*
/doc/NEWS.html
/doc/NEWS.txt
/doc/manual.html
/doc/manual.pdf
.version-suffix
.DS_Store
.git

View File

@ -0,0 +1,12 @@
FROM busybox
RUN dir=`mktemp -d` && trap 'rm -rf "$dir"' EXIT && \
wget -O- http://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2 | bzcat | tar x -C $dir && \
mkdir -m 0755 /nix && USER=root sh $dir/*/install && \
echo ". /root/.nix-profile/etc/profile.d/nix.sh" >> /etc/profile
ADD . /root/nix/nixpkgs
ONBUILD ENV NIX_PATH nixpkgs=/root/nix/nixpkgs:nixos=/root/nix/nixpkgs/nixos
ONBUILD ENV PATH /root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin
ONBUILD ENV ENV /etc/profile
ENV ENV /etc/profile

View File

@ -123,7 +123,7 @@ foreach my $g (@{$spec->{groups}}) {
} }
# Update the persistent list of declarative groups. # Update the persistent list of declarative groups.
write_file($declGroupsFile, join(" ", sort(keys %groupsOut))); write_file($declGroupsFile, { binmode => ':utf8' }, join(" ", sort(keys %groupsOut)));
# Merge in the existing /etc/group. # Merge in the existing /etc/group.
foreach my $name (keys %groupsCur) { foreach my $name (keys %groupsCur) {
@ -140,7 +140,7 @@ foreach my $name (keys %groupsCur) {
# Rewrite /etc/group. FIXME: acquire lock. # Rewrite /etc/group. FIXME: acquire lock.
my @lines = map { join(":", $_->{name}, $_->{password}, $_->{gid}, $_->{members}) . "\n" } my @lines = map { join(":", $_->{name}, $_->{password}, $_->{gid}, $_->{members}) . "\n" }
(sort { $a->{gid} <=> $b->{gid} } values(%groupsOut)); (sort { $a->{gid} <=> $b->{gid} } values(%groupsOut));
write_file("/etc/group.tmp", @lines); write_file("/etc/group.tmp", { binmode => ':utf8' }, @lines);
rename("/etc/group.tmp", "/etc/group") or die; rename("/etc/group.tmp", "/etc/group") or die;
system("nscd --invalidate group"); system("nscd --invalidate group");
@ -198,7 +198,7 @@ foreach my $u (@{$spec->{users}}) {
} }
# Update the persistent list of declarative users. # Update the persistent list of declarative users.
write_file($declUsersFile, join(" ", sort(keys %usersOut))); write_file($declUsersFile, { binmode => ':utf8' }, join(" ", sort(keys %usersOut)));
# Merge in the existing /etc/passwd. # Merge in the existing /etc/passwd.
foreach my $name (keys %usersCur) { foreach my $name (keys %usersCur) {
@ -214,7 +214,7 @@ foreach my $name (keys %usersCur) {
# Rewrite /etc/passwd. FIXME: acquire lock. # Rewrite /etc/passwd. FIXME: acquire lock.
@lines = map { join(":", $_->{name}, $_->{fakePassword}, $_->{uid}, $_->{gid}, $_->{description}, $_->{home}, $_->{shell}) . "\n" } @lines = map { join(":", $_->{name}, $_->{fakePassword}, $_->{uid}, $_->{gid}, $_->{description}, $_->{home}, $_->{shell}) . "\n" }
(sort { $a->{uid} <=> $b->{uid} } (values %usersOut)); (sort { $a->{uid} <=> $b->{uid} } (values %usersOut));
write_file("/etc/passwd.tmp", @lines); write_file("/etc/passwd.tmp", { binmode => ':utf8' }, @lines);
rename("/etc/passwd.tmp", "/etc/passwd") or die; rename("/etc/passwd.tmp", "/etc/passwd") or die;
system("nscd --invalidate passwd"); system("nscd --invalidate passwd");
@ -242,5 +242,5 @@ foreach my $u (values %usersOut) {
push @shadowNew, join(":", $u->{name}, $hashedPassword, "1::::::") . "\n"; push @shadowNew, join(":", $u->{name}, $hashedPassword, "1::::::") . "\n";
} }
write_file("/etc/shadow.tmp", { perms => 0600 }, @shadowNew); write_file("/etc/shadow.tmp", { binmode => ':utf8', perms => 0600 }, @shadowNew);
rename("/etc/shadow.tmp", "/etc/shadow") or die; rename("/etc/shadow.tmp", "/etc/shadow") or die;

View File

@ -157,6 +157,7 @@
redmine = 147; redmine = 147;
seeks = 148; seeks = 148;
prosody = 149; prosody = 149;
i2pd = 150;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -281,6 +282,7 @@
redmine = 147; redmine = 147;
seeks = 148; seeks = 148;
prosody = 149; prosody = 149;
i2pd = 150;
# When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399! # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!

View File

@ -58,6 +58,7 @@
./programs/dconf.nix ./programs/dconf.nix
./programs/environment.nix ./programs/environment.nix
./programs/info.nix ./programs/info.nix
./programs/light.nix
./programs/nano.nix ./programs/nano.nix
./programs/screen.nix ./programs/screen.nix
./programs/shadow.nix ./programs/shadow.nix
@ -92,6 +93,7 @@
./services/audio/mopidy.nix ./services/audio/mopidy.nix
./services/backup/almir.nix ./services/backup/almir.nix
./services/backup/bacula.nix ./services/backup/bacula.nix
./services/backup/crashplan.nix
./services/backup/mysql-backup.nix ./services/backup/mysql-backup.nix
./services/backup/postgresql-backup.nix ./services/backup/postgresql-backup.nix
./services/backup/rsnapshot.nix ./services/backup/rsnapshot.nix
@ -110,7 +112,7 @@
./services/databases/monetdb.nix ./services/databases/monetdb.nix
./services/databases/mongodb.nix ./services/databases/mongodb.nix
./services/databases/mysql.nix ./services/databases/mysql.nix
./services/databases/neo4j.nix ./services/databases/neo4j.nix
./services/databases/openldap.nix ./services/databases/openldap.nix
./services/databases/postgresql.nix ./services/databases/postgresql.nix
./services/databases/redis.nix ./services/databases/redis.nix
@ -230,6 +232,7 @@
./services/networking/gvpe.nix ./services/networking/gvpe.nix
./services/networking/haproxy.nix ./services/networking/haproxy.nix
./services/networking/hostapd.nix ./services/networking/hostapd.nix
./services/networking/i2pd.nix
./services/networking/ifplugd.nix ./services/networking/ifplugd.nix
./services/networking/iodined.nix ./services/networking/iodined.nix
./services/networking/ircd-hybrid/default.nix ./services/networking/ircd-hybrid/default.nix

View File

@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.light;
in
{
options = {
programs.light = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Whether to install Light backlight control with setuid wrapper.
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.light ];
security.setuidPrograms = [ "light" ];
};
}

View File

@ -0,0 +1,63 @@
{ config, pkgs, ... }:
let
cfg = config.services.crashplan;
crashplan = pkgs.crashplan;
varDir = "/var/lib/crashplan";
in
with pkgs.lib;
{
options = {
services.crashplan = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Starts crashplan background service.
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ crashplan ];
systemd.services.crashplan = {
description = "CrashPlan Backup Engine";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
preStart = ''
ensureDir() {
dir=$1
mode=$2
if ! test -e $dir; then
${pkgs.coreutils}/bin/mkdir -m $mode -p $dir
elif [ "$(${pkgs.coreutils}/bin/stat -c %a $dir)" != "$mode" ]; then
${pkgs.coreutils}/bin/chmod $mode $dir
fi
}
ensureDir ${crashplan.vardir} 755
ensureDir ${crashplan.vardir}/conf 700
ensureDir ${crashplan.manifestdir} 700
ensureDir ${crashplan.vardir}/cache 700
ensureDir ${crashplan.vardir}/backupArchives 700
ensureDir ${crashplan.vardir}/log 777
'';
serviceConfig = {
Type = "forking";
EnvironmentFile = "${crashplan}/bin/run.conf";
ExecStart = "${crashplan}/bin/CrashPlanEngine start";
ExecStop = "${crashplan}/bin/CrashPlanEngine stop";
PIDFile = "${crashplan.vardir}/CrashPlanEngine.pid";
WorkingDirectory = crashplan;
};
};
};
}

View File

@ -204,8 +204,29 @@ in
systemd.services.cjdns = { systemd.services.cjdns = {
description = "encrypted networking for everybody"; description = "encrypted networking for everybody";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "network.target" ];
after = [ "network-interfaces.target" ]; after = [ "networkSetup.service" "network-interfaces.target" ];
preStart = if cfg.confFile != "" then "" else ''
[ -e /etc/cjdns.keys ] && source /etc/cjdns.keys
if [ -z "$CJDNS_PRIVATE_KEY" ]; then
shopt -s lastpipe
${pkg}/bin/makekeys | { read private ipv6 public; }
umask 0077
echo "CJDNS_PRIVATE_KEY=$private" >> /etc/cjdns.keys
echo -e "CJDNS_IPV6=$ipv6\nCJDNS_PUBLIC_KEY=$public" > /etc/cjdns.public
chmod 600 /etc/cjdns.keys
chmod 444 /etc/cjdns.public
fi
if [ -z "$CJDNS_ADMIN_PASSWORD" ]; then
echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \
>> /etc/cjdns.keys
fi
'';
script = ( script = (
if cfg.confFile != "" then "${pkg}/bin/cjdroute < ${cfg.confFile}" else if cfg.confFile != "" then "${pkg}/bin/cjdroute < ${cfg.confFile}" else
@ -224,27 +245,6 @@ in
}; };
}; };
system.activationScripts.cjdns = if (cfg.confFile == "") then "" else ''
cjdnsWriteKeys() {
private=$1
ipv6=$2
public=$3
echo "CJDNS_PRIVATE_KEY=$1" >> /etc/cjdns.keys
echo -e "CJDNS_IPV6=$2\nCJDNS_PUBLIC_KEY=$3" > /etc/cjdns.public
chmod 600 /etc/cjdns.keys
chmod 444 /etc/cjdns.public
}
grep -q "CJDNS_PRIVATE_KEY=" /etc/cjdns.keys || \
cjdnsWriteKeys $(${pkg}/bin/makekeys)
grep -q "CJDNS_ADMIN_PASSWORD=" /etc/cjdns.keys || \
echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \
>> /etc/cjdns.keys
'';
networking.extraHosts = "${cjdnsHosts}"; networking.extraHosts = "${cjdnsHosts}";
assertions = [ assertions = [
@ -258,4 +258,4 @@ in
}; };
} }

View File

@ -3,7 +3,6 @@ with lib;
let let
cfg = config.services.gitDaemon; cfg = config.services.gitDaemon;
gitUser = "git";
in in
{ {
@ -14,6 +13,7 @@ in
services.gitDaemon = { services.gitDaemon = {
enable = mkOption { enable = mkOption {
type = types.bool;
default = false; default = false;
description = '' description = ''
Enable Git daemon, which allows public hosting of git repositories Enable Git daemon, which allows public hosting of git repositories
@ -28,6 +28,7 @@ in
}; };
basePath = mkOption { basePath = mkOption {
type = types.str;
default = ""; default = "";
example = "/srv/git/"; example = "/srv/git/";
description = '' description = ''
@ -38,6 +39,7 @@ in
}; };
exportAll = mkOption { exportAll = mkOption {
type = types.bool;
default = false; default = false;
description = '' description = ''
Publish all directories that look like Git repositories (have the objects Publish all directories that look like Git repositories (have the objects
@ -52,6 +54,7 @@ in
}; };
repositories = mkOption { repositories = mkOption {
type = types.listOf types.str;
default = []; default = [];
example = [ "/srv/git" "/home/user/git/repo2" ]; example = [ "/srv/git" "/home/user/git/repo2" ];
description = '' description = ''
@ -64,21 +67,36 @@ in
}; };
listenAddress = mkOption { listenAddress = mkOption {
type = types.str;
default = ""; default = "";
example = "example.com"; example = "example.com";
description = "Listen on a specific IP address or hostname."; description = "Listen on a specific IP address or hostname.";
}; };
port = mkOption { port = mkOption {
type = types.int;
default = 9418; default = 9418;
description = "Port to listen on."; description = "Port to listen on.";
}; };
options = mkOption { options = mkOption {
type = types.str;
default = ""; default = "";
description = "Extra configuration options to be passed to Git daemon."; description = "Extra configuration options to be passed to Git daemon.";
}; };
user = mkOption {
type = types.str;
default = "git";
description = "User under which Git daemon would be running.";
};
group = mkOption {
type = types.str;
default = "git";
description = "Group under which Git daemon would be running.";
};
}; };
}; };
@ -86,14 +104,14 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
users.extraUsers = singleton users.extraUsers = if cfg.user != "git" then {} else singleton
{ name = gitUser; { name = "git";
uid = config.ids.uids.git; uid = config.ids.uids.git;
description = "Git daemon user"; description = "Git daemon user";
}; };
users.extraGroups = singleton users.extraGroups = if cfg.group != "git" then {} else singleton
{ name = gitUser; { name = "git";
gid = config.ids.gids.git; gid = config.ids.gids.git;
}; };
@ -103,8 +121,8 @@ in
exec = "${pkgs.git}/bin/git daemon --reuseaddr " exec = "${pkgs.git}/bin/git daemon --reuseaddr "
+ (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ") + (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ")
+ (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ") + (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ")
+ "--port=${toString cfg.port} --user=${gitUser} --group=${gitUser} ${cfg.options} " + "--port=${toString cfg.port} --user=${cfg.user} --group=${cfg.group} ${cfg.options} "
+ "--verbose " + (optionalString cfg.exportAll "--export-all") + concatStringsSep " " cfg.repositories; + "--verbose " + (optionalString cfg.exportAll "--export-all ") + concatStringsSep " " cfg.repositories;
}; };
}; };

View File

@ -0,0 +1,198 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.i2pd;
homeDir = "/var/lib/i2pd";
extip = "EXTIP=$(${pkgs.curl}/bin/curl -sf "http://jsonip.com" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')";
i2pSh = pkgs.writeScriptBin "i2pd" ''
#!/bin/sh
${if isNull cfg.extIp then extip else ""}
${pkgs.i2pd}/bin/i2p --log=1 --daemon=0 --service=0 \
--v6=${if cfg.enableIPv6 then "1" else "0"} \
--unreachable=${if cfg.unreachable then "1" else "0"} \
--host=${if isNull cfg.extIp then "$EXTIP" else cfg.extIp} \
${if isNull cfg.port then "" else "--port=${toString cfg.port}"} \
--httpproxyport=${toString cfg.proxy.httpPort} \
--socksproxyport=${toString cfg.proxy.socksPort} \
--ircport=${toString cfg.irc.port} \
--ircdest=${cfg.irc.dest} \
--irckeys=${cfg.irc.keyFile} \
--eepport=${toString cfg.eep.port} \
${if isNull cfg.sam.port then "" else "--samport=${toString cfg.sam.port}"} \
--eephost=${cfg.eep.host} \
--eepkeys=${cfg.eep.keyFile}
'';
in
{
###### interface
options = {
services.i2pd = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enables I2Pd as a running service upon activation.
'';
};
extIp = mkOption {
type = with types; nullOr str;
default = null;
description = ''
Your external IP.
'';
};
unreachable = mkOption {
type = types.bool;
default = false;
description = ''
If the router is declared to be unreachable and needs introduction nodes.
'';
};
port = mkOption {
type = with types; nullOr int;
default = null;
description = ''
I2P listen port. If no one is given the router will pick between 9111 and 30777.
'';
};
enableIPv6 = mkOption {
type = types.bool;
default = false;
description = ''
Enables IPv6 connectivity. Disabled by default.
'';
};
http = {
port = mkOption {
type = types.int;
default = 7070;
description = ''
HTTP listen port.
'';
};
};
proxy = {
httpPort = mkOption {
type = types.int;
default = 4446;
description = ''
HTTP proxy listen port.
'';
};
socksPort = mkOption {
type = types.int;
default = 4447;
description = ''
SOCKS proxy listen port.
'';
};
};
irc = {
dest = mkOption {
type = types.str;
default = "irc.postman.i2p";
description = ''
Destination I2P tunnel endpoint address of IRC server. irc.postman.i2p by default.
'';
};
port = mkOption {
type = types.int;
default = 6668;
description = ''
Local IRC tunnel endoint port to listen on. 6668 by default.
'';
};
keyFile = mkOption {
type = types.str;
default = "privKeys.dat";
description = ''
File name containing destination keys. privKeys.dat by default.
'';
};
};
eep = {
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = ''
Address to forward incoming traffic to. 127.0.0.1 by default.
'';
};
port = mkOption {
type = types.int;
default = 80;
description = ''
Port to forward incoming trafic to. 80 by default.
'';
};
keyFile = mkOption {
type = types.str;
default = "privKeys.dat";
description = ''
File name containing destination keys. privKeys.dat by default.
'';
};
};
sam = {
port = mkOption {
type = with types; nullOr int;
default = null;
description = ''
Local SAM tunnel endpoint. Usually 7656. SAM is disabled if not specified.
'';
};
};
};
};
###### implementation
config = mkIf cfg.enable {
users.extraUsers.i2pd = {
group = "i2pd";
description = "I2Pd User";
home = homeDir;
createHome = true;
uid = config.ids.uids.i2pd;
};
users.extraGroups.i2pd.gid = config.ids.gids.i2pd;
systemd.services.i2pd = {
description = "Minimal I2P router";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig =
{
User = "i2pd";
WorkingDirectory = homeDir;
Restart = "on-abort";
ExecStart = "${i2pSh}/bin/i2pd";
};
};
};
}
#

View File

@ -56,6 +56,7 @@ in
pkgs.xfce.xfce4session pkgs.xfce.xfce4session
pkgs.xfce.xfce4settings pkgs.xfce.xfce4settings
pkgs.xfce.xfce4mixer pkgs.xfce.xfce4mixer
pkgs.xfce.xfce4volumed
pkgs.xfce.xfce4screenshooter pkgs.xfce.xfce4screenshooter
pkgs.xfce.xfconf pkgs.xfce.xfconf
pkgs.xfce.xfdesktop pkgs.xfce.xfdesktop

View File

@ -79,7 +79,9 @@ let
''} ''}
# Load X defaults. # Load X defaults.
if test -e ~/.Xdefaults; then if test -e ~/.Xresources; then
${xorg.xrdb}/bin/xrdb -merge ~/.Xresources
elif test -e ~/.Xdefaults; then
${xorg.xrdb}/bin/xrdb -merge ~/.Xdefaults ${xorg.xrdb}/bin/xrdb -merge ~/.Xdefaults
fi fi

View File

@ -7,9 +7,9 @@ let cfg = config.services.xserver.synaptics;
enabledTapConfig = '' enabledTapConfig = ''
Option "MaxTapTime" "180" Option "MaxTapTime" "180"
Option "MaxTapMove" "220" Option "MaxTapMove" "220"
Option "TapButton1" "${builtins.elemAt cfg.buttonsMap 0}" Option "TapButton1" "${builtins.elemAt cfg.fingersMap 0}"
Option "TapButton2" "${builtins.elemAt cfg.buttonsMap 1}" Option "TapButton2" "${builtins.elemAt cfg.fingersMap 1}"
Option "TapButton3" "${builtins.elemAt cfg.buttonsMap 2}" Option "TapButton3" "${builtins.elemAt cfg.fingersMap 2}"
''; '';
disabledTapConfig = '' disabledTapConfig = ''
Option "MaxTapTime" "0" Option "MaxTapTime" "0"
@ -147,9 +147,6 @@ in {
Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}" Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}"
Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}" Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}"
Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}" Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}"
Option "TapButton1" "${builtins.elemAt cfg.fingersMap 0}"
Option "TapButton2" "${builtins.elemAt cfg.fingersMap 1}"
Option "TapButton3" "${builtins.elemAt cfg.fingersMap 2}"
Option "VertTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}" Option "VertTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}"
Option "HorizTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}" Option "HorizTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}"
Option "VertEdgeScroll" "${if cfg.vertEdgeScroll then "1" else "0"}" Option "VertEdgeScroll" "${if cfg.vertEdgeScroll then "1" else "0"}"

View File

@ -321,6 +321,10 @@ system("@systemd@/bin/systemctl", "reset-failed");
# Make systemd reload its units. # Make systemd reload its units.
system("@systemd@/bin/systemctl", "daemon-reload") == 0 or $res = 3; system("@systemd@/bin/systemctl", "daemon-reload") == 0 or $res = 3;
# Signal dbus to reload its configuration before starting other units.
# Other units may rely on newly installed policy files under /etc/dbus-1
system("@systemd@/bin/systemctl", "reload", "dbus.service");
# Restart changed services (those that have to be restarted rather # Restart changed services (those that have to be restarted rather
# than stopped and started). # than stopped and started).
my @restart = unique(split('\n', read_file($restartListFile, err_mode => 'quiet') // "")); my @restart = unique(split('\n', read_file($restartListFile, err_mode => 'quiet') // ""));
@ -350,8 +354,6 @@ if (scalar @reload > 0) {
unlink($reloadListFile); unlink($reloadListFile);
} }
# Signal dbus to reload its configuration.
system("@systemd@/bin/systemctl", "reload", "dbus.service");
# Print failed and new units. # Print failed and new units.
my (@failed, @new, @restarting); my (@failed, @new, @restarting);

View File

@ -235,6 +235,7 @@ in rec {
tests.avahi = callTest tests/avahi.nix {}; tests.avahi = callTest tests/avahi.nix {};
tests.bittorrent = callTest tests/bittorrent.nix {}; tests.bittorrent = callTest tests/bittorrent.nix {};
tests.blivet = callTest tests/blivet.nix {}; tests.blivet = callTest tests/blivet.nix {};
tests.cjdns = callTest tests/cjdns.nix {};
tests.containers = callTest tests/containers.nix {}; tests.containers = callTest tests/containers.nix {};
tests.firefox = callTest tests/firefox.nix {}; tests.firefox = callTest tests/firefox.nix {};
tests.firewall = callTest tests/firewall.nix {}; tests.firewall = callTest tests/firewall.nix {};

123
nixos/tests/cjdns.nix Normal file
View File

@ -0,0 +1,123 @@
let
carolKey = "2d2a338b46f8e4a8c462f0c385b481292a05f678e19a2b82755258cf0f0af7e2";
carolPubKey = "n932l3pjvmhtxxcdrqq2qpw5zc58f01vvjx01h4dtd1bb0nnu2h0.k";
carolPassword = "678287829ce4c67bc8b227e56d94422ee1b85fa11618157b2f591de6c6322b52";
carolIp4 = "192.168.0.9";
basicConfig =
{ config, pkgs, ... }:
{ services.cjdns.enable = true;
# Turning off DHCP isn't very realistic but makes
# the sequence of address assignment less stochastic.
networking.useDHCP = false;
networking.interfaces.eth1.prefixLength = 24;
# CJDNS output is incompatible with the XML log.
systemd.services.cjdns.serviceConfig.StandardOutput = "null";
#networking.firewall.enable = true;
networking.firewall.allowPing = true;
#networking.firewall.rejectPackets = true;
};
in
import ./make-test.nix {
name = "cjdns";
nodes = rec
{ # Alice finds peers over over ETHInterface.
alice =
{ config, ... }:
{ imports = [ basicConfig ];
services.cjdns.ETHInterface.bind = "eth1";
services.httpd.enable = true;
services.httpd.adminAddr = "foo@example.org";
networking.firewall.allowedTCPPorts = [ 80 ];
};
# Bob explicitly connects to Carol over UDPInterface.
bob =
{ config, lib, nodes, ... }:
let carolIp4 = lib.mkForce nodes.carol.config.networking.interfaces.eth1; in
{ imports = [ basicConfig ];
networking.interfaces.eth1.ipAddress = "192.168.0.2";
services.cjdns =
{ UDPInterface =
{ bind = "0.0.0.0:1024";
connectTo."192.168.0.1:1024}" =
{ hostname = "carol.hype";
password = carolPassword;
publicKey = carolPubKey;
};
};
};
};
# Carol listens on ETHInterface and UDPInterface,
# but knows neither Alice or Bob.
carol =
{ config, lib, nodes, ... }:
let
carolIp4 = (lib.mkForce nodes.carol.config.networking.interfaces.eth1);
in
{ imports = [ basicConfig ];
environment.etc."cjdns.keys".text = ''
CJDNS_PRIVATE_KEY=${carolKey}
CJDNS_ADMIN_PASSWORD=FOOBAR
'';
networking.interfaces.eth1.ipAddress = "192.168.0.1";
services.cjdns =
{ authorizedPasswords = [ carolPassword ];
ETHInterface.bind = "eth1";
UDPInterface.bind = "192.168.0.1:1024";
};
networking.firewall.allowedUDPPorts = [ 1024 ];
};
};
testScript =
''
startAll;
$alice->waitForUnit("cjdns.service");
$bob->waitForUnit("cjdns.service");
$carol->waitForUnit("cjdns.service");
sub cjdnsIp {
my ($machine) = @_;
my $ip = (split /[ \/]+/, $machine->succeed("ip -o -6 addr show dev tun0"))[3];
$machine->log("has ip $ip");
return $ip;
}
my $aliceIp6 = cjdnsIp $alice;
my $bobIp6 = cjdnsIp $bob;
my $carolIp6 = cjdnsIp $carol;
# ping a few times each to let the routing table establish itself
$alice->succeed("ping6 -c 4 $carolIp6");
$bob->succeed("ping6 -c 4 carol.hype");
$carol->succeed("ping6 -c 4 $aliceIp6");
$carol->succeed("ping6 -c 4 $bobIp6");
$alice->succeed("ping6 -c 4 $bobIp6");
$bob->succeed("ping6 -c 4 $aliceIp6");
$alice->waitForUnit("httpd.service");
$bob->succeed("curl --fail -g http://[$aliceIp6]");
'';
}

View File

@ -1,30 +0,0 @@
{ stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig
, boost, readline, libiconvOrEmpty }:
stdenv.mkDerivation rec {
version = "0.6_beta5";
name = "ncmpcpp-${version}";
src = fetchurl {
url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
sha256 = "05h4mahnh39y9ab333whsgspj5mnbdkqfssgfi4r0zf1fvjwlwj6";
};
buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig boost readline ]
++ libiconvOrEmpty;
configureFlags = [
"BOOST_LIB_SUFFIX="
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Curses-based interface for MPD (music player daemon)";
homepage = http://unkart.ovh.org/ncmpcpp/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ fpletz ];
platforms = platforms.all;
};
}

View File

@ -1,16 +1,18 @@
{ stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig { stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig
, libiconvOrEmpty }: , libiconvOrEmpty, boost, readline }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.5.10"; version = "0.6.1";
name = "ncmpcpp-${version}"; name = "ncmpcpp-${version}";
src = fetchurl { src = fetchurl {
url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2"; url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
sha256 = "ff6d5376a2d9caba6f5bb78e68af77cefbdb2f04cd256f738e39f8ac9a79a4a8"; sha256 = "033a18hj0q0smm5n0ykld9az7w95myr7jm2b1bjm0h2q5927x8qm";
}; };
buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ] configureFlags = "BOOST_LIB_SUFFIX=";
buildInputs = [ ncurses curl taglib fftw mpd_clientlib boost pkgconfig readline ]
++ libiconvOrEmpty; ++ libiconvOrEmpty;
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -21,4 +23,3 @@ stdenv.mkDerivation rec {
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -0,0 +1,37 @@
--- ./scripts/CrashPlanEngine 2014-02-19 23:17:19.000000000 +0000
+++ ./scripts/CrashPlanEngine.1 2014-07-24 17:36:37.330333581 +0100
@@ -11,7 +11,7 @@
cd $TARGETDIR
- nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log 2> $TARGETDIR/log/engine_error.log &
+ nice -n 19 $JAVACOMMON $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $VARDIR/log/engine_output.log 2> $VARDIR/log/engine_error.log &
if [[ $! -gt 0 ]]; then
echo $! > $PIDFILE
@@ -26,7 +26,7 @@
echo "Using Ubuntu 9.04 startup"
- start-stop-daemon -v --pidfile $PIDFILE --make-pidfile --background --chdir $TARGETDIR --start --nicelevel 19 --exec $JAVACOMMON -- $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $TARGETDIR/log/engine_output.log 2> $TARGETDIR/log/engine_error.log
+ start-stop-daemon -v --pidfile $PIDFILE --make-pidfile --background --chdir $TARGETDIR --start --nicelevel 19 --exec $JAVACOMMON -- $SRV_JAVA_OPTS -classpath $FULL_CP com.backup42.service.CPService > $VARDIR/log/engine_output.log 2> $VARDIR/log/engine_error.log
# This test isn't as useful as one might like; start-stop-daemon can't accurately report the state of child processes when --background is used.
# We use this mainly to report the specific error value returned by start-stop-daemon if something goes wrong, but be aware that a return value
@@ -91,7 +91,6 @@
DESC="CrashPlan Engine"
NAME=CrashPlanEngine
DAEMON=$TARGETDIR/lib/com.backup42.desktop.jar
-PIDFILE="$TARGETDIR/${NAME}.pid"
if [[ -f $TARGETDIR/install.vars ]]; then
. $TARGETDIR/install.vars
@@ -100,6 +99,8 @@
exit 1
fi
+PIDFILE="$VARDIR/${NAME}.pid"
+
if [[ ! -f $DAEMON ]]; then
echo "Could not find JAR file $DAEMON"
exit 0

View File

@ -0,0 +1,78 @@
{ stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }:
let version = "3.6.3";
in stdenv.mkDerivation rec {
name = "crashplan-${version}";
crashPlanArchive = fetchurl {
url = "http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz";
sha256 = "0v01fzc62bxr6lpamnxg1nb7vh4a8ky6mahbq76kmjxfqv7q0mb0";
};
srcs = [ crashPlanArchive ];
meta = with stdenv.lib; {
description = "An online/offline backup solution";
homepage = "http://www.crashplan.org";
license = licenses.unfree;
maintainers = with maintainers; [ sztupi ];
};
buildInputs = [ makeWrapper cpio ];
vardir = "/var/lib/crashplan";
manifestdir = "${vardir}/manifest";
patches = [ ./CrashPlanEngine.patch ];
installPhase = ''
mkdir $out
zcat -v CrashPlan_${version}.cpi | (cd $out; cpio -i -d -v --no-preserve-owner)
# sed -i "s|<manifestPath>manifest</manifestPath>|<manifestPath>${manifestdir}</manifestPath>|g" $out/conf/default.service.xml
# Fix for encoding troubles (CrashPlan ticket 178827)
# Make sure the daemon is running using the same localization as
# the (installing) user
echo "" >> run.conf
echo "export LC_ALL=en_US.UTF-8" >> run.conf
install -d -m 755 unpacked $out
install -D -m 644 EULA.txt $out/EULA.txt
install -D -m 644 run.conf $out/bin/run.conf
install -D -m 755 scripts/CrashPlanDesktop $out/bin/CrashPlanDesktop
install -D -m 755 scripts/CrashPlanEngine $out/bin/CrashPlanEngine
rm -r $out/log
ln -s $vardir/log $out/log
ln -s $vardir/cache $out/cache
ln -s $vardir/backupArchives $out/backupArchives
ln -s $vardir/conf/service.model $out/conf/service.model
ln -s $vardir/conf/my.service.xml $out/conf/my.service.xml
echo "JAVACOMMON=${jre}/bin/java" > $out/install.vars
echo "APP_BASENAME=CrashPlan" >> $out/install.vars
echo "TARGETDIR=$out" >> $out/install.vars
echo "BINSDIR=$out/bin" >> $out/install.vars
echo "MANIFESTDIR=${manifestdir}" >> $out/install.vars
echo "VARDIR=${vardir}" >> $out/install.vars
echo "INITDIR=" >> $out/install.vars
echo "RUNLVLDIR=" >> $out/install.vars
echo "INSTALLDATE=" >> $out/install.vars
'';
postFixup = ''
for f in $out/bin/CrashPlanDesktop $out/bin/CrashPlanEngine; do
echo "substitutions in $f"
substituteInPlace $f --replace /bin/ps ${procps}/bin/ps
substituteInPlace $f --replace awk ${gawk}/bin/awk
substituteInPlace $f --replace sed ${gnused}/bin/sed
substituteInPlace $f --replace grep ${gnugrep}/bin/grep
done
wrapProgram $out/bin/CrashPlanDesktop --prefix LD_LIBRARY_PATH ":" "${gtk2}/lib:${glib}/lib:${libXtst}/lib"
'';
}

View File

@ -177,7 +177,7 @@ in {
fullName = "nixos-slim"; fullName = "nixos-slim";
src = fetchurl { src = fetchurl {
url = "https://github.com/jagajaga/nixos-slim-theme/archive/1.1.tar.gz"; url = "https://github.com/jagajaga/nixos-slim-theme/archive/1.1.tar.gz";
sha256 = "0cawq38l8rcgd35vpdx3i1wbs3wrkcrng1c9qch0l4qncw505hv6"; sha256 = "66c3020a6716130a20c3898567339b990fbd7888a3b7bbcb688f6544d1c05c31";
}; };
}; };
} }

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, emacs, texinfo }: { stdenv, fetchurl, emacs, texinfo }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ess-13.09"; name = "ess-14.09";
src = fetchurl { src = fetchurl {
url = "http://ess.r-project.org/downloads/ess/${name}.tgz"; url = "http://ess.r-project.org/downloads/ess/${name}.tgz";
sha256 = "1lki3vb6p7cw98zqq0gaia68flpqrjkd6dcl85fs0cc8qf55yqnh"; sha256 = "0wa507jfmq3k7x0vigd2yzb4j2190ix4wnnpv7ql4bjy0vfvmwdn";
}; };
buildInputs = [ emacs texinfo ]; buildInputs = [ emacs texinfo ];

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, dbus, gnutls, wxGTK28, libidn, tinyxml, gettext { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
, pkgconfig, xdg_utils, gtk2, sqlite }: , pkgconfig, xdg_utils, gtk2, sqlite }:
let version = "3.8.1"; in let version = "3.9.0.6"; 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 = "0kqyz8yb15kbzx02l3riswg95prbp402k4672nwxrzs35049rg36"; sha256 = "1dxhj4ijpl5m2r5f9p04kbaqcvivy3lrb1kdn5axqngshfrmczyf";
}; };
configureFlags = [ configureFlags = [
@ -15,7 +15,7 @@ stdenv.mkDerivation {
]; ];
buildInputs = [ buildInputs = [
dbus gnutls wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite dbus gnutls wxGTK30 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ncurses, which, perl { stdenv, fetchurl, ncurses, which, perl, automake, autoconf
, sslSupport ? true , sslSupport ? true
, imapSupport ? true , imapSupport ? true
, headerCache ? true , headerCache ? true
@ -8,6 +8,7 @@
, openssl ? null , openssl ? null
, cyrus_sasl ? null , cyrus_sasl ? null
, gpgme ? null , gpgme ? null
, withSidebar ? false
}: }:
assert headerCache -> gdbm != null; assert headerCache -> gdbm != null;
@ -18,10 +19,10 @@ let
version = "1.5.23"; version = "1.5.23";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mutt-${version}"; name = "mutt${stdenv.lib.optionalString withSidebar "-with-sidebar"}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/mutt/${name}.tar.gz"; url = "mirror://sourceforge/mutt/mutt-${version}.tar.gz";
sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s"; sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s";
}; };
@ -31,8 +32,10 @@ stdenv.mkDerivation rec {
(if sslSupport then openssl else null) (if sslSupport then openssl else null)
(if saslSupport then cyrus_sasl else null) (if saslSupport then cyrus_sasl else null)
(if gpgmeSupport then gpgme else null) (if gpgmeSupport then gpgme else null)
]; ]
++ (stdenv.lib.optionals withSidebar [automake autoconf])
;
configureFlags = [ configureFlags = [
"--with-mailpath=" "--enable-smtp" "--with-mailpath=" "--enable-smtp"
@ -52,6 +55,13 @@ stdenv.mkDerivation rec {
(if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme") (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme")
]; ];
# Adding the sidebar
patches = [] ++
(stdenv.lib.optional withSidebar (fetchurl {
url = http://lunar-linux.org/~tchan/mutt/patch-1.5.23.sidebar.20140412.txt;
sha256 = "0bq556sycl0qkr5vg5c3l16bh2bifqc2j7d64n4hw19q0ba2b45w";
}));
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A small but very powerful text-based mail client"; description = "A small but very powerful text-based mail client";
homepage = http://www.mutt.org; homepage = http://www.mutt.org;

View File

@ -1,12 +0,0 @@
diff -r 8f62001989cc configure.ac
--- a/configure.ac Sat Feb 08 10:24:22 2014 -0800
+++ b/configure.ac Wed Jul 02 12:34:40 2014 +0200
@@ -473,6 +473,8 @@
mutt_cv_mailpath=/usr/spool/mail
elif test -d /usr/mail; then
mutt_cv_mailpath=/usr/mail
+ elif test -d /tmp; then
+ mutt_cv_mailpath=/tmp
fi])
])
if test "$mutt_cv_mailpath" = no; then

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
, bash, patchelf }: , bash, patchelf, config }:
let let
topath = "${wineUnstable}/bin"; topath = "${wineUnstable}/bin";
@ -10,8 +10,8 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "teamviewer-8.0.17147"; name = "teamviewer-8.0.17147";
src = fetchurl { src = fetchurl {
url = "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb"; url = config.teamviewer8.url or "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb";
sha256 = "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k"; sha256 = config.teamviewer8.sha256 or "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k";
}; };
buildInputs = [ makeWrapper patchelf ]; buildInputs = [ makeWrapper patchelf ];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau
, bash, patchelf }: , bash, patchelf, config }:
let let
topath = "${wineUnstable}/bin"; topath = "${wineUnstable}/bin";
@ -10,8 +10,8 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "teamviewer-9.0.32150"; name = "teamviewer-9.0.32150";
src = fetchurl { src = fetchurl {
url = "http://download.teamviewer.com/download/version_9x/teamviewer_linux_x64.deb"; url = config.teamviewer9.url or "http://download.teamviewer.com/download/version_9x/teamviewer_linux_x64.deb";
sha256 = "0wpwbx0xzn3vlzavszxhfvfcaj3pijlpwvlz5m7w19mb6cky3q13"; sha256 = config.teamviewer9.sha256 or "0wpwbx0xzn3vlzavszxhfvfcaj3pijlpwvlz5m7w19mb6cky3q13";
}; };
buildInputs = [ makeWrapper patchelf ]; buildInputs = [ makeWrapper patchelf ];

View File

@ -114,9 +114,7 @@ stdenv.mkDerivation rec {
'' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\nln -sv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party) '' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\nln -sv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party)
+ '' + ''
ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name} ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name}
tar xf $sourceRoot/src/${srcs.help.name} -C $sourceRoot/../
ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name} ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
tar xf $sourceRoot/src/${srcs.translations.name} -C $sourceRoot/../
''; '';
patchPhase = '' patchPhase = ''

View File

@ -2,10 +2,10 @@
# ViTE 1.1 has several bugs, so use the SVN version. # ViTE 1.1 has several bugs, so use the SVN version.
let let
rev = "1143"; rev = "1543";
externals = fetchsvn { externals = fetchsvn {
url = "svn://scm.gforge.inria.fr/svn/vite/externals"; url = "svn://scm.gforge.inria.fr/svn/vite/externals";
sha256 = "0wg3yh5q8gx7189rvkd8achld7bzp0i7qqn6c77pg767b4b8dh1a"; sha256 = "1a422n3dp72v4visq5b1i21cf8sj12903sgg5v2hah3sgk02dnyz";
inherit rev; inherit rev;
}; };
in in
@ -14,16 +14,14 @@ stdenv.mkDerivation {
src = fetchsvn { src = fetchsvn {
url = "svn://scm.gforge.inria.fr/svn/vite/trunk"; url = "svn://scm.gforge.inria.fr/svn/vite/trunk";
sha256 = "0cy9b6isiwqwnv9gk0cg97x370fpwyccljadds4a118k5gh58zw4"; sha256 = "02479dv96h29d0w0svp42mjjrxhmv8lkkqp30w7mlx5gr2g0v7lf";
inherit rev; inherit rev;
}; };
preConfigure = preConfigure = ''
'' rm -v externals rm -rv externals
ln -sv "${externals}" externals ln -sv "${externals}" externals
''; '';
patches = [ ./larger-line-buffer.patch ];
buildInputs = [ cmake qt4 mesa ]; buildInputs = [ cmake qt4 mesa ];
@ -32,19 +30,15 @@ stdenv.mkDerivation {
meta = { meta = {
description = "Visual Trace Explorer (ViTE), a tool to visualize execution traces"; description = "Visual Trace Explorer (ViTE), a tool to visualize execution traces";
longDescription = longDescription = ''
'' ViTE is a trace explorer. It is a tool to visualize execution traces ViTE is a trace explorer. It is a tool to visualize execution
in Pajé or OTF format for debugging and profiling parallel or traces in Pajé or OTF format for debugging and profiling
distributed applications. parallel or distributed applications.
''; '';
homepage = http://vite.gforge.inria.fr/; homepage = http://vite.gforge.inria.fr/;
license = stdenv.lib.licenses.cecill20; license = stdenv.lib.licenses.cecill20;
maintainers = with stdenv.lib.maintainers; [ ludo fuuzetsu ];
maintainers = [ stdenv.lib.maintainers.ludo ]; platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
broken = true;
}; };
} }

View File

@ -1,14 +0,0 @@
ViTE has an arbitrary restriction on the length of lines read by the parser.
Make it larger.
--- a/src/parser/PajeFileManager.hpp
+++ b/src/parser/PajeFileManager.hpp
@@ -67,7 +67,7 @@
#include <string.h>
-#define _PAJE_BUFSIZE 256
+#define _PAJE_BUFSIZE 16384
#define _PAJE_NBMAXTKS 16
/**

View File

@ -17,8 +17,8 @@
cabal.mkDerivation (self: { cabal.mkDerivation (self: {
pname = "git-annex"; pname = "git-annex";
version = "5.20141024"; version = "5.20141125";
sha256 = "065b181m76a9w3jznrmb087gccwnpgmyzyndgf8krg28g85y0bq5"; sha256 = "0rlsd3fri9iq8hrl98xyil3dgz6czxb3h5f8xjviin3lkm2x09ms";
isLibrary = false; isLibrary = false;
isExecutable = true; isExecutable = true;
buildDepends = [ buildDepends = [

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, pkgconfig, pulseaudio
, gtk2, libnotify
, keybinder, xfconf
}:
stdenv.mkDerivation rec {
version = "0.2.0";
name = "xfce4-volumed-pulse-${version}";
src = fetchurl {
url = "https://launchpad.net/xfce4-volumed-pulse/trunk/${version}/+download/${name}.tar.bz2";
sha256 = "0l75gl96skm0zn10w70mwvsjd12p1zjshvn7yc3439dz61506c39";
};
buildInputs =
[ pulseaudio gtk2
keybinder xfconf libnotify
];
nativeBuildInputs = [ pkgconfig ];
meta = with stdenv.lib; {
homepage = https://launchpad.net/xfce4-volumed-pulse;
description = "A volume keys control daemon for the Xfce desktop environment (Xubuntu fork)";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.abbradar ];
};
}

View File

@ -0,0 +1,46 @@
{ stdenv, fetchurl, pkgconfig, makeWrapper
, gstreamer, gtk2, gst_plugins_base, libnotify
, keybinder, xfconf
}:
let
# The usual Gstreamer plugins package has a zillion dependencies
# that we don't need for a simple mixer, so build a minimal package.
gst_plugins_minimal = gst_plugins_base.override {
minimalDeps = true;
};
in
stdenv.mkDerivation rec {
p_name = "xfce4-volumed";
ver_maj = "0.1";
ver_min = "13";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1aa0a1sbf9yzi7bc78kw044m0xzg1li3y4w9kf20wqv5kfjs7v2c";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs =
[ gstreamer gst_plugins_minimal gtk2
keybinder xfconf libnotify
];
nativeBuildInputs = [ pkgconfig makeWrapper ];
postInstall =
''
wrapProgram "$out/bin/xfce4-volumed" \
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
'';
meta = with stdenv.lib; {
homepage = http://www.xfce.org/projects/xfce4-volumed; # referenced but inactive
description = "A volume keys control daemon for the Xfce desktop environment";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.abbradar ];
};
}

View File

@ -51,6 +51,10 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
xfce4taskmanager= callPackage ./applications/xfce4-taskmanager.nix { }; xfce4taskmanager= callPackage ./applications/xfce4-taskmanager.nix { };
xfce4terminal = callPackage ./applications/terminal.nix { }; xfce4terminal = callPackage ./applications/terminal.nix { };
xfce4screenshooter = callPackage ./applications/xfce4-screenshooter.nix { }; xfce4screenshooter = callPackage ./applications/xfce4-screenshooter.nix { };
xfce4volumed = let
gst = callPackage ./applications/xfce4-volumed.nix { };
pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
in if config.pulseaudio or false then pulse else gst;
#### ART from "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2" #### ART from "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2"

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, bash, makeWrapper, coreutils, emacs, tcl, tk, boost, gmp, cacert }:
let
version = "2.0.0";
in
stdenv.mkDerivation {
name = "mozart-binary-${version}";
src = fetchurl {
url = "http://sourceforge.net/projects/mozart-oz/files/v${version}-alpha.0/mozart2-${version}-alpha.0+build.4105.5c06ced-x86_64-linux.tar.gz";
sha256 = "0rsfrjimjxqbwprpzzlmydl3z3aiwg5qkb052jixdxjyad7gyh5z";
};
libPath = stdenv.lib.makeLibraryPath
[stdenv.gcc.gcc emacs tk tcl boost gmp];
builder = ./builder.sh;
buildInputs = [ makeWrapper ];
meta = with stdenv.lib; {
homepage = "http://www.mozart-oz.org/";
description = "The Mozart Programming System combines ongoing research in programming language design and implementation, constraint logic programming, distributed computing, and human-computer interfaces. Mozart implements the Oz language and provides both expressive power and advanced functionality.";
license = licenses.mit;
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,24 @@
source $stdenv/setup
echo "unpacking $src..."
tar xvfz $src
mkdir -p $out/bin
mkdir -p $out/share
mv mozart*linux/bin/* $out/bin
mv mozart*linux/share/* $out/share
patchShebangs $out
for f in $out/bin/*; do
b=$(basename $f)
if [ $b == "ozemulator" ] || [ $b == "ozwish" ]; then
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath $libPath \
$f
continue;
fi
wrapProgram $f \
--set OZHOME $out
done

View File

@ -1,14 +0,0 @@
{stdenv, fetchurl, flex, bison, perl, gmp, zlib, tcl, tk, gdbm, m4, x11, emacs}:
stdenv.mkDerivation {
name = "mozart-1.4.0";
src = fetchurl {
url = http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-src.tar.gz;
sha256 = "5da73d80b5aa7fa42edca64159a1a076323f090e5c548f3747f94d0afc60b223";
};
buildInputs = [flex bison perl gmp zlib tcl tk gdbm m4 x11 emacs];
# micq gives a compile error for me
configureFlags = "--with-tcl=${tcl}/lib --with-tk=${tk}/lib --disable-contrib-micq";
}

View File

@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
x11lib = x11env + "/lib"; x11lib = x11env + "/lib";
x11inc = x11env + "/include"; x11inc = x11env + "/include";
name = "ocaml-4.02.0"; name = "ocaml-4.02.1";
src = fetchurl { src = fetchurl {
url = "http://caml.inria.fr/pub/distrib/ocaml-4.02/${name}.tar.xz"; url = "http://caml.inria.fr/pub/distrib/ocaml-4.02/${name}.tar.xz";
sha256 = "1ml5r8vzbwqhnq8jlps6jfgf0vym4nyrnr95mrbym6v5j2gabmw7"; sha256 = "1p7lqvh64xpykh99014mz21q8fs3qyjym2qazhhbq8scwldv1i38";
}; };
prefixKey = "-prefix "; prefixKey = "-prefix ";

View File

@ -0,0 +1,16 @@
diff --git a/src/test/run-make/relocation-model/Makefile b/src/test/run-make/relocation-model/Makefile
index 2fcdd32..2d9ddb0 100644
--- a/src/test/run-make/relocation-model/Makefile
+++ b/src/test/run-make/relocation-model/Makefile
@@ -5,9 +5,11 @@ all:
$(call RUN,foo)
$(RUSTC) -C relocation-model=default foo.rs
+ paxctl -czexm $(TMPDIR)/foo
$(call RUN,foo)
$(RUSTC) -C relocation-model=static foo.rs
+ paxctl -czexm $(TMPDIR)/foo
$(call RUN,foo)
$(RUSTC) -C relocation-model=default --crate-type=dylib foo.rs

View File

@ -1,33 +1,23 @@
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index 1cc60fc..2e94b99 100644 index 81f856c..c2078a5 100644
--- a/src/librustc/back/link.rs --- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs
@@ -383,18 +383,9 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri @@ -361,8 +361,8 @@ pub fn mangle_internal_name_by_path_and_seq(path: PathElems, flav: &str) -> Stri
pub fn get_cc_prog(sess: &Session) -> String { pub fn get_cc_prog(sess: &Session) -> String {
match sess.opts.cg.linker { match sess.opts.cg.linker {
- Some(ref linker) => return linker.to_string(), - Some(ref linker) => return linker.to_string(),
- None => {} - None => sess.target.target.options.linker.clone(),
+ Some(ref linker) => linker.to_string(), + Some(ref linker) => linker.to_string(),
+ None => "@ccPath@".to_string() + None => "@ccPath@".to_string(),
} }
-
- // In the future, FreeBSD will use clang as default compiler.
- // It would be flexible to use cc (system's default C compiler)
- // instead of hard-coded gcc.
- // For Windows, there is no cc command, so we add a condition to make it use gcc.
- match sess.targ_cfg.os {
- abi::OsWindows => "gcc",
- _ => "cc",
- }.to_string()
} }
pub fn remove(sess: &Session, path: &Path) {
diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs diff --git a/src/librustc_back/archive.rs b/src/librustc_back/archive.rs
index 060dda5..fecf76b 100644 index db2f291..c7a13dc 100644
--- a/src/librustc_back/archive.rs --- a/src/librustc_back/archive.rs
+++ b/src/librustc_back/archive.rs +++ b/src/librustc_back/archive.rs
@@ -53,7 +53,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>, @@ -54,7 +54,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option<String>,
paths: &[&Path]) -> ProcessOutput { paths: &[&Path]) -> ProcessOutput {
let ar = match *maybe_ar_prog { let ar = match *maybe_ar_prog {
Some(ref ar) => ar.as_slice(), Some(ref ar) => ar.as_slice(),
@ -35,3 +25,4 @@ index 060dda5..fecf76b 100644
+ None => "@arPath@" + None => "@arPath@"
}; };
let mut cmd = Command::new(ar); let mut cmd = Command::new(ar);

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper { stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper
, tzdata, git , tzdata, git, valgrind
}: }:
assert stdenv.gcc.gcc != null; assert stdenv.gcc.gcc != null;
@ -18,19 +18,19 @@ assert stdenv.gcc.gcc != null;
*/ */
with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-127-ga0ea210";}); with ((import ./common.nix) {inherit stdenv; version = "0.12.0-pre-961-g93c85eb";});
let snapshot = if stdenv.system == "i686-linux" let snapshot = if stdenv.system == "i686-linux"
then "0644637db852db8a6c603ded0531ccaa60291bd3" then "d827fbbd778b854923971873cf03bdb79c2e8575"
else if stdenv.system == "x86_64-linux" else if stdenv.system == "x86_64-linux"
then "656b8c23fbb97794e85973aca725a4b9cd07b29e" then "1ddca522a8ba4a4f662dc17ca16b0f50f2c15f87"
else if stdenv.system == "i686-darwin" else if stdenv.system == "i686-darwin"
then "e4d9709fcfe485fcca00f0aa1fe456e2f164ed96" then "597cd42301e1569df8ad090574cd535d19283387"
else if stdenv.system == "x86_64-darwin" else if stdenv.system == "x86_64-darwin"
then "6b1aa5a441965da87961be81950e8663eadba377" then "4bfb2aff1c3e3c57653b32adc34b399c5aeb759b"
else abort "no-snapshot for platform ${stdenv.system}"; else abort "no-snapshot for platform ${stdenv.system}";
snapshotDate = "2014-10-10"; snapshotDate = "2014-11-04";
snapshotRev = "78a7676"; snapshotRev = "1b2ad78";
snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2"; snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2";
in stdenv.mkDerivation { in stdenv.mkDerivation {
@ -40,8 +40,8 @@ in stdenv.mkDerivation {
src = fetchgit { src = fetchgit {
url = https://github.com/rust-lang/rust; url = https://github.com/rust-lang/rust;
rev = "a0ea210b394aa1b61d341593a3f9098fe5bf7806"; rev = "93c85eb8bdcc910a27caf6abd20207a626ae98e5";
sha256 = "0flwzj6dywaq9s77ayinshqbz8na2a1jabkr9s7zj74s2ya5096i"; sha256 = "0zj84xsyg8jpd6ixmdv7jsjrnsd4zwrac98qqmwgrd78h74g8kpq";
}; };
# We need rust to build rust. If we don't provide it, configure will try to download it. # We need rust to build rust. If we don't provide it, configure will try to download it.
@ -65,7 +65,9 @@ in stdenv.mkDerivation {
configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ]; configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
# The compiler requires cc, so we patch the source to tell it where to find it # The compiler requires cc, so we patch the source to tell it where to find it
patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ]; patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ]
++ stdenv.lib.optional stdenv.needsPax ./grsec.HEAD.patch;
postPatch = '' postPatch = ''
substituteInPlace src/librustc/back/link.rs \ substituteInPlace src/librustc/back/link.rs \
--subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc"
@ -73,7 +75,7 @@ in stdenv.mkDerivation {
--subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar" --subst-var-by "arPath" "${stdenv.gcc.binutils}/bin/ar"
''; '';
buildInputs = [ which file perl curl python27 makeWrapper git ]; buildInputs = [ which file perl curl python27 makeWrapper git valgrind ];
enableParallelBuilding = false; # disabled due to rust-lang/rust#16305 enableParallelBuilding = false; # disabled due to rust-lang/rust#16305

View File

@ -1,15 +0,0 @@
{ stdenv }:
stdenv.mkDerivation {
name = "python-linkme-wrapper-1.0";
unpackPhase = "true";
installPhase = ''
mkdir -p $out/bin
cat ${./python-linkme-wrapper.sh} > $out/bin/.python-linkme-wrapper
chmod +x $out/bin/.python-linkme-wrapper
'';
preferLocalBuild = true;
}

View File

@ -1,33 +0,0 @@
#!/bin/sh
#
# Install it into a nix profile and from there build symlink chains.
# The chain will be followed to set the PYTHONPATH
# A/bin/foo -> B/bin/bar -> NIXENV/bin/.python-linkme-wrapper.sh
#
if test ! -L "$0"; then
echo "Link me!"
exit 1
fi
PROG=$(basename "$0")
SITES=
pypath() {
BIN=$(realpath -s "$(dirname "$1")")
ENV=$(dirname "$BIN")
SITE="$ENV/lib/python2.7/site-packages"
SITES="$SITES${SITES:+:}$SITE"
PRG="$BIN"/$(readlink "$1")
if test -L "$PRG"; then
pypath "$PRG"
fi
}
pypath $(realpath -s "$0")
export PYTHONPATH="$PYTHONPATH${PYTHONPATH:+:}$SITES"
exec "$BIN/$PROG" "$@"

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty { stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland , pangoSupport ? true, pango, cairo, gobjectIntrospection
, gstreamerSupport ? true, gst_all_1 }: , gstreamerSupport ? true, gst_all_1 }:
let let
@ -21,13 +21,11 @@ stdenv.mkDerivation rec {
"--enable-gles1" "--enable-gles1"
"--enable-gles2" "--enable-gles2"
"--enable-kms-egl-platform" "--enable-kms-egl-platform"
"--enable-wayland-egl-platform"
"--enable-wayland-egl-server"
] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"; ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst";
propagatedBuildInputs = with xorg; [ propagatedBuildInputs = with xorg; [
glib gdk_pixbuf gobjectIntrospection glib gdk_pixbuf gobjectIntrospection
mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland mesa_noglu libXrandr libXfixes libXcomposite libXdamage
] ]
++ libintlOrEmpty ++ libintlOrEmpty
++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty { stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland , pangoSupport ? true, pango, cairo, gobjectIntrospection
, gstreamerSupport ? true, gst_all_1 }: , gstreamerSupport ? true, gst_all_1 }:
let let
@ -21,13 +21,11 @@ stdenv.mkDerivation rec {
"--enable-gles1" "--enable-gles1"
"--enable-gles2" "--enable-gles2"
"--enable-kms-egl-platform" "--enable-kms-egl-platform"
"--enable-wayland-egl-platform"
"--enable-wayland-egl-server"
] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"; ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst";
propagatedBuildInputs = with xorg; [ propagatedBuildInputs = with xorg; [
glib gdk_pixbuf gobjectIntrospection glib gdk_pixbuf gobjectIntrospection
mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland mesa_noglu libXrandr libXfixes libXcomposite libXdamage
] ]
++ libintlOrEmpty ++ libintlOrEmpty
++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer

View File

@ -0,0 +1,37 @@
{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, makeWrapper
, perl, libxml2, IOStringy }:
stdenv.mkDerivation rec {
name = "hivex-${version}";
version = "1.3.11";
src = fetchurl {
url = "http://libguestfs.org/download/hivex/${name}.tar.gz";
sha256 = "0y3nqykwy58divxkv7gmsb067dasyfz3apbp437hl57rgrndyfn6";
};
patches = [ ./hivex-syms.patch ];
buildInputs = [
pkgconfig automake autoconf libtool makeWrapper
perl libxml2 IOStringy
];
preConfigure = ''
AUTOPOINT=true autoreconf --verbose --install
'';
postInstall = ''
for bin in $out/bin/*; do
wrapProgram "$bin" --prefix "PATH" : "$out/bin"
done
'';
meta = with stdenv.lib; {
description = "Windows registry hive extraction library";
license = licenses.lgpl2;
homepage = https://github.com/libguestfs/hivex;
maintainers = with maintainers; [offline];
platforms = with platforms; linux;
};
}

View File

@ -0,0 +1,13 @@
diff -rupN hivex-1.3.11/lib/Makefile.am hivex-1.3.11-new/lib/Makefile.am
--- hivex-1.3.11/lib/Makefile.am 2013-09-10 13:04:12.000000000 +0200
+++ hivex-1.3.11-new/lib/Makefile.am 2014-11-06 01:31:05.956106861 +0100
@@ -40,8 +40,7 @@ libhivex_la_SOURCES = \
libhivex_la_LIBADD = ../gnulib/lib/libgnu.la $(LTLIBOBJS)
libhivex_la_LDFLAGS = \
- -version-info 0:0:0 \
- $(VERSION_SCRIPT_FLAGS)$(srcdir)/hivex.syms \
+ -version-info 0:0:0
$(LTLIBICONV) \
$(LTLIBINTL) \
$(LTLIBTHREAD)

View File

@ -0,0 +1,55 @@
{ stdenv, fetchurl, pkgconfig, autoconf, automake, libtool, makeWrapper
, ncurses, cpio, gperf, perl, cdrkit, flex, bison, qemu, pcre, augeas, libxml2
, acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex
, gmp, readline, file, libintlperl, GetoptLong, SysVirt }:
stdenv.mkDerivation rec {
name = "libguestfs-${version}";
version = "1.29.5";
appliance = fetchurl {
url = "http://libguestfs.org/download/binaries/appliance/appliance-1.26.0.tar.xz";
sha256 = "1kzvgmy845kclvr93y6rdpss2q0p8yfqg14r0i1pi5r4zc68yvj4";
};
src = fetchurl {
url = "http://libguestfs.org/download/1.29-development/libguestfs-${version}.tar.gz";
sha256 = "1il0p3irwcyfdm83935hj4bvxsx0kdfn8dvqmg2lbzap17jvzj8h";
};
buildInputs = [
makeWrapper pkgconfig autoconf automake libtool ncurses cpio gperf perl
cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
systemd fuse yajl libvirt gmp readline file hivex libintlperl GetoptLong
SysVirt
];
configureFlags = "--disable-appliance --disable-daemon";
patches = [ ./libguestfs-syms.patch ];
NIX_CFLAGS_COMPILE="-I${libxml2}/include/libxml2/";
preConfigure = ''
AUTOPOINT=true LIBTOOLIZE=true autoreconf --verbose --install
'';
postInstall = ''
for bin in $out/bin/*; do
wrapProgram "$bin" \
--prefix "PATH" : "$out/bin:${hivex}/bin" \
--prefix "PERL5LIB" : "$PERL5LIB:$out/lib/perl5/site_perl"
done
'';
postFixup = ''
mkdir -p "$out/lib/guestfs"
tar -Jxvf "$appliance" --strip 1 -C "$out/lib/guestfs"
'';
meta = with stdenv.lib; {
description = "Tools for accessing and modifying virtual machine disk images";
license = licenses.gpl2;
homepage = http://libguestfs.org/;
maintainers = with maintainers; [offline];
platforms = with platforms; linux;
};
}

View File

@ -0,0 +1,13 @@
diff -rupN libguestfs-1.29.5/src/Makefile.am libguestfs-1.29.5-new/src/Makefile.am
--- libguestfs-1.29.5/src/Makefile.am 2014-11-05 16:43:08.000000000 +0100
+++ libguestfs-1.29.5-new/src/Makefile.am 2014-11-05 20:07:45.760730596 +0100
@@ -167,8 +167,7 @@ libguestfs_la_LIBADD = \
# Force libtool to name the library 'libguestfs.so.0.$(MAX_PROC_NR).0'.
# Include the version script to limit which symbols are exported.
libguestfs_la_LDFLAGS = \
- -version-info $(MAX_PROC_NR):0:$(MAX_PROC_NR) \
- $(VERSION_SCRIPT_FLAGS)$(srcdir)/libguestfs.syms
+ -version-info $(MAX_PROC_NR):0:$(MAX_PROC_NR)
if HAVE_FUSE
# XXX Unfortunately FUSE_CFLAGS defines _FILE_OFFSET_BITS=64.

View File

@ -0,0 +1,26 @@
{ stdenv, fetchurl, pkgconfig, libmnl }:
stdenv.mkDerivation rec {
name = "libnetfilter_cthelper-${version}";
version = "1.0.0";
src = fetchurl {
url = "http://netfilter.org/projects/libnetfilter_cthelper/files/${name}.tar.bz2";
sha256 = "07618e71c4d9a6b6b3dc1986540486ee310a9838ba754926c7d14a17d8fccf3d";
};
buildInputs = [ pkgconfig libmnl ];
meta = {
description = "Userspace library that provides the programming interface to the user-space connection tracking helper infrastructure.";
longDescription = ''
libnetfilter_cthelper is the userspace library that provides the programming interface
to the user-space helper infrastructure available since Linux kernel 3.6. With this
library, you register, configure, enable and disable user-space helpers. This library
is used by conntrack-tools.
'';
homepage = http://www.netfilter.org/projects/libnetfilter_cthelper/;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, fetchurl, pkgconfig, libmnl }:
stdenv.mkDerivation rec {
name = "libnetfilter_cttimeout-${version}";
version = "1.0.0";
src = fetchurl {
url = "http://netfilter.org/projects/libnetfilter_cttimeout/files/${name}.tar.bz2";
sha256 = "aeab12754f557cba3ce2950a2029963d817490df7edb49880008b34d7ff8feba";
};
buildInputs = [ pkgconfig libmnl ];
meta = {
description = "Userspace library that provides the programming interface to the connection tracking timeout infrastructure.";
longDescription = ''
libnetfilter_cttimeout is the userspace library that provides the programming
interface to the fine-grain connection tracking timeout infrastructure.
With this library, you can create, update and delete timeout policies that can
be attached to traffic flows. This library is used by conntrack-tools.
'';
homepage = http://netfilter.org/projects/libnetfilter_cttimeout/;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, libxml2, libxslt, curl }: { stdenv, fetchurl, libxml2, libxslt, curl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "raptor2-2.0.12"; # 2.0.9 misses a header and so fails liblrdf name = "raptor2-2.0.15";
src = fetchurl { src = fetchurl {
url = "http://download.librdf.org/source/${name}.tar.gz"; url = "http://download.librdf.org/source/${name}.tar.gz";
sha256 = "1644a1nnw5k6168v9gjfx1rcbij6ybjximd35a3zhcvyyijmb5di"; sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed";
}; };
buildInputs = [ libxml2 libxslt ]; buildInputs = [ libxml2 libxslt ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2 }: { stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "rasqal-0.9.31"; name = "rasqal-0.9.32";
src = fetchurl { src = fetchurl {
url = "http://download.librdf.org/source/${name}.tar.gz"; url = "http://download.librdf.org/source/${name}.tar.gz";
sha256 = "1vkzifr488i31vxdnykyf2aq87023vx4bag4d94b1rdhy74l7mr8"; sha256 = "eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -7,11 +7,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "redland-1.0.16"; name = "redland-1.0.17";
src = fetchurl { src = fetchurl {
url = "http://download.librdf.org/source/${name}.tar.gz"; url = "http://download.librdf.org/source/${name}.tar.gz";
sha256 = "1gcx0h5dxa3c4xhhjk3gr0708zjj0n6zpslvbjfi2qbf13y798nr"; sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
}; };
nativeBuildInputs = [ perl pkgconfig ]; nativeBuildInputs = [ perl pkgconfig ];

View File

@ -0,0 +1,26 @@
{stdenv, fetchurl, libtool}:
stdenv.mkDerivation {
name = "libtomcrypt-1.17";
src = fetchurl {
url = "http://libtom.org/files/crypt-1.17.tar.bz2";
sha256 = "e33b47d77a495091c8703175a25c8228aff043140b2554c08a3c3cd71f79d116";
};
buildInputs = [libtool];
preBuild = ''
makeFlagsArray=(LIBPATH=$out/lib INCPATH=$out/include \
DATAPATH=$out/share/doc/libtomcrypt/pdf \
INSTALL_GROUP=$(id -g) \
INSTALL_USER=$(id -u))
'';
makefile = "makefile.shared";
meta = {
homepage = "http://libtom.org/?page=features&newsitems=5&whatfile=crypt";
description = "LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit";
};
}

View File

@ -4,18 +4,8 @@
}: }:
let let
version = "0.26.5"; # even major numbers are stable version = "0.28.1"; # even major numbers are stable
sha256 = "1vni6kqpcx4jy9q8mhhxphfjych76xxmgs3jyg8yacbl6gxfazfy"; sha256 = "01pxjdbhvpxf00ncf8d9wxc8gkcqcxz59lwrpa151ah988inxkrc";
qtcairo_patches =
let qtcairo = fetchgit { # the version for poppler-0.24
url = "git://github.com/giddie/poppler-qt4-cairo-backend.git";
rev = "7b9e1ea763b579e635ee7614b10970b9635841cf";
sha256 = "0cdq0qw1sm6mxnrhmah4lfsd9wjlcdx86iyikwmjpwdmrkjk85r2";
}; in
[ "${qtcairo}/0001-Cairo-backend-added-to-Qt4-wrapper.patch"
"${qtcairo}/0002-Setting-default-Qt4-backend-to-Cairo.patch"
"${qtcairo}/0003-Forcing-subpixel-rendering-in-Cairo-backend.patch" ];
poppler_drv = nameSuff: merge: stdenv.mkDerivation (stdenv.lib.mergeAttrsByFuncDefaultsClean [ poppler_drv = nameSuff: merge: stdenv.mkDerivation (stdenv.lib.mergeAttrsByFuncDefaultsClean [
rec { rec {
@ -64,7 +54,6 @@ let
poppler_qt4 = poppler_drv "qt4" { poppler_qt4 = poppler_drv "qt4" {
propagatedBuildInputs = [ qt4 poppler_glib ]; propagatedBuildInputs = [ qt4 poppler_glib ];
patches = qtcairo_patches;
NIX_LDFLAGS = "-lpoppler"; NIX_LDFLAGS = "-lpoppler";
postConfigure = '' postConfigure = ''
mkdir -p "$out/lib/pkgconfig" mkdir -p "$out/lib/pkgconfig"

View File

@ -1,4 +1,4 @@
{stdenv, fetchgit, ocaml, findlib, ocaml_oasis, ocaml_data_notation, ocaml_optcomp}: {stdenv, fetchgit, ocaml, findlib, ocaml_oasis, ocaml_data_notation, ocaml_optcomp, camlp4}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocsigen-deriving"; name = "ocsigen-deriving";
@ -8,7 +8,7 @@ stdenv.mkDerivation {
sha256 = "2b3bf3f4972d0e6eaf075f7353ce482b776726e0cd04947a89b7156384ec0662"; sha256 = "2b3bf3f4972d0e6eaf075f7353ce482b776726e0cd04947a89b7156384ec0662";
}; };
buildInputs = [ocaml findlib ocaml_oasis ocaml_data_notation ocaml_optcomp]; buildInputs = [ocaml findlib ocaml_oasis ocaml_data_notation ocaml_optcomp camlp4];
configurePhase = '' configurePhase = ''
make setup-dev.exe make setup-dev.exe

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, ocaml, findlib}: {stdenv, fetchurl, ocaml, findlib, camlp4}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml-optcomp"; name = "ocaml-optcomp";
@ -9,13 +9,13 @@ stdenv.mkDerivation {
createFindlibDestdir = true; createFindlibDestdir = true;
buildInputs = [ocaml findlib]; buildInputs = [ocaml findlib camlp4];
meta = { meta = {
homepage = https://github.com/diml/optcomp; homepage = https://github.com/diml/optcomp;
description = "Optional compilation for OCaml with cpp-like directives"; description = "Optional compilation for OCaml with cpp-like directives";
license = "BSD"; license = stdenv.lib.licenses.bsd3;
platforms = ocaml.meta.platforms; platforms = ocaml.meta.platforms;
maintainers = [ maintainers = [
stdenv.lib.maintainers.gal_bolle stdenv.lib.maintainers.gal_bolle

View File

@ -0,0 +1,69 @@
{ stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2, libarchive
, useNcurses ? false, ncurses, useQt4 ? false, qt4
}:
with stdenv.lib;
let
os = stdenv.lib.optionalString;
majorVersion = "3.0";
minorVersion = "2";
version = "${majorVersion}.${minorVersion}";
in
stdenv.mkDerivation rec {
name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
inherit majorVersion;
src = fetchurl {
url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
sha256 = "0gk90mw7f93sgkrsrxqy2b6fm5j43yfw50xkrk0bxndvmlgackkb";
};
enableParallelBuilding = true;
patches =
[(fetchpatch { # see http://www.cmake.org/Bug/view.php?id=13959
name = "FindFreetype-2.5.patch";
url = "http://www.cmake.org/Bug/file_download.php?file_id=4660&type=bug";
sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
})] ++
# Don't search in non-Nix locations such as /usr, but do search in
# Nixpkgs' Glibc.
optional (stdenv ? glibc) ./search-path-3.0.patch ++
optional (stdenv ? cross) (fetchurl {
name = "fix-darwin-cross-compile.patch";
url = "http://public.kitware.com/Bug/file_download.php?"
+ "file_id=4981&type=bug";
sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
});
buildInputs = [ curl expat zlib bzip2 libarchive ]
++ optional useNcurses ncurses
++ optional useQt4 qt4;
CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
configureFlags =
"--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
+ stdenv.lib.optionalString useQt4 " --qt-gui";
setupHook = ./setup-hook.sh;
dontUseCmakeConfigure = true;
preConfigure = optionalString (stdenv ? glibc)
''
source $setupHook
fixCmakeFiles .
substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc}
'';
meta = {
homepage = http://www.cmake.org/;
description = "Cross-Platform Makefile Generator";
platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ urkud mornfall ];
};
}

View File

@ -0,0 +1,74 @@
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
index 20ee1d1..39834e6 100644
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -33,64 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
# search types.
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Standard
- /usr/local /usr /
-
- # CMake install location
- "${_CMAKE_INSTALL_DIR}"
- )
-if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
- list(APPEND CMAKE_SYSTEM_PREFIX_PATH
- # Project install destination.
- "${CMAKE_INSTALL_PREFIX}"
- )
- if(CMAKE_STAGING_PREFIX)
- list(APPEND CMAKE_SYSTEM_PREFIX_PATH
- # User-supplied staging prefix.
- "${CMAKE_STAGING_PREFIX}"
- )
- endif()
-endif()
-
-# List common include file locations not under the common prefixes.
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
- # Windows API on Cygwin
- /usr/include/w32api
-
- # X11
- /usr/X11R6/include /usr/include/X11
-
- # Other
- /usr/pkg/include
- /opt/csw/include /opt/include
- /usr/openwin/include
- )
-
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
- # Windows API on Cygwin
- /usr/lib/w32api
-
- # X11
- /usr/X11R6/lib /usr/lib/X11
-
- # Other
- /usr/pkg/lib
- /opt/csw/lib /opt/lib
- /usr/openwin/lib
- )
-
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
- /usr/pkg/bin
+ "@glibc@"
)
list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
+ "@glibc@/lib"
)
list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include
+ "@glibc@/include"
)
list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include
+ "@glibc@/include"
)
# Enable use of lib64 search path variants by default.

View File

@ -1,12 +1,12 @@
{ fetchurl, stdenv, zlib }: { fetchurl, stdenv, zlib }:
let version = "0.94"; in let version = "0.98"; in
stdenv.mkDerivation rec { stdenv.mkDerivation {
name = "fastjar-${version}"; name = "fastjar-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/fastjar/${version}/${name}.tar.gz"; url = "http://download.savannah.gnu.org/releases/fastjar/fastjar-${version}.tar.gz";
sha256 = "15bvhvn2fzpziynk4myg1wl70wxa5a6v65hkzlcgnzh1wg1py8as"; sha256 = "0iginbz2m15hcsa3x4y7v3mhk54gr1r7m3ghx0pg4n46vv2snmpi";
}; };
buildInputs = [ zlib ]; buildInputs = [ zlib ];
@ -22,10 +22,10 @@ let version = "0.94"; in
the stock `jar' program running without a JIT. the stock `jar' program running without a JIT.
''; '';
homepage = http://fastjar.sourceforge.net/; homepage = http://savannah.nongnu.org/projects/fastjar/;
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ ]; maintainers = [ ];
}; };
} }

View File

@ -34,7 +34,7 @@ stdenv.mkDerivation {
''; '';
makePhase = "make all"; makeFlags = "all";
installTargets = "install install-META"; installTargets = "install install-META";

View File

@ -0,0 +1,24 @@
{ stdenv, fetchurl, autoconf, libelf, gfortran, zlib, binutils }:
stdenv.mkDerivation rec {
version = "1.0.6";
name = "EZTrace-${version}";
src = fetchurl {
url = "http://gforge.inria.fr/frs/download.php/file/34082/eztrace-${version}.tar.gz";
sha256 = "06q5y9qmdn1h0wjmy28z6gwswskmph49j7simfqcqwv05gvd9svr";
};
# Goes past the rpl_malloc linking failure
preConfigure = ''
export ac_cv_func_malloc_0_nonnull=yes
'';
buildInputs = [ autoconf libelf gfortran zlib binutils ];
meta = {
description = "Tool that aims at generating automatically execution trace from HPC programs";
license = stdenv.lib.licenses.cecill-b;
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
};
}

View File

@ -1,4 +1,6 @@
{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http-parser, c-ares, pkgconfig, runCommand, which }: { stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http-parser, c-ares
, pkgconfig, runCommand, which, unstableVersion ? false
}:
let let
dtrace = runCommand "dtrace-native" {} '' dtrace = runCommand "dtrace-native" {} ''
@ -6,19 +8,20 @@ let
ln -sv /usr/sbin/dtrace $out/bin ln -sv /usr/sbin/dtrace $out/bin
''; '';
version = "0.10.32"; version = if unstableVersion then "0.11.13" else "0.10.32";
# !!! Should we also do shared libuv? # !!! Should we also do shared libuv?
deps = { deps = {
inherit openssl zlib; inherit openssl zlib;
cares = c-ares;
# disabled system v8 because v8 3.14 no longer receives security fixes # disabled system v8 because v8 3.14 no longer receives security fixes
# we fall back to nodejs' internal v8 copy which receives backports for now # we fall back to nodejs' internal v8 copy which receives backports for now
# inherit v8 # inherit v8
} // stdenv.lib.optionalAttrs (!stdenv.isDarwin) { } // (stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
inherit http-parser; inherit http-parser;
}; })
# Node 0.11 has patched c-ares, won't compile with system's version
// (if unstableVersion then {} else { cares = c-ares; });
sharedConfigureFlags = name: [ sharedConfigureFlags = name: [
"--shared-${name}" "--shared-${name}"
@ -32,7 +35,9 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz"; url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
sha256 = "040g0gh2nl593ml1fcqp68vxa5kj7aiw1nqirda1c69d7l70s4n2"; sha256 = if unstableVersion
then "1642zj3sajhqflfhb8fsvy84w9mm85wagm8w8300gydd2q6fkmhm"
else "040g0gh2nl593ml1fcqp68vxa5kj7aiw1nqirda1c69d7l70s4n2";
}; };
configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps); configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps);

View File

@ -1,24 +1,53 @@
{ stdenv, fetchurl, sqlite, lua, which, zlib, pkgconfig, dejavu_fonts, { stdenv, fetchurl, which, sqlite, lua5_1, perl, zlib, pkgconfig, ncurses
libpng, perl, SDL, SDL_image, ncurses, mesa}: , dejavu_fonts, libpng, SDL, SDL_image, mesa, freetype
, tileMode ? true
}:
let version = "0.15.2";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "crawl-0.14.1"; name = "crawl-${version}" + (if tileMode then "-tiles" else "");
src = fetchurl { src = fetchurl {
url = "http://downloads.sourceforge.net/project/crawl-ref/Stone%20Soup/0.14.1/stone_soup-0.14.1-nodeps.tar.xz"; url = "mirror://sourceforge/crawl-ref/Stone%20Soup/${version}/stone_soup-${version}-nodeps.tar.xz";
sha256 = "91726d0224b93ba26b5d4bd3762bc5aabe1f02974ea6c937be89dc6c6ab7a4dd"; sha256 = "1qi1g8w0sxmwrv96hnay20gpwp1xn2xcq1cw9iwn1yq112484fp9";
}; };
patches = [ ./makefile_fonts.patch ./makefile_sqlite.patch patches = [ ./makefile_fonts.patch ./makefile_sqlite.patch ];
./makefile_rltiles.patch ./makefile_rltiles2.patch
./makefile_misc.patch ./makefile_prefix.patch
];
buildInputs = [stdenv pkgconfig lua zlib sqlite which libpng perl SDL nativeBuildInputs = [ pkgconfig which perl ];
dejavu_fonts SDL_image ncurses mesa];
preBuild = "cd source"; # Still unstable with luajit
buildInputs = [ lua5_1 zlib sqlite ncurses ]
++ stdenv.lib.optionals tileMode
[ libpng SDL SDL_image freetype mesa ];
makeFlags = "TILES=y"; preBuild = ''
cd source
# Related to issue #1963
sed -i 's/-fuse-ld=gold//g' Makefile
for i in util/*.pl; do
patchShebangs $i
done
patchShebangs util/gen-mi-enum
'';
inherit dejavu_fonts sqlite SDL_image SDL; makeFlags = [ "prefix=$(out)" "FORCE_CC=gcc" "FORCE_CXX=g++" "HOSTCXX=g++"
"SAVEDIR=~/.crawl" "sqlite=${sqlite}" ]
++ stdenv.lib.optionals tileMode [ "TILES=y" "dejavu_fonts=${dejavu_fonts}" ];
postInstall = if tileMode then "mv $out/bin/crawl $out/bin/crawl-tiles" else "";
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Open-source, single-player, role-playing roguelike game";
longDescription = ''
Open-source, single-player, role-playing roguelike game of exploration and
treasure-hunting in dungeons filled with dangerous and unfriendly monsters
in a quest to rescue the mystifyingly fabulous Orb of Zot.
'';
platforms = platforms.linux;
license = with licenses; [ gpl2Plus bsd2 bsd3 mit licenses.zlib cc0 ];
maintainers = [ maintainers.abbradar ];
};
} }

View File

@ -1,39 +0,0 @@
--- old/source/Makefile 2014-05-05 23:22:48.051952484 +0200
+++ new/source/Makefile 2014-05-05 23:20:46.576617833 +0200
@@ -71,6 +71,9 @@
GAME = crawl
+
+CFLAGS := $(NIX_CFLAGS_COMPILE)
+
# Disable GNU Make implicit rules and variables. Leaving them enabled will slow
# down MinGW and Cygwin builds by a very VERY noticeable degree. Besides, we have
# _explicit_ rules defined for everything. So we don't need them.
@@ -979,7 +983,7 @@
ifdef ANDROID
CFLAGS := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN) $(CFLAGS)
else
-CFLAGS := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN)
+CFLAGS := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN) $(CFLAGS)
endif
CFLAGS_L := $(CFOPTIMIZE_L) $(DEFINES_L) $(CFWARN_L) $(INCLUDES_L) $(CFOTHERS_L)
ALL_CFLAGS := $(CFLAGS) $(CFLAGS_L)
@@ -1392,7 +1396,7 @@
$(RM) -r $(DOXYGEN_HTML_GEN)
$(GAME): $(OBJECTS) $(EXTRA_OBJECTS) $(CONTRIB_LIBS) dat/dlua/tags.lua
- +$(QUIET_LINK)$(CXX) $(LDFLAGS) $(EXTRA_OBJECTS) $(OBJECTS) -o $(GAME) $(LIBS)
+ g++ $(LDFLAGS) $(EXTRA_OBJECTS) $(OBJECTS) -o $(GAME) $(LIBS)
debug: all
debug-lite: all
@@ -1492,7 +1496,7 @@
$(QUIET_GEN)util/gen-luatags.pl
mi-enum.h: mon-info.h util/gen-mi-enum
- $(QUIET_GEN)util/gen-mi-enum
+ perl util/gen-mi-enum
$(RLTILES)/dc-unrand.txt: art-data.h

View File

@ -1,11 +0,0 @@
--- old/source/Makefile 2014-05-06 08:52:24.752163702 +0200
+++ new/source/Makefile 2014-05-06 09:08:01.992018819 +0200
@@ -344,7 +344,7 @@
endif
chroot_prefix :=
-prefix :=
+prefix := $(out)
ifeq ($(patsubst %/local,%,$(patsubst %/,%,$(prefix))),/usr)
FHS := yes

View File

@ -1,21 +0,0 @@
--- old/source/rltiles/Makefile 2014-04-17 10:17:31.596400123 +0000
+++ new/source/rltiles/Makefile 2014-04-17 14:36:07.263108690 +0000
@@ -20,7 +20,8 @@
ifdef TILES
ifndef CONTRIB_SDL
- SDL_CFLAGS := $(shell sdl-config --cflags 2> /dev/null || echo "-I../contrib/install/$(ARCH)/include/SDL")
+ SDL_CFLAGS := $(shell sdl-config --cflags 2> /dev/null)
+ SDL_IMG_CFLAGS := $(shell pkg-config --cflags-only-I SDL_image 2> /dev/null)
SDL_LDFLAGS := $(shell sdl-config --libs 2> /dev/null && echo "-lSDL_image" || echo "../contrib/install/$(ARCH)/lib/libSDL.a ../contrib/install/$(ARCH)/lib/libSDLmain.a ../contrib/install/$(ARCH)/lib/libSDL_image.a")
else
SDL_CFLAGS := -I../contrib/install/$(ARCH)/include/SDL
@@ -35,7 +36,7 @@
PNG_LIB := ../contrib/install/$(ARCH)/lib/libpng.a ../contrib/install/$(ARCH)/lib/libz.a
endif
- CFLAGS += $(SDL_CFLAGS) $(PNG_INCLUDE)
+ CFLAGS += $(SDL_CFLAGS) $(SDL_IMG_CFLAGS) $(PNG_INCLUDE) -I$(SDL_image)/include -I$(SDL)/include
LDFLAGS += $(SDL_LDFLAGS) $(PNG_LIB)
CFLAGS += -DUSE_TILE

View File

@ -1,10 +0,0 @@
--- old/source/rltiles/Makefile 2014-05-05 23:22:48.054952469 +0200
+++ new/source/rltiles/Makefile 2014-05-05 22:45:07.742667726 +0200
@@ -142,6 +128,6 @@
$(QUIET_HOSTCXX)$(HOSTCXX) $(CFLAGS) -MMD -c $< -o $@
$(TILEGEN): $(OBJECTS)
- $(QUIET_HOSTLINK)$(HOSTCXX) $(OBJECTS) -o $@ $(LDFLAGS)
+ g++ $(OBJECTS) -o $@ $(LDFLAGS)
.PHONY: all clean distclean

View File

@ -1,19 +0,0 @@
--- old/source/Makefile 2014-04-14 13:00:22.331058910 +0000
+++ new/source/Makefile 2014-04-14 13:02:11.102204544 +0000
@@ -672,6 +672,7 @@
FREETYPE_LDFLAGS := $(shell $(PKGCONFIG) freetype2 --libs-only-L) $(shell $(PKGCONFIG) freetype2 --libs-only-l)
SDL_INCLUDE := $(shell $(PKGCONFIG) sdl --cflags-only-I)
+SDL_IMG_INCLUDE := $(shell $(PKGCONFIG) SDL_image --cflags-only-I)
SDL_CFLAGS := $(shell $(PKGCONFIG) sdl --cflags-only-other)
SDL_LDFLAGS := $(shell $(PKGCONFIG) sdl --libs-only-L) $(shell $(PKGCONFIG) sdl --libs-only-l)
@@ -694,7 +695,7 @@
endif
DEFINES_L += $(PNG_CFLAGS) $(FREETYPE_CFLAGS) $(SDL_CFLAGS)
-INCLUDES_L += $(PNG_INCLUDE) $(FREETYPE_INCLUDE) $(SDL_INCLUDE)
+INCLUDES_L += $(PNG_INCLUDE) $(FREETYPE_INCLUDE) $(SDL_INCLUDE) $(SDL_IMG_INCLUDE)
endif # TILES

View File

@ -0,0 +1,26 @@
{stdenv, fetchurl, SDL, lua5_1, pkgconfig, SDL_mixer, SDL_image, SDL_ttf}:
stdenv.mkDerivation rec {
name = "fish-fillets-ng-${version}";
version = "1.0.1";
src = fetchurl {
url = "mirror://sourceforge/fillets/fillets-ng-${version}.tar.gz";
sha256 = "1nljp75aqqb35qq3x7abhs2kp69vjcj0h1vxcpdyn2yn2nalv6ij";
};
data = fetchurl {
url = "mirror://sourceforge/fillets/fillets-ng-data-${version}.tar.gz";
sha256 = "169p0yqh2gxvhdilvjc2ld8aap7lv2nhkhkg4i1hlmgc6pxpkjgh";
};
buildInputs = [SDL lua5_1 pkgconfig SDL_mixer SDL_image SDL_ttf];
postInstall=''
mkdir -p "$out/share/games/fillets-ng/"
tar -xf ${data} -C "$out/share/games/fillets-ng/" --strip-components=1
'';
meta = {
inherit version;
description = ''A puzzle game'';
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
homepage = "http://fillets.sourceforge.net/";
};
}

View File

@ -1,20 +1,24 @@
{ stdenv, fetchurl, pkgconfig, intltool, curl, gtk, gtkdatabox }: { stdenv, fetchurl, makeWrapper, pkgconfig, intltool, curl, gtk3 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "klavaro-2.00"; name = "klavaro-3.01";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/klavaro/${name}.tar.bz2"; url = "mirror://sourceforge/klavaro/${name}.tar.bz2";
sha256 = "1w94r7r132sg7554xhcgvymxxxgfas99lkgv6j3nmxa8m2fzhwlq"; sha256 = "11ay04lg362bh2di6y5r9g58bgmgbpwwnrbsa7bda4wiq8idawgd";
}; };
buildInputs = [ pkgconfig intltool curl gtk gtkdatabox ]; buildInputs = [ makeWrapper pkgconfig intltool curl gtk3 ];
postInstall = ''
wrapProgram $out/bin/klavaro \
--prefix LD_LIBRARY_PATH : $out/lib
'';
meta = { meta = {
description = "Just another free touch typing tutor program"; description = "Just another free touch typing tutor program";
homepage = http://klavaro.sourceforge.net/;
license = stdenv.lib.licenses.gpl3Plus; license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -0,0 +1,24 @@
{ stdenv, udev, ncurses, pkgconfig, fetchurl, bluez }:
stdenv.mkDerivation rec {
name = "xwiimote";
src = fetchurl {
url = "https://github.com/dvdhrm/xwiimote/releases/download/xwiimote-2/xwiimote-2.tar.xz";
sha256 = "1g9cbhblll47l300zr999xr51x2g98y49l222f77fhswd12kjzhd";
};
buildInputs = [ udev ncurses pkgconfig bluez ];
configureFlags = "--with-doxygen=no";
meta = {
homepage = http://dvdhrm.github.io/xwiimote;
description = "Userspace utilities to control connected Nintendo Wii Remotes";
platforms = stdenv.lib.platforms.linux;
};
postInstallPhase = ''
mkdir -p "$out/etc/X11/xorg.conf.d/"
cp "res/50-xorg-fix-xwiimote.conf" "$out/etc/X11/xorg.conf.d/50-fix-xwiimote.conf"
'';
}

View File

@ -9,7 +9,7 @@ let
stdenv.lib.makeOverridable stdenv.mkDerivation rec { stdenv.lib.makeOverridable stdenv.mkDerivation rec {
name = "libretro-${core}-${version}"; name = "libretro-${core}-${version}";
version = "20141009"; version = "20141109";
inherit src; inherit src;
buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or []; buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
@ -53,8 +53,8 @@ in
core = "4do"; core = "4do";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "700e5c2b28252ed7d3fb086ab016b3b964a5030a"; rev = "be95d71e0a7f9cd5f378b9a9793ef38a16d81f26";
sha256 = "0wxiapbp6i3r9ir75xgmah0jhrfvy9jgqr6i22grgmnga1qv5pcf"; sha256 = "0s8fs42xa01c2qaznhnlvi4syafgyzrw8lzz8l5lipyrzrawj9dm";
}; };
description = "Port of 4DO/libfreedo to libretro"; description = "Port of 4DO/libfreedo to libretro";
}).override { }).override {
@ -65,8 +65,8 @@ in
core = "bsnes-mercury"; core = "bsnes-mercury";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "5fa7c035a604cd207c5833af0fdd55d7cf68acb0"; rev = "41e0425b5e13be15c46be847ea00c757f241ab58";
sha256 = "19drxpspid0y3wi3zp3ls4jlhx1ndqmr51jici7w2vsajk9x9dyg"; sha256 = "0i6lvf6m702pam8jngg9arcysmwm6g4cv83n987h9c0ny3lf0n90";
}; };
description = "Fork of bsnes with HLE DSP emulation restored"; description = "Fork of bsnes with HLE DSP emulation restored";
}).override { }).override {
@ -77,8 +77,8 @@ in
core = "desmume"; core = "desmume";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "57bbabfe71fb8e131fa14ab1504f1959937b8ce5"; rev = "4aefde628b35cda78a2bdf47f2f0a565c0a386a0";
sha256 = "19kbl361ggzhmmc5alsfwq9gcl0zc9zhz0nx562l6k2lj7fwwr0g"; sha256 = "0rkf4vdjlqj850b28drjm4w3vq0jj02ipsbfhpr23i79n4r2pi5a";
}; };
description = "libretro wrapper for desmume NDS emulator"; description = "libretro wrapper for desmume NDS emulator";
}).override { }).override {
@ -89,8 +89,8 @@ in
core = "fceumm"; core = "fceumm";
src = fetchRetro { src = fetchRetro {
repo = "libretro-" + core; repo = "libretro-" + core;
rev = "1b27f5abafa4ace43badebea82a8374be3a5a96b"; rev = "1655de8b6ca8ad36287e04ac6179e6618521d41f";
sha256 = "04v0in7nazmkfsbvl0wn5klnz4f8rpjsar1v3c07j2qrma42k60w"; sha256 = "0v4kais1qhbc0nxaarc99cx3vnc5sgr2yp4ajh97wb90srsdkh46";
}; };
description = "FCEUmm libretro port"; description = "FCEUmm libretro port";
}; };
@ -99,8 +99,8 @@ in
core = "fba"; core = "fba";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "21a78df085a0d964828c5c0940c03e656e2ad808"; rev = "586ea5e4a1bd61f3d209dfbf18bca66b1bbb92cc";
sha256 = "01ycszinral19ni22a3x8afiz23y9xw6idzx9a22xnc6zqvj0fjm"; sha256 = "0cqaqxirf5l1i4fwcdsjd7nnzb3xgfr5k9vdlj9y9k4viffd6drd";
}; };
description = "Port of Final Burn Alpha to libretro"; description = "Port of Final Burn Alpha to libretro";
}).override { }).override {
@ -115,8 +115,8 @@ in
core = "gambatte"; core = "gambatte";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "6f3c97d86483368ec446b6b08ae21b1cb644312c"; rev = "3283b2943a9164d3bb88bd62a20f74e33fffc058";
sha256 = "19kbisbl5lqxfsaff4knp2rrl17af21c1kgccxhgp5liqnqk92k5"; sha256 = "0yl03zrb09n1w5ija38z7vi7vvaqdmy65v397g3bfm99rrl8g2kw";
}; };
description = "Gambatte libretro port"; description = "Gambatte libretro port";
}).override { }).override {
@ -127,8 +127,8 @@ in
core = "genesis-plus-gx"; core = "genesis-plus-gx";
src = fetchRetro { src = fetchRetro {
repo = "Genesis-Plus-GX"; repo = "Genesis-Plus-GX";
rev = "d634da83d29d39d293c1aba3c14f6259e13e525e"; rev = "67d86709a279422f2c3c769ac910682df29397db";
sha256 = "0mhn2h2wr2kh5rgda5rj7xkmg4b6glg4rnd0f1ak6rp3sh8dfhv1"; sha256 = "18m03yjakjg2hcasrjqyz54r55vrn8wwq768zhk6x8gdnnhqc1hy";
}; };
description = "Enhanced Genesis Plus libretro port"; description = "Enhanced Genesis Plus libretro port";
}; };
@ -137,8 +137,8 @@ in
core = "mednafen-pce-fast"; core = "mednafen-pce-fast";
src = fetchRetro { src = fetchRetro {
repo = "beetle-pce-fast-libretro"; repo = "beetle-pce-fast-libretro";
rev = "bef70147f73e8a4b5e8a9d535fc59a597843d657"; rev = "a26abf39887bb994f9b3e7645e46e6455e992729";
sha256 = "0kkj5g5kajz4mx5xsixd2f6qnx3p68p0px2m0i8045yih50gsilp"; sha256 = "0iws9fyw7m6wpr9vly66nzrfmiafrb96bnxidb1mdqgnldkwh8zi";
}; };
description = "Port of Mednafen's PC Engine core to libretro"; description = "Port of Mednafen's PC Engine core to libretro";
}).override { }).override {
@ -149,8 +149,8 @@ in
core = "mupen64plus"; core = "mupen64plus";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "021ab383e2ac44533e9babd3e7f5fed97a988225"; rev = "fc97025211c82e4298034b9a7fe9f0a074c9eef7";
sha256 = "13hph19b24bbp9d6s8zm4a939dhy96n2fbkcknmsp473kfnm9mf6"; sha256 = "04dq7rygfk47bix18a12cajb2k1k3absk5jmykcbg8znvcnlf4pi";
}; };
description = "Libretro port of Mupen64 Plus, GL only"; description = "Libretro port of Mupen64 Plus, GL only";
@ -163,8 +163,8 @@ in
core = "nestopia"; core = "nestopia";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "3468f3c16c80935e8c4078a5771e9379a981989c"; rev = "d3d9ed1b3f8e32e8cbf90e72e8ed37d9fe1624c3";
sha256 = "1k9kd25z4hyna48gwxb8rkm9q402xzhw18wmgbzkf8y6zqxn50j0"; sha256 = "081dhxgr05m1warqga3fxmdnzyaa9c9bjw1b6glbsdgbl9iq4wq9";
}; };
description = "nestopia undead libretro port"; description = "nestopia undead libretro port";
}).override { }).override {
@ -175,8 +175,8 @@ in
core = "picodrive"; core = "picodrive";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "3f4b091194d29dd90a3cb88fd6520f677ffece65"; rev = "54c1a1e8c284ede3e0da887ec4ce088f78f7fc30";
sha256 = "0jb89g5xmq7nzx4gm1mam1hym20fcyzp95k9as0k2gnwxrd4ymxv"; sha256 = "0qd3daxgq5jdp46gff6ih65nnksil8j26v0wdf798mignknq4p44";
}; };
description = "Fast MegaDrive/MegaCD/32X emulator"; description = "Fast MegaDrive/MegaCD/32X emulator";
@ -190,8 +190,8 @@ in
core = "prboom"; core = "prboom";
src = fetchRetro { src = fetchRetro {
repo = "libretro-" + core; repo = "libretro-" + core;
rev = "7c5e74a8f8a973278d46604f2816aae538e9cce7"; rev = "5adbe263ce9771c8c5e007f94cfbb193979158ac";
sha256 = "1mkxc7zcyc2nj7spsrasbnz6k182g8i1snahbbwj4qi41db6cjc9"; sha256 = "0yj8fy3ax52k9kmsf70g57dh889m80hjc3wqz9f3fp6xyxzpvz1j";
}; };
description = "Prboom libretro port"; description = "Prboom libretro port";
}).override { }).override {
@ -202,11 +202,10 @@ in
core = "ppsspp"; core = "ppsspp";
src = fetchRetro { src = fetchRetro {
repo = "libretro-" + core; repo = "libretro-" + core;
rev = "af5050be6b421e08be42d4edf0015693ceba1f06"; rev = "a4956befd41f388ebfc28ea555e0f9325b76c1d3";
sha256 = "0h4crdq6n6npbv6sidp3bgz5g2z3ws6ikg37f0amshh3rj36p7q0"; sha256 = "0v91i6257b7rpdlylcswcxfkan6knswb166ia5y4yr8pldc1kbj6";
}; };
description = "ppsspp libretro port"; description = "ppsspp libretro port";
extraBuildInputs = [ mesa ffmpeg ]; extraBuildInputs = [ mesa ffmpeg ];
}).override { }).override {
buildPhase = "cd libretro && make"; buildPhase = "cd libretro && make";
@ -216,8 +215,8 @@ in
core = "quicknes"; core = "quicknes";
src = fetchRetro { src = fetchRetro {
repo = "QuickNES_Core"; repo = "QuickNES_Core";
rev = "3e8935cc937d3bf64dc44b63cef5d584ec2673fa"; rev = "06f83f603c52ad8fae197beca6fdf241ed338dc3";
sha256 = "003hrxkskrkqv5h39p4gd9mg2k3ki5l1cmm0kxq7c454yliljjxc"; sha256 = "065yy5jm0b43xdn0dswp06h2b11dzvbyrsyjvigrax5mjy5mi6wd";
}; };
description = "QuickNES libretro port"; description = "QuickNES libretro port";
}).override { }).override {
@ -228,8 +227,8 @@ in
core = "scummvm"; core = "scummvm";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "0a703f6546c5a0d8ef835aa624681f7877c36df6"; rev = "7dc8e24f1759dfca852014451dfca9103d8b1f04";
sha256 = "1v1a6zvc1sjvvnvcarcmdym7qwyqyvl4b6ianjgzbpaxwmw457g0"; sha256 = "12ya5g6d1bpsf332w5h49jjcxbr3dbjqiaddd3p7s6gzlyzzg1xf";
}; };
description = "Libretro port of ScummVM"; description = "Libretro port of ScummVM";
@ -242,8 +241,8 @@ in
core = "snes9x"; core = "snes9x";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "0724786eb2ed1436946a2e2b42c77cddf8412a63"; rev = "e57447bbfd5daf62a00e1a31cfa400b419fe7963";
sha256 = "15wnq12mkfz766dzafhlmmh8a8b463ybssj84fhijj8c1x75scd1"; sha256 = "06p7m8whazy9gih968f4nzdsp66n1fg6q3g2lbwwzj6izlli5cyg";
}; };
description = " Port of SNES9x git to libretro"; description = " Port of SNES9x git to libretro";
}).override { }).override {
@ -254,8 +253,8 @@ in
core = "snes9x-next"; core = "snes9x-next";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "c701a1e4357bc80e46cae5bdfa0d359bcbce23ad"; rev = "8fd34aeadf421c758702d820dedb58a4d10b01a2";
sha256 = "0410dj7rxcadvyghc1yqwqidn1g3scm52i3gb9d8haymg9q1zbjs"; sha256 = "0vwg6qkpdqzkb4cvk50czl5g69qg8n5s2fhi9rvaq383ngv6sdsh";
}; };
description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro"; description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
}; };
@ -276,8 +275,8 @@ in
core = "vbam"; core = "vbam";
src = fetchRetro { src = fetchRetro {
repo = core + "-libretro"; repo = core + "-libretro";
rev = "26a030ce01a6473d35bac2a6db4f0a360989d72f"; rev = "9b851867cffab8416edd89d8fe92bbad7f82810e";
sha256 = "065gljk2nijnjg2c2zbnpg25s5zam7x0z8lq7kbz9zb87sp73ha1"; sha256 = "1n6wgxwcg7xm3vy0xigr1qbjkyxj5b2ih1pqpifjx83c47a9m9ka";
}; };
description = "vanilla VBA-M libretro port"; description = "vanilla VBA-M libretro port";
}).override { }).override {
@ -288,8 +287,8 @@ in
core = "vba-next"; core = "vba-next";
src = fetchRetro { src = fetchRetro {
repo = core; repo = core;
rev = "136fe2020e941f27036754dd0524bfec750025dc"; rev = "97a74706f57a9d01c02cb764b5140185308f80c8";
sha256 = "17bvx2wp2r5lkgffvqrirhgic1bfy39m7c1v74z245hg6z1jvqcf"; sha256 = "0m80bd843pvagbggi5xxnwljaijl97lcqml76n62zx4rzx8256y7";
}; };
description = "VBA-M libretro port with modifications for speed"; description = "VBA-M libretro port with modifications for speed";
}; };

View File

@ -4,12 +4,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "retroarch-bare-${version}"; name = "retroarch-bare-${version}";
version = "20141009"; version = "20141109";
src = fetchgit { src = fetchgit {
url = git://github.com/libretro/RetroArch.git; url = git://github.com/libretro/RetroArch.git;
rev = "72f26dfb49f236294c52eb9cb4c9d5c15da4837a"; rev = "88b21b87e7554860f4b252bc59ac99fa4032393e";
sha256 = "0dn9fh1frnbxykhw3q229ck50a800p8r4va8nssfcdxh8cys385w"; sha256 = "0w2diklpv7wl6bmdw4msn90qn7f650q789crdawn63nbqg0rj8a2";
}; };
buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python, { stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python,
pythonPackages, pythonDBus, readline, libsndfile, udev, libical, pythonPackages, pythonDBus, readline, libsndfile, udev, libical,
systemd }: systemd, enableWiimote ? false }:
assert stdenv.isLinux; assert stdenv.isLinux;
@ -38,7 +38,8 @@ stdenv.mkDerivation rec {
"--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
"--with-systemduserunitdir=$(out)/etc/systemd/user" "--with-systemduserunitdir=$(out)/etc/systemd/user"
"--with-udevdir=$(out)/lib/udev" "--with-udevdir=$(out)/lib/udev"
]; ] ++
stdenv.lib.optional enableWiimote [ "--enable-wiimote" ];
# Work around `make install' trying to create /var/lib/bluetooth. # Work around `make install' trying to create /var/lib/bluetooth.
installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth"; installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth";

View File

@ -0,0 +1,24 @@
{ fetchurl, stdenv, flex, bison, pkgconfig, libmnl, libnfnetlink
, libnetfilter_conntrack, libnetfilter_queue, libnetfilter_cttimeout
, libnetfilter_cthelper }:
stdenv.mkDerivation rec {
name = "conntrack-tools-${version}";
version = "1.4.2";
src = fetchurl {
url = "http://www.netfilter.org/projects/conntrack-tools/files/${name}.tar.bz2";
sha256 = "e5c423dc077f9ca8767eaa6cf40446943905711c6a8fe27f9cc1977d4d6aa11e";
};
buildInputs = [ libmnl libnfnetlink libnetfilter_conntrack libnetfilter_queue
libnetfilter_cttimeout libnetfilter_cthelper ];
nativeBuildInputs = [ flex bison pkgconfig ];
meta = with stdenv.lib; {
homepage = http://conntrack-tools.netfilter.org/;
description = "Connection tracking userspace tools";
platforms = platforms.linux;
license = licenses.gpl2Plus;
};
}

View File

@ -61,16 +61,16 @@ rec {
grsecurity_stable = grsecPatch grsecurity_stable = grsecPatch
{ kversion = "3.14.23"; { kversion = "3.14.23";
revision = "201410312212"; revision = "201411062033";
branch = "stable"; branch = "stable";
sha256 = "19ghha8khr03jwjp2ax1fi9hg7535gwnyv0in1dr4mz5cy23scsm"; sha256 = "1y1z4fygchhhk64s1zwhk5y5vvrsaldp3xmqfbx2ddsmcbzb4xyl";
}; };
grsecurity_unstable = grsecPatch grsecurity_unstable = grsecPatch
{ kversion = "3.17.2"; { kversion = "3.17.2";
revision = "201410312213"; revision = "201411062034";
branch = "test"; branch = "test";
sha256 = "0jk0f6mn74hcx98jpdivgs5a336ng1r41fhhdjbyv4i733hid25a"; sha256 = "0snhry47awxs68l2rkk10a7cwcwsmn547ywdcgj874x90a7yj63q";
}; };
grsec_fix_path = grsec_fix_path =

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
version = "0.9";
name = "light-${version}";
src = fetchurl {
url = "https://github.com/haikarainen/light/archive/v${version}.tar.gz";
sha256 = "1dnzkkg307izvw76gvzsl2vpxd2a1grxg5h82ix505rb9nnmn0d6";
};
installPhase = "mkdir -p $out/bin; cp light $out/bin/";
meta = {
description = "GNU/Linux application to control backlights";
homepage = https://haikarainen.github.io/light/;
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,8 +0,0 @@
source $stdenv/setup
tar xfvz $src
cd tomcat-connectors-*-src/native
./configure --with-apxs=$apacheHttpd/bin/apxs --with-java-home=$jdk
make
mkdir -p $out/modules
cp apache-2.0/mod_jk.so $out/modules

View File

@ -1,14 +1,21 @@
{stdenv, fetchurl, apacheHttpd, jdk}: { stdenv, fetchurl, apacheHttpd, jdk }:
stdenv.mkDerivation { stdenv.mkDerivation rec {
name = "tomcat-connectors-1.2.32"; name = "tomcat-connectors-1.2.40";
builder = ./builder.sh;
src = fetchurl { src = fetchurl {
url = http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.32-src.tar.gz; url = "http://www.apache.si/tomcat/tomcat-connectors/jk/${name}-src.tar.gz";
sha256 = "1dim62warzy1hqvc7cvnqsbq475sr6vpgwd6gfmddmkgw155saji"; sha256 = "0pbh6s19ba5k2kahiiqgx8lz8v4fjllzn0w6hjd08x7z9my38pl9";
}; };
inherit apacheHttpd; configureFlags = "--with-apxs=${apacheHttpd}/bin/apxs --with-java-home=${jdk}";
buildInputs = [apacheHttpd jdk];
sourceRoot = "${name}-src/native";
installPhase = ''
mkdir -p $out/modules
cp apache-2.0/mod_jk.so $out/modules
'';
buildInputs = [ apacheHttpd jdk ];
} }

View File

@ -1,13 +1,14 @@
{stdenv, fetchurl, ncurses}: { stdenv, fetchurl, ncurses, glibc }:
stdenv.mkDerivation {
name = "kermit-8.0.211"; stdenv.mkDerivation rec {
name = "kermit-9.0.302";
src = fetchurl { src = fetchurl {
url = ftp://kermit.columbia.edu/kermit/archives/cku211.tar.gz; url = ftp://ftp.kermitproject.org/kermit/archives/cku302.tar.gz;
sha256 = "14xsmdlsk2pgsp51l7lxwncgljwvgm446a4m6nk488shj94cvrrr"; sha256 = "0487mh6s99ijqf1pfmbm302pa5i4pzmm8s439hdl1ffs5g8jqpqd";
}; };
buildInputs = [ ncurses ]; buildInputs = [ ncurses glibc ];
unpackPhase = '' unpackPhase = ''
mkdir -p src mkdir -p src
@ -17,19 +18,21 @@ stdenv.mkDerivation {
patchPhase = '' patchPhase = ''
sed -i -e 's@-I/usr/include/ncurses@@' \ sed -i -e 's@-I/usr/include/ncurses@@' \
-e 's@-lncurses@-lncurses -lresolv -lcrypt@' \
-e 's@/usr/local@'"$out"@ makefile -e 's@/usr/local@'"$out"@ makefile
''; '';
buildPhase = "make -f makefile linux";
buildPhase = "make -f makefile linux LNKFLAGS='-lcrypt -lresolv'";
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
mkdir -p $out/man/man1 mkdir -p $out/man/man1
make -f makefile install make -f makefile install
''; '';
meta = { meta = with stdenv.lib; {
homepage = "http://www.columbia.edu/kermit/ck80.html"; homepage = http://www.kermitproject.org/ck90.html;
description = "Portable Scriptable Network and Serial Communication Software"; description = "Portable Scriptable Network and Serial Communication Software";
license = "free non-commercial"; #Kermit http://www.columbia.edu/kermit/ckfaq.html#license license = licenses.bsd3;
maintainers = with maintainers; [ pSub ];
}; };
} }

View File

@ -14,6 +14,9 @@ stdenv.mkDerivation {
sha256 = "11z8dk7byxh9pfv7mhfvnk465qln1g7z8c8f822623d59lwjpbs1"; sha256 = "11z8dk7byxh9pfv7mhfvnk465qln1g7z8c8f822623d59lwjpbs1";
}; };
# Make the NixOS service work a little better.
patches = [ ./makekeys-sigpipe.patch ];
buildInputs = [ which python27 nodejs ] ++ buildInputs = [ which python27 nodejs ] ++
# for flock # for flock
stdenv.lib.optional stdenv.isLinux [ utillinux ]; stdenv.lib.optional stdenv.isLinux [ utillinux ];

View File

@ -0,0 +1,29 @@
diff --git a/contrib/c/makekeys.c b/contrib/c/makekeys.c
index 29582f1..555cf85 100644
--- a/contrib/c/makekeys.c
+++ b/contrib/c/makekeys.c
@@ -21,6 +21,7 @@
#include "crypto_scalarmult_curve25519.h"
+#include <signal.h>
#include <stdio.h>
int main(int argc, char** argv)
@@ -35,6 +36,8 @@ int main(int argc, char** argv)
uint8_t hexPrivateKey[65];
uint8_t printedIp[40];
+ signal(SIGPIPE,SIG_DFL);
+
for (;;) {
Random_bytes(rand, privateKey, 32);
crypto_scalarmult_curve25519_base(publicKey, privateKey);
@@ -43,6 +46,7 @@ int main(int argc, char** argv)
Base32_encode(publicKeyBase32, 53, publicKey, 32);
AddrTools_printShortIp(printedIp, ip);
printf("%s %s %s.k\n", hexPrivateKey, printedIp, publicKeyBase32);
+ fflush(stdout);
}
}
return 0;

View File

@ -0,0 +1,30 @@
{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "0.1.0";
name = "flannel-${version}";
src = import ./deps.nix {
inherit stdenv lib fetchFromGitHub;
};
buildInputs = [ go ];
buildPhase = ''
export GOPATH=$src
go build -v -o flannel github.com/coreos/flannel
'';
installPhase = ''
mkdir -p $out/bin
mv flannel $out/bin/flannel
'';
meta = with stdenv.lib; {
description = "Flannel is an etcd backed network fabric for containers";
homepage = https://github.com/coreos/flannel;
license = licenses.asl20;
maintainers = with maintainers; [ offline ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,28 @@
# This file was generated by go2nix.
{ stdenv, lib, fetchFromGitHub }:
let
goDeps = [
{
root = "github.com/coreos/flannel";
src = fetchFromGitHub {
owner = "coreos";
repo = "flannel";
rev = "cd584fa5e1545ae86c965588e81ceb24455e980d";
sha256 = "1f7x6a2c8ix6j5y1r0dq56b58bl2rs2ycbdqb9fz5zv1zk2w20rd";
};
}
];
in
stdenv.mkDerivation rec {
name = "go-deps";
buildCommand =
lib.concatStrings
(map (dep: ''
mkdir -p $out/src/`dirname ${dep.root}`
ln -s ${dep.src} $out/src/${dep.root}
'') goDeps);
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, boost, cryptopp }:
stdenv.mkDerivation rec {
name = "i2pd-${version}";
version = "0.2.0";
src = fetchurl {
url = "https://github.com/PrivacySolutions/i2pd/archive/${version}.tar.gz";
sha256 = "0jr7svnwxiaxlxa3a8vcb8n6iy66ahwwx7glcwf2x57xssq27ily";
};
buildInputs = [ boost cryptopp ];
installPhase = ''
install -D i2p $out/bin/i2p
'';
meta = with stdenv.lib; {
homepage = "https://track.privacysolutions.no/projects/i2pd";
description = "Minimal I2P router written in C++";
licenses = licenses.gpl2;
maintainers = with maintainers; [ edwtjo ];
platform = platforms.linux;
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, pkgconfig, readline, libxml2 }:
stdenv.mkDerivation rec {
name = "augeas-${version}";
version = "1.2.0";
src = fetchurl {
url = "http://download.augeas.net/${name}.tar.gz";
sha256 = "1q41yilxc0nvjz5h9phm38k2b73k2v0b9jg11y92228bps7b5bpl";
};
buildInputs = [ pkgconfig readline libxml2 ];
meta = with stdenv.lib; {
description = "Configuration editing tool.";
license = licenses.lgpl2;
homepage = http://augeas.net/;
maintainers = with maintainers; [offline];
platforms = with platforms; unix;
};
}

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
patchPhase = "substituteInPlace configure --replace which \"type -P\""; patchPhase = "substituteInPlace configure --replace which \"type -P\"";
postInstall = "rm $out/share/rubber/modules/etex.rub";
meta = { meta = {
description = "Wrapper for LaTeX and friends"; description = "Wrapper for LaTeX and friends";

View File

@ -5,16 +5,16 @@ rec {
sha256 = "1c39x059jhn5jsy6i9j3akjbkm1kmmzssy1jyi1aw20rl2vp86w3"; sha256 = "1c39x059jhn5jsy6i9j3akjbkm1kmmzssy1jyi1aw20rl2vp86w3";
}; };
texmfVersion = "2014.20140927"; texmfVersion = "2014.20141024";
texmfSrc = fetchurl { texmfSrc = fetchurl {
url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz"; url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz";
sha256 = "1g4nzr9rgmw8i0i82svmkwjy2kvbyrc8jgnk2f3cl2wsx7sfrydy"; sha256 = "1a6968myfi81s76n9p1qljgpwia9mi55pkkz1q6lbnwybf97akj1";
}; };
langTexmfVersion = "2014.20140927"; langTexmfVersion = "2014.20141024";
langTexmfSrc = fetchurl { langTexmfSrc = fetchurl {
url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz"; url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz";
sha256 = "1ckm8yra96m44n708dc1kgq4xrzi7ginxpsb73ijbwzbjy1yqzwg"; sha256 = "1ydz5m1v40n34g1l31r3vqg74rbr01x2f80drhz4igh21fm7zzpa";
}; };
passthru = { inherit texmfSrc langTexmfSrc; }; passthru = { inherit texmfSrc langTexmfSrc; };

View File

@ -1,11 +1,11 @@
args: with args; args: with args;
rec { rec {
name = "texlive-extra-2014"; name = "texlive-extra-2014";
version = "2014.20140927"; version = "2014.20141024";
src = fetchurl { src = fetchurl {
url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz"; url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz";
sha256 = "0chbl20dh61ld7nq9aiay7hi371l6285c2caqz18br29ifh8jicd"; sha256 = "190p5v6madcgkxjmfal0pcylfz88zi6yaixky0vrcz1kbvxqlcb9";
}; };
buildInputs = [texLive xz]; buildInputs = [texLive xz];

View File

@ -666,7 +666,11 @@ let
flex = flex_2_5_35; flex = flex_2_5_35;
}; };
crawl = callPackage ../games/crawl { lua = lua5; }; crawlTiles = callPackage ../games/crawl { };
crawl = callPackage ../games/crawl {
tileMode = false;
};
cv = callPackage ../tools/misc/cv { }; cv = callPackage ../tools/misc/cv { };
@ -1128,6 +1132,8 @@ let
fdm = callPackage ../tools/networking/fdm {}; fdm = callPackage ../tools/networking/fdm {};
flannel = callPackage ../tools/networking/flannel { };
figlet = callPackage ../tools/misc/figlet { }; figlet = callPackage ../tools/misc/figlet { };
file = callPackage ../tools/misc/file { }; file = callPackage ../tools/misc/file { };
@ -1265,7 +1271,7 @@ let
gnupg1orig = callPackage ../tools/security/gnupg/1.nix { }; gnupg1orig = callPackage ../tools/security/gnupg/1.nix { };
gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { gnupg = gnupg20; }; gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { };
# use config.packageOverrides if you prefer original gnupg1 # use config.packageOverrides if you prefer original gnupg1
gnupg1 = gnupg1compat; gnupg1 = gnupg1compat;
@ -1278,7 +1284,7 @@ let
libgcrypt = libgcrypt_1_6; libgcrypt = libgcrypt_1_6;
}; };
gnupg = gnupg21; gnupg = gnupg20;
gnuplot = callPackage ../tools/graphics/gnuplot { }; gnuplot = callPackage ../tools/graphics/gnuplot { };
@ -1442,6 +1448,8 @@ let
httptunnel = callPackage ../tools/networking/httptunnel { }; httptunnel = callPackage ../tools/networking/httptunnel { };
i2pd = callPackage ../tools/networking/i2pd {};
iasl = callPackage ../development/compilers/iasl { }; iasl = callPackage ../development/compilers/iasl { };
icecast = callPackage ../servers/icecast { }; icecast = callPackage ../servers/icecast { };
@ -1560,7 +1568,8 @@ let
ninka = callPackage ../development/tools/misc/ninka { }; ninka = callPackage ../development/tools/misc/ninka { };
nodejs = callPackage ../development/web/nodejs {}; nodejs = callPackage ../development/web/nodejs { };
nodejs-unstable = callPackage ../development/web/nodejs { unstableVersion = true; };
nodePackages = recurseIntoAttrs (import ./node-packages.nix { nodePackages = recurseIntoAttrs (import ./node-packages.nix {
inherit pkgs stdenv nodejs fetchurl fetchgit; inherit pkgs stdenv nodejs fetchurl fetchgit;
@ -3484,7 +3493,8 @@ let
monoDLLFixer = callPackage ../build-support/mono-dll-fixer { }; monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
mozart = callPackage ../development/compilers/mozart { }; mozart-binary = callPackage ../development/compilers/mozart/binary.nix { };
mozart = mozart-binary;
neko = callPackage ../development/compilers/neko { }; neko = callPackage ../development/compilers/neko { };
@ -3506,7 +3516,7 @@ let
ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { }; ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { };
ocaml_4_02_0 = callPackage ../development/compilers/ocaml/4.02.0.nix { }; ocaml_4_02_1 = callPackage ../development/compilers/ocaml/4.02.1.nix { };
orc = callPackage ../development/compilers/orc { }; orc = callPackage ../development/compilers/orc { };
@ -3766,8 +3776,8 @@ let
// { camlimages = ocamlPackages_3_12_1.camlimages_4_0; }; // { camlimages = ocamlPackages_3_12_1.camlimages_4_0; };
ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1; ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1;
ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0; ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0;
ocamlPackages_4_02_0 = mkOcamlPackages ocaml_4_02_0 pkgs.ocamlPackages_4_02_0; ocamlPackages_4_02_1 = mkOcamlPackages ocaml_4_02_1 pkgs.ocamlPackages_4_02_1;
ocamlPackages_latest = ocamlPackages_4_02_0; ocamlPackages_latest = ocamlPackages_4_02_1;
ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { }; ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
@ -4092,8 +4102,6 @@ let
inherit stdenv fetchurl lib; inherit stdenv fetchurl lib;
}); });
pythonLinkmeWrapper = callPackage ../development/interpreters/python/python-linkme-wrapper.nix { };
pypi2nix = python27Packages.pypi2nix; pypi2nix = python27Packages.pypi2nix;
svg2tikz = python27Packages.svg2tikz; svg2tikz = python27Packages.svg2tikz;
@ -4248,6 +4256,8 @@ let
### DEVELOPMENT / TOOLS ### DEVELOPMENT / TOOLS
augeas = callPackage ../tools/system/augeas { };
ansible = callPackage ../tools/system/ansible { }; ansible = callPackage ../tools/system/ansible { };
antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { }; antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
@ -4374,6 +4384,7 @@ let
cmake = callPackage ../development/tools/build-managers/cmake { }; cmake = callPackage ../development/tools/build-managers/cmake { };
cmake-3_0 = callPackage ../development/tools/build-managers/cmake/3.0.nix { };
cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { }; cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { };
cmakeCurses = cmake.override { useNcurses = true; }; cmakeCurses = cmake.override { useNcurses = true; };
@ -4461,6 +4472,8 @@ let
emma = callPackage ../development/tools/analysis/emma { }; emma = callPackage ../development/tools/analysis/emma { };
eztrace = callPackage ../development/tools/profiling/EZTrace { };
findbugs = callPackage ../development/tools/analysis/findbugs { }; findbugs = callPackage ../development/tools/analysis/findbugs { };
pmd = callPackage ../development/tools/analysis/pmd { }; pmd = callPackage ../development/tools/analysis/pmd { };
@ -5078,6 +5091,8 @@ let
fftwSinglePrec = fftw.override { precision = "single"; }; fftwSinglePrec = fftw.override { precision = "single"; };
fftwFloat = fftwSinglePrec; # the configure option is just an alias fftwFloat = fftwSinglePrec; # the configure option is just an alias
fish-fillets-ng = callPackage ../games/fish-fillets-ng {};
flann = callPackage ../development/libraries/flann { }; flann = callPackage ../development/libraries/flann { };
flite = callPackage ../development/libraries/flite { }; flite = callPackage ../development/libraries/flite { };
@ -5444,6 +5459,10 @@ let
libusb = libusb1; libusb = libusb1;
}; };
hivex = callPackage ../development/libraries/hivex {
inherit (perlPackages) IOStringy;
};
hspell = callPackage ../development/libraries/hspell { }; hspell = callPackage ../development/libraries/hspell { };
hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { }; hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { };
@ -5795,6 +5814,10 @@ let
libgsystem = callPackage ../development/libraries/libgsystem { }; libgsystem = callPackage ../development/libraries/libgsystem { };
libguestfs = callPackage ../development/libraries/libguestfs {
inherit (perlPackages) libintlperl GetoptLong SysVirt;
};
libharu = callPackage ../development/libraries/libharu { }; libharu = callPackage ../development/libraries/libharu { };
libHX = callPackage ../development/libraries/libHX { }; libHX = callPackage ../development/libraries/libHX { };
@ -5974,6 +5997,10 @@ let
libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { }; libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { };
libnetfilter_cthelper = callPackage ../development/libraries/libnetfilter_cthelper { };
libnetfilter_cttimeout = callPackage ../development/libraries/libnetfilter_cttimeout { };
libnetfilter_queue = callPackage ../development/libraries/libnetfilter_queue { }; libnetfilter_queue = callPackage ../development/libraries/libnetfilter_queue { };
libnfnetlink = callPackage ../development/libraries/libnfnetlink { }; libnfnetlink = callPackage ../development/libraries/libnfnetlink { };
@ -6088,6 +6115,8 @@ let
libtommath = callPackage ../development/libraries/libtommath { }; libtommath = callPackage ../development/libraries/libtommath { };
libtomcrypt = callPackage ../development/libraries/libtomcrypt { };
libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar {
# fix "unrecognized option -arch" error # fix "unrecognized option -arch" error
stdenv = if stdenv.isDarwin stdenv = if stdenv.isDarwin
@ -7861,6 +7890,8 @@ let
weatherXoap = config.conky.weatherXoap or false; weatherXoap = config.conky.weatherXoap or false;
}; };
conntrack_tools = callPackage ../os-specific/linux/conntrack-tools { };
cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { }; cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { };
cryopid = callPackage ../os-specific/linux/cryopid { }; cryopid = callPackage ../os-specific/linux/cryopid { };
@ -7945,6 +7976,8 @@ let
then utillinux then utillinux
else null; else null;
light = callPackage ../os-specific/linux/light { };
e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { }; e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { };
ebtables = callPackage ../os-specific/linux/ebtables { }; ebtables = callPackage ../os-specific/linux/ebtables { };
@ -10108,8 +10141,6 @@ let
ncmpcpp = callPackage ../applications/audio/ncmpcpp { }; ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
ncmpcppBeta = callPackage ../applications/audio/ncmpcpp/beta.nix { };
normalize = callPackage ../applications/audio/normalize { }; normalize = callPackage ../applications/audio/normalize { };
mplayer = callPackage ../applications/video/mplayer { mplayer = callPackage ../applications/video/mplayer {
@ -10166,6 +10197,10 @@ let
musescore = callPackage ../applications/audio/musescore { }; musescore = callPackage ../applications/audio/musescore { };
mutt = callPackage ../applications/networking/mailreaders/mutt { }; mutt = callPackage ../applications/networking/mailreaders/mutt { };
mutt-with-sidebar = callPackage ../applications/networking/mailreaders/mutt {
withSidebar = true;
automake = automake113x;
};
namecoin = callPackage ../applications/misc/namecoin { }; namecoin = callPackage ../applications/misc/namecoin { };
namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { }; namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { };
@ -12187,7 +12222,7 @@ let
tulip = callPackage ../applications/science/misc/tulip { }; tulip = callPackage ../applications/science/misc/tulip { };
vite = callPackage ../applications/science/misc/vite { }; vite = enableDebugging (callPackage ../applications/science/misc/vite { });
xplanet = callPackage ../applications/science/astronomy/xplanet { }; xplanet = callPackage ../applications/science/astronomy/xplanet { };
@ -12239,6 +12274,8 @@ let
cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { }; cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { };
crashplan = callPackage ../applications/backup/crashplan { };
gutenprint = callPackage ../misc/drivers/gutenprint { }; gutenprint = callPackage ../misc/drivers/gutenprint { };
gutenprintBin = callPackage ../misc/drivers/gutenprint/bin.nix { }; gutenprintBin = callPackage ../misc/drivers/gutenprint/bin.nix { };
@ -12609,6 +12646,12 @@ let
saneBackends = saneBackends; saneBackends = saneBackends;
}; };
xwiimote = callPackage ../misc/drivers/xwiimote {
bluez = pkgs.bluez5.override {
enableWiimote = true;
};
};
yafc = callPackage ../applications/networking/yafc { }; yafc = callPackage ../applications/networking/yafc { };
yandex-disk = callPackage ../tools/filesystems/yandex-disk { }; yandex-disk = callPackage ../tools/filesystems/yandex-disk { };

View File

@ -8305,6 +8305,19 @@ let self = _self // overrides; _self = with self; {
}; };
}; };
SysVirt = buildPerlPackage rec {
name = "Sys-Virt-1.2.9";
src = fetchurl {
url = "mirror://cpan/authors/id/D/DA/DANBERR/${name}.tar.gz";
sha256 = "1ag55mlkbf63iq3q5mxdawf29c2nyphd52kbshnlim3lax247ml7";
};
propagatedBuildInputs = [XMLXPath];
buildInputs = [TestPodCoverage TimeHiRes TestPod pkgs.pkgconfig pkgs.libvirt];
meta = {
platforms = stdenv.lib.platforms.linux;
};
};
TAPParserSourceHandlerpgTAP = buildPerlModule { TAPParserSourceHandlerpgTAP = buildPerlModule {
name = "TAP-Parser-SourceHandler-pgTAP-3.30"; name = "TAP-Parser-SourceHandler-pgTAP-3.30";
src = fetchurl { src = fetchurl {

View File

@ -601,6 +601,23 @@ let
}; };
}; };
babelfish = buildPythonPackage rec {
version = "0.5.3";
name = "babelfish-${version}";
disabled = isPy3k;
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/b/babelfish/${name}.tar.gz";
sha256 = "0wrw21dyq7v6lbffwvi1ik43d7dhmcv8xvgrrihhiv7ys1rd3gag";
};
meta = {
homepage = http://pypi.python.org/pypi/babelfish;
description = "A module to work with countries and languages.";
license = stdenv.lib.licenses.bsd3;
};
};
batinfo = buildPythonPackage rec { batinfo = buildPythonPackage rec {
version = "0.1.9"; version = "0.1.9";
name = "batinfo-${version}"; name = "batinfo-${version}";
@ -3771,20 +3788,21 @@ let
}; };
flexget = buildPythonPackage rec { flexget = buildPythonPackage rec {
name = "FlexGet-1.2.161"; version = "1.2.201";
name = "FlexGet-${version}";
disabled = isPy3k; disabled = isPy3k;
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz"; url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz";
md5 = "f7533e7b1df49cc8027fc4a2cde0290d"; md5 = "e940845fc38ee602109a876455a02084";
}; };
buildInputs = with self; [ nose ]; buildInputs = with self; [ nose ];
# dateutil dependency: requirement is dateutil !=2.0 and != 2.2,
# dateutil_1_5 is used as it's supported, but a newer version could be used
propagatedBuildInputs = with self; [ paver feedparser sqlalchemy pyyaml rpyc propagatedBuildInputs = with self; [ paver feedparser sqlalchemy pyyaml rpyc
beautifulsoup4 html5lib pyrss2gen pynzb progressbar jinja2 flask beautifulsoup4 html5lib pyrss2gen pynzb progressbar jinja2 flask
cherrypy requests dateutil_1_5 jsonschema python_tvrage tmdb3 ] cherrypy requests dateutil_1_5 jsonschema python_tvrage tmdb3
guessit pathpy
]
# enable deluge and transmission plugin support, if they're installed # enable deluge and transmission plugin support, if they're installed
++ stdenv.lib.optional (pkgs.config.pythonPackages.deluge or false) ++ stdenv.lib.optional (pkgs.config.pythonPackages.deluge or false)
pythonpackages.deluge pythonpackages.deluge
@ -4256,6 +4274,30 @@ let
}; };
}; };
guessit = buildPythonPackage rec {
version = "0.9.3";
name = "guessit-${version}";
disabled = isPy3k;
src = pkgs.fetchurl {
url = "http://pypi.python.org/packages/source/g/guessit/${name}.tar.gz";
sha256 = "16kbxdz5zm3mfn739ynis04zw76x2gn1lz5d7vcwh8hzaj16yyk6";
};
propagatedBuildInputs = with self; [
dateutil_1_5 requests stevedore babelfish pyyaml
];
# A unicode test fails
doCheck = false;
meta = {
homepage = http://pypi.python.org/pypi/guessit;
license = stdenv.lib.licenses.lgpl3;
description = "A library for guessing information from video files.";
};
};
gunicorn = buildPythonPackage rec { gunicorn = buildPythonPackage rec {
name = "gunicorn-19.1.0"; name = "gunicorn-19.1.0";
@ -4613,12 +4655,35 @@ let
}; };
}; };
keyring = buildPythonPackage rec {
name = "keyring-3.2"; jrnl = buildPythonPackage rec {
name = "jrnl-1.9.7";
disabled = isPy3k;
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/k/keyring/${name}.zip"; url = "https://pypi.python.org/packages/source/j/jrnl/${name}.tar.gz";
sha256 = "1flccphpyrb8y8dra2fq2s2v3fg615d77kjjmzl0gmiidabkkdqf"; md5 = "395faff36de8a08a5bfeedbf123e9067";
};
propagatedBuildInputs = with self; [
pytz six tzlocal keyring modules.readline argparse dateutil_1_5
parsedatetime
];
meta = with stdenv.lib; {
homepage = http://maebert.github.io/jrnl/;
description = "A simple command line journal application that stores your journal in a plain text file.";
license = licenses.mit;
};
};
keyring = buildPythonPackage rec {
name = "keyring-3.3";
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/k/keyring/${name}.zip";
md5 = "81291e0c7337affb71442e6c7671e77f";
}; };
buildInputs = with self; buildInputs = with self;
@ -6009,6 +6074,16 @@ let
}; };
}; };
parsedatetime = buildPythonPackage rec {
name = "parsedatetime-${version}";
version = "1.4";
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/p/parsedatetime/${name}.tar.gz";
md5 = "3aca729761be5259a508ed184df73c68";
};
};
paramiko = buildPythonPackage rec { paramiko = buildPythonPackage rec {
name = "paramiko-1.15.1"; name = "paramiko-1.15.1";
@ -6699,6 +6774,10 @@ let
sha256 = "1mrh233pj584gf7la64d4xlmvdnfl4jwpxs95lnd3i4zd5drid14"; sha256 = "1mrh233pj584gf7la64d4xlmvdnfl4jwpxs95lnd3i4zd5drid14";
}; };
preConfigure = ''
patchShebangs .
'';
buildInputs = [ buildInputs = [
self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio
]; ];