diff --git a/doc/contributing.xml b/doc/contributing.xml index bcea404baee..f622845bf1a 100644 --- a/doc/contributing.xml +++ b/doc/contributing.xml @@ -10,9 +10,7 @@ $ git clone git://github.com/NixOS/nixpkgs.git - $ cd nixpkgs/pkgs/top-level - - $ nix-build -A tarball release.nix + $ nix-build -A manual nixpkgs/pkgs/top-level/release.nix Inside the built derivation you shall see manual/index.html file. diff --git a/lib/maintainers.nix b/lib/maintainers.nix index ab6c2c34c5e..d0e156ea177 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -116,6 +116,7 @@ pkmx = "Chih-Mao Chen "; plcplc = "Philip Lykke Carlsen "; pSub = "Pascal Wittmann "; + puffnfresh = "Brian McKenna "; qknight = "Joachim Schiele "; raskin = "Michael Raskin <7c6f434c@mail.ru>"; redbaron = "Maxim Ivanov "; @@ -139,6 +140,7 @@ skeidel = "Sven Keidel "; smironov = "Sergey Mironov "; sprock = "Roger Mason "; + sztupi = "Attila Sztupak "; tailhook = "Paul Colomiets "; thammers = "Tobias Hammerschmidt "; the-kenny = "Moritz Ulrich "; diff --git a/maintainers/docker/.dockerignore b/maintainers/docker/.dockerignore new file mode 100644 index 00000000000..eb4668233e6 --- /dev/null +++ b/maintainers/docker/.dockerignore @@ -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 diff --git a/maintainers/docker/Dockerfile b/maintainers/docker/Dockerfile new file mode 100644 index 00000000000..5a98c47de2c --- /dev/null +++ b/maintainers/docker/Dockerfile @@ -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 diff --git a/nixos/modules/config/update-users-groups.pl b/nixos/modules/config/update-users-groups.pl index 63e1c82dd6d..d35ecb754bd 100644 --- a/nixos/modules/config/update-users-groups.pl +++ b/nixos/modules/config/update-users-groups.pl @@ -123,7 +123,7 @@ foreach my $g (@{$spec->{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. foreach my $name (keys %groupsCur) { @@ -140,7 +140,7 @@ foreach my $name (keys %groupsCur) { # Rewrite /etc/group. FIXME: acquire lock. my @lines = map { join(":", $_->{name}, $_->{password}, $_->{gid}, $_->{members}) . "\n" } (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; system("nscd --invalidate group"); @@ -198,7 +198,7 @@ foreach my $u (@{$spec->{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. foreach my $name (keys %usersCur) { @@ -214,7 +214,7 @@ foreach my $name (keys %usersCur) { # Rewrite /etc/passwd. FIXME: acquire lock. @lines = map { join(":", $_->{name}, $_->{fakePassword}, $_->{uid}, $_->{gid}, $_->{description}, $_->{home}, $_->{shell}) . "\n" } (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; system("nscd --invalidate passwd"); @@ -242,5 +242,5 @@ foreach my $u (values %usersOut) { 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; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 22997b7a159..7388cfc9a07 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -157,6 +157,7 @@ redmine = 147; seeks = 148; prosody = 149; + i2pd = 150; # 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; seeks = 148; prosody = 149; + i2pd = 150; # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399! diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index d65691c4379..a709ffa2e2e 100755 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -58,6 +58,7 @@ ./programs/dconf.nix ./programs/environment.nix ./programs/info.nix + ./programs/light.nix ./programs/nano.nix ./programs/screen.nix ./programs/shadow.nix @@ -92,6 +93,7 @@ ./services/audio/mopidy.nix ./services/backup/almir.nix ./services/backup/bacula.nix + ./services/backup/crashplan.nix ./services/backup/mysql-backup.nix ./services/backup/postgresql-backup.nix ./services/backup/rsnapshot.nix @@ -110,7 +112,7 @@ ./services/databases/monetdb.nix ./services/databases/mongodb.nix ./services/databases/mysql.nix - ./services/databases/neo4j.nix + ./services/databases/neo4j.nix ./services/databases/openldap.nix ./services/databases/postgresql.nix ./services/databases/redis.nix @@ -230,6 +232,7 @@ ./services/networking/gvpe.nix ./services/networking/haproxy.nix ./services/networking/hostapd.nix + ./services/networking/i2pd.nix ./services/networking/ifplugd.nix ./services/networking/iodined.nix ./services/networking/ircd-hybrid/default.nix diff --git a/nixos/modules/programs/light.nix b/nixos/modules/programs/light.nix new file mode 100644 index 00000000000..09cd1113d9c --- /dev/null +++ b/nixos/modules/programs/light.nix @@ -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" ]; + }; +} diff --git a/nixos/modules/services/backup/crashplan.nix b/nixos/modules/services/backup/crashplan.nix new file mode 100644 index 00000000000..1862709b136 --- /dev/null +++ b/nixos/modules/services/backup/crashplan.nix @@ -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; + }; + }; + }; +} \ No newline at end of file diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index 9888419309c..be0acb27324 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -204,8 +204,29 @@ in systemd.services.cjdns = { description = "encrypted networking for everybody"; - wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + wantedBy = [ "network.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 = ( 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}"; assertions = [ @@ -258,4 +258,4 @@ in }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/networking/git-daemon.nix b/nixos/modules/services/networking/git-daemon.nix index 5864efaca51..566936a7d0f 100644 --- a/nixos/modules/services/networking/git-daemon.nix +++ b/nixos/modules/services/networking/git-daemon.nix @@ -3,7 +3,6 @@ with lib; let cfg = config.services.gitDaemon; - gitUser = "git"; in { @@ -14,6 +13,7 @@ in services.gitDaemon = { enable = mkOption { + type = types.bool; default = false; description = '' Enable Git daemon, which allows public hosting of git repositories @@ -28,6 +28,7 @@ in }; basePath = mkOption { + type = types.str; default = ""; example = "/srv/git/"; description = '' @@ -38,6 +39,7 @@ in }; exportAll = mkOption { + type = types.bool; default = false; description = '' Publish all directories that look like Git repositories (have the objects @@ -52,6 +54,7 @@ in }; repositories = mkOption { + type = types.listOf types.str; default = []; example = [ "/srv/git" "/home/user/git/repo2" ]; description = '' @@ -64,21 +67,36 @@ in }; listenAddress = mkOption { + type = types.str; default = ""; example = "example.com"; description = "Listen on a specific IP address or hostname."; }; port = mkOption { + type = types.int; default = 9418; description = "Port to listen on."; }; options = mkOption { + type = types.str; default = ""; 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 { - users.extraUsers = singleton - { name = gitUser; + users.extraUsers = if cfg.user != "git" then {} else singleton + { name = "git"; uid = config.ids.uids.git; description = "Git daemon user"; }; - users.extraGroups = singleton - { name = gitUser; + users.extraGroups = if cfg.group != "git" then {} else singleton + { name = "git"; gid = config.ids.gids.git; }; @@ -103,8 +121,8 @@ in exec = "${pkgs.git}/bin/git daemon --reuseaddr " + (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ") + (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ") - + "--port=${toString cfg.port} --user=${gitUser} --group=${gitUser} ${cfg.options} " - + "--verbose " + (optionalString cfg.exportAll "--export-all") + concatStringsSep " " cfg.repositories; + + "--port=${toString cfg.port} --user=${cfg.user} --group=${cfg.group} ${cfg.options} " + + "--verbose " + (optionalString cfg.exportAll "--export-all ") + concatStringsSep " " cfg.repositories; }; }; diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix new file mode 100644 index 00000000000..d0127fd3f75 --- /dev/null +++ b/nixos/modules/services/networking/i2pd.nix @@ -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"; + }; + }; + }; +} +# \ No newline at end of file diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index a31f66176cc..6a14a163c19 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -56,6 +56,7 @@ in pkgs.xfce.xfce4session pkgs.xfce.xfce4settings pkgs.xfce.xfce4mixer + pkgs.xfce.xfce4volumed pkgs.xfce.xfce4screenshooter pkgs.xfce.xfconf pkgs.xfce.xfdesktop diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 899c5a91fb3..6b01cde9e2b 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -79,7 +79,9 @@ let ''} # 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 fi diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix index d9e4bd817a5..9e44ce811c3 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -7,9 +7,9 @@ let cfg = config.services.xserver.synaptics; enabledTapConfig = '' Option "MaxTapTime" "180" Option "MaxTapMove" "220" - Option "TapButton1" "${builtins.elemAt cfg.buttonsMap 0}" - Option "TapButton2" "${builtins.elemAt cfg.buttonsMap 1}" - Option "TapButton3" "${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}" ''; disabledTapConfig = '' Option "MaxTapTime" "0" @@ -147,9 +147,6 @@ in { Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}" Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}" 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 "HorizTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}" Option "VertEdgeScroll" "${if cfg.vertEdgeScroll then "1" else "0"}" diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index 12012698efe..c0e0ae23d38 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -321,6 +321,10 @@ system("@systemd@/bin/systemctl", "reset-failed"); # Make systemd reload its units. 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 # than stopped and started). my @restart = unique(split('\n', read_file($restartListFile, err_mode => 'quiet') // "")); @@ -350,8 +354,6 @@ if (scalar @reload > 0) { unlink($reloadListFile); } -# Signal dbus to reload its configuration. -system("@systemd@/bin/systemctl", "reload", "dbus.service"); # Print failed and new units. my (@failed, @new, @restarting); diff --git a/nixos/release.nix b/nixos/release.nix index cb79dd3a226..5a89b38acc7 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -235,6 +235,7 @@ in rec { tests.avahi = callTest tests/avahi.nix {}; tests.bittorrent = callTest tests/bittorrent.nix {}; tests.blivet = callTest tests/blivet.nix {}; + tests.cjdns = callTest tests/cjdns.nix {}; tests.containers = callTest tests/containers.nix {}; tests.firefox = callTest tests/firefox.nix {}; tests.firewall = callTest tests/firewall.nix {}; diff --git a/nixos/tests/cjdns.nix b/nixos/tests/cjdns.nix new file mode 100644 index 00000000000..7bb3863c683 --- /dev/null +++ b/nixos/tests/cjdns.nix @@ -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]"); + ''; +} diff --git a/pkgs/applications/audio/ncmpcpp/beta.nix b/pkgs/applications/audio/ncmpcpp/beta.nix deleted file mode 100644 index 7398d2ded82..00000000000 --- a/pkgs/applications/audio/ncmpcpp/beta.nix +++ /dev/null @@ -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; - }; -} - diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix index 186c5265433..6e4ddcb1e9c 100644 --- a/pkgs/applications/audio/ncmpcpp/default.nix +++ b/pkgs/applications/audio/ncmpcpp/default.nix @@ -1,16 +1,18 @@ { stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig -, libiconvOrEmpty }: +, libiconvOrEmpty, boost, readline }: stdenv.mkDerivation rec { - version = "0.5.10"; + version = "0.6.1"; name = "ncmpcpp-${version}"; src = fetchurl { 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; meta = with stdenv.lib; { @@ -21,4 +23,3 @@ stdenv.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/applications/backup/crashplan/CrashPlanEngine.patch b/pkgs/applications/backup/crashplan/CrashPlanEngine.patch new file mode 100644 index 00000000000..de2afe2da68 --- /dev/null +++ b/pkgs/applications/backup/crashplan/CrashPlanEngine.patch @@ -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 diff --git a/pkgs/applications/backup/crashplan/default.nix b/pkgs/applications/backup/crashplan/default.nix new file mode 100644 index 00000000000..8359c0dbc39 --- /dev/null +++ b/pkgs/applications/backup/crashplan/default.nix @@ -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|manifest|${manifestdir}|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" + ''; +} diff --git a/pkgs/applications/display-managers/slim/themes.nix b/pkgs/applications/display-managers/slim/themes.nix index 6bcacf8baf4..0c69f101885 100644 --- a/pkgs/applications/display-managers/slim/themes.nix +++ b/pkgs/applications/display-managers/slim/themes.nix @@ -177,7 +177,7 @@ in { fullName = "nixos-slim"; src = fetchurl { url = "https://github.com/jagajaga/nixos-slim-theme/archive/1.1.tar.gz"; - sha256 = "0cawq38l8rcgd35vpdx3i1wbs3wrkcrng1c9qch0l4qncw505hv6"; + sha256 = "66c3020a6716130a20c3898567339b990fbd7888a3b7bbcb688f6544d1c05c31"; }; }; } diff --git a/pkgs/applications/editors/emacs-modes/ess/default.nix b/pkgs/applications/editors/emacs-modes/ess/default.nix index 46e20a58ee6..a2c73907115 100644 --- a/pkgs/applications/editors/emacs-modes/ess/default.nix +++ b/pkgs/applications/editors/emacs-modes/ess/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, emacs, texinfo }: stdenv.mkDerivation rec { - name = "ess-13.09"; + name = "ess-14.09"; src = fetchurl { url = "http://ess.r-project.org/downloads/ess/${name}.tgz"; - sha256 = "1lki3vb6p7cw98zqq0gaia68flpqrjkd6dcl85fs0cc8qf55yqnh"; + sha256 = "0wa507jfmq3k7x0vigd2yzb4j2190ix4wnnpv7ql4bjy0vfvmwdn"; }; buildInputs = [ emacs texinfo ]; diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix index 5f695f80b19..bf8f9234f5a 100644 --- a/pkgs/applications/networking/ftp/filezilla/default.nix +++ b/pkgs/applications/networking/ftp/filezilla/default.nix @@ -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 }: -let version = "3.8.1"; in +let version = "3.9.0.6"; in stdenv.mkDerivation { name = "filezilla-${version}"; src = fetchurl { url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2"; - sha256 = "0kqyz8yb15kbzx02l3riswg95prbp402k4672nwxrzs35049rg36"; + sha256 = "1dxhj4ijpl5m2r5f9p04kbaqcvivy3lrb1kdn5axqngshfrmczyf"; }; configureFlags = [ @@ -15,7 +15,7 @@ stdenv.mkDerivation { ]; 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; { diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index 9c397f27c46..4091876cbe3 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ncurses, which, perl +{ stdenv, fetchurl, ncurses, which, perl, automake, autoconf , sslSupport ? true , imapSupport ? true , headerCache ? true @@ -8,6 +8,7 @@ , openssl ? null , cyrus_sasl ? null , gpgme ? null +, withSidebar ? false }: assert headerCache -> gdbm != null; @@ -18,10 +19,10 @@ let version = "1.5.23"; in stdenv.mkDerivation rec { - name = "mutt-${version}"; - + name = "mutt${stdenv.lib.optionalString withSidebar "-with-sidebar"}-${version}"; + src = fetchurl { - url = "mirror://sourceforge/mutt/${name}.tar.gz"; + url = "mirror://sourceforge/mutt/mutt-${version}.tar.gz"; sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s"; }; @@ -31,8 +32,10 @@ stdenv.mkDerivation rec { (if sslSupport then openssl else null) (if saslSupport then cyrus_sasl else null) (if gpgmeSupport then gpgme else null) - ]; - + ] + ++ (stdenv.lib.optionals withSidebar [automake autoconf]) + ; + configureFlags = [ "--with-mailpath=" "--enable-smtp" @@ -52,6 +55,13 @@ stdenv.mkDerivation rec { (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; { description = "A small but very powerful text-based mail client"; homepage = http://www.mutt.org; diff --git a/pkgs/applications/networking/mailreaders/mutt/mailpath.patch b/pkgs/applications/networking/mailreaders/mutt/mailpath.patch deleted file mode 100644 index 3fb9c7a5f7f..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/mailpath.patch +++ /dev/null @@ -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 diff --git a/pkgs/applications/networking/remote/teamviewer/8.nix b/pkgs/applications/networking/remote/teamviewer/8.nix index 459ae9fab82..a47d7bad4c9 100644 --- a/pkgs/applications/networking/remote/teamviewer/8.nix +++ b/pkgs/applications/networking/remote/teamviewer/8.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau -, bash, patchelf }: +, bash, patchelf, config }: let topath = "${wineUnstable}/bin"; @@ -10,8 +10,8 @@ in stdenv.mkDerivation { name = "teamviewer-8.0.17147"; src = fetchurl { - url = "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb"; - sha256 = "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k"; + url = config.teamviewer8.url or "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb"; + sha256 = config.teamviewer8.sha256 or "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k"; }; buildInputs = [ makeWrapper patchelf ]; diff --git a/pkgs/applications/networking/remote/teamviewer/9.nix b/pkgs/applications/networking/remote/teamviewer/9.nix index 76fb1f68fc7..6ae68aea9ea 100644 --- a/pkgs/applications/networking/remote/teamviewer/9.nix +++ b/pkgs/applications/networking/remote/teamviewer/9.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wineUnstable, makeWrapper, libXau -, bash, patchelf }: +, bash, patchelf, config }: let topath = "${wineUnstable}/bin"; @@ -10,8 +10,8 @@ in stdenv.mkDerivation { name = "teamviewer-9.0.32150"; src = fetchurl { - url = "http://download.teamviewer.com/download/version_9x/teamviewer_linux_x64.deb"; - sha256 = "0wpwbx0xzn3vlzavszxhfvfcaj3pijlpwvlz5m7w19mb6cky3q13"; + url = config.teamviewer9.url or "http://download.teamviewer.com/download/version_9x/teamviewer_linux_x64.deb"; + sha256 = config.teamviewer9.sha256 or "0wpwbx0xzn3vlzavszxhfvfcaj3pijlpwvlz5m7w19mb6cky3q13"; }; buildInputs = [ makeWrapper patchelf ]; diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index d6b9e4598ae..ceb1a9eab86 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -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) + '' 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} - tar xf $sourceRoot/src/${srcs.translations.name} -C $sourceRoot/../ ''; patchPhase = '' diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix index 42c72fa47d4..8537ea171b3 100644 --- a/pkgs/applications/science/misc/vite/default.nix +++ b/pkgs/applications/science/misc/vite/default.nix @@ -2,10 +2,10 @@ # ViTE 1.1 has several bugs, so use the SVN version. let - rev = "1143"; + rev = "1543"; externals = fetchsvn { url = "svn://scm.gforge.inria.fr/svn/vite/externals"; - sha256 = "0wg3yh5q8gx7189rvkd8achld7bzp0i7qqn6c77pg767b4b8dh1a"; + sha256 = "1a422n3dp72v4visq5b1i21cf8sj12903sgg5v2hah3sgk02dnyz"; inherit rev; }; in @@ -14,16 +14,14 @@ stdenv.mkDerivation { src = fetchsvn { url = "svn://scm.gforge.inria.fr/svn/vite/trunk"; - sha256 = "0cy9b6isiwqwnv9gk0cg97x370fpwyccljadds4a118k5gh58zw4"; + sha256 = "02479dv96h29d0w0svp42mjjrxhmv8lkkqp30w7mlx5gr2g0v7lf"; inherit rev; }; - preConfigure = - '' rm -v externals - ln -sv "${externals}" externals - ''; - - patches = [ ./larger-line-buffer.patch ]; + preConfigure = '' + rm -rv externals + ln -sv "${externals}" externals + ''; buildInputs = [ cmake qt4 mesa ]; @@ -32,19 +30,15 @@ stdenv.mkDerivation { meta = { description = "Visual Trace Explorer (ViTE), a tool to visualize execution traces"; - longDescription = - '' ViTE is a trace explorer. It is a tool to visualize execution traces - in Pajé or OTF format for debugging and profiling parallel or - distributed applications. - ''; + longDescription = '' + ViTE is a trace explorer. It is a tool to visualize execution + traces in Pajé or OTF format for debugging and profiling + parallel or distributed applications. + ''; homepage = http://vite.gforge.inria.fr/; - license = stdenv.lib.licenses.cecill20; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice - - broken = true; + maintainers = with stdenv.lib.maintainers; [ ludo fuuzetsu ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/science/misc/vite/larger-line-buffer.patch b/pkgs/applications/science/misc/vite/larger-line-buffer.patch deleted file mode 100644 index 7934c0085c1..00000000000 --- a/pkgs/applications/science/misc/vite/larger-line-buffer.patch +++ /dev/null @@ -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 - --#define _PAJE_BUFSIZE 256 -+#define _PAJE_BUFSIZE 16384 - #define _PAJE_NBMAXTKS 16 - - /** diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix index cb40d05c132..c10927b6255 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix @@ -17,8 +17,8 @@ cabal.mkDerivation (self: { pname = "git-annex"; - version = "5.20141024"; - sha256 = "065b181m76a9w3jznrmb087gccwnpgmyzyndgf8krg28g85y0bq5"; + version = "5.20141125"; + sha256 = "0rlsd3fri9iq8hrl98xyil3dgz6czxb3h5f8xjviin3lkm2x09ms"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix new file mode 100644 index 00000000000..087ba0f2c81 --- /dev/null +++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix @@ -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 ]; + }; +} diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed.nix b/pkgs/desktops/xfce/applications/xfce4-volumed.nix new file mode 100644 index 00000000000..b603229e938 --- /dev/null +++ b/pkgs/desktops/xfce/applications/xfce4-volumed.nix @@ -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 ]; + }; +} diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix index 2d4ef558348..3844633839e 100644 --- a/pkgs/desktops/xfce/default.nix +++ b/pkgs/desktops/xfce/default.nix @@ -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 { }; xfce4terminal = callPackage ./applications/terminal.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" diff --git a/pkgs/development/compilers/mozart/binary.nix b/pkgs/development/compilers/mozart/binary.nix new file mode 100644 index 00000000000..f8f19e59953 --- /dev/null +++ b/pkgs/development/compilers/mozart/binary.nix @@ -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; + }; +} diff --git a/pkgs/development/compilers/mozart/builder.sh b/pkgs/development/compilers/mozart/builder.sh new file mode 100644 index 00000000000..58fe9a8effe --- /dev/null +++ b/pkgs/development/compilers/mozart/builder.sh @@ -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 diff --git a/pkgs/development/compilers/mozart/default.nix b/pkgs/development/compilers/mozart/default.nix deleted file mode 100644 index d649ef46918..00000000000 --- a/pkgs/development/compilers/mozart/default.nix +++ /dev/null @@ -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"; -} diff --git a/pkgs/development/compilers/ocaml/4.02.0.nix b/pkgs/development/compilers/ocaml/4.02.1.nix similarity index 96% rename from pkgs/development/compilers/ocaml/4.02.0.nix rename to pkgs/development/compilers/ocaml/4.02.1.nix index 4b5805e2448..18f9d373650 100644 --- a/pkgs/development/compilers/ocaml/4.02.0.nix +++ b/pkgs/development/compilers/ocaml/4.02.1.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation rec { x11lib = x11env + "/lib"; x11inc = x11env + "/include"; - name = "ocaml-4.02.0"; + name = "ocaml-4.02.1"; src = fetchurl { url = "http://caml.inria.fr/pub/distrib/ocaml-4.02/${name}.tar.xz"; - sha256 = "1ml5r8vzbwqhnq8jlps6jfgf0vym4nyrnr95mrbym6v5j2gabmw7"; + sha256 = "1p7lqvh64xpykh99014mz21q8fs3qyjym2qazhhbq8scwldv1i38"; }; prefixKey = "-prefix "; diff --git a/pkgs/development/compilers/rustc/grsec.HEAD.patch b/pkgs/development/compilers/rustc/grsec.HEAD.patch new file mode 100644 index 00000000000..84582ab7d70 --- /dev/null +++ b/pkgs/development/compilers/rustc/grsec.HEAD.patch @@ -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 diff --git a/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch index 8701cd3c982..23bb3f69986 100644 --- a/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch +++ b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch @@ -1,33 +1,23 @@ 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 +++ 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 { match sess.opts.cg.linker { - Some(ref linker) => return linker.to_string(), -- None => {} +- None => sess.target.target.options.linker.clone(), + 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 -index 060dda5..fecf76b 100644 +index db2f291..c7a13dc 100644 --- a/src/librustc_back/archive.rs +++ b/src/librustc_back/archive.rs -@@ -53,7 +53,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option, +@@ -54,7 +54,7 @@ fn run_ar(handler: &ErrorHandler, maybe_ar_prog: &Option, paths: &[&Path]) -> ProcessOutput { let ar = match *maybe_ar_prog { Some(ref ar) => ar.as_slice(), @@ -35,3 +25,4 @@ index 060dda5..fecf76b 100644 + None => "@arPath@" }; let mut cmd = Command::new(ar); + diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix index afefc6dcd81..707cfe42d1e 100644 --- a/pkgs/development/compilers/rustc/head.nix +++ b/pkgs/development/compilers/rustc/head.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchgit, which, file, perl, curl, python27, makeWrapper -, tzdata, git +, tzdata, git, valgrind }: 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" - then "0644637db852db8a6c603ded0531ccaa60291bd3" + then "d827fbbd778b854923971873cf03bdb79c2e8575" else if stdenv.system == "x86_64-linux" - then "656b8c23fbb97794e85973aca725a4b9cd07b29e" + then "1ddca522a8ba4a4f662dc17ca16b0f50f2c15f87" else if stdenv.system == "i686-darwin" - then "e4d9709fcfe485fcca00f0aa1fe456e2f164ed96" + then "597cd42301e1569df8ad090574cd535d19283387" else if stdenv.system == "x86_64-darwin" - then "6b1aa5a441965da87961be81950e8663eadba377" + then "4bfb2aff1c3e3c57653b32adc34b399c5aeb759b" else abort "no-snapshot for platform ${stdenv.system}"; - snapshotDate = "2014-10-10"; - snapshotRev = "78a7676"; + snapshotDate = "2014-11-04"; + snapshotRev = "1b2ad78"; snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2"; in stdenv.mkDerivation { @@ -40,8 +40,8 @@ in stdenv.mkDerivation { src = fetchgit { url = https://github.com/rust-lang/rust; - rev = "a0ea210b394aa1b61d341593a3f9098fe5bf7806"; - sha256 = "0flwzj6dywaq9s77ayinshqbz8na2a1jabkr9s7zj74s2ya5096i"; + rev = "93c85eb8bdcc910a27caf6abd20207a626ae98e5"; + sha256 = "0zj84xsyg8jpd6ixmdv7jsjrnsd4zwrac98qqmwgrd78h74g8kpq"; }; # 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" ]; # 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 = '' substituteInPlace src/librustc/back/link.rs \ --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" @@ -73,7 +75,7 @@ in stdenv.mkDerivation { --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 diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.nix b/pkgs/development/interpreters/python/python-linkme-wrapper.nix deleted file mode 100644 index 040dd7531a2..00000000000 --- a/pkgs/development/interpreters/python/python-linkme-wrapper.nix +++ /dev/null @@ -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; -} diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.sh b/pkgs/development/interpreters/python/python-linkme-wrapper.sh deleted file mode 100644 index 42674aa83b0..00000000000 --- a/pkgs/development/interpreters/python/python-linkme-wrapper.sh +++ /dev/null @@ -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" "$@" diff --git a/pkgs/development/libraries/cogl/1.18.nix b/pkgs/development/libraries/cogl/1.18.nix index 7aad8ba1b43..f6927770d86 100644 --- a/pkgs/development/libraries/cogl/1.18.nix +++ b/pkgs/development/libraries/cogl/1.18.nix @@ -1,5 +1,5 @@ { 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 }: let @@ -21,13 +21,11 @@ stdenv.mkDerivation rec { "--enable-gles1" "--enable-gles2" "--enable-kms-egl-platform" - "--enable-wayland-egl-platform" - "--enable-wayland-egl-server" ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"; propagatedBuildInputs = with xorg; [ glib gdk_pixbuf gobjectIntrospection - mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland + mesa_noglu libXrandr libXfixes libXcomposite libXdamage ] ++ libintlOrEmpty ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix index 0f1c1dd82e2..a4a20fce023 100644 --- a/pkgs/development/libraries/cogl/default.nix +++ b/pkgs/development/libraries/cogl/default.nix @@ -1,5 +1,5 @@ { 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 }: let @@ -21,13 +21,11 @@ stdenv.mkDerivation rec { "--enable-gles1" "--enable-gles2" "--enable-kms-egl-platform" - "--enable-wayland-egl-platform" - "--enable-wayland-egl-server" ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"; propagatedBuildInputs = with xorg; [ glib gdk_pixbuf gobjectIntrospection - mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland + mesa_noglu libXrandr libXfixes libXcomposite libXdamage ] ++ libintlOrEmpty ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer diff --git a/pkgs/development/libraries/hivex/default.nix b/pkgs/development/libraries/hivex/default.nix new file mode 100644 index 00000000000..4f0b3826022 --- /dev/null +++ b/pkgs/development/libraries/hivex/default.nix @@ -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; + }; +} diff --git a/pkgs/development/libraries/hivex/hivex-syms.patch b/pkgs/development/libraries/hivex/hivex-syms.patch new file mode 100644 index 00000000000..2280ade59a6 --- /dev/null +++ b/pkgs/development/libraries/hivex/hivex-syms.patch @@ -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) diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix new file mode 100644 index 00000000000..27e1c6adc00 --- /dev/null +++ b/pkgs/development/libraries/libguestfs/default.nix @@ -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; + }; +} diff --git a/pkgs/development/libraries/libguestfs/libguestfs-syms.patch b/pkgs/development/libraries/libguestfs/libguestfs-syms.patch new file mode 100644 index 00000000000..44cdc4e69b2 --- /dev/null +++ b/pkgs/development/libraries/libguestfs/libguestfs-syms.patch @@ -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. diff --git a/pkgs/development/libraries/libnetfilter_cthelper/default.nix b/pkgs/development/libraries/libnetfilter_cthelper/default.nix new file mode 100644 index 00000000000..197892897f3 --- /dev/null +++ b/pkgs/development/libraries/libnetfilter_cthelper/default.nix @@ -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; + }; +} diff --git a/pkgs/development/libraries/libnetfilter_cttimeout/default.nix b/pkgs/development/libraries/libnetfilter_cttimeout/default.nix new file mode 100644 index 00000000000..0626e91b8ba --- /dev/null +++ b/pkgs/development/libraries/libnetfilter_cttimeout/default.nix @@ -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; + }; +} diff --git a/pkgs/development/libraries/librdf/raptor2.nix b/pkgs/development/libraries/librdf/raptor2.nix index 8c748447ae1..f84cfa044c6 100644 --- a/pkgs/development/libraries/librdf/raptor2.nix +++ b/pkgs/development/libraries/librdf/raptor2.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libxml2, libxslt, curl }: 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 { url = "http://download.librdf.org/source/${name}.tar.gz"; - sha256 = "1644a1nnw5k6168v9gjfx1rcbij6ybjximd35a3zhcvyyijmb5di"; + sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed"; }; buildInputs = [ libxml2 libxslt ]; diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix index 551b31d416e..6a5e4578cac 100644 --- a/pkgs/development/libraries/librdf/rasqal.nix +++ b/pkgs/development/libraries/librdf/rasqal.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2 }: stdenv.mkDerivation rec { - name = "rasqal-0.9.31"; + name = "rasqal-0.9.32"; src = fetchurl { url = "http://download.librdf.org/source/${name}.tar.gz"; - sha256 = "1vkzifr488i31vxdnykyf2aq87023vx4bag4d94b1rdhy74l7mr8"; + sha256 = "eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix index 4863c928988..8ef90049345 100644 --- a/pkgs/development/libraries/librdf/redland.nix +++ b/pkgs/development/libraries/librdf/redland.nix @@ -7,11 +7,11 @@ }: stdenv.mkDerivation rec { - name = "redland-1.0.16"; + name = "redland-1.0.17"; src = fetchurl { url = "http://download.librdf.org/source/${name}.tar.gz"; - sha256 = "1gcx0h5dxa3c4xhhjk3gr0708zjj0n6zpslvbjfi2qbf13y798nr"; + sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681"; }; nativeBuildInputs = [ perl pkgconfig ]; diff --git a/pkgs/development/libraries/libtomcrypt/default.nix b/pkgs/development/libraries/libtomcrypt/default.nix new file mode 100644 index 00000000000..4a3196e44b8 --- /dev/null +++ b/pkgs/development/libraries/libtomcrypt/default.nix @@ -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"; + }; +} diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index c29da1438f3..feb3750907f 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -4,18 +4,8 @@ }: let - version = "0.26.5"; # even major numbers are stable - sha256 = "1vni6kqpcx4jy9q8mhhxphfjych76xxmgs3jyg8yacbl6gxfazfy"; - - 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" ]; + version = "0.28.1"; # even major numbers are stable + sha256 = "01pxjdbhvpxf00ncf8d9wxc8gkcqcxz59lwrpa151ah988inxkrc"; poppler_drv = nameSuff: merge: stdenv.mkDerivation (stdenv.lib.mergeAttrsByFuncDefaultsClean [ rec { @@ -64,7 +54,6 @@ let poppler_qt4 = poppler_drv "qt4" { propagatedBuildInputs = [ qt4 poppler_glib ]; - patches = qtcairo_patches; NIX_LDFLAGS = "-lpoppler"; postConfigure = '' mkdir -p "$out/lib/pkgconfig" diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix index ad1bc97d2f7..544d85c6f5f 100644 --- a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix @@ -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 { name = "ocsigen-deriving"; @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "2b3bf3f4972d0e6eaf075f7353ce482b776726e0cd04947a89b7156384ec0662"; }; - buildInputs = [ocaml findlib ocaml_oasis ocaml_data_notation ocaml_optcomp]; + buildInputs = [ocaml findlib ocaml_oasis ocaml_data_notation ocaml_optcomp camlp4]; configurePhase = '' make setup-dev.exe diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix index 6075bc4ab2a..4449766767c 100644 --- a/pkgs/development/ocaml-modules/optcomp/default.nix +++ b/pkgs/development/ocaml-modules/optcomp/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ocaml, findlib}: +{stdenv, fetchurl, ocaml, findlib, camlp4}: stdenv.mkDerivation { name = "ocaml-optcomp"; @@ -9,13 +9,13 @@ stdenv.mkDerivation { createFindlibDestdir = true; - buildInputs = [ocaml findlib]; + buildInputs = [ocaml findlib camlp4]; meta = { homepage = https://github.com/diml/optcomp; description = "Optional compilation for OCaml with cpp-like directives"; - license = "BSD"; + license = stdenv.lib.licenses.bsd3; platforms = ocaml.meta.platforms; maintainers = [ stdenv.lib.maintainers.gal_bolle diff --git a/pkgs/development/tools/build-managers/cmake/3.0.nix b/pkgs/development/tools/build-managers/cmake/3.0.nix new file mode 100644 index 00000000000..f4c368c4664 --- /dev/null +++ b/pkgs/development/tools/build-managers/cmake/3.0.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/tools/build-managers/cmake/search-path-3.0.patch b/pkgs/development/tools/build-managers/cmake/search-path-3.0.patch new file mode 100644 index 00000000000..b0447e70607 --- /dev/null +++ b/pkgs/development/tools/build-managers/cmake/search-path-3.0.patch @@ -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. + diff --git a/pkgs/development/tools/java/fastjar/default.nix b/pkgs/development/tools/java/fastjar/default.nix index e5a9ca50ce9..f9e1d9a0842 100644 --- a/pkgs/development/tools/java/fastjar/default.nix +++ b/pkgs/development/tools/java/fastjar/default.nix @@ -1,12 +1,12 @@ { fetchurl, stdenv, zlib }: -let version = "0.94"; in - stdenv.mkDerivation rec { +let version = "0.98"; in + stdenv.mkDerivation { name = "fastjar-${version}"; src = fetchurl { - url = "mirror://sourceforge/fastjar/${version}/${name}.tar.gz"; - sha256 = "15bvhvn2fzpziynk4myg1wl70wxa5a6v65hkzlcgnzh1wg1py8as"; + url = "http://download.savannah.gnu.org/releases/fastjar/fastjar-${version}.tar.gz"; + sha256 = "0iginbz2m15hcsa3x4y7v3mhk54gr1r7m3ghx0pg4n46vv2snmpi"; }; buildInputs = [ zlib ]; @@ -22,10 +22,10 @@ let version = "0.94"; in 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; - + platforms = stdenv.lib.platforms.linux; maintainers = [ ]; }; } diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix index bd2466c8854..a8043a9fc5e 100644 --- a/pkgs/development/tools/ocaml/camlp4/default.nix +++ b/pkgs/development/tools/ocaml/camlp4/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation { ''; - makePhase = "make all"; + makeFlags = "all"; installTargets = "install install-META"; diff --git a/pkgs/development/tools/profiling/EZTrace/default.nix b/pkgs/development/tools/profiling/EZTrace/default.nix new file mode 100644 index 00000000000..2c9b435682d --- /dev/null +++ b/pkgs/development/tools/profiling/EZTrace/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix index 3356a04729e..f796567b555 100644 --- a/pkgs/development/web/nodejs/default.nix +++ b/pkgs/development/web/nodejs/default.nix @@ -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 dtrace = runCommand "dtrace-native" {} '' @@ -6,19 +8,20 @@ let 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? deps = { inherit openssl zlib; - cares = c-ares; # 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 # inherit v8 - } // stdenv.lib.optionalAttrs (!stdenv.isDarwin) { + } // (stdenv.lib.optionalAttrs (!stdenv.isDarwin) { 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: [ "--shared-${name}" @@ -32,7 +35,9 @@ in stdenv.mkDerivation { src = fetchurl { 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); diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix index 6cb48d85f85..7f971150c67 100644 --- a/pkgs/games/crawl/default.nix +++ b/pkgs/games/crawl/default.nix @@ -1,24 +1,53 @@ -{ stdenv, fetchurl, sqlite, lua, which, zlib, pkgconfig, dejavu_fonts, - libpng, perl, SDL, SDL_image, ncurses, mesa}: +{ stdenv, fetchurl, which, sqlite, lua5_1, perl, zlib, pkgconfig, ncurses +, dejavu_fonts, libpng, SDL, SDL_image, mesa, freetype +, tileMode ? true +}: +let version = "0.15.2"; +in stdenv.mkDerivation rec { - name = "crawl-0.14.1"; - src = fetchurl { - url = "http://downloads.sourceforge.net/project/crawl-ref/Stone%20Soup/0.14.1/stone_soup-0.14.1-nodeps.tar.xz"; - sha256 = "91726d0224b93ba26b5d4bd3762bc5aabe1f02974ea6c937be89dc6c6ab7a4dd"; - }; + name = "crawl-${version}" + (if tileMode then "-tiles" else ""); + src = fetchurl { + url = "mirror://sourceforge/crawl-ref/Stone%20Soup/${version}/stone_soup-${version}-nodeps.tar.xz"; + sha256 = "1qi1g8w0sxmwrv96hnay20gpwp1xn2xcq1cw9iwn1yq112484fp9"; + }; - patches = [ ./makefile_fonts.patch ./makefile_sqlite.patch - ./makefile_rltiles.patch ./makefile_rltiles2.patch - ./makefile_misc.patch ./makefile_prefix.patch - ]; + patches = [ ./makefile_fonts.patch ./makefile_sqlite.patch ]; - buildInputs = [stdenv pkgconfig lua zlib sqlite which libpng perl SDL - dejavu_fonts SDL_image ncurses mesa]; + nativeBuildInputs = [ pkgconfig which perl ]; - 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 ]; + }; } diff --git a/pkgs/games/crawl/makefile_misc.patch b/pkgs/games/crawl/makefile_misc.patch deleted file mode 100644 index 3849e79234b..00000000000 --- a/pkgs/games/crawl/makefile_misc.patch +++ /dev/null @@ -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 - diff --git a/pkgs/games/crawl/makefile_prefix.patch b/pkgs/games/crawl/makefile_prefix.patch deleted file mode 100644 index 869d703b125..00000000000 --- a/pkgs/games/crawl/makefile_prefix.patch +++ /dev/null @@ -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 diff --git a/pkgs/games/crawl/makefile_rltiles.patch b/pkgs/games/crawl/makefile_rltiles.patch deleted file mode 100644 index e08859c989b..00000000000 --- a/pkgs/games/crawl/makefile_rltiles.patch +++ /dev/null @@ -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 diff --git a/pkgs/games/crawl/makefile_rltiles2.patch b/pkgs/games/crawl/makefile_rltiles2.patch deleted file mode 100644 index 2508ad0a54c..00000000000 --- a/pkgs/games/crawl/makefile_rltiles2.patch +++ /dev/null @@ -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 diff --git a/pkgs/games/crawl/makefile_sdlimg.patch b/pkgs/games/crawl/makefile_sdlimg.patch deleted file mode 100644 index e6c7101de72..00000000000 --- a/pkgs/games/crawl/makefile_sdlimg.patch +++ /dev/null @@ -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 - diff --git a/pkgs/games/fish-fillets-ng/default.nix b/pkgs/games/fish-fillets-ng/default.nix new file mode 100644 index 00000000000..e9d6ce9655b --- /dev/null +++ b/pkgs/games/fish-fillets-ng/default.nix @@ -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/"; + }; +} diff --git a/pkgs/games/klavaro/default.nix b/pkgs/games/klavaro/default.nix index c7b40db5caf..48b25d99492 100644 --- a/pkgs/games/klavaro/default.nix +++ b/pkgs/games/klavaro/default.nix @@ -1,20 +1,24 @@ -{ stdenv, fetchurl, pkgconfig, intltool, curl, gtk, gtkdatabox }: +{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, curl, gtk3 }: stdenv.mkDerivation rec { - name = "klavaro-2.00"; + name = "klavaro-3.01"; src = fetchurl { 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 = { description = "Just another free touch typing tutor program"; - + homepage = http://klavaro.sourceforge.net/; license = stdenv.lib.licenses.gpl3Plus; - platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/misc/drivers/xwiimote/default.nix b/pkgs/misc/drivers/xwiimote/default.nix new file mode 100644 index 00000000000..75e071a05ef --- /dev/null +++ b/pkgs/misc/drivers/xwiimote/default.nix @@ -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" + ''; +} diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix index 14d6d6b17eb..346e1cbf771 100644 --- a/pkgs/misc/emulators/retroarch/cores.nix +++ b/pkgs/misc/emulators/retroarch/cores.nix @@ -9,7 +9,7 @@ let stdenv.lib.makeOverridable stdenv.mkDerivation rec { name = "libretro-${core}-${version}"; - version = "20141009"; + version = "20141109"; inherit src; buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or []; @@ -53,8 +53,8 @@ in core = "4do"; src = fetchRetro { repo = core + "-libretro"; - rev = "700e5c2b28252ed7d3fb086ab016b3b964a5030a"; - sha256 = "0wxiapbp6i3r9ir75xgmah0jhrfvy9jgqr6i22grgmnga1qv5pcf"; + rev = "be95d71e0a7f9cd5f378b9a9793ef38a16d81f26"; + sha256 = "0s8fs42xa01c2qaznhnlvi4syafgyzrw8lzz8l5lipyrzrawj9dm"; }; description = "Port of 4DO/libfreedo to libretro"; }).override { @@ -65,8 +65,8 @@ in core = "bsnes-mercury"; src = fetchRetro { repo = core; - rev = "5fa7c035a604cd207c5833af0fdd55d7cf68acb0"; - sha256 = "19drxpspid0y3wi3zp3ls4jlhx1ndqmr51jici7w2vsajk9x9dyg"; + rev = "41e0425b5e13be15c46be847ea00c757f241ab58"; + sha256 = "0i6lvf6m702pam8jngg9arcysmwm6g4cv83n987h9c0ny3lf0n90"; }; description = "Fork of bsnes with HLE DSP emulation restored"; }).override { @@ -77,8 +77,8 @@ in core = "desmume"; src = fetchRetro { repo = core; - rev = "57bbabfe71fb8e131fa14ab1504f1959937b8ce5"; - sha256 = "19kbl361ggzhmmc5alsfwq9gcl0zc9zhz0nx562l6k2lj7fwwr0g"; + rev = "4aefde628b35cda78a2bdf47f2f0a565c0a386a0"; + sha256 = "0rkf4vdjlqj850b28drjm4w3vq0jj02ipsbfhpr23i79n4r2pi5a"; }; description = "libretro wrapper for desmume NDS emulator"; }).override { @@ -89,8 +89,8 @@ in core = "fceumm"; src = fetchRetro { repo = "libretro-" + core; - rev = "1b27f5abafa4ace43badebea82a8374be3a5a96b"; - sha256 = "04v0in7nazmkfsbvl0wn5klnz4f8rpjsar1v3c07j2qrma42k60w"; + rev = "1655de8b6ca8ad36287e04ac6179e6618521d41f"; + sha256 = "0v4kais1qhbc0nxaarc99cx3vnc5sgr2yp4ajh97wb90srsdkh46"; }; description = "FCEUmm libretro port"; }; @@ -99,8 +99,8 @@ in core = "fba"; src = fetchRetro { repo = core + "-libretro"; - rev = "21a78df085a0d964828c5c0940c03e656e2ad808"; - sha256 = "01ycszinral19ni22a3x8afiz23y9xw6idzx9a22xnc6zqvj0fjm"; + rev = "586ea5e4a1bd61f3d209dfbf18bca66b1bbb92cc"; + sha256 = "0cqaqxirf5l1i4fwcdsjd7nnzb3xgfr5k9vdlj9y9k4viffd6drd"; }; description = "Port of Final Burn Alpha to libretro"; }).override { @@ -115,8 +115,8 @@ in core = "gambatte"; src = fetchRetro { repo = core + "-libretro"; - rev = "6f3c97d86483368ec446b6b08ae21b1cb644312c"; - sha256 = "19kbisbl5lqxfsaff4knp2rrl17af21c1kgccxhgp5liqnqk92k5"; + rev = "3283b2943a9164d3bb88bd62a20f74e33fffc058"; + sha256 = "0yl03zrb09n1w5ija38z7vi7vvaqdmy65v397g3bfm99rrl8g2kw"; }; description = "Gambatte libretro port"; }).override { @@ -127,8 +127,8 @@ in core = "genesis-plus-gx"; src = fetchRetro { repo = "Genesis-Plus-GX"; - rev = "d634da83d29d39d293c1aba3c14f6259e13e525e"; - sha256 = "0mhn2h2wr2kh5rgda5rj7xkmg4b6glg4rnd0f1ak6rp3sh8dfhv1"; + rev = "67d86709a279422f2c3c769ac910682df29397db"; + sha256 = "18m03yjakjg2hcasrjqyz54r55vrn8wwq768zhk6x8gdnnhqc1hy"; }; description = "Enhanced Genesis Plus libretro port"; }; @@ -137,8 +137,8 @@ in core = "mednafen-pce-fast"; src = fetchRetro { repo = "beetle-pce-fast-libretro"; - rev = "bef70147f73e8a4b5e8a9d535fc59a597843d657"; - sha256 = "0kkj5g5kajz4mx5xsixd2f6qnx3p68p0px2m0i8045yih50gsilp"; + rev = "a26abf39887bb994f9b3e7645e46e6455e992729"; + sha256 = "0iws9fyw7m6wpr9vly66nzrfmiafrb96bnxidb1mdqgnldkwh8zi"; }; description = "Port of Mednafen's PC Engine core to libretro"; }).override { @@ -149,8 +149,8 @@ in core = "mupen64plus"; src = fetchRetro { repo = core + "-libretro"; - rev = "021ab383e2ac44533e9babd3e7f5fed97a988225"; - sha256 = "13hph19b24bbp9d6s8zm4a939dhy96n2fbkcknmsp473kfnm9mf6"; + rev = "fc97025211c82e4298034b9a7fe9f0a074c9eef7"; + sha256 = "04dq7rygfk47bix18a12cajb2k1k3absk5jmykcbg8znvcnlf4pi"; }; description = "Libretro port of Mupen64 Plus, GL only"; @@ -163,8 +163,8 @@ in core = "nestopia"; src = fetchRetro { repo = core; - rev = "3468f3c16c80935e8c4078a5771e9379a981989c"; - sha256 = "1k9kd25z4hyna48gwxb8rkm9q402xzhw18wmgbzkf8y6zqxn50j0"; + rev = "d3d9ed1b3f8e32e8cbf90e72e8ed37d9fe1624c3"; + sha256 = "081dhxgr05m1warqga3fxmdnzyaa9c9bjw1b6glbsdgbl9iq4wq9"; }; description = "nestopia undead libretro port"; }).override { @@ -175,8 +175,8 @@ in core = "picodrive"; src = fetchRetro { repo = core; - rev = "3f4b091194d29dd90a3cb88fd6520f677ffece65"; - sha256 = "0jb89g5xmq7nzx4gm1mam1hym20fcyzp95k9as0k2gnwxrd4ymxv"; + rev = "54c1a1e8c284ede3e0da887ec4ce088f78f7fc30"; + sha256 = "0qd3daxgq5jdp46gff6ih65nnksil8j26v0wdf798mignknq4p44"; }; description = "Fast MegaDrive/MegaCD/32X emulator"; @@ -190,8 +190,8 @@ in core = "prboom"; src = fetchRetro { repo = "libretro-" + core; - rev = "7c5e74a8f8a973278d46604f2816aae538e9cce7"; - sha256 = "1mkxc7zcyc2nj7spsrasbnz6k182g8i1snahbbwj4qi41db6cjc9"; + rev = "5adbe263ce9771c8c5e007f94cfbb193979158ac"; + sha256 = "0yj8fy3ax52k9kmsf70g57dh889m80hjc3wqz9f3fp6xyxzpvz1j"; }; description = "Prboom libretro port"; }).override { @@ -202,11 +202,10 @@ in core = "ppsspp"; src = fetchRetro { repo = "libretro-" + core; - rev = "af5050be6b421e08be42d4edf0015693ceba1f06"; - sha256 = "0h4crdq6n6npbv6sidp3bgz5g2z3ws6ikg37f0amshh3rj36p7q0"; + rev = "a4956befd41f388ebfc28ea555e0f9325b76c1d3"; + sha256 = "0v91i6257b7rpdlylcswcxfkan6knswb166ia5y4yr8pldc1kbj6"; }; description = "ppsspp libretro port"; - extraBuildInputs = [ mesa ffmpeg ]; }).override { buildPhase = "cd libretro && make"; @@ -216,8 +215,8 @@ in core = "quicknes"; src = fetchRetro { repo = "QuickNES_Core"; - rev = "3e8935cc937d3bf64dc44b63cef5d584ec2673fa"; - sha256 = "003hrxkskrkqv5h39p4gd9mg2k3ki5l1cmm0kxq7c454yliljjxc"; + rev = "06f83f603c52ad8fae197beca6fdf241ed338dc3"; + sha256 = "065yy5jm0b43xdn0dswp06h2b11dzvbyrsyjvigrax5mjy5mi6wd"; }; description = "QuickNES libretro port"; }).override { @@ -228,8 +227,8 @@ in core = "scummvm"; src = fetchRetro { repo = core; - rev = "0a703f6546c5a0d8ef835aa624681f7877c36df6"; - sha256 = "1v1a6zvc1sjvvnvcarcmdym7qwyqyvl4b6ianjgzbpaxwmw457g0"; + rev = "7dc8e24f1759dfca852014451dfca9103d8b1f04"; + sha256 = "12ya5g6d1bpsf332w5h49jjcxbr3dbjqiaddd3p7s6gzlyzzg1xf"; }; description = "Libretro port of ScummVM"; @@ -242,8 +241,8 @@ in core = "snes9x"; src = fetchRetro { repo = core; - rev = "0724786eb2ed1436946a2e2b42c77cddf8412a63"; - sha256 = "15wnq12mkfz766dzafhlmmh8a8b463ybssj84fhijj8c1x75scd1"; + rev = "e57447bbfd5daf62a00e1a31cfa400b419fe7963"; + sha256 = "06p7m8whazy9gih968f4nzdsp66n1fg6q3g2lbwwzj6izlli5cyg"; }; description = " Port of SNES9x git to libretro"; }).override { @@ -254,8 +253,8 @@ in core = "snes9x-next"; src = fetchRetro { repo = core; - rev = "c701a1e4357bc80e46cae5bdfa0d359bcbce23ad"; - sha256 = "0410dj7rxcadvyghc1yqwqidn1g3scm52i3gb9d8haymg9q1zbjs"; + rev = "8fd34aeadf421c758702d820dedb58a4d10b01a2"; + sha256 = "0vwg6qkpdqzkb4cvk50czl5g69qg8n5s2fhi9rvaq383ngv6sdsh"; }; description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro"; }; @@ -276,8 +275,8 @@ in core = "vbam"; src = fetchRetro { repo = core + "-libretro"; - rev = "26a030ce01a6473d35bac2a6db4f0a360989d72f"; - sha256 = "065gljk2nijnjg2c2zbnpg25s5zam7x0z8lq7kbz9zb87sp73ha1"; + rev = "9b851867cffab8416edd89d8fe92bbad7f82810e"; + sha256 = "1n6wgxwcg7xm3vy0xigr1qbjkyxj5b2ih1pqpifjx83c47a9m9ka"; }; description = "vanilla VBA-M libretro port"; }).override { @@ -288,8 +287,8 @@ in core = "vba-next"; src = fetchRetro { repo = core; - rev = "136fe2020e941f27036754dd0524bfec750025dc"; - sha256 = "17bvx2wp2r5lkgffvqrirhgic1bfy39m7c1v74z245hg6z1jvqcf"; + rev = "97a74706f57a9d01c02cb764b5140185308f80c8"; + sha256 = "0m80bd843pvagbggi5xxnwljaijl97lcqml76n62zx4rzx8256y7"; }; description = "VBA-M libretro port with modifications for speed"; }; diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix index 616fab44d6f..ff08523845b 100644 --- a/pkgs/misc/emulators/retroarch/default.nix +++ b/pkgs/misc/emulators/retroarch/default.nix @@ -4,12 +4,12 @@ stdenv.mkDerivation rec { name = "retroarch-bare-${version}"; - version = "20141009"; + version = "20141109"; src = fetchgit { url = git://github.com/libretro/RetroArch.git; - rev = "72f26dfb49f236294c52eb9cb4c9d5c15da4837a"; - sha256 = "0dn9fh1frnbxykhw3q229ck50a800p8r4va8nssfcdxh8cys385w"; + rev = "88b21b87e7554860f4b252bc59ac99fa4032393e"; + sha256 = "0w2diklpv7wl6bmdw4msn90qn7f650q789crdawn63nbqg0rj8a2"; }; buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix index ca0e86413c3..3d1f90fe8eb 100644 --- a/pkgs/os-specific/linux/bluez/bluez5.nix +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python, pythonPackages, pythonDBus, readline, libsndfile, udev, libical, - systemd }: + systemd, enableWiimote ? false }: assert stdenv.isLinux; @@ -38,7 +38,8 @@ stdenv.mkDerivation rec { "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-systemduserunitdir=$(out)/etc/systemd/user" "--with-udevdir=$(out)/lib/udev" - ]; + ] ++ + stdenv.lib.optional enableWiimote [ "--enable-wiimote" ]; # Work around `make install' trying to create /var/lib/bluetooth. installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth"; diff --git a/pkgs/os-specific/linux/conntrack-tools/default.nix b/pkgs/os-specific/linux/conntrack-tools/default.nix new file mode 100644 index 00000000000..51358628ff1 --- /dev/null +++ b/pkgs/os-specific/linux/conntrack-tools/default.nix @@ -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; + }; +} diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 16df4467fe8..766999ee42c 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -61,16 +61,16 @@ rec { grsecurity_stable = grsecPatch { kversion = "3.14.23"; - revision = "201410312212"; + revision = "201411062033"; branch = "stable"; - sha256 = "19ghha8khr03jwjp2ax1fi9hg7535gwnyv0in1dr4mz5cy23scsm"; + sha256 = "1y1z4fygchhhk64s1zwhk5y5vvrsaldp3xmqfbx2ddsmcbzb4xyl"; }; grsecurity_unstable = grsecPatch { kversion = "3.17.2"; - revision = "201410312213"; + revision = "201411062034"; branch = "test"; - sha256 = "0jk0f6mn74hcx98jpdivgs5a336ng1r41fhhdjbyv4i733hid25a"; + sha256 = "0snhry47awxs68l2rkk10a7cwcwsmn547ywdcgj874x90a7yj63q"; }; grsec_fix_path = diff --git a/pkgs/os-specific/linux/light/default.nix b/pkgs/os-specific/linux/light/default.nix new file mode 100644 index 00000000000..5ca9f69f879 --- /dev/null +++ b/pkgs/os-specific/linux/light/default.nix @@ -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; + }; +} diff --git a/pkgs/servers/http/apache-modules/tomcat-connectors/builder.sh b/pkgs/servers/http/apache-modules/tomcat-connectors/builder.sh deleted file mode 100644 index 52efe537c9b..00000000000 --- a/pkgs/servers/http/apache-modules/tomcat-connectors/builder.sh +++ /dev/null @@ -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 diff --git a/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix b/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix index 7f764ef5ebc..0e908acd74b 100644 --- a/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix +++ b/pkgs/servers/http/apache-modules/tomcat-connectors/default.nix @@ -1,14 +1,21 @@ -{stdenv, fetchurl, apacheHttpd, jdk}: +{ stdenv, fetchurl, apacheHttpd, jdk }: -stdenv.mkDerivation { - name = "tomcat-connectors-1.2.32"; - builder = ./builder.sh; +stdenv.mkDerivation rec { + name = "tomcat-connectors-1.2.40"; src = fetchurl { - url = http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.32-src.tar.gz; - sha256 = "1dim62warzy1hqvc7cvnqsbq475sr6vpgwd6gfmddmkgw155saji"; + url = "http://www.apache.si/tomcat/tomcat-connectors/jk/${name}-src.tar.gz"; + sha256 = "0pbh6s19ba5k2kahiiqgx8lz8v4fjllzn0w6hjd08x7z9my38pl9"; }; - inherit apacheHttpd; - buildInputs = [apacheHttpd jdk]; + configureFlags = "--with-apxs=${apacheHttpd}/bin/apxs --with-java-home=${jdk}"; + + sourceRoot = "${name}-src/native"; + + installPhase = '' + mkdir -p $out/modules + cp apache-2.0/mod_jk.so $out/modules + ''; + + buildInputs = [ apacheHttpd jdk ]; } diff --git a/pkgs/tools/misc/kermit/default.nix b/pkgs/tools/misc/kermit/default.nix index ee521f04700..3b2e71fd01c 100644 --- a/pkgs/tools/misc/kermit/default.nix +++ b/pkgs/tools/misc/kermit/default.nix @@ -1,13 +1,14 @@ -{stdenv, fetchurl, ncurses}: -stdenv.mkDerivation { - name = "kermit-8.0.211"; +{ stdenv, fetchurl, ncurses, glibc }: + +stdenv.mkDerivation rec { + name = "kermit-9.0.302"; src = fetchurl { - url = ftp://kermit.columbia.edu/kermit/archives/cku211.tar.gz; - sha256 = "14xsmdlsk2pgsp51l7lxwncgljwvgm446a4m6nk488shj94cvrrr"; + url = ftp://ftp.kermitproject.org/kermit/archives/cku302.tar.gz; + sha256 = "0487mh6s99ijqf1pfmbm302pa5i4pzmm8s439hdl1ffs5g8jqpqd"; }; - buildInputs = [ ncurses ]; + buildInputs = [ ncurses glibc ]; unpackPhase = '' mkdir -p src @@ -17,19 +18,21 @@ stdenv.mkDerivation { patchPhase = '' sed -i -e 's@-I/usr/include/ncurses@@' \ - -e 's@-lncurses@-lncurses -lresolv -lcrypt@' \ -e 's@/usr/local@'"$out"@ makefile ''; - buildPhase = "make -f makefile linux"; + + buildPhase = "make -f makefile linux LNKFLAGS='-lcrypt -lresolv'"; + installPhase = '' mkdir -p $out/bin mkdir -p $out/man/man1 make -f makefile install ''; - meta = { - homepage = "http://www.columbia.edu/kermit/ck80.html"; + meta = with stdenv.lib; { + homepage = http://www.kermitproject.org/ck90.html; 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 ]; }; } diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix index c32bc224bdd..cbaca948b2b 100644 --- a/pkgs/tools/networking/cjdns/default.nix +++ b/pkgs/tools/networking/cjdns/default.nix @@ -14,6 +14,9 @@ stdenv.mkDerivation { sha256 = "11z8dk7byxh9pfv7mhfvnk465qln1g7z8c8f822623d59lwjpbs1"; }; + # Make the NixOS service work a little better. + patches = [ ./makekeys-sigpipe.patch ]; + buildInputs = [ which python27 nodejs ] ++ # for flock stdenv.lib.optional stdenv.isLinux [ utillinux ]; diff --git a/pkgs/tools/networking/cjdns/makekeys-sigpipe.patch b/pkgs/tools/networking/cjdns/makekeys-sigpipe.patch new file mode 100644 index 00000000000..2b21f56709d --- /dev/null +++ b/pkgs/tools/networking/cjdns/makekeys-sigpipe.patch @@ -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 + #include + + 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; diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix new file mode 100644 index 00000000000..be6d1658d3e --- /dev/null +++ b/pkgs/tools/networking/flannel/default.nix @@ -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; + }; +} diff --git a/pkgs/tools/networking/flannel/deps.nix b/pkgs/tools/networking/flannel/deps.nix new file mode 100644 index 00000000000..3af2404ba78 --- /dev/null +++ b/pkgs/tools/networking/flannel/deps.nix @@ -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); +} diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix new file mode 100644 index 00000000000..b5510033928 --- /dev/null +++ b/pkgs/tools/networking/i2pd/default.nix @@ -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; + }; +} \ No newline at end of file diff --git a/pkgs/tools/system/augeas/default.nix b/pkgs/tools/system/augeas/default.nix new file mode 100644 index 00000000000..e6b09932f86 --- /dev/null +++ b/pkgs/tools/system/augeas/default.nix @@ -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; + }; +} diff --git a/pkgs/tools/typesetting/rubber/default.nix b/pkgs/tools/typesetting/rubber/default.nix index 32545abaff2..7c58c480a79 100644 --- a/pkgs/tools/typesetting/rubber/default.nix +++ b/pkgs/tools/typesetting/rubber/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { patchPhase = "substituteInPlace configure --replace which \"type -P\""; + postInstall = "rm $out/share/rubber/modules/etex.rub"; + meta = { description = "Wrapper for LaTeX and friends"; diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index 7179c353861..b21c937e785 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -5,16 +5,16 @@ rec { sha256 = "1c39x059jhn5jsy6i9j3akjbkm1kmmzssy1jyi1aw20rl2vp86w3"; }; - texmfVersion = "2014.20140927"; + texmfVersion = "2014.20141024"; texmfSrc = fetchurl { 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 { url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz"; - sha256 = "1ckm8yra96m44n708dc1kgq4xrzi7ginxpsb73ijbwzbjy1yqzwg"; + sha256 = "1ydz5m1v40n34g1l31r3vqg74rbr01x2f80drhz4igh21fm7zzpa"; }; passthru = { inherit texmfSrc langTexmfSrc; }; diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix index 2c19783beb7..59c3389d750 100644 --- a/pkgs/tools/typesetting/tex/texlive/extra.nix +++ b/pkgs/tools/typesetting/tex/texlive/extra.nix @@ -1,11 +1,11 @@ args: with args; rec { name = "texlive-extra-2014"; - version = "2014.20140927"; + version = "2014.20141024"; src = fetchurl { url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz"; - sha256 = "0chbl20dh61ld7nq9aiay7hi371l6285c2caqz18br29ifh8jicd"; + sha256 = "190p5v6madcgkxjmfal0pcylfz88zi6yaixky0vrcz1kbvxqlcb9"; }; buildInputs = [texLive xz]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d5a09dd7478..6405a0990c1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -666,7 +666,11 @@ let 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 { }; @@ -1128,6 +1132,8 @@ let fdm = callPackage ../tools/networking/fdm {}; + flannel = callPackage ../tools/networking/flannel { }; + figlet = callPackage ../tools/misc/figlet { }; file = callPackage ../tools/misc/file { }; @@ -1265,7 +1271,7 @@ let 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 gnupg1 = gnupg1compat; @@ -1278,7 +1284,7 @@ let libgcrypt = libgcrypt_1_6; }; - gnupg = gnupg21; + gnupg = gnupg20; gnuplot = callPackage ../tools/graphics/gnuplot { }; @@ -1442,6 +1448,8 @@ let httptunnel = callPackage ../tools/networking/httptunnel { }; + i2pd = callPackage ../tools/networking/i2pd {}; + iasl = callPackage ../development/compilers/iasl { }; icecast = callPackage ../servers/icecast { }; @@ -1560,7 +1568,8 @@ let 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 { inherit pkgs stdenv nodejs fetchurl fetchgit; @@ -3484,7 +3493,8 @@ let 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 { }; @@ -3506,7 +3516,7 @@ let 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 { }; @@ -3766,8 +3776,8 @@ let // { camlimages = ocamlPackages_3_12_1.camlimages_4_0; }; 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_02_0 = mkOcamlPackages ocaml_4_02_0 pkgs.ocamlPackages_4_02_0; - ocamlPackages_latest = ocamlPackages_4_02_0; + ocamlPackages_4_02_1 = mkOcamlPackages ocaml_4_02_1 pkgs.ocamlPackages_4_02_1; + ocamlPackages_latest = ocamlPackages_4_02_1; ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { }; @@ -4092,8 +4102,6 @@ let inherit stdenv fetchurl lib; }); - pythonLinkmeWrapper = callPackage ../development/interpreters/python/python-linkme-wrapper.nix { }; - pypi2nix = python27Packages.pypi2nix; svg2tikz = python27Packages.svg2tikz; @@ -4248,6 +4256,8 @@ let ### DEVELOPMENT / TOOLS + augeas = callPackage ../tools/system/augeas { }; + ansible = callPackage ../tools/system/ansible { }; antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { }; @@ -4374,6 +4384,7 @@ let 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 { }; cmakeCurses = cmake.override { useNcurses = true; }; @@ -4461,6 +4472,8 @@ let emma = callPackage ../development/tools/analysis/emma { }; + eztrace = callPackage ../development/tools/profiling/EZTrace { }; + findbugs = callPackage ../development/tools/analysis/findbugs { }; pmd = callPackage ../development/tools/analysis/pmd { }; @@ -5078,6 +5091,8 @@ let fftwSinglePrec = fftw.override { precision = "single"; }; fftwFloat = fftwSinglePrec; # the configure option is just an alias + fish-fillets-ng = callPackage ../games/fish-fillets-ng {}; + flann = callPackage ../development/libraries/flann { }; flite = callPackage ../development/libraries/flite { }; @@ -5444,6 +5459,10 @@ let libusb = libusb1; }; + hivex = callPackage ../development/libraries/hivex { + inherit (perlPackages) IOStringy; + }; + hspell = callPackage ../development/libraries/hspell { }; hspellDicts = callPackage ../development/libraries/hspell/dicts.nix { }; @@ -5795,6 +5814,10 @@ let libgsystem = callPackage ../development/libraries/libgsystem { }; + libguestfs = callPackage ../development/libraries/libguestfs { + inherit (perlPackages) libintlperl GetoptLong SysVirt; + }; + libharu = callPackage ../development/libraries/libharu { }; libHX = callPackage ../development/libraries/libHX { }; @@ -5974,6 +5997,10 @@ let 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 { }; libnfnetlink = callPackage ../development/libraries/libnfnetlink { }; @@ -6088,6 +6115,8 @@ let libtommath = callPackage ../development/libraries/libtommath { }; + libtomcrypt = callPackage ../development/libraries/libtomcrypt { }; + libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { # fix "unrecognized option -arch" error stdenv = if stdenv.isDarwin @@ -7861,6 +7890,8 @@ let weatherXoap = config.conky.weatherXoap or false; }; + conntrack_tools = callPackage ../os-specific/linux/conntrack-tools { }; + cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { }; cryopid = callPackage ../os-specific/linux/cryopid { }; @@ -7945,6 +7976,8 @@ let then utillinux else null; + light = callPackage ../os-specific/linux/light { }; + e3cfsprogs = callPackage ../os-specific/linux/e3cfsprogs { }; ebtables = callPackage ../os-specific/linux/ebtables { }; @@ -10108,8 +10141,6 @@ let ncmpcpp = callPackage ../applications/audio/ncmpcpp { }; - ncmpcppBeta = callPackage ../applications/audio/ncmpcpp/beta.nix { }; - normalize = callPackage ../applications/audio/normalize { }; mplayer = callPackage ../applications/video/mplayer { @@ -10166,6 +10197,10 @@ let musescore = callPackage ../applications/audio/musescore { }; mutt = callPackage ../applications/networking/mailreaders/mutt { }; + mutt-with-sidebar = callPackage ../applications/networking/mailreaders/mutt { + withSidebar = true; + automake = automake113x; + }; namecoin = callPackage ../applications/misc/namecoin { }; namecoinqt = callPackage ../applications/misc/namecoin/qt.nix { }; @@ -12187,7 +12222,7 @@ let 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 { }; @@ -12239,6 +12274,8 @@ let cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { }; + crashplan = callPackage ../applications/backup/crashplan { }; + gutenprint = callPackage ../misc/drivers/gutenprint { }; gutenprintBin = callPackage ../misc/drivers/gutenprint/bin.nix { }; @@ -12609,6 +12646,12 @@ let saneBackends = saneBackends; }; + xwiimote = callPackage ../misc/drivers/xwiimote { + bluez = pkgs.bluez5.override { + enableWiimote = true; + }; + }; + yafc = callPackage ../applications/networking/yafc { }; yandex-disk = callPackage ../tools/filesystems/yandex-disk { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5fa7fddfabe..8b0ee4cfa5b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -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 { name = "TAP-Parser-SourceHandler-pgTAP-3.30"; src = fetchurl { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bab7bcddc38..5d2b198cabf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -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 { version = "0.1.9"; name = "batinfo-${version}"; @@ -3771,20 +3788,21 @@ let }; flexget = buildPythonPackage rec { - name = "FlexGet-1.2.161"; + version = "1.2.201"; + name = "FlexGet-${version}"; disabled = isPy3k; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz"; - md5 = "f7533e7b1df49cc8027fc4a2cde0290d"; + md5 = "e940845fc38ee602109a876455a02084"; }; 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 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 ++ stdenv.lib.optional (pkgs.config.pythonPackages.deluge or false) 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 { 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 { - url = "https://pypi.python.org/packages/source/k/keyring/${name}.zip"; - sha256 = "1flccphpyrb8y8dra2fq2s2v3fg615d77kjjmzl0gmiidabkkdqf"; + url = "https://pypi.python.org/packages/source/j/jrnl/${name}.tar.gz"; + 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; @@ -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 { name = "paramiko-1.15.1"; @@ -6699,6 +6774,10 @@ let sha256 = "1mrh233pj584gf7la64d4xlmvdnfl4jwpxs95lnd3i4zd5drid14"; }; + preConfigure = '' + patchShebangs . + ''; + buildInputs = [ self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio ];