diff --git a/default.nix b/default.nix index 9d5764a6307f..c1b9bfd39f92 100644 --- a/default.nix +++ b/default.nix @@ -1 +1,7 @@ -import ./pkgs/top-level/all-packages.nix +if ! builtins ? nixVersion || builtins.compareVersions "1.6" builtins.nixVersion == 1 then + + abort "This version of Nixpkgs requires Nix >= 1.6, please upgrade!" + +else + + import ./pkgs/top-level/all-packages.nix diff --git a/lib/licenses.nix b/lib/licenses.nix index cda43583279f..d82402cd3af9 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -25,12 +25,14 @@ amd = { shortName = "amd"; fullName = "AMD License Agreement"; - url = "http://developer.amd.com/amd-license-agreement/"; - }; + url = http://developer.amd.com/amd-license-agreement/; + };# - # Apple Public Source License 2.0; - # http://opensource.org/licenses/APSL-2.0 - apsl20 = "APSL 2.0"; + apsl20 = { + shortName = "APSL 2.0"; + fullName = "Apple Public Source License 2.0"; + url = http://opensource.org/licenses/APSL-2.0; + }; asl20 = { shortName = "ASL2.0"; @@ -80,7 +82,11 @@ url = http://www.eclipse.org/legal/epl-v10.html; }; - gpl2 = "GPLv2"; + gpl2 = { + shortName = "GPLv2"; + fullName = "GNU General Public License version 2"; + url = http://www.gnu.org/licenses/old-licenses/gpl-2.0.html; + }; gpl2Oss = { shortName = "GPLv2+OSS"; @@ -88,9 +94,11 @@ url = http://www.mysql.com/about/legal/licensing/foss-exception; }; - # GNU General Public License version 2 or later; - # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - gpl2Plus = "GPLv2+"; + gpl2Plus = { + shortName = "GPLv2+"; + fullName = "GNU General Public License version 2 or later"; + url = http://www.gnu.org/licenses/old-licenses/gpl-2.0.html; + }; gpl3 = { shortName = "GPLv3"; @@ -134,7 +142,11 @@ url = https://fedoraproject.org/wiki/Licensing/libtiff; }; - lgpl2 = "LGPLv2"; + lgpl2 = { + shortName = "LGPLv2"; + fullName = "GNU Library General Public License version 2"; + url = http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html; + }; lgpl2Plus = { shortName = "LGPLv2+"; @@ -142,7 +154,11 @@ url = http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html; }; - lgpl21 = "LGPLv2.1"; + lgpl21 = { + shortName = "LGPLv2.1"; + fullName = "GNU Lesser General Public License version 2.1"; + url = http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html; + }; lgpl21Plus = { shortName = "LGPLv2.1+"; diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 73c288231c88..8d6c613fd0f8 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -25,6 +25,7 @@ edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; ertes = "Ertugrul Söylemez "; + falsifian = "James Cook "; garbas = "Rok Garbas "; goibhniu = "Cillian de Róiste "; guibert = "David Guibert "; @@ -52,6 +53,7 @@ phreedom = "Evgeny Egorochkin "; pierron = "Nicolas B. Pierron "; piotr = "Piotr Pietraszkiewicz "; + pkmx = "Chih-Mao Chen "; pSub = "Pascal Wittmann "; qknight = "Joachim Schiele "; raskin = "Michael Raskin <7c6f434c@mail.ru>"; diff --git a/lib/meta.nix b/lib/meta.nix index 1af314733486..44e3cc011f18 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -31,11 +31,10 @@ rec { updateName = updater: drv: drv // {name = updater (drv.name);}; - /* Append a suffix to the name of a package. !!! the suffix should - really be appended *before* the version, at least most of the - time. - */ - appendToName = suffix: updateName (name: "${name}-${suffix}"); + /* Append a suffix to the name of a package (before the version + part). */ + appendToName = suffix: updateName (name: + let x = builtins.parseDrvName name; in "${x.name}-${suffix}-${x.version}"); /* Apply a function to each derivation and only to derivations in an attrset diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl index 6d11ad7a6c4a..9647aae0f2fb 100644 --- a/nixos/doc/manual/options-to-docbook.xsl +++ b/nixos/doc/manual/options-to-docbook.xsl @@ -18,15 +18,14 @@ - - - diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm index 8bef3d67b8d9..99810f87750d 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -497,7 +497,7 @@ sub waitForX { retry sub { my ($status, $out) = $self->execute("journalctl -bu systemd-logind | grep Linked"); return 0 if $status != 0; - my ($status, $out) = $self->execute("xwininfo -root > /dev/null 2>&1"); + ($status, $out) = $self->execute("xwininfo -root > /dev/null 2>&1"); return 1 if $status == 0; } }); diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix index 56d541cb9b3b..310739aa1707 100644 --- a/nixos/modules/config/i18n.nix +++ b/nixos/modules/config/i18n.nix @@ -53,7 +53,11 @@ in }; consoleKeyMap = mkOption { - type = types.str; + type = mkOptionType { + name = "string or path"; + check = t: (isString t || types.path.check t); + }; + default = "us"; example = "fr"; description = '' diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index ae7a8234e071..fc05584e2565 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -115,6 +115,13 @@ nix-ssh = 104; dictd = 105; couchdb = 106; + searx = 107; + kippo = 108; + jenkins = 109; + systemd-journal-gateway = 110; + notbit = 111; + ngircd = 112; + btsync = 113; # When adding a uid, make sure it doesn't match an existing gid. @@ -208,6 +215,11 @@ keys = 96; dictd = 105; couchdb = 106; + searx = 107; + kippo = 108; + jenkins = 109; + systemd-journal-gateway = 110; + notbit = 111; # When adding a gid, make sure it doesn't match an existing uid. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 94c1667d39da..e59b0ff5ac2c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -61,6 +61,7 @@ ./security/apparmor.nix ./security/apparmor-suid.nix ./security/ca.nix + ./security/duosec.nix ./security/pam.nix ./security/pam_usb.nix ./security/polkit.nix @@ -81,6 +82,8 @@ ./services/backup/rsnapshot.nix ./services/backup/sitecopy-backup.nix ./services/backup/tarsnap.nix + ./services/continuous-integration/jenkins/default.nix + ./services/continuous-integration/jenkins/slave.nix ./services/databases/4store-endpoint.nix ./services/databases/4store.nix ./services/databases/couchdb.nix @@ -152,6 +155,7 @@ ./services/networking/avahi-daemon.nix ./services/networking/bind.nix ./services/networking/bitlbee.nix + ./services/networking/btsync.nix ./services/networking/connman.nix ./services/networking/cntlm.nix ./services/networking/chrony.nix @@ -177,6 +181,8 @@ ./services/networking/minidlna.nix ./services/networking/nat.nix ./services/networking/networkmanager.nix + ./services/networking/ngircd.nix + ./services/networking/notbit.nix ./services/networking/ntopng.nix ./services/networking/ntpd.nix ./services/networking/oidentd.nix @@ -189,6 +195,7 @@ ./services/networking/rdnssd.nix ./services/networking/rpcbind.nix ./services/networking/sabnzbd.nix + ./services/networking/searx.nix ./services/networking/supybot.nix ./services/networking/ssh/lshd.nix ./services/networking/ssh/sshd.nix @@ -205,6 +212,7 @@ ./services/scheduling/cron.nix ./services/scheduling/fcron.nix ./services/search/elasticsearch.nix + ./services/search/solr.nix ./services/security/clamav.nix ./services/security/haveged.nix ./services/security/fprot.nix @@ -227,8 +235,10 @@ ./services/web-servers/lighttpd/cgit.nix ./services/web-servers/lighttpd/gitweb.nix ./services/web-servers/nginx/default.nix + ./services/web-servers/phpfpm.nix ./services/web-servers/tomcat.nix ./services/web-servers/varnish/default.nix + ./services/web-servers/winstone.nix ./services/web-servers/zope2.nix ./services/x11/desktop-managers/default.nix ./services/x11/display-managers/auto.nix diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index cff751934d7d..69a56ff69a0d 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -116,8 +116,9 @@ in # This file is read for all shells. # Only execute this file once per shell. + # But don't clobber the environment of interactive non-login children! if [ -n "$__ETC_ZSHENV_SOURCED" ]; then return; fi - __ETC_ZSHENV_SOURCED=1 + export __ETC_ZSHENV_SOURCED=1 ${cfg.shellInit} diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index a26f930eda1d..72093aab5cd7 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -103,6 +103,7 @@ in zipModules ([] ++ obsolete [ "services" "sshd" "gatewayPorts" ] [ "services" "openssh" "gatewayPorts" ] ++ obsolete [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ] ++ obsolete [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ] +++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "xbmc" ] # KDE ++ deprecated [ "kde" "extraPackages" ] [ "environment" "kdePackages" ] diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix new file mode 100644 index 000000000000..989bd13d101e --- /dev/null +++ b/nixos/modules/security/duosec.nix @@ -0,0 +1,198 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.security.duosec; + + boolToStr = b: if b then "yes" else "no"; + + configFile = '' + [duo] + ikey=${cfg.ikey} + skey=${cfg.skey} + host=${cfg.host} + ${optionalString (cfg.group != "") ("group="+cfg.group)} + failmode=${cfg.failmode} + pushinfo=${boolToStr cfg.pushinfo} + autopush=${boolToStr cfg.autopush} + motd=${boolToStr cfg.motd} + prompts=${toString cfg.prompts} + accept_env_factor=${boolToStr cfg.acceptEnvFactor} + fallback_local_ip=${boolToStr cfg.fallbackLocalIP} + ''; + + loginCfgFile = optional cfg.ssh.enable + { source = pkgs.writeText "login_duo.conf" configFile; + mode = "0600"; + uid = config.ids.uids.sshd; + target = "duo/login_duo.conf"; + }; + + pamCfgFile = optional cfg.pam.enable + { source = pkgs.writeText "pam_duo.conf" configFile; + mode = "0600"; + uid = config.ids.uids.sshd; + target = "duo/pam_duo.conf"; + }; +in +{ + options = { + security.duosec = { + ssh.enable = mkOption { + type = types.bool; + default = false; + description = "If enabled, protect SSH logins with Duo Security."; + }; + + pam.enable = mkOption { + type = types.bool; + default = false; + description = "If enabled, protect logins with Duo Security using PAM support."; + }; + + ikey = mkOption { + type = types.str; + description = "Integration key."; + }; + + skey = mkOption { + type = types.str; + description = "Secret key."; + }; + + host = mkOption { + type = types.str; + description = "Duo API hostname."; + }; + + group = mkOption { + type = types.str; + default = ""; + description = "Use Duo authentication for users only in this group."; + }; + + failmode = mkOption { + type = types.str; + default = "safe"; + description = '' + On service or configuration errors that prevent Duo + authentication, fail "safe" (allow access) or "secure" (deny + access). The default is "safe". + ''; + }; + + pushinfo = mkOption { + type = types.bool; + default = false; + description = '' + Include information such as the command to be executed in + the Duo Push message. + ''; + }; + + autopush = mkOption { + type = types.bool; + default = false; + description = '' + If true, Duo Unix will automatically send + a push login request to the user’s phone, falling back on a + phone call if push is unavailable. If + false, the user will be prompted to + choose an authentication method. When configured with + autopush = yes, we recommend setting + prompts = 1. + ''; + }; + + motd = mkOption { + type = types.bool; + default = false; + description = '' + Print the contents of /etc/motd to screen + after a succesful login. + ''; + }; + + prompts = mkOption { + type = types.int; + default = 3; + description = '' + If a user fails to authenticate with a second factor, Duo + Unix will prompt the user to authenticate again. This option + sets the maximum number of prompts that Duo Unix will + display before denying access. Must be 1, 2, or 3. Default + is 3. + + For example, when prompts = 1, the user + will have to successfully authenticate on the first prompt, + whereas if prompts = 2, if the user + enters incorrect information at the initial prompt, he/she + will be prompted to authenticate again. + + When configured with autopush = true, we + recommend setting prompts = 1. + ''; + }; + + acceptEnvFactor = mkOption { + type = types.bool; + default = false; + description = '' + Look for factor selection or passcode in the + $DUO_PASSCODE environment variable before + prompting the user for input. + + When $DUO_PASSCODE is non-empty, it will override + autopush. The SSH client will need SendEnv DUO_PASSCODE in + its configuration, and the SSH server will similarily need + AcceptEnv DUO_PASSCODE. + ''; + }; + + fallbackLocalIP = mkOption { + type = types.bool; + default = false; + description = '' + Duo Unix reports the IP address of the authorizing user, for + the purposes of authorization and whitelisting. If Duo Unix + cannot detect the IP address of the client, setting + fallbackLocalIP = yes will cause Duo Unix + to send the IP address of the server it is running on. + + If you are using IP whitelisting, enabling this option could + cause unauthorized logins if the local IP is listed in the + whitelist. + ''; + }; + }; + }; + + config = mkIf (cfg.ssh.enable || cfg.pam.enable) { + assertions = + [ { assertion = cfg.failmode == "safe" || cfg.failmode == "secure"; + message = "Invalid value for failmode (must be safe or secure)."; + } + { assertion = cfg.prompts == 1 || cfg.prompts == 2 || cfg.prompts == 3; + message = "Invalid value for prompts (must be 1, 2, or 3)."; + } + { assertion = !cfg.pam.enable; + message = "PAM support is currently not implemented."; + } + ]; + + environment.systemPackages = [ pkgs.duo-unix ]; + security.setuidPrograms = [ "login_duo" ]; + environment.etc = loginCfgFile ++ pamCfgFile; + + /* If PAM *and* SSH are enabled, then don't do anything special. + If PAM isn't used, set the default SSH-only options. */ + services.openssh.extraConfig = mkIf (cfg.ssh.enable || cfg.pam.enable) ( + if cfg.pam.enable then "UseDNS no" else '' + # Duo Security configuration + ForceCommand ${config.security.wrapperDir}/login_duo + PermitTunnel no + AllowTcpForwarding no + ''); + }; +} diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix index 03fbd29a191d..ac8f008069a6 100644 --- a/nixos/modules/services/backup/tarsnap.nix +++ b/nixos/modules/services/backup/tarsnap.nix @@ -33,8 +33,9 @@ in service called tarsnap-backup which is periodically run by cron, or you may run it on-demand. - See Getting Started - Tarsnap page. + See the Tarsnap Getting + Started page. ''; }; @@ -46,7 +47,7 @@ in full name will be label-$(date+"%Y%m%d%H%M%S"). For example, by default your backups will look similar to - nixos-20140301021501. + nixos-20140301011501. ''; }; @@ -110,8 +111,8 @@ in default = "15 01 * * *"; description = '' This option defines (in the format used by cron) when - tarsnap is run for backups. The default is to update at - 01:15 at night every day. + tarsnap is run for backups. The default is to backup the + specified paths at 01:15 at night every day. ''; }; diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix new file mode 100644 index 000000000000..c3dc59a9fbd0 --- /dev/null +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -0,0 +1,118 @@ +{ config, pkgs, ... }: +with pkgs.lib; +let + cfg = config.services.jenkins; +in { + options = { + services.jenkins = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable the jenkins continuous integration server. + ''; + }; + + user = mkOption { + default = "jenkins"; + type = with types; string; + description = '' + User the jenkins server should execute under. + ''; + }; + + group = mkOption { + default = "jenkins"; + type = with types; string; + description = '' + User the jenkins server should execute under. + ''; + }; + + home = mkOption { + default = "/var/lib/jenkins"; + type = with types; string; + description = '' + The path to use as JENKINS_HOME. If the default user "jenkins" is configured then + this is the home of the "jenkins" user. + ''; + }; + + port = mkOption { + default = 8080; + type = types.uniq types.int; + description = '' + Specifies port number on which the jenkins HTTP interface listens. The default is 8080 + ''; + }; + + packages = mkOption { + default = [ pkgs.stdenv pkgs.git pkgs.jdk pkgs.openssh pkgs.nix ]; + type = types.listOf types.package; + description = '' + Packages to add to PATH for the jenkins process. + ''; + }; + + environment = mkOption { + default = { NIX_REMOTE = "daemon"; }; + type = with types; attrsOf string; + description = '' + Additional environment variables to be passed to the jenkins process. + The environment will always include JENKINS_HOME. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraGroups = optional (cfg.group == "jenkins") { + name = "jenkins"; + gid = config.ids.gids.jenkins; + }; + + users.extraUsers = optional (cfg.user == "jenkins") { + name = "jenkins"; + description = "jenkins user"; + createHome = true; + home = cfg.home; + group = cfg.group; + useDefaultShell = true; + uid = config.ids.uids.jenkins; + }; + + systemd.services.jenkins = { + description = "Jenkins Continuous Integration Server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + environment = { + JENKINS_HOME = cfg.home; + } // cfg.environment; + + path = cfg.packages; + + script = '' + ${pkgs.jdk}/bin/java -jar ${pkgs.jenkins} --httpPort=${toString cfg.port} + ''; + + postStart = '' + until ${pkgs.curl}/bin/curl -s -L localhost:${toString cfg.port} ; do + sleep 10 + done + while true ; do + index=`${pkgs.curl}/bin/curl -s -L localhost:${toString cfg.port}` + if [[ !("$index" =~ 'Please wait while Jenkins is restarting' || + "$index" =~ 'Please wait while Jenkins is getting ready to work') ]]; then + exit 0 + fi + sleep 30 + done + ''; + + serviceConfig = { + User = cfg.user; + }; + }; + }; +} diff --git a/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixos/modules/services/continuous-integration/jenkins/slave.nix new file mode 100644 index 000000000000..1d31ab830f6c --- /dev/null +++ b/nixos/modules/services/continuous-integration/jenkins/slave.nix @@ -0,0 +1,67 @@ +{ config, pkgs, ... }: +with pkgs.lib; +let + cfg = config.services.jenkinsSlave; + masterCfg = config.services.jenkins; +in { + options = { + services.jenkinsSlave = { + # todo: + # * assure the profile of the jenkins user has a JRE and any specified packages. This would + # enable ssh slaves. + # * Optionally configure the node as a jenkins ad-hoc slave. This would imply configuration + # properties for the master node. + enable = mkOption { + type = types.bool; + default = false; + description = '' + If true the system will be configured to work as a jenkins slave. + If the system is also configured to work as a jenkins master then this has no effect. + In progress: Currently only assures the jenkins user is configured. + ''; + }; + + user = mkOption { + default = "jenkins"; + type = with types; string; + description = '' + User the jenkins slave agent should execute under. + ''; + }; + + group = mkOption { + default = "jenkins"; + type = with types; string; + description = '' + User the jenkins slave agent should execute under. + ''; + }; + + home = mkOption { + default = "/var/lib/jenkins"; + type = with types; string; + description = '' + The path to use as JENKINS_HOME. If the default user "jenkins" is configured then + this is the home of the "jenkins" user. + ''; + }; + }; + }; + + config = mkIf (cfg.enable && !masterCfg.enable) { + users.extraGroups = optional (cfg.group == "jenkins") { + name = "jenkins"; + gid = config.ids.gids.jenkins; + }; + + users.extraUsers = optional (cfg.user == "jenkins") { + name = "jenkins"; + description = "jenkins user"; + createHome = true; + home = cfg.home; + group = cfg.group; + useDefaultShell = true; + uid = config.ids.uids.jenkins; + }; + }; +} diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix index 01631e9879a2..b48d3a64767f 100644 --- a/nixos/modules/services/databases/couchdb.nix +++ b/nixos/modules/services/databases/couchdb.nix @@ -1,9 +1,7 @@ { config, pkgs, ... }: - -with pkgs.lib; + with pkgs.lib; let - cfg = config.services.couchdb; configFile = pkgs.writeText "couchdb.ini" '' @@ -19,10 +17,8 @@ let [log] file = ${cfg.logFile} ''; - configExtraFile = pkgs.writeText "couchdb-extra.ini" cfg.extraConfig; -in -{ +in { ###### interface @@ -64,14 +60,6 @@ in ''; }; - pidFile = mkOption { - type = types.path; - default = "/var/run/couchdb/couchdb.pid"; - description = '' - pid file. - ''; - }; - # couchdb options: http://docs.couchdb.org/en/latest/config/index.html databaseDir = mkOption { @@ -153,26 +141,23 @@ in preStart = '' - mkdir -p `dirname ${cfg.pidFile}`; mkdir -p `dirname ${cfg.uriFile}`; mkdir -p `dirname ${cfg.logFile}`; - touch ${cfg.logFile}; mkdir -p ${cfg.databaseDir}; mkdir -p ${cfg.viewIndexDir}; - chown ${cfg.user}:${cfg.group} `dirname ${cfg.pidFile}` - chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}` - chown ${cfg.user}:${cfg.group} ${cfg.logFile} - chown ${cfg.user}:${cfg.group} ${cfg.databaseDir} - chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir} + + if [ "$(id -u)" = 0 ]; then + chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}` + chown ${cfg.user}:${cfg.group} ${cfg.databaseDir} + chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir} + fi ''; serviceConfig = { PermissionsStartOnly = true; User = cfg.user; Group = cfg.group; - Type = "forking"; - ExecStart = "${cfg.package}/bin/couchdb -b -o /dev/null -e /dev/null -p ${cfg.pidFile} -a ${configFile} -a ${configExtraFile}"; - ExecStop = "${cfg.package}/bin/couchdb -d"; + ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig}"; }; }; diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 62fbc2a1415b..44fb0062f928 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -15,7 +15,7 @@ let pidFile = "${cfg.pidDir}/mysqld.pid"; mysqldOptions = - "--user=${cfg.user} --datadir=${cfg.dataDir} " + + "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql} " + "--pid-file=${pidFile}"; myCnf = pkgs.writeText "my.cnf" @@ -250,9 +250,6 @@ in rm /tmp/mysql_init fi ''; # */ - - serviceConfig.ExecStop = - "${mysql}/bin/mysqladmin ${optionalString (cfg.rootPassword != null) "--user=root --password=\"$(cat ${cfg.rootPassword})\""} shutdown"; }; }; diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index cc4230d4d6a7..a83b1a110fed 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -190,7 +190,7 @@ in mkdir -m 0700 -p ${cfg.dataDir} if [ "$(id -u)" = 0 ]; then chown -R postgres ${cfg.dataDir} - su -s ${pkgs.stdenv.shell} postgres -c 'initdb -U root' + su -s ${pkgs.stdenv.shell} postgres -c initdb else # For non-root operation. initdb diff --git a/nixos/modules/services/misc/gpsd.nix b/nixos/modules/services/misc/gpsd.nix index bc1d1f4575a8..99b733d399e2 100644 --- a/nixos/modules/services/misc/gpsd.nix +++ b/nixos/modules/services/misc/gpsd.nix @@ -19,6 +19,7 @@ in services.gpsd = { enable = mkOption { + type = types.bool; default = false; description = '' Whether to enable `gpsd', a GPS service daemon. @@ -26,6 +27,7 @@ in }; device = mkOption { + type = types.str; default = "/dev/ttyUSB0"; description = '' A device may be a local serial device for GPS input, or a URL of the form: @@ -35,6 +37,7 @@ in }; readonly = mkOption { + type = types.bool; default = true; description = '' Whether to enable the broken-device-safety, otherwise @@ -51,6 +54,7 @@ in }; port = mkOption { + type = types.uniq types.int; default = 2947; description = '' The port where to listen for TCP connections. @@ -58,6 +62,7 @@ in }; debugLevel = mkOption { + type = types.uniq types.int; default = 0; description = '' The debugging level. @@ -85,19 +90,20 @@ in inherit gid; }; - jobs.gpsd = - { description = "GPSD daemon"; - - startOn = "ip-up"; - - exec = - '' - ${pkgs.gpsd}/sbin/gpsd -D "${toString cfg.debugLevel}" \ - -S "${toString cfg.port}" \ - ${if cfg.readonly then "-b" else ""} \ - "${cfg.device}" - ''; + systemd.services.gpsd = { + description = "GPSD daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Type = "forking"; + ExecStart = '' + ${pkgs.gpsd}/sbin/gpsd -D "${toString cfg.debugLevel}" \ + -S "${toString cfg.port}" \ + ${if cfg.readonly then "-b" else ""} \ + "${cfg.device}" + ''; }; + }; }; diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 9a5b170d5e66..1a8b85db3290 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -63,7 +63,7 @@ in services.nixosManual.showManual = mkOption { type = types.bool; - default = true; + default = false; description = '' Whether to show the NixOS manual on one of the virtual consoles. diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix index 58ec8a49694b..38fd53653d62 100644 --- a/nixos/modules/services/monitoring/apcupsd.nix +++ b/nixos/modules/services/monitoring/apcupsd.nix @@ -168,11 +168,11 @@ in # shuts off power.) Copied from here: # http://forums.opensuse.org/english/get-technical-help-here/applications/479499-apcupsd-systemd-killpower-issues.html systemd.services.apcupsd-killpower = { + description = "APC UPS Kill Power"; after = [ "shutdown.target" ]; # append umount.target? before = [ "final.target" ]; wantedBy = [ "shutdown.target" ]; unitConfig = { - Description = "APC UPS Kill Power"; ConditionPathExists = "/run/apcupsd/powerfail"; DefaultDependencies = "no"; }; diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index be57b8c5c03f..3e2e7e9df6ef 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -4,17 +4,31 @@ with pkgs.lib; let cfg = config.services.graphite; - writeTextOrNull = f: t: if t == null then null else pkgs.writeText f t; + writeTextOrNull = f: t: if t == null then null else pkgs.writeTextDir f t; + + dataDir = cfg.dataDir; + + configDir = pkgs.buildEnv { + name = "graphite-config"; + paths = lists.filter (el: el != null) [ + (writeTextOrNull "carbon.conf" cfg.carbon.config) + (writeTextOrNull "storage-agregation.conf" cfg.carbon.storageAggregation) + (writeTextOrNull "storage-schemas.conf" cfg.carbon.storageSchemas) + (writeTextOrNull "blacklist.conf" cfg.carbon.blacklist) + (writeTextOrNull "whitelist.conf" cfg.carbon.whitelist) + (writeTextOrNull "rewrite-rules.conf" cfg.carbon.rewriteRules) + (writeTextOrNull "relay-rules.conf" cfg.carbon.relayRules) + (writeTextOrNull "aggregation-rules.conf" cfg.carbon.aggregationRules) + ]; + }; - dataDir = "/var/db/graphite"; carbonOpts = name: with config.ids; '' - --nodaemon --syslog --prefix=${name} --pidfile /var/run/${name}.pid \ - --uid ${toString uids.graphite} --gid ${toString uids.graphite} ${name} + --nodaemon --syslog --prefix=${name} --pidfile ${dataDir}/${name}.pid ${name} ''; carbonEnv = { PYTHONPATH = "${pkgs.python27Packages.carbon}/lib/python2.7/site-packages"; GRAPHITE_ROOT = dataDir; - GRAPHITE_CONF_DIR = "/etc/graphite/"; + GRAPHITE_CONF_DIR = configDir; GRAPHITE_STORAGE_DIR = dataDir; }; @@ -23,6 +37,14 @@ in { ###### interface options.services.graphite = { + dataDir = mkOption { + type = types.path; + default = "/var/db/graphite"; + description = '' + Data directory for graphite. + ''; + }; + web = { enable = mkOption { description = "Whether to enable graphite web frontend"; @@ -38,8 +60,8 @@ in { port = mkOption { description = "Graphite web frontend port"; - default = "8080"; - type = types.str; + default = 8080; + type = types.int; }; }; @@ -152,31 +174,17 @@ in { ###### implementation config = mkIf (cfg.carbon.enableAggregator || cfg.carbon.enableCache || cfg.carbon.enableRelay || cfg.web.enable) { - environment.etc = lists.filter (el: el.source != null) [ - { source = writeTextOrNull "carbon.conf" cfg.carbon.config; - target = "graphite/carbon.conf"; } - { source = writeTextOrNull "storage-agregation.conf" cfg.carbon.storageAggregation; - target = "graphite/storage-agregation.conf"; } - { source = writeTextOrNull "storage-schemas.conf" cfg.carbon.storageSchemas; - target = "graphite/storage-schemas.conf"; } - { source = writeTextOrNull "blacklist.conf" cfg.carbon.blacklist; - target = "graphite/blacklist.conf"; } - { source = writeTextOrNull "whitelist.conf" cfg.carbon.whitelist; - target = "graphite/whitelist.conf"; } - { source = writeTextOrNull "rewrite-rules.conf" cfg.carbon.rewriteRules; - target = "graphite/rewrite-rules.conf"; } - { source = writeTextOrNull "relay-rules.conf" cfg.carbon.relayRules; - target = "graphite/relay-rules.conf"; } - { source = writeTextOrNull "aggregation-rules.conf" cfg.carbon.aggregationRules; - target = "graphite/aggregation-rules.conf"; } - ]; - - systemd.services.carbonCache = mkIf cfg.carbon.enableCache { + systemd.services.carbonCache = { + enable = cfg.carbon.enableCache; description = "Graphite Data Storage Backend"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; environment = carbonEnv; - serviceConfig.ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}"; + serviceConfig = { + ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}"; + User = "graphite"; + Group = "graphite"; + }; restartTriggers = [ pkgs.pythonPackages.carbon cfg.carbon.config @@ -185,33 +193,45 @@ in { cfg.carbon.rewriteRules ]; preStart = '' - mkdir -p ${dataDir}/whisper + mkdir -m 0700 -p ${cfg.dataDir}/whisper + if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi ''; }; - systemd.services.carbonAggregator = mkIf cfg.carbon.enableAggregator { + systemd.services.carbonAggregator = { + enable = cfg.carbon.enableAggregator; description = "Carbon Data Aggregator"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; environment = carbonEnv; - serviceConfig.ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}"; + serviceConfig = { + ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}"; + User = "graphite"; + Group = "graphite"; + }; restartTriggers = [ pkgs.pythonPackages.carbon cfg.carbon.config cfg.carbon.aggregationRules ]; }; - systemd.services.carbonRelay = mkIf cfg.carbon.enableRelay { + systemd.services.carbonRelay = { + enable = cfg.carbon.enableRelay; description = "Carbon Data Relay"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; environment = carbonEnv; - serviceConfig.ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}"; + serviceConfig = { + ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}"; + User = "graphite"; + Group = "graphite"; + }; restartTriggers = [ pkgs.pythonPackages.carbon cfg.carbon.config cfg.carbon.relayRules ]; }; - systemd.services.graphiteWeb = mkIf cfg.web.enable { + systemd.services.graphiteWeb = { + enable = cfg.web.enable; description = "Graphite Web Interface"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; @@ -224,14 +244,15 @@ in { serviceConfig = { ExecStart = '' ${pkgs.python27Packages.waitress}/bin/waitress-serve \ - --host=${cfg.web.host} --port=${cfg.web.port} \ + --host=${cfg.web.host} --port=${toString cfg.web.port} \ --call django.core.handlers.wsgi:WSGIHandler''; User = "graphite"; Group = "graphite"; }; preStart = '' if ! test -e ${dataDir}/db-created; then - mkdir -p ${dataDir}/{whisper/,log/webapp/} + mkdir -m 0700 -p ${dataDir}/{whisper/,log/webapp/} + if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi # populate database ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput @@ -259,7 +280,6 @@ in { uid = config.ids.uids.graphite; description = "Graphite daemon user"; home = dataDir; - createHome = true; }; users.extraGroups.graphite.gid = config.ids.gids.graphite; }; diff --git a/nixos/modules/services/monitoring/statsd.nix b/nixos/modules/services/monitoring/statsd.nix index 979debefdd9f..54b7e79f82eb 100644 --- a/nixos/modules/services/monitoring/statsd.nix +++ b/nixos/modules/services/monitoring/statsd.nix @@ -64,13 +64,13 @@ in graphiteHost = mkOption { description = "Hostname or IP of Graphite server"; - default = "127.0.0.1"; + default = config.services.graphite.web.host; type = types.str; }; graphitePort = mkOption { description = "Port of Graphite server"; - default = 2003; + default = config.services.graphite.web.port; type = types.uniq types.int; }; diff --git a/nixos/modules/services/network-filesystems/openafs-client/default.nix b/nixos/modules/services/network-filesystems/openafs-client/default.nix index 4a888b64bd34..b34ebc3663e3 100644 --- a/nixos/modules/services/network-filesystems/openafs-client/default.nix +++ b/nixos/modules/services/network-filesystems/openafs-client/default.nix @@ -46,6 +46,16 @@ in description = "Cache directory."; }; + crypt = mkOption { + default = false; + description = "Whether to enable (weak) protocol encryption."; + }; + + sparse = mkOption { + default = false; + description = "Minimal cell list in /afs."; + }; + }; }; @@ -70,18 +80,23 @@ in startOn = "started network-interfaces"; stopOn = "stopping network-interfaces"; - preStart = '' - mkdir -m 0755 /afs || true - mkdir -m 0755 -p ${cfg.cacheDirectory} || true + preStart = '' + mkdir -p -m 0755 /afs + mkdir -m 0700 -p ${cfg.cacheDirectory} ${pkgs.module_init_tools}/sbin/insmod ${openafsPkgs}/lib/openafs/libafs-*.ko || true - ${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} -dynroot -fakestat - ''; + ${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} -fakestat -afsdb + ${openafsPkgs}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"} + ''; - postStop = '' - umount /afs + # Doing this in preStop, because after these commands AFS is basically + # stopped, so systemd has nothing to do, just noticing it. If done in + # postStop, then we get a hang + kernel oops, because AFS can't be + # stopped simply by sending signals to processes. + preStop = '' + ${pkgs.utillinux}/bin/umount /afs ${openafsPkgs}/sbin/afsd -shutdown - rmmod libafs - ''; + ${pkgs.module_init_tools}/sbin/rmmod libafs + ''; }; diff --git a/nixos/modules/services/networking/btsync.nix b/nixos/modules/services/networking/btsync.nix new file mode 100644 index 000000000000..e7fb471ccf41 --- /dev/null +++ b/nixos/modules/services/networking/btsync.nix @@ -0,0 +1,280 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.services.btsync; + listenAddr = cfg.httpListenAddr + ":" + (toString cfg.httpListenPort); + + boolStr = x: if x then "true" else "false"; + optionalEmptyStr = b: v: optionalString (b != "") v; + + webUIConfig = optionalString cfg.enableWebUI + '' + "webui": + { + ${optionalEmptyStr cfg.httpLogin "\"login\": \"${cfg.httpLogin}\","} + ${optionalEmptyStr cfg.httpPass "\"password\": \"${cfg.httpPass}\","} + ${optionalEmptyStr cfg.apiKey "\"api_key\": \"${cfg.apiKey}\","} + "listen": "${listenAddr}" + } + ''; + + knownHosts = e: + optionalString (e ? "knownHosts") + (concatStringsSep "," (map (v: "\"${v}\"") e."knownHosts")); + + sharedFoldersRecord = with pkgs.lib; + concatStringsSep "," (map (entry: + let helper = attr: v: + if (entry ? attr) then boolStr entry.attr else boolStr v; + in + '' + { + "secret": "${entry.secret}", + "dir": "${entry.directory}", + + "use_relay_server": ${helper "useRelayServer" true}, + "use_tracker": ${helper "useTracker" true}, + "use_dht": ${helper "useDHT" false}, + + "search_lan": ${helper "searchLAN" true}, + "use_sync_trash": ${helper "useSyncTrash" true}, + + "known_hosts": [${knownHosts entry}] + } + '') cfg.sharedFolders); + + sharedFoldersConfig = optionalString (cfg.sharedFolders != []) + '' + "shared_folders": + [ + ${sharedFoldersRecord} + ] + ''; + + configFile = pkgs.writeText "btsync.config" + '' + { + "device_name": "${cfg.deviceName}", + "storage_path": "/var/lib/btsync", + "listening_port": ${toString cfg.listeningPort}, + "use_gui": false, + + "check_for_updates": ${boolStr cfg.checkForUpdates}, + "use_upnp": ${boolStr cfg.useUpnp}, + "download_limit": ${toString cfg.downloadLimit}, + "upload_limit": ${toString cfg.uploadLimit}, + "lan_encrypt_data": ${boolStr cfg.encryptLAN}, + + ${webUIConfig} + ${sharedFoldersConfig} + } + ''; +in +{ + options = { + services.btsync = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, start the Bittorrent Sync daemon. Once enabled, + you can interact with the service through the Web UI, or + configure it in your NixOS configuration. Enabling the + btsync service also installs a + multi-instance systemd unit which can be used to start + user-specific copies of the daemon. Once installed, you can + use systemctl start btsync@user to start + the daemon only for user user, using the + configuration file located at + $HOME/.config/btsync.conf + ''; + }; + + deviceName = mkOption { + type = types.str; + example = "Voltron"; + description = '' + Name of the Bittorrent Sync device. + ''; + }; + + listeningPort = mkOption { + type = types.int; + default = 0; + example = 44444; + description = '' + Listening port. Defaults to 0 which randomizes the port. + ''; + }; + + checkForUpdates = mkOption { + type = types.bool; + default = true; + description = '' + Determines whether to check for updates and alert the user + about them in the UI. + ''; + }; + + useUpnp = mkOption { + type = types.bool; + default = true; + description = '' + Use Universal Plug-n-Play (UPnP) + ''; + }; + + downloadLimit = mkOption { + type = types.int; + default = 0; + example = 1024; + description = '' + Download speed limit. 0 is unlimited (default). + ''; + }; + + uploadLimit = mkOption { + type = types.int; + default = 0; + example = 1024; + description = '' + Upload speed limit. 0 is unlimited (default). + ''; + }; + + httpListenAddr = mkOption { + type = types.str; + default = "0.0.0.0"; + example = "1.2.3.4"; + description = '' + HTTP address to bind to. + ''; + }; + + httpListenPort = mkOption { + type = types.int; + default = 9000; + description = '' + HTTP port to bind on. + ''; + }; + + httpLogin = mkOption { + type = types.str; + example = "allyourbase"; + description = '' + HTTP web login username. + ''; + }; + + httpPass = mkOption { + type = types.str; + example = "arebelongtous"; + description = '' + HTTP web login password. + ''; + }; + + encryptLAN = mkOption { + type = types.bool; + default = true; + description = "Encrypt LAN data."; + }; + + enableWebUI = mkOption { + type = types.bool; + default = false; + description = '' + Enable Web UI for administration. Bound to the specified + httpListenAddress and + httpListenPort. + ''; + }; + + apiKey = mkOption { + type = types.str; + default = ""; + description = "API key, which enables the developer API."; + }; + + sharedFolders = mkOption { + default = []; + example = + [ { secret = "AHMYFPCQAHBM7LQPFXQ7WV6Y42IGUXJ5Y"; + directory = "/home/user/sync_test"; + useRelayServer = true; + useTracker = true; + useDHT = false; + searchLAN = true; + useSyncTrash = true; + knownHosts = + [ "192.168.1.2:4444" + "192.168.1.3:4444" + ]; + } + ]; + description = '' + Shared folder list. If enabled, web UI must be + disabled. Secrets can be generated using btsync + --generate-secret. Note that this secret will be + put inside the Nix store, so it is realistically not very + secret. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + assertions = + [ { assertion = cfg.deviceName != ""; + message = "Device name cannot be empty."; + } + { assertion = cfg.enableWebUI -> cfg.sharedFolders == []; + message = "If using shared folders, the web UI cannot be enabled."; + } + { assertion = cfg.apiKey != "" -> cfg.enableWebUI; + message = "If you're using an API key, you must enable the web server."; + } + # TODO FIXME: the README says not specifying the login/pass means it + # should disable authentication, but apparently it doesn't? + { assertion = cfg.enableWebUI -> cfg.httpLogin != "" && cfg.httpPass != ""; + message = "If using the web UI, you must configure a login/password."; + } + # TODO FIXME: assert the existence of sharedFolder directories? + ]; + + users.extraUsers.btsync = { + description = "Bittorrent Sync Service user"; + home = "/var/lib/btsync"; + createHome = true; + uid = config.ids.uids.btsync; + }; + + systemd.services.btsync = with pkgs; { + description = "Bittorrent Sync Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Restart = "on-abort"; + User = "btsync"; + ExecStart = + "${bittorrentSync}/bin/btsync --nodaemon --config ${configFile}"; + }; + }; + + systemd.services."btsync@" = with pkgs; { + description = "Bittorrent Sync Service for %i"; + after = [ "network.target" ]; + serviceConfig = { + Restart = "on-abort"; + User = "%i"; + ExecStart = + "${bittorrentSync}/bin/btsync --nodaemon --config %h/.config/btsync.conf"; + }; + }; + + environment.systemPackages = [ pkgs.bittorrentSync ]; + }; +} diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index babde3e942b3..07e05fa6d051 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -171,6 +171,17 @@ in ''; }; + networking.firewall.pingLimit = mkOption { + default = null; + type = types.nullOr (types.separatedString " "); + description = + '' + If pings are allowed, this allows setting rate limits + on them. If non-null, this option should be in the form + of flags like "-limit 1/minute -limit-burst 5" + ''; + }; + networking.firewall.checkReversePath = mkOption { default = kernelHasRPFilter; type = types.bool; @@ -375,7 +386,9 @@ in # Optionally respond to ICMPv4 pings. ${optionalString cfg.allowPing '' - iptables -A nixos-fw -p icmp --icmp-type echo-request -j nixos-fw-accept + iptables -A nixos-fw -p icmp --icmp-type echo-request ${optionalString (cfg.pingLimit != null) + "-m limit ${cfg.pingLimit} " + }-j nixos-fw-accept ''} # Accept all ICMPv6 messages except redirects and node diff --git a/nixos/modules/services/networking/kippo.nix b/nixos/modules/services/networking/kippo.nix index 76dd66013ba7..164c38940f77 100644 --- a/nixos/modules/services/networking/kippo.nix +++ b/nixos/modules/services/networking/kippo.nix @@ -76,8 +76,9 @@ rec { users.extraUsers = singleton { name = "kippo"; description = "kippo web server privilege separation user"; + uid = 108; # why does config.ids.uids.kippo give an error? }; - users.extraGroups = singleton { name = "kippo"; }; + users.extraGroups = singleton { name = "kippo";gid=108; }; systemd.services.kippo = with pkgs; { description = "Kippo Web Server"; diff --git a/nixos/modules/services/networking/ngircd.nix b/nixos/modules/services/networking/ngircd.nix new file mode 100644 index 000000000000..49e5f3559803 --- /dev/null +++ b/nixos/modules/services/networking/ngircd.nix @@ -0,0 +1,58 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.ngircd; + + configFile = pkgs.stdenv.mkDerivation { + name = "ngircd.conf"; + + text = cfg.config; + + preferLocalBuild = true; + + buildCommand = '' + echo -n "$text" > $out + ${cfg.package}/sbin/ngircd --config $out --configtest + ''; + }; +in { + options = { + services.ngircd = { + enable = mkEnableOption "the ngircd IRC server"; + + config = mkOption { + description = "The ngircd configuration (see ngircd.conf(5))."; + + type = types.lines; + }; + + package = mkOption { + description = "The ngircd package."; + + type = types.package; + + default = pkgs.ngircd; + }; + }; + }; + + config = mkIf cfg.enable { + #!!! TODO: Use ExecReload (see https://github.com/NixOS/nixpkgs/issues/1988) + systemd.services.ngircd = { + description = "The ngircd IRC server"; + + wantedBy = [ "multi-user.target" ]; + + serviceConfig.ExecStart = "${cfg.package}/sbin/ngircd --config ${configFile} --nodaemon"; + + serviceConfig.User = "ngircd"; + }; + + users.extraUsers.ngircd = { + uid = config.ids.uids.ngircd; + description = "ngircd user."; + }; + }; +} diff --git a/nixos/modules/services/networking/notbit.nix b/nixos/modules/services/networking/notbit.nix new file mode 100644 index 000000000000..83dafd083791 --- /dev/null +++ b/nixos/modules/services/networking/notbit.nix @@ -0,0 +1,93 @@ +{ config, pkgs, ... }: + +let + cfg = config.services.notbit; + varDir = "/var/lib/notbit"; + + sendmail = pkgs.stdenv.mkDerivation { + name = "notbit-wrapper"; + buildInputs = [ pkgs.makeWrapper ]; + propagatedBuildInputs = [ pkgs.notbit ]; + buildCommand = '' + mkdir -p $out/bin + makeWrapper ${pkgs.notbit}/bin/notbit-sendmail $out/bin/notbit-system-sendmail \ + --set XDG_RUNTIME_DIR ${varDir} + ''; + }; +in + +with pkgs.lib; +{ + + ### configuration + + options = { + + services.notbit = { + + enable = mkOption { + type = types.uniq types.bool; + default = false; + description = '' + Enables the notbit daemon and provides a sendmail binary named `notbit-system-sendmail` for sending mail over the system instance of notbit. Users must be in the notbit group in order to send mail over the system notbit instance. Currently mail recipt is not supported. + ''; + }; + + port = mkOption { + type = types.uniq types.int; + default = 8443; + description = "The port which the daemon listens for other bitmessage clients"; + }; + + nice = mkOption { + type = types.uniq types.int; + default = 10; + description = "Set the nice level for the notbit daemon"; + }; + + }; + + }; + + ### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.notbit sendmail ]; + + systemd.services.notbit = { + description = "Notbit daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.notbit ]; + environment = { XDG_RUNTIME_DIR = varDir; }; + + postStart = '' + [ ! -f "${varDir}/addr" ] && notbit-keygen > ${varDir}/addr + chmod 0640 ${varDir}/{addr,notbit/notbit-ipc.lock} + chmod 0750 ${varDir}/notbit/{,notbit-ipc} + ''; + + serviceConfig = { + Type = "forking"; + ExecStart = "${pkgs.notbit}/bin/notbit -d -p ${toString cfg.port}"; + User = "notbit"; + Group = "notbit"; + UMask = "0077"; + WorkingDirectory = varDir; + Nice = cfg.nice; + }; + }; + + users.extraUsers.notbit = { + group = "notbit"; + description = "Notbit daemon user"; + home = varDir; + createHome = true; + uid = config.ids.uids.notbit; + }; + + users.extraGroups.notbit.gid = config.ids.gids.notbit; + }; + +} diff --git a/nixos/modules/services/networking/searx.nix b/nixos/modules/services/networking/searx.nix new file mode 100644 index 000000000000..30f21151a762 --- /dev/null +++ b/nixos/modules/services/networking/searx.nix @@ -0,0 +1,75 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.searx; + + configFile = cfg.configFile; + +in + +{ + + ###### interface + + options = { + + services.searx = { + + enable = mkOption { + default = false; + description = " + Whether to enable the Searx server. See https://github.com/asciimoo/searx + "; + }; + + configFile = mkOption { + default = ""; + description = " + The path of the Searx server configuration file. If no file + is specified, a default file is used (default config file has + debug mode enabled). + "; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.searx.enable { + + users.extraUsers.searx = + { uid = config.ids.uids.searx; + description = "Searx user"; + createHome = true; + home = "/var/lib/searx"; + }; + + users.extraGroups.searx = + { gid = config.ids.gids.searx; + }; + + systemd.services.searx = + { + description = "Searx server, the meta search engine."; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "searx"; + ExecStart = "${pkgs.pythonPackages.searx}/bin/searx-run"; + }; + } // (optionalAttrs (configFile != "") { + environment.SEARX_SETTINGS_PATH = configFile; + }); + + + environment.systemPackages = [ pkgs.pythonPackages.searx ]; + + }; + +} diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index b3d934862abf..d647301889af 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -5,16 +5,22 @@ with pkgs.lib; let cfg = config.services.elasticsearch; - es_home = "/var/lib/elasticsearch"; - - configFile = pkgs.writeText "elasticsearch.yml" '' + esConfig = '' network.host: ${cfg.host} - network.port: ${cfg.port} - network.tcp.port: ${cfg.tcp_port} + network.port: ${toString cfg.port} + network.tcp.port: ${toString cfg.tcp_port} cluster.name: ${cfg.cluster_name} ${cfg.extraConf} ''; + configDir = pkgs.buildEnv { + name = "elasticsearch-config"; + paths = [ + (pkgs.writeTextDir "elasticsearch.yml" esConfig) + (pkgs.writeTextDir "logging.yml" cfg.logging) + ]; + }; + in { ###### interface @@ -34,14 +40,14 @@ in { port = mkOption { description = "Elasticsearch port to listen for HTTP traffic"; - default = "9200"; - type = types.str; + default = 9200; + type = types.int; }; tcp_port = mkOption { description = "Elasticsearch port for the node to node communication"; - default = "9300"; - type = types.str; + default = 9300; + type = types.int; }; cluster_name = mkOption { @@ -79,27 +85,32 @@ in { ''; type = types.str; }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/elasticsearch"; + description = '' + Data directory for elasticsearch. + ''; + }; }; ###### implementation config = mkIf cfg.enable { - environment.etc = [ - { source = configFile; - target = "elasticsearch/elasticsearch.yml"; } - { source = pkgs.writeText "logging.yml" cfg.logging; - target = "elasticsearch/logging.yml"; } - ]; - systemd.services.elasticsearch = { description = "Elasticsearch daemon"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; - environment = { ES_HOME = es_home; }; + environment = { ES_HOME = cfg.dataDir; }; serviceConfig = { - ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -f -Des.path.conf=/etc/elasticsearch"; + ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -f -Des.path.conf=${configDir}"; User = "elasticsearch"; }; + preStart = '' + mkdir -m 0700 -p ${cfg.dataDir} + if [ "$(id -u)" = 0 ]; then chown -R elasticsearch ${cfg.dataDir}; fi + ''; }; environment.systemPackages = [ pkgs.elasticsearch ]; @@ -108,8 +119,7 @@ in { name = "elasticsearch"; uid = config.ids.uids.elasticsearch; description = "Elasticsearch daemon user"; - home = es_home; - createHome = true; + home = cfg.dataDir; }; }; } diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix new file mode 100644 index 000000000000..eab18c4229b7 --- /dev/null +++ b/nixos/modules/services/search/solr.nix @@ -0,0 +1,114 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.solr; + +in { + + options = { + services.solr = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enables the solr service. + ''; + }; + + javaPackage = mkOption { + type = types.package; + default = pkgs.openjre; + description = '' + Which Java derivation to use for running solr. + ''; + }; + + solrPackage = mkOption { + type = types.package; + default = pkgs.solr; + description = '' + Which solr derivation to use for running solr. + ''; + }; + + log4jConfiguration = mkOption { + type = types.lines; + default = '' + log4j.rootLogger=INFO, stdout + log4j.appender.stdout=org.apache.log4j.ConsoleAppender + log4j.appender.stdout.Target=System.out + log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n + ''; + description = '' + Contents of the log4j.properties used. By default, + everything is logged to stdout (picked up by systemd) with level INFO. + ''; + }; + + user = mkOption { + type = types.str; + description = '' + The user that should run the solr process and. + the working directories. + ''; + }; + + group = mkOption { + type = types.str; + description = '' + The group that will own the working directory. + ''; + }; + + solrHome = mkOption { + type = types.str; + description = '' + The solr home directory. It is your own responsibility to + make sure this directory contains a working solr configuration, + and is writeable by the the user running the solr service. + Failing to do so, the solr will not start properly. + ''; + }; + + extraJavaOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line options given to the java process running + solr. + ''; + }; + + extraWinstoneOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line options given to the Winstone, which is + the servlet container hosting solr. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + + services.winstone.solr = { + serviceName = "solr"; + inherit (cfg) user group javaPackage; + warFile = "${cfg.solrPackage}/lib/solr.war"; + extraOptions = [ + "--commonLibFolder=${cfg.solrPackage}/lib/ext" + ] ++ cfg.extraWinstoneOptions; + extraJavaOptions = [ + "-Dsolr.solr.home=${cfg.solrHome}" + "-Dlog4j.configuration=file://${pkgs.writeText "log4j.properties" cfg.log4jConfiguration}" + ] ++ cfg.extraJavaOptions; + }; + + }; + +} diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix index 211008fa7e41..ca4fbeb0add3 100644 --- a/nixos/modules/services/ttys/agetty.nix +++ b/nixos/modules/services/ttys/agetty.nix @@ -48,82 +48,25 @@ with pkgs.lib; config = { - # FIXME: these are mostly copy/pasted from the systemd sources, - # which some small modifications, which is annoying. + systemd.services."getty@" = + { baseUnit = pkgs.runCommand "getty.service" {} + '' + sed '/ExecStart/ d' < ${config.systemd.package}/example/systemd/system/getty@.service > $out + ''; + serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login %I 38400"; + restartIfChanged = false; + }; - # Generate a separate job for each tty. - systemd.units."getty@.service".text = - '' - [Unit] - Description=Getty on %I - Documentation=man:agetty(8) - After=systemd-user-sessions.service plymouth-quit-wait.service - - # If additional gettys are spawned during boot then we should make - # sure that this is synchronized before getty.target, even though - # getty.target didn't actually pull it in. - Before=getty.target - IgnoreOnIsolate=yes - - ConditionPathExists=/dev/tty0 - - [Service] - Environment=TERM=linux - Environment=LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive - ExecStart=@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login %I 38400 - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes - TTYVTDisallocate=yes # set to no to prevent clearing the screen - KillMode=process - IgnoreSIGPIPE=no - - # Some login implementations ignore SIGTERM, so we send SIGHUP - # instead, to ensure that login terminates cleanly. - KillSignal=SIGHUP - - X-RestartIfChanged=false - ''; - - systemd.units."serial-getty@.service".text = let - speeds = with pkgs.lib; concatStringsSep "," (map toString config.services.mingetty.serialSpeed); - in '' - [Unit] - Description=Serial Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - BindsTo=dev-%i.device - After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service - - # If additional gettys are spawned during boot then we should make - # sure that this is synchronized before getty.target, even though - # getty.target didn't actually pull it in. - Before=getty.target - IgnoreOnIsolate=yes - - [Service] - Environment=TERM=linux - Environment=LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive - ExecStart=@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login %I ${speeds} - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes - KillMode=process - IgnoreSIGPIPE=no - - # Some login implementations ignore SIGTERM, so we send SIGHUP - # instead, to ensure that login terminates cleanly. - KillSignal=SIGHUP - - X-RestartIfChanged=false - ''; + systemd.services."serial-getty@" = + { baseUnit = pkgs.runCommand "serial-getty.service" {} + '' + sed '/ExecStart/ d' < ${config.systemd.package}/example/systemd/system/serial-getty@.service > $out + ''; + serviceConfig.ExecStart = + let speeds = concatStringsSep "," (map toString config.services.mingetty.serialSpeed); + in "@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login %I ${speeds}"; + restartIfChanged = false; + }; environment.etc = singleton { # Friendly greeting on the virtual consoles. diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix index eb68a3d95d8f..70555e5d8825 100644 --- a/nixos/modules/services/ttys/kmscon.nix +++ b/nixos/modules/services/ttys/kmscon.nix @@ -44,6 +44,7 @@ in { After=systemd-user-sessions.service After=plymouth-quit-wait.service After=systemd-logind.service + After=systemd-vconsole-setup.service Requires=systemd-logind.service Before=getty.target Conflicts=getty@%i.service @@ -62,11 +63,13 @@ in { X-RestartIfChanged=false ''; - systemd.units."autovt@.service".linkTarget = "${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service"; + systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { } + '' + mkdir -p $out + ln -s ${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service $out/autovt@.service + ''; - systemd.services."systemd-vconsole-setup".restartIfChanged = false; - - systemd.units."kmsconvt@tty1.service".extraConfig.wait-for-vconsole-setup = "After=systemd-vconsole-setup.service"; + systemd.services.systemd-vconsole-setup.restartIfChanged = false; services.kmscon.extraConfig = mkIf cfg.hwRender '' drm diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 1a39fe43bbee..621536133554 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -9,6 +9,11 @@ let user ${cfg.user} ${cfg.group}; daemon off; ${cfg.config} + ${optionalString (cfg.httpConfig != "") '' + http { + ${cfg.httpConfig} + } + ''} ${cfg.appendConfig} ''; in @@ -51,6 +56,12 @@ in ''; }; + httpConfig = mkOption { + type = types.lines; + default = ""; + description = "Configuration lines to be appended inside of the http {} block."; + }; + stateDir = mkOption { default = "/var/spool/nginx"; description = " diff --git a/nixos/modules/services/web-servers/phpfpm.nix b/nixos/modules/services/web-servers/phpfpm.nix new file mode 100644 index 000000000000..76ec41244627 --- /dev/null +++ b/nixos/modules/services/web-servers/phpfpm.nix @@ -0,0 +1,77 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.services.phpfpm; + + stateDir = "/run/phpfpm"; + + pidFile = "${stateDir}/phpfpm.pid"; + + cfgFile = pkgs.writeText "phpfpm.conf" '' + [global] + pid = ${pidFile} + error_log = syslog + daemonize = yes + ${cfg.extraConfig} + + ${concatStringsSep "\n" (mapAttrsToList (n: v: "[${n}]\n${v}") cfg.poolConfigs)} + ''; + +in { + + options = { + services.phpfpm = { + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration that should be put in the global section of + the PHP FPM configuration file. Do not specify the options + pid, error_log or + daemonize here, since they are generated by + NixOS. + ''; + }; + + poolConfigs = mkOption { + type = types.attrsOf types.lines; + default = {}; + example = { + mypool = '' + listen = /run/phpfpm/mypool + user = nobody + pm = dynamic + pm.max_children = 75 + pm.start_servers = 10 + pm.min_spare_servers = 5 + pm.max_spare_servers = 20 + pm.max_requests = 500 + ''; + }; + description = '' + A mapping between PHP FPM pool names and their configurations. + See the documentation on php-fpm.conf for + details on configuration directives. If no pools are defined, + the phpfpm service is disabled. + ''; + }; + }; + }; + + config = mkIf (cfg.poolConfigs != {}) { + + systemd.services.phpfpm = { + wantedBy = [ "multi-user.target" ]; + preStart = '' + mkdir -p "${stateDir}" + ''; + serviceConfig = { + ExecStart = "${pkgs.php54}/sbin/php-fpm -y ${cfgFile}"; + PIDFile = pidFile; + }; + }; + + }; +} diff --git a/nixos/modules/services/web-servers/winstone.nix b/nixos/modules/services/web-servers/winstone.nix new file mode 100644 index 000000000000..33c7e7301182 --- /dev/null +++ b/nixos/modules/services/web-servers/winstone.nix @@ -0,0 +1,129 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.winstone; + + winstoneOpts = { name, ... }: { + options = { + name = mkOption { + default = name; + internal = true; + }; + + serviceName = mkOption { + type = types.str; + description = '' + The name of the systemd service. By default, it is + derived from the winstone instance name. + ''; + }; + + warFile = mkOption { + type = types.str; + description = '' + The WAR file that Winstone should serve. + ''; + }; + + javaPackage = mkOption { + type = types.package; + default = pkgs.openjre; + description = '' + Which Java derivation to use for running Winstone. + ''; + }; + + user = mkOption { + type = types.str; + description = '' + The user that should run this Winstone process and + own the working directory. + ''; + }; + + group = mkOption { + type = types.str; + description = '' + The group that will own the working directory. + ''; + }; + + workDir = mkOption { + type = types.str; + description = '' + The working directory for this Winstone instance. Will + contain extracted webapps etc. The directory will be + created if it doesn't exist. + ''; + }; + + extraJavaOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line options given to the java process running + Winstone. + ''; + }; + + extraOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line options given to the Winstone process. + ''; + }; + }; + + config = { + workDir = mkDefault "/run/winstone/${name}"; + serviceName = mkDefault "winstone-${name}"; + }; + }; + + mkService = cfg: let + opts = concatStringsSep " " (cfg.extraOptions ++ [ + "--warfile ${cfg.warFile}" + ]); + + javaOpts = concatStringsSep " " (cfg.extraJavaOptions ++ [ + "-Djava.io.tmpdir=${cfg.workDir}" + "-jar ${pkgs.winstone}/lib/winstone.jar" + ]); + in { + wantedBy = [ "multi-user.target" ]; + description = "winstone service for ${cfg.name}"; + preStart = '' + mkdir -p "${cfg.workDir}" + chown ${cfg.user}:${cfg.group} "${cfg.workDir}" + ''; + serviceConfig = { + ExecStart = "${cfg.javaPackage}/bin/java ${javaOpts} ${opts}"; + User = cfg.user; + PermissionsStartOnly = true; + }; + }; + +in { + + options = { + services.winstone = mkOption { + default = {}; + type = types.attrsOf types.optionSet; + options = [ winstoneOpts ]; + description = '' + Defines independent Winstone services, each serving one WAR-file. + ''; + }; + }; + + config = mkIf (cfg != {}) { + + systemd.services = mapAttrs' (n: c: nameValuePair c.serviceName (mkService c)) cfg; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index dde5b333f329..753babf6a225 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -17,7 +17,7 @@ in # Note: the order in which desktop manager modules are imported here # determines the default: later modules (if enabled) are preferred. # E.g., if KDE is enabled, it supersedes xterm. - imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./gnome3.nix ]; + imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./gnome3.nix ./xbmc.nix ]; options = { diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 456975015a22..85be61bfc1e9 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -43,7 +43,7 @@ in { ''; }; - environment.variables.GIO_EXTRA_MODULES = "${gnome3.dconf}/lib/gio/modules"; + environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules" ]; environment.systemPackages = [ gnome3.evince gnome3.eog diff --git a/nixos/modules/services/x11/desktop-managers/xbmc.nix b/nixos/modules/services/x11/desktop-managers/xbmc.nix new file mode 100644 index 000000000000..51278c5fadb6 --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/xbmc.nix @@ -0,0 +1,31 @@ +{ pkgs, config, ... }: + +with pkgs.lib; + +let + cfg = config.services.xserver.desktopManager.xbmc; +in + +{ + options = { + services.xserver.desktopManager.xbmc = { + enable = mkOption { + default = false; + example = true; + description = "Enable the xbmc multimedia center."; + }; + }; + }; + + config = mkIf cfg.enable { + services.xserver.desktopManager.session = [{ + name = "xbmc"; + start = '' + ${pkgs.xbmc}/bin/xbmc --lircdev /var/run/lirc/lircd --standalone & + waitPID=$! + ''; + }]; + + environment.systemPackages = [ pkgs.xbmc ]; + }; +} \ 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 3c67571ffd5b..9ce7744b0652 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -81,7 +81,7 @@ in environment.pathsToLink = [ "/share/xfce4" "/share/themes" "/share/mime" "/share/desktop-directories" "/share/gtksourceview-2.0" ]; - environment.variables.GIO_EXTRA_MODULES = "${pkgs.xfce.gvfs}/lib/gio/modules"; + environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ]; # Enable helpful DBus services. services.udisks2.enable = true; diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index 4d52e398b477..1c10333462c8 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -16,7 +16,6 @@ in ./wmii.nix ./xmonad.nix ./i3.nix - ./xbmc.nix ./herbstluftwm.nix ]; diff --git a/nixos/modules/services/x11/window-managers/xbmc.nix b/nixos/modules/services/x11/window-managers/xbmc.nix deleted file mode 100644 index 46494202b404..000000000000 --- a/nixos/modules/services/x11/window-managers/xbmc.nix +++ /dev/null @@ -1,31 +0,0 @@ -{pkgs, config, ...}: - -let - inherit (pkgs.lib) mkOption mkIf; - cfg = config.services.xserver.windowManager.xbmc; -in - -{ - options = { - services.xserver.windowManager.xbmc = { - enable = mkOption { - default = false; - example = true; - description = "Enable the xbmc multimedia center."; - }; - }; - }; - - config = mkIf cfg.enable { - services.xserver.windowManager = { - session = [{ - name = "xbmc"; - start = " - ${pkgs.xbmc}/bin/xbmc --lircdev /var/run/lirc/lircd --standalone & - waitPID=$! - "; - }]; - }; - environment.systemPackages = [ pkgs.xbmc ]; - }; -} diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index cb5b49692fe1..e0649448c834 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -128,7 +128,7 @@ while (my ($unit, $state) = each %{$activePrev}) { $baseName =~ s/\.[a-z]*$//; if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) { - if (! -e $newUnitFile) { + if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") { push @unitsToStop, $unit; } diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 327f3b7e1128..4cfd8a0b6187 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -203,6 +203,9 @@ in # To wait for SCSI devices to appear. "scsi_wait_scan" + + # Needed by the stage 2 init script. + "rtc_cmos" ]; boot.initrd.kernelModules = diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh index b749172a3ff3..ee042992b178 100644 --- a/nixos/modules/system/boot/stage-2-init.sh +++ b/nixos/modules/system/boot/stage-2-init.sh @@ -131,13 +131,12 @@ if ! mountpoint -q /run; then mount -t tmpfs -o "mode=0755,size=@runSize@" none /run fi -# Create a ramfs on /run/keys to hold secrets that shouldn't -# be written to disk (generally used for nixops, harmless -# elsehwere) +# Create a ramfs on /run/keys to hold secrets that shouldn't be +# written to disk (generally used for NixOps, harmless elsewhere). if ! mountpoint -q /run/keys; then rm -rf /run/keys mkdir -m 0750 /run/keys - chown root:keys /run/keys + chown 0:96 /run/keys mount -t ramfs none /run/keys fi @@ -162,6 +161,12 @@ echo "running activation script..." $systemConfig/activate +# Restore the system time from the hardware clock. We do this after +# running the activation script to be sure that /etc/localtime points +# at the current time zone. +hwclock --hctosys + + # Record the boot configuration. ln -sfn "$systemConfig" /run/booted-system diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index c0518599f17a..113990814efa 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -41,6 +41,12 @@ in rec { ''; }; + baseUnit = mkOption { + type = types.nullOr types.path; + default = null; + description = "Path to an upstream unit file on which the NixOS unit configuration will be based."; + }; + description = mkOption { default = ""; type = types.str; @@ -135,6 +141,7 @@ in rec { restartTriggers = mkOption { default = []; + type = types.listOf types.unspecified; description = '' An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 2d1bb5ae9802..49502b3e6851 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -11,20 +11,18 @@ let systemd = cfg.package; makeUnit = name: unit: - pkgs.runCommand "unit" { preferLocalBuild = true; inherit (unit) text; } - ((if !unit.enable then '' - mkdir -p $out - ln -s /dev/null $out/${name} - '' else if unit.linkTarget != null then '' - mkdir -p $out - ln -s ${unit.linkTarget} $out/${name} - '' else if unit.text != null then '' - mkdir -p $out - echo -n "$text" > $out/${name} - '' else "") + optionalString (unit.extraConfig != {}) '' - mkdir -p $out/${name}.d - ${concatStringsSep "\n" (mapAttrsToList (n: v: "echo -n \"${v}\" > $out/${name}.d/${n}") unit.extraConfig)} - ''); + if unit.enable then + pkgs.runCommand "unit" { preferLocalBuild = true; inherit (unit) text; } + '' + mkdir -p $out + echo -n "$text" > $out/${name} + '' + else + pkgs.runCommand "unit" { preferLocalBuild = true; } + '' + mkdir -p $out + ln -s /dev/null $out/${name} + ''; upstreamUnits = [ # Targets. @@ -132,6 +130,11 @@ let ++ optionals cfg.enableEmergencyMode [ "emergency.target" "emergency.service" + ] + + ++ optionals config.services.journald.enableHttpGateway [ + "systemd-journal-gatewayd.socket" + "systemd-journal-gatewayd.service" ]; upstreamWants = @@ -151,15 +154,23 @@ let unitConfig = { name, config, ... }: { config = { unitConfig = - { Requires = concatStringsSep " " config.requires; - Wants = concatStringsSep " " config.wants; - After = concatStringsSep " " config.after; - Before = concatStringsSep " " config.before; - BindsTo = concatStringsSep " " config.bindsTo; - PartOf = concatStringsSep " " config.partOf; - Conflicts = concatStringsSep " " config.conflicts; - "X-Restart-Triggers" = toString config.restartTriggers; - } // optionalAttrs (config.description != "") { + optionalAttrs (config.requires != []) + { Requires = toString config.requires; } + // optionalAttrs (config.wants != []) + { Wants = toString config.wants; } + // optionalAttrs (config.after != []) + { After = toString config.after; } + // optionalAttrs (config.before != []) + { Before = toString config.before; } + // optionalAttrs (config.bindsTo != []) + { BindsTo = toString config.bindsTo; } + // optionalAttrs (config.partOf != []) + { PartOf = toString config.partOf; } + // optionalAttrs (config.conflicts != []) + { Conflicts = toString config.conflicts; } + // optionalAttrs (config.restartTriggers != []) + { X-Restart-Triggers = toString config.restartTriggers; } + // optionalAttrs (config.description != "") { Description = config.description; }; }; @@ -167,7 +178,7 @@ let serviceConfig = { name, config, ... }: { config = mkMerge - [ { # Default path for systemd services. Should be quite minimal. + [ (mkIf (config.baseUnit == null) { # Default path for systemd services. Should be quite minimal. path = [ pkgs.coreutils pkgs.findutils @@ -176,7 +187,7 @@ let systemd ]; environment.PATH = config.path; - } + }) (mkIf (config.preStart != "") { serviceConfig.ExecStartPre = makeJobScript "${name}-pre-start" '' #! ${pkgs.stdenv.shell} -e @@ -244,6 +255,14 @@ let (if isList value then value else [value])) as)); + commonUnitText = def: + optionalString (def.baseUnit != null) '' + .include ${def.baseUnit} + '' + '' + [Unit] + ${attrsToSection def.unitConfig} + ''; + targetToUnit = name: def: { inherit (def) wantedBy requiredBy enable; text = @@ -255,11 +274,8 @@ let serviceToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Service] ${let env = cfg.globalEnvironment // def.environment; in concatMapStrings (n: "Environment=\"${n}=${getAttr n env}\"\n") (attrNames env)} @@ -271,11 +287,8 @@ let socketToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Socket] ${attrsToSection def.socketConfig} ${concatStringsSep "\n" (map (s: "ListenStream=${s}") def.listenStreams)} @@ -284,11 +297,8 @@ let timerToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Timer] ${attrsToSection def.timerConfig} ''; @@ -296,11 +306,8 @@ let mountToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Mount] ${attrsToSection def.mountConfig} ''; @@ -308,11 +315,8 @@ let automountToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Automount] ${attrsToSection def.automountConfig} ''; @@ -372,6 +376,10 @@ let ln -s ../local-fs.target ../remote-fs.target ../network.target ../nss-lookup.target \ ../nss-user-lookup.target ../swap.target $out/multi-user.target.wants/ + + ${ optionalString config.services.journald.enableHttpGateway '' + ln -s ../systemd-journal-gatewayd.service $out/multi-user-target.wants/ + ''} ''; # */ in @@ -423,25 +431,9 @@ in internal = true; description = "The generated unit."; }; - linkTarget = mkOption { - default = null; - description = "The file to symlink this target to."; - type = types.nullOr types.path; - }; - extraConfig = mkOption { - default = {}; - example = { "foo@1.conf" = "X-RestartIfChanged=false"; }; - type = types.attrsOf types.lines; - description = '' - Extra files to be appended to the configuration for the unit. - This can be used to override configuration for a unit provided - by systemd or another package, or to override only a single instance - of a template unit. - ''; - }; }; config = { - unit = makeUnit name config; + unit = mkDefault (makeUnit name config); }; }; }; @@ -567,6 +559,14 @@ in ''; }; + services.journald.enableHttpGateway = mkOption { + default = false; + type = types.bool; + description = '' + Enable journal http gateway + ''; + }; + services.logind.extraConfig = mkOption { default = ""; type = types.lines; @@ -676,6 +676,8 @@ in }; users.extraGroups.systemd-journal.gid = config.ids.gids.systemd-journal; + users.extraUsers.systemd-journal-gateway.uid = config.ids.uids.systemd-journal-gateway; + users.extraGroups.systemd-journal-gateway.gid = config.ids.gids.systemd-journal-gateway; # Generate timer units for all services that have a ‘startAt’ value. systemd.timers = diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index a8f0a59b6fa9..e9c03df2ba34 100644 --- a/nixos/modules/system/etc/etc.nix +++ b/nixos/modules/system/etc/etc.nix @@ -19,6 +19,8 @@ let sources = map (x: x.source) etc'; targets = map (x: x.target) etc'; modes = map (x: x.mode) etc'; + uids = map (x: x.uid) etc'; + gids = map (x: x.gid) etc'; }; in @@ -87,6 +89,24 @@ in ''; }; + uid = mkOption { + default = 0; + type = types.int; + description = '' + UID of created file. Only takes affect when the file is + copied (that is, the mode is not 'symlink'). + ''; + }; + + gid = mkOption { + default = 0; + type = types.int; + description = '' + GID of created file. Only takes affect when the file is + copied (that is, the mode is not 'symlink'). + ''; + }; + }; config = { diff --git a/nixos/modules/system/etc/make-etc.sh b/nixos/modules/system/etc/make-etc.sh index 7cf68db9ddce..60d4ba1301a3 100644 --- a/nixos/modules/system/etc/make-etc.sh +++ b/nixos/modules/system/etc/make-etc.sh @@ -6,6 +6,8 @@ set -f sources_=($sources) targets_=($targets) modes_=($modes) +uids_=($uids) +gids_=($gids) set +f for ((i = 0; i < ${#targets_[@]}; i++)); do @@ -35,6 +37,8 @@ for ((i = 0; i < ${#targets_[@]}; i++)); do if test "${modes_[$i]}" != symlink; then echo "${modes_[$i]}" > $out/etc/$target.mode + echo "${uids_[$i]}" > $out/etc/$target.uid + echo "${gids_[$i]}" > $out/etc/$target.gid fi fi diff --git a/nixos/modules/system/etc/setup-etc.pl b/nixos/modules/system/etc/setup-etc.pl index 4b79dbaab89e..8ba9a370b27a 100644 --- a/nixos/modules/system/etc/setup-etc.pl +++ b/nixos/modules/system/etc/setup-etc.pl @@ -60,7 +60,15 @@ sub link { if ($mode eq "direct-symlink") { atomicSymlink readlink("$static/$fn"), $target or warn; } else { + open UID, "<$_.uid"; + my $uid = ; chomp $uid; + close UID; + open GID, "<$_.gid"; + my $gid = ; chomp $gid; + close GID; + copy "$static/$fn", "$target.tmp" or warn; + chown int($uid), int($gid), "$target.tmp" or warn; chmod oct($mode), "$target.tmp" or warn; rename "$target.tmp", $target or warn; } diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 7c3c662eeac9..32e3da6a273c 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -11,18 +11,30 @@ with pkgs.lib; let cfgSpl = config.boot.spl; + cfgSnapshots = config.services.zfs.autoSnapshot; + inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems; inSystem = any (fs: fs == "zfs") config.boot.supportedFilesystems; + + enableAutoSnapshots = cfgSnapshots.enable; + enableZfs = inInitrd || inSystem || enableAutoSnapshots; + kernel = config.boot.kernelPackages; + autosnapPkg = pkgs.zfstools.override { + zfs = config.boot.kernelPackages.zfs; + }; + + zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot"; + in { ###### interface - - options = { - boot.spl.hostid = mkOption { + + options = { + boot.spl.hostid = mkOption { default = ""; example = "0xdeadbeef"; description = '' @@ -34,62 +46,177 @@ in manually import pools. ''; }; + + services.zfs.autoSnapshot = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable the (OpenSolaris-compatible) ZFS auto-snapshotting service. + Note that you must set the com.sun:auto-snapshot + property to true on all datasets which you wish + to auto-snapshot. + + You can override a child dataset to use, or not use auto-snapshotting + by setting its flag with the given interval: + zfs set com.sun:auto-snapshot:weekly=false DATASET + ''; + }; + + frequent = mkOption { + default = 4; + type = types.int; + description = '' + Number of frequent (15-minute) auto-snapshots that you wish to keep. + ''; + }; + + hourly = mkOption { + default = 24; + type = types.int; + description = '' + Number of hourly auto-snapshots that you wish to keep. + ''; + }; + + daily = mkOption { + default = 7; + type = types.int; + description = '' + Number of daily auto-snapshots that you wish to keep. + ''; + }; + + weekly = mkOption { + default = 4; + type = types.int; + description = '' + Number of weekly auto-snapshots that you wish to keep. + ''; + }; + + monthly = mkOption { + default = 12; + type = types.int; + description = '' + Number of monthly auto-snapshots that you wish to keep. + ''; + }; + }; }; ###### implementation - config = mkIf ( inInitrd || inSystem ) { - - boot = { - kernelModules = [ "spl" "zfs" ] ; - extraModulePackages = [ kernel.zfs kernel.spl ]; - extraModprobeConfig = mkIf (cfgSpl.hostid != "") '' - options spl spl_hostid=${cfgSpl.hostid} - ''; - }; - - boot.initrd = mkIf inInitrd { - kernelModules = [ "spl" "zfs" ] ; - extraUtilsCommands = - '' - cp -v ${kernel.zfs}/sbin/zfs $out/bin - cp -v ${kernel.zfs}/sbin/zdb $out/bin - cp -v ${kernel.zfs}/sbin/zpool $out/bin - cp -pdv ${kernel.zfs}/lib/lib*.so* $out/lib - cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib + config = mkMerge [ + (mkIf enableZfs { + boot = { + kernelModules = [ "spl" "zfs" ] ; + extraModulePackages = [ kernel.zfs kernel.spl ]; + extraModprobeConfig = mkIf (cfgSpl.hostid != "") '' + options spl spl_hostid=${cfgSpl.hostid} ''; - postDeviceCommands = - '' - zpool import -f -a -d /dev - ''; - }; - - systemd.services."zpool-import" = { - description = "Import zpools"; - after = [ "systemd-udev-settle.service" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - restartIfChanged = false; - ExecStart = "${kernel.zfs}/sbin/zpool import -f -a -d /dev"; }; - }; - systemd.services."zfs-mount" = { - description = "Mount ZFS Volumes"; - after = [ "zpool-import.service" ]; - wantedBy = [ "local-fs.target" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - restartIfChanged = false; - ExecStart = "${kernel.zfs}/sbin/zfs mount -a"; - ExecStop = "${kernel.zfs}/sbin/zfs umount -a"; + boot.initrd = mkIf inInitrd { + kernelModules = [ "spl" "zfs" ] ; + extraUtilsCommands = + '' + cp -v ${kernel.zfs}/sbin/zfs $out/bin + cp -v ${kernel.zfs}/sbin/zdb $out/bin + cp -v ${kernel.zfs}/sbin/zpool $out/bin + cp -pdv ${kernel.zfs}/lib/lib*.so* $out/lib + cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib + ''; + postDeviceCommands = + '' + zpool import -f -a + ''; }; - }; - system.fsPackages = [ kernel.zfs ]; # XXX: needed? zfs doesn't have (need) a fsck - environment.systemPackages = [ kernel.zfs ]; - services.udev.packages = [ kernel.zfs ]; # to hook zvol naming, etc. - }; + systemd.services."zpool-import" = { + description = "Import zpools"; + after = [ "systemd-udev-settle.service" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${kernel.zfs}/sbin/zpool import -f -a"; + }; + restartIfChanged = false; + }; + + systemd.services."zfs-mount" = { + description = "Mount ZFS Volumes"; + after = [ "zpool-import.service" ]; + wantedBy = [ "local-fs.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${kernel.zfs}/sbin/zfs mount -a"; + ExecStop = "${kernel.zfs}/sbin/zfs umount -a"; + }; + restartIfChanged = false; + }; + + system.fsPackages = [ kernel.zfs ]; # XXX: needed? zfs doesn't have (need) a fsck + environment.systemPackages = [ kernel.zfs ]; + services.udev.packages = [ kernel.zfs ]; # to hook zvol naming, etc. + }) + + (mkIf enableAutoSnapshots { + systemd.services."zfs-snapshot-frequent" = { + description = "ZFS auto-snapshotting every 15 mins"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} frequent ${toString cfgSnapshots.frequent}"; + }; + restartIfChanged = false; + startAt = "*:15,30,45"; + }; + + systemd.services."zfs-snapshot-hourly" = { + description = "ZFS auto-snapshotting every hour"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} hourly ${toString cfgSnapshots.hourly}"; + }; + restartIfChanged = false; + startAt = "hourly"; + }; + + systemd.services."zfs-snapshot-daily" = { + description = "ZFS auto-snapshotting every day"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} daily ${toString cfgSnapshots.daily}"; + }; + restartIfChanged = false; + startAt = "daily"; + }; + + systemd.services."zfs-snapshot-weekly" = { + description = "ZFS auto-snapshotting every week"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} weekly ${toString cfgSnapshots.weekly}"; + }; + restartIfChanged = false; + startAt = "weekly"; + }; + + systemd.services."zfs-snapshot-monthly" = { + description = "ZFS auto-snapshotting every month"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} monthly ${toString cfgSnapshots.monthly}"; + }; + restartIfChanged = false; + startAt = "monthly"; + }; + }) + ]; } diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 9619f0f5ebe7..548685377a90 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -50,6 +50,26 @@ let ''; }; + ipv6Address = mkOption { + default = null; + example = "2001:1470:fffd:2098::e006"; + type = types.nullOr types.string; + description = '' + IPv6 address of the interface. Leave empty to configure the + interface using NDP. + ''; + }; + + ipv6prefixLength = mkOption { + default = 64; + example = 64; + type = types.int; + description = '' + Subnet mask of the interface, specified as the number of + bits in the prefix (64). + ''; + }; + macAddress = mkOption { default = null; example = "00:11:22:33:44:55"; @@ -401,9 +421,11 @@ in EOF # Disable or enable IPv6. - if [ -e /proc/sys/net/ipv6/conf/all/disable_ipv6 ]; then - echo ${if cfg.enableIPv6 then "0" else "1"} > /proc/sys/net/ipv6/conf/all/disable_ipv6 - fi + ${optionalString (!config.boot.isContainer) '' + if [ -e /proc/sys/net/ipv6/conf/all/disable_ipv6 ]; then + echo ${if cfg.enableIPv6 then "0" else "1"} > /proc/sys/net/ipv6/conf/all/disable_ipv6 + fi + ''} # Set the default gateway. ${optionalString (cfg.defaultGateway != "") '' @@ -435,6 +457,7 @@ in (let mask = if i.prefixLength != null then toString i.prefixLength else if i.subnetMask != "" then i.subnetMask else "32"; + staticIPv6 = cfg.enableIPv6 && i.ipv6Address != null; in { description = "Configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; @@ -468,11 +491,31 @@ in echo "configuring interface..." ip -4 addr flush dev "${i.name}" ip -4 addr add "${i.ipAddress}/${mask}" dev "${i.name}" + restart_network_setup=true + else + echo "skipping configuring interface" + fi + '' + + optionalString (staticIPv6) + '' + # Only do a flush/add if it's necessary. This is + # useful when the Nix store is accessed via this + # interface (e.g. in a QEMU VM test). + if ! ip -6 -o a show dev "${i.name}" | grep "${i.ipv6Address}/${toString i.ipv6prefixLength}"; then + echo "configuring interface..." + ip -6 addr flush dev "${i.name}" + ip -6 addr add "${i.ipv6Address}/${toString i.ipv6prefixLength}" dev "${i.name}" + restart_network_setup=true + else + echo "skipping configuring interface" + fi + '' + + optionalString (i.ipAddress != null || staticIPv6) + '' + if [ restart_network_setup = true ]; then # Ensure that the default gateway remains set. # (Flushing this interface may have removed it.) ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service - else - echo "skipping configuring interface" fi ${config.systemd.package}/bin/systemctl start ip-up.target '' diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix index b37a0d5fa0c9..5b68862a2cd1 100644 --- a/nixos/tests/default.nix +++ b/nixos/tests/default.nix @@ -14,6 +14,7 @@ with import ../lib/testing.nix { inherit system minimal; }; efi-installer = makeTests (import ./efi-installer.nix); gnome3 = makeTest (import ./gnome3.nix); ipv6 = makeTest (import ./ipv6.nix); + jenkins = makeTest (import ./jenkins.nix); kde4 = makeTest (import ./kde4.nix); #kexec = makeTest (import ./kexec.nix); login = makeTest (import ./login.nix {}); diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix new file mode 100644 index 000000000000..e6524ec56538 --- /dev/null +++ b/nixos/tests/jenkins.nix @@ -0,0 +1,35 @@ +# verifies: +# 1. jenkins service starts on master node +# 2. jenkins user can be extended on both master and slave +# 3. jenkins service not started on slave node +{ pkgs, ... }: +{ + nodes = { + master = { pkgs, config, ... }: { + services.jenkins.enable = true; + + # should have no effect + services.jenkinsSlave.enable = true; + + users.extraUsers.jenkins.extraGroups = [ "users" ]; + }; + slave = { pkgs, config, ... }: { + services.jenkinsSlave.enable = true; + + users.extraUsers.jenkins.extraGroups = [ "users" ]; + }; + }; + + testScript = '' + startAll; + + $master->waitForUnit("jenkins"); + print $master->execute("sudo -u jenkins groups"); + $master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); + + print $slave->execute("sudo -u jenkins groups"); + $slave->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); + + $slave->mustFail("systemctl status jenkins.service"); + ''; +} diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix index 9dbdada07d49..c5e35d8867c8 100644 --- a/pkgs/applications/audio/a2jmidid/default.nix +++ b/pkgs/applications/audio/a2jmidid/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "Daemon for exposing legacy ALSA sequencer applications in JACK MIDI system"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix new file mode 100644 index 000000000000..dd23504d3fad --- /dev/null +++ b/pkgs/applications/audio/ams-lv2/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, cairo, gtk, gtkmm, lv2, lvtk, pkgconfig, python }: + +stdenv.mkDerivation rec { + name = "ams-lv2-${version}"; + version = "1.0.2"; + + src = fetchurl { + url = "https://github.com/blablack/ams-lv2/archive/v${version}.tar.gz"; + sha256 = "0fa1ghf6qahbhj9j1ciyw0hr6nngwksa37hbs651mlz0fn7lz4xm"; + }; + + buildInputs = [ cairo gtk gtkmm lv2 lvtk pkgconfig python ]; + + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "An LV2 port of the internal modules found in Alsa Modular Synth"; + homepage = http://objectivewave.wordpress.com/ams-lv2; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/ardour/ardour3.nix b/pkgs/applications/audio/ardour/ardour3.nix deleted file mode 100644 index 4315a5a7547e..000000000000 --- a/pkgs/applications/audio/ardour/ardour3.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw -, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jackaudio -, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf -, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile -, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango -, perl, pkgconfig, python, serd, sord, sratom, suil }: - -let - tag = "3.5.357"; -in - -stdenv.mkDerivation rec { - name = "ardour-${tag}"; - - src = fetchgit { - url = git://git.ardour.org/ardour/ardour.git; - rev = "refs/tags/${tag}"; - sha256 = "1e026fb9a6ad4179d52c4b578cc3861bdfd3629b9e7b7a7341d431c7d3692c42"; - }; - - buildInputs = - [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc - glibmm gtk gtkmm jackaudio libgnomecanvas libgnomecanvasmm liblo - libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate - libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 - makeWrapper pango perl pkgconfig python serd sord sratom suil - ]; - - patchPhase = '' - # The funny revision number is from `git describe rev` - printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-gce4d125\"; }\n' > libs/ardour/revision.cc - # Note the different version number - sed -i '33i rev = \"3.5-357-gce4d125\"' wscript - sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript - sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings - sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl - ''; - - configurePhase = "python waf configure --optimize --prefix=$out"; - - buildPhase = "python waf"; - - # For the custom ardour clearlooks gtk-engine to work, it must be - # moved to a directory called "engines" and added to GTK_PATH - installPhase = '' - python waf install - mkdir -pv $out/gtk2/engines - cp build/libs/clearlooks-newer/libclearlooks.so $out/gtk2/engines/ - wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2 - ''; - - meta = with stdenv.lib; { - description = "Multi-track hard disk recording software"; - longDescription = '' - Also read "The importance of Paying Something" on their homepage, please! - ''; - homepage = http://ardour.org/; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = [ maintainers.goibhniu ]; - }; -} diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 08cecfea064d..4315a5a7547e 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -1,51 +1,62 @@ -{ stdenv, fetchurl, scons, boost, pkgconfig, fftw, librdf_raptor2 -, librdf_rasqal, jackaudio, flac, libsamplerate, alsaLib, libxml2 -, lilv, lv2, serd, sord, sratom, suil # these are probably optional -, libxslt, libsndfile, libsigcxx, libusb, cairomm, glib, pango -, gtk, glibmm, gtkmm, libgnomecanvas, libgnomecanvasmm, liblo, aubio -, fftwSinglePrec, libmad, automake, autoconf, libtool, liblrdf, curl }: +{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw +, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jackaudio +, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf +, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile +, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango +, perl, pkgconfig, python, serd, sord, sratom, suil }: + +let + tag = "3.5.357"; +in stdenv.mkDerivation rec { - name = "ardour-${version}"; - version = "2.8.16"; + name = "ardour-${tag}"; - src = fetchurl { - url = "mirror://gentoo/distfiles/${name}.tar.bz2"; - sha256 = "0h2y0x4yznalllja53anjil2gmgcb26f39zshc4gl1d1kc8k5vip"; + src = fetchgit { + url = git://git.ardour.org/ardour/ardour.git; + rev = "refs/tags/${tag}"; + sha256 = "1e026fb9a6ad4179d52c4b578cc3861bdfd3629b9e7b7a7341d431c7d3692c42"; }; - postPatch = '' - #sed -e "s#/usr/bin/which#type -P#" -i libs/glibmm2/autogen.sh - echo '#include "ardour/svn_revision.h"' > libs/ardour/svn_revision.cc - echo -e 'namespace ARDOUR {\n extern const char* svn_revision = "2.8.12";\n }\n' >> libs/ardour/svn_revision.cc + buildInputs = + [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc + glibmm gtk gtkmm jackaudio libgnomecanvas libgnomecanvasmm liblo + libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 + makeWrapper pango perl pkgconfig python serd sord sratom suil + ]; + + patchPhase = '' + # The funny revision number is from `git describe rev` + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-gce4d125\"; }\n' > libs/ardour/revision.cc + # Note the different version number + sed -i '33i rev = \"3.5-357-gce4d125\"' wscript + sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript + sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings + sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl ''; - buildInputs = [ - scons boost pkgconfig fftw librdf_raptor2 librdf_rasqal jackaudio - flac libsamplerate alsaLib libxml2 libxslt libsndfile libsigcxx - #lilv lv2 serd sord sratom suil - libusb cairomm glib pango gtk glibmm gtkmm libgnomecanvas libgnomecanvasmm liblrdf - liblo aubio fftwSinglePrec libmad autoconf automake libtool curl - ]; + configurePhase = "python waf configure --optimize --prefix=$out"; - buildPhase = '' - mkdir -p $out - export CXX=g++ - scons PREFIX=$out SYSLIBS=1 install + buildPhase = "python waf"; + + # For the custom ardour clearlooks gtk-engine to work, it must be + # moved to a directory called "engines" and added to GTK_PATH + installPhase = '' + python waf install + mkdir -pv $out/gtk2/engines + cp build/libs/clearlooks-newer/libclearlooks.so $out/gtk2/engines/ + wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2 ''; - installPhase = ":"; - - meta = { + meta = with stdenv.lib; { description = "Multi-track hard disk recording software"; longDescription = '' - Broken: use ardour3-svn instead Also read "The importance of Paying Something" on their homepage, please! ''; homepage = http://ardour.org/; - branch = "2"; - license = "GPLv2"; - maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu ]; }; } diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix index fc2453869e55..9a812fd261ad 100644 --- a/pkgs/applications/audio/drumkv1/default.nix +++ b/pkgs/applications/audio/drumkv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "drumkv1-${version}"; - version = "0.3.6"; + version = "0.4.0"; src = fetchurl { url = "mirror://sourceforge/drumkv1/${name}.tar.gz"; - sha256 = "13prman3jlh3xz56675vnnnghnmmbxpq8gqdhv5llgd8ggzhmyjn"; + sha256 = "0bhj4liv6c0rw0gsh1zygj4a9vmwl3jdz2j6zzdxbqdk21xq4zpz"; }; buildInputs = [ jackaudio libsndfile lv2 qt4 ]; diff --git a/pkgs/applications/audio/ekho/default.nix b/pkgs/applications/audio/ekho/default.nix new file mode 100644 index 000000000000..dd9b830be841 --- /dev/null +++ b/pkgs/applications/audio/ekho/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, pkgconfig +, libsndfile, pulseaudio +}: + +let + version = "5.8.2"; +in stdenv.mkDerivation rec { + name = "ekho-${version}"; + + meta = with stdenv.lib; { + description = "Chinese text-to-speech software"; + homepage = "http://www.eguidedog.net/ekho.php"; + longDescription = '' + Ekho (余音) is a free, open source and multilingual text-to-speech (TTS) + software. It supports Cantonese (Chinese dialect spoken in Hong Kong and + part of Guangdong province), Mandarin (standard Chinese), Zhaoan Hakka + (a dialect in Taiwan), Tibetan, Ngangien (an ancient Chinese before + Yuan Dynasty) and Korean (in trial). + ''; + license = licenses.gpl2Plus; + platforms = platforms.linux; + hydraPlatforms = []; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "mirror://sourceforge/e-guidedog/Ekho/${version}/${name}.tar.xz"; + sha256 = "0ym6lpcpsvwvsiwlzkl1509a2hljwcw7synngrmqjq1n49ww00nj"; + }; + + preConfigure = with stdenv.lib; '' + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${optionalString stdenv.is64bit "-D_x86_64"}" + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DEKHO_DATA_PATH=\"$out/share/ekho-data\"" + ''; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ libsndfile pulseaudio ]; +} diff --git a/pkgs/applications/audio/gigedit/default.nix b/pkgs/applications/audio/gigedit/default.nix index be6970f01e16..269b48aebb8f 100644 --- a/pkgs/applications/audio/gigedit/default.nix +++ b/pkgs/applications/audio/gigedit/default.nix @@ -26,5 +26,6 @@ stdenv.mkDerivation rec { description = "Gigasampler file access library"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix new file mode 100644 index 000000000000..73138cc269d0 --- /dev/null +++ b/pkgs/applications/audio/ingen/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchsvn, boost, ganv, glibmm, gtk, gtkmm, jackaudio, lilv +, lv2, pkgconfig, python, raul, serd, sord, sratom, suil +}: + +stdenv.mkDerivation rec { + name = "ingen-svn-${rev}"; + rev = "5317"; + + src = fetchsvn { + url = "http://svn.drobilla.net/lad/trunk/ingen"; + rev = rev; + sha256 = "0zm3wbv9qsingjyr95nwin3khmnf3wq3fz2xa6p420dpcy6qnl4x"; + }; + + buildInputs = [ + boost ganv glibmm gtk gtkmm jackaudio lilv lv2 pkgconfig python + raul serd sord sratom suil + ]; + + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "A modular audio processing system using JACK and LV2 or LADSPA plugins"; + homepage = http://drobilla.net/software/ingen; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix index 6b15052769be..2baf69cef4fd 100644 --- a/pkgs/applications/audio/jalv/default.nix +++ b/pkgs/applications/audio/jalv/default.nix @@ -25,5 +25,6 @@ stdenv.mkDerivation rec { homepage = http://drobilla.net/software/jalv; license = licenses.isc; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/lash/default.nix b/pkgs/applications/audio/lash/default.nix index 72087c76b05d..ad52e7b2d85c 100644 --- a/pkgs/applications/audio/lash/default.nix +++ b/pkgs/applications/audio/lash/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "LASH Audio Session Handler"; + description = "A Linux Audio Session Handler"; longDescription = '' Session management system for GNU/Linux audio applications. ''; diff --git a/pkgs/applications/audio/mid2key/default.nix b/pkgs/applications/audio/mid2key/default.nix index 1e163391a397..26ea2c7b0b2c 100644 --- a/pkgs/applications/audio/mid2key/default.nix +++ b/pkgs/applications/audio/mid2key/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { description = "A simple tool which maps midi notes to simulated keystrokes"; license = licenses.gpl3; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index 8d4b8d4d778b..3edb7ae6793b 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, alsaLib }: stdenv.mkDerivation { - name = "mpg123-1.18.1"; + name = "mpg123-1.19.0"; src = fetchurl { - url = mirror://sourceforge/mpg123/mpg123-1.18.1.tar.bz2; - sha256 = "0bb5hv0qw3ln09xisi7d19gb4p2y69sx3905rdc293q3gr7khvdw"; + url = mirror://sourceforge/mpg123/mpg123-1.19.0.tar.bz2; + sha256 = "06xhd68mj9yp0r6l771aq0d7xgnl402a3wm2mvhxmd3w3ph29446"; }; buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib; diff --git a/pkgs/applications/audio/qsampler/default.nix b/pkgs/applications/audio/qsampler/default.nix index 7cfe73c9c750..b851517b8724 100644 --- a/pkgs/applications/audio/qsampler/default.nix +++ b/pkgs/applications/audio/qsampler/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { description = "graphical frontend to LinuxSampler"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index de1aba2a7f6f..ea8ae88f022e 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -18,7 +18,7 @@ buildPythonPackage { # XXX, tests fail doCheck = false; - src = [ + srcs = [ (fetchurl { url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz"; sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z"; @@ -27,7 +27,7 @@ buildPythonPackage { url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz"; sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc"; }) - ]; + ]; preConfigure = '' # TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc @@ -35,11 +35,13 @@ buildPythonPackage { ''; sourceRoot = "quodlibet-${version}"; + postUnpack = '' # the patch searches for plugins in directory ../plugins # so link the appropriate directory there ln -sf quodlibet-plugins-${version} plugins ''; + patches = [ ./quodlibet-package-plugins.patch ]; buildInputs = stdenv.lib.optionals withGstPlugins [ diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index 8c73928c79a4..2748dfd5db41 100644 --- a/pkgs/applications/audio/samplv1/default.nix +++ b/pkgs/applications/audio/samplv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "samplv1-${version}"; - version = "0.3.6"; + version = "0.4.0"; src = fetchurl { url = "mirror://sourceforge/samplv1/${name}.tar.gz"; - sha256 = "1fgy9w3mp0p8i1v41a7gmpzzk268k7bp75d4sgzfprikjihc6ary"; + sha256 = "04vldwpm4059czwd4i5yv07daqjnzs2zsrld779likans9ib3ri8"; }; buildInputs = [ jackaudio libsndfile lv2 qt4 ]; diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index c93c4c852256..229d4fdac146 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "synthv1-${version}"; - version = "0.3.6"; + version = "0.4.0"; src = fetchurl { url = "mirror://sourceforge/synthv1/${name}.tar.gz"; - sha256 = "1xj4dk1g546f9fv2c4i7g3f1axrxfrxzk9w1nidhj3686j79nyry"; + sha256 = "0zyxja1s74fr95qbwsyykggs3af2ndm2hz1l0avb645xgm93vcfv"; }; buildInputs = [ qt4 jackaudio lv2 ]; diff --git a/pkgs/applications/audio/vmpk/default.nix b/pkgs/applications/audio/vmpk/default.nix new file mode 100644 index 000000000000..7fffa77b5a39 --- /dev/null +++ b/pkgs/applications/audio/vmpk/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, cmake, pkgconfig +, qt4, jackaudio +}: + +let + version = "0.5.1"; +in stdenv.mkDerivation rec { + name = "vmpk-${version}"; + + meta = with stdenv.lib; { + description = "Virtual MIDI Piano Keyboard"; + homepage = "http://vmpk.sourceforge.net/"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "mirror://sourceforge/vmpk/${version}/${name}.tar.bz2"; + sha256 = "11fqnxgs9hr9255d93n7lazxzjwn8jpmn23nywdksh0pb1ffvfrc"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ qt4 jackaudio ]; +} diff --git a/pkgs/applications/editors/emacs-modes/darcsum/darcs_context b/pkgs/applications/editors/emacs-modes/darcsum/darcs_context new file mode 100644 index 000000000000..7e9de1ed80b5 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/darcsum/darcs_context @@ -0,0 +1,7 @@ + +Context: + +[TAG 1.3 +Simon Michael **20131103203640 + Ignore-this: d12bac373e4aa0e5ffe6c390e1dfe269 +] diff --git a/pkgs/applications/editors/emacs-modes/darcsum/default.nix b/pkgs/applications/editors/emacs-modes/darcsum/default.nix new file mode 100644 index 000000000000..cf2bcc6e30b9 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/darcsum/default.nix @@ -0,0 +1,34 @@ +# To automatically load darcsum when needed, add the following to your emacs init file: +# +# (autoload 'darcsum-changes "darcsum" nil t) +# (autoload 'darcsum-whatsnew "darcsum" nil t) +# (autoload 'darcsum-view "darcsum" nil t) +# +# (These lines were copied from 50darcsum.el in the darcsum repository.) + + +{ fetchdarcs, stdenv }: + +stdenv.mkDerivation { + name = "darcsum-1.3"; + + src = fetchdarcs { + url = http://hub.darcs.net/simon/darcsum; + context = ./darcs_context; + sha256 = "18dyk2apmnjapd604a5njfqwjri1mc7lgjaajy9phicpibgdrwzh"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + install -d "$out/share/emacs/site-lisp" + install darcsum.el "$out/share/emacs/site-lisp" + ''; + + meta = { + description = "A pcl-cvs like interface for managing darcs patches."; + homepage = "http://hub.darcs.net/simon/darcsum"; + license = "GPLv2+"; + maintainers = [ stdenv.lib.maintainers.falsifian ]; + }; +} diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix index 14f9c1eb0d49..b815b0523471 100644 --- a/pkgs/applications/editors/kdevelop/default.nix +++ b/pkgs/applications/editors/kdevelop/default.nix @@ -1,28 +1,20 @@ { stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info, - kdebase_workspace, gettext, perl, okteta }: + kdebase_workspace, gettext, perl, okteta, qjson }: stdenv.mkDerivation rec { name = "${pname}-${version}"; - version = "4.3.1"; + version = "4.6.0"; pname = "kdevelop"; src = fetchurl { - url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2"; - sha256 = "0015hv39rqhyq1w6jw65lx7ls4l5pc3a2asvd5zsd65831vrfxxs"; + url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; + sha256 = "1ee9e7b8c46f575dd29d920cfd6284130f2e738a2e1f52dfd97b075fab2e4c73"; }; - buildInputs = [ kdevplatform kdebase_workspace okteta ]; + buildInputs = [ kdevplatform kdebase_workspace okteta qjson ]; nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ]; - patches = - [ ( fetchurl { - url = https://git.reviewboard.kde.org/r/105211/diff/raw/; - name = "okteta-0.9.patch"; # fixes build with KDE-4.9.x - sha256 = "1mvqhw7jr1vi66l3jgam3slyfafcvwy4g3iapfi69dpfnzhmcxl0"; - } ) - ]; - NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE"; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/vim/wrapper.nix b/pkgs/applications/editors/vim/wrapper.nix index 709753ff8eb5..72e868050537 100644 --- a/pkgs/applications/editors/vim/wrapper.nix +++ b/pkgs/applications/editors/vim/wrapper.nix @@ -2,10 +2,12 @@ let - vimrcfile = writeText "vimrc" (if vimrc == null then "" else vimrc); + vimrcfile = writeText "vimrc" vimrc; + + p = builtins.parseDrvName vim.name; in stdenv.mkDerivation rec { - name = "vimwrapper-${vim.version}"; + name = "${p.name}-with-vimrc-${p.version}"; buildInputs = [ makeWrapper vim vimrcfile ]; diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index a1238fe3dcd9..d831df5d7b66 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -1,17 +1,19 @@ { stdenv, fetchurl, qt4, bison, flex, eigen, boost, mesa, glew, opencsg, cgal -, mpfr, gmp +, mpfr, gmp, glib, pkgconfig }: stdenv.mkDerivation rec { - version = "2013.06"; + version = "2014.03"; name = "openscad-${version}"; src = fetchurl { - url = "https://openscad.googlecode.com/files/${name}.src.tar.gz"; - sha256 = "01r013l8zyfkgmqn05axh3rlfsjwd6j403w5ffl7nby4i2spiw1f"; + url = "http://files.openscad.org/${name}.src.tar.gz"; + sha256 = "1hv1lmq1ayhlvrz5sqipg650xryq25a9k22ysdw0dsrwg9ixqpw6"; }; - buildInputs = [ qt4 bison flex eigen boost mesa glew opencsg cgal gmp mpfr ]; + buildInputs = [ + qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib pkgconfig + ]; configurePhase = '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${eigen}/include/eigen*) " diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix new file mode 100644 index 000000000000..2cb86a3f1e66 --- /dev/null +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -0,0 +1,56 @@ +{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite, webkit +, pkgconfig, gnome3, gst_all_1, which, udev, libraw, glib, json_glib, gettext, desktop_file_utils +, lcms2, gdk_pixbuf, librsvg, makeWrapper }: + +# for dependencies see http://www.yorba.org/projects/shotwell/install/ + +let + rest = stdenv.mkDerivation rec { + name = "rest-0.7.12"; + + src = fetchurl { + url = "mirror://gnome/sources/rest/0.7/${name}.tar.xz"; + sha256 = "0fmg7fq5fx0jg3ryk71kwdkspsvj42acxy9imk7vznkqj29a9zqn"; + }; + + configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt"; + + buildInputs = [ pkgconfig glib libsoup ]; + }; +in stdenv.mkDerivation rec { + version = "0.15.1"; + name = "shotwell-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/shotwell/0.15/${name}.tar.xz"; + sha256 = "12qbqba226q9wb0m31xx8w0m968sr1n18qa4mbz75wblhwws0j7b"; + }; + + NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include"; + + configureFlags = [ "--disable-gsettings-convert-install" ]; + + preConfigure = '' + patchShebangs . + ''; + + postInstall = '' + wrapProgram "$out/bin/shotwell" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share" + ''; + + + buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkit pkgconfig + gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev gnome3.gexiv2 + libraw rest json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg + makeWrapper ]; + + meta = with stdenv.lib; { + description = "Popular photo organizer for the GNOME desktop"; + homepage = http://www.yorba.org/projects/shotwell/; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [iElectric]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix new file mode 100644 index 000000000000..034a147b7874 --- /dev/null +++ b/pkgs/applications/graphics/synfigstudio/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchurl, boost, cairo, gettext, glibmm, gtk, gtkmm +, libsigcxx, libtool, libxmlxx, pango, pkgconfig, imagemagick +, intltool +}: + +let + version = "0.64.1"; + + ETL = stdenv.mkDerivation rec { + name = "ETL-0.04.17"; + + src = fetchurl { + url = "mirror://sourceforge/synfig/${name}.tar.gz"; + sha256 = "13kpiswgcpsif9fwcplqr0405aqavqn390cjnivkn3pxv0d2q8iy"; + }; + }; + + synfig = stdenv.mkDerivation rec { + name = "synfig-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz"; + sha256 = "1b4ksxnqbaq4rxlvasmrvk7z4jvjbsg4ns3cns2qcnz64dyvbgda"; + }; + + patches = [ ./synfig-cstring.patch ]; + + buildInputs = [ + ETL boost cairo gettext glibmm libsigcxx libtool libxmlxx pango + pkgconfig + ]; + + configureFlags = [ "--with-boost-libdir=${boost}/lib" ]; + }; +in +stdenv.mkDerivation rec { + name = "synfigstudio-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/synfig/${name}.tar.gz"; + sha256 = "0nl6vpsn5dcjd5qhbrmd0j4mr3wddvymkg9414m77cdpz4l8b9v2"; + }; + + buildInputs = [ + ETL boost cairo gettext glibmm gtk gtkmm imagemagick intltool + intltool libsigcxx libtool libxmlxx pkgconfig synfig + ]; + + meta = with stdenv.lib; { + description = "A 2D animation program"; + homepage = http://www.synfig.org; + license = licenses.gpl2Plus; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch b/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch new file mode 100644 index 000000000000..51eb77042161 --- /dev/null +++ b/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch @@ -0,0 +1,12 @@ +http://www.synfig.org/issues/thebuggenie/synfig/issues/438 +--- a/src/modules/mod_png/trgt_png.cpp ++++ b/src/modules/mod_png/trgt_png.cpp +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + + #endif + + diff --git a/pkgs/applications/misc/gnuradio-osmosdr/default.nix b/pkgs/applications/misc/gnuradio-osmosdr/default.nix new file mode 100644 index 000000000000..2e9d74c2441d --- /dev/null +++ b/pkgs/applications/misc/gnuradio-osmosdr/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchgit, cmake, pkgconfig, boost, gnuradio, rtl-sdr, uhd +, makeWrapper +, pythonSupport ? true, python, swig +}: + +assert pythonSupport -> python != null && swig != null; + +stdenv.mkDerivation rec { + name = "gnuradio-osmosdr-${version}"; + version = "0.1.0"; + + src = fetchgit { + url = "git://git.osmocom.org/gr-osmosdr"; + rev = "refs/tags/v${version}"; + sha256 = "112zfvnr6fjvhdc06ihi2sb0dp441qy7jq8rvr81nbyv3r8jspj4"; + }; + + buildInputs = [ + cmake pkgconfig boost gnuradio rtl-sdr uhd makeWrapper + ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; + + postInstall = '' + for prog in "$out"/bin/*; do + wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") + done + ''; + + meta = with stdenv.lib; { + description = "Gnuradio block for OsmoSDR and rtl-sdr"; + homepage = http://sdr.osmocom.org/trac/wiki/GrOsmoSDR; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix index 3fc3e1e8e5f3..7e67682f17f9 100644 --- a/pkgs/applications/misc/gnuradio/default.nix +++ b/pkgs/applications/misc/gnuradio/default.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { for file in "$out"/bin/* "$out"/share/gnuradio/examples/*/*.py; do wrapProgram "$file" \ - --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") \ + --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \ --set MATPLOTLIBRC "$out/share/gnuradio" done ''; diff --git a/pkgs/applications/misc/gqrx/default.nix b/pkgs/applications/misc/gqrx/default.nix new file mode 100644 index 000000000000..a52081077509 --- /dev/null +++ b/pkgs/applications/misc/gqrx/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, qt4, gnuradio, boost, gnuradio-osmosdr +# drivers (optional): +, rtl-sdr +, pulseaudioSupport ? true, pulseaudio +}: + +assert pulseaudioSupport -> pulseaudio != null; + +stdenv.mkDerivation rec { + name = "gqrx-${version}"; + version = "2.2.0"; + + src = fetchurl { + url = "mirror://sourceforge/project/gqrx/${version}/${name}-src.tar.gz"; + sha256 = "15ncx2shh43skph7sj3jvmkls9cbbbysld49c8xd23fhdsxanj9x"; + }; + + buildInputs = [ + qt4 gnuradio boost gnuradio-osmosdr rtl-sdr + ] ++ stdenv.lib.optionals pulseaudioSupport [ pulseaudio ]; + + configurePhase = ''qmake PREFIX="$out"''; + + meta = with stdenv.lib; { + description = "Software defined radio (SDR) receiver"; + longDescription = '' + Gqrx is a software defined radio receiver powered by GNU Radio and the Qt + GUI toolkit. It can process I/Q data from many types of input devices, + including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal + Software Radio Peripheral (USRP) devices. + ''; + homepage = http://gqrx.dk/; + # Some of the code comes from the Cutesdr project, with a BSD license, but + # it's currently unknown which version of the BSD license that is. + license = licenses.gpl3Plus; + platforms = platforms.linux; # should work on Darwin / OS X too + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index 92cd0de8b312..3e972f672cc2 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { "--without-powerman" # Until we have it ... "--without-cgi" "--without-hal" - "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-udev-dir=$(out)/etc/udev" ]; diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix new file mode 100644 index 000000000000..e6e762493883 --- /dev/null +++ b/pkgs/applications/misc/rtl-sdr/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchgit, cmake, pkgconfig, libusb1 }: + +stdenv.mkDerivation rec { + name = "rtl-sdr-${version}"; + version = "0.5.3"; + + src = fetchgit { + url = "git://git.osmocom.org/rtl-sdr.git"; + rev = "refs/tags/v${version}"; + sha256 = "00r5d08r12zzkd0xggd7l7p4r2278rzdhqdaihwjlajmr9qd3hs1"; + }; + + buildInputs = [ cmake pkgconfig libusb1 ]; + + # Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to + # /etc/udev/rules.d/, and there is no option to install elsewhere. So install + # rules manually. + postInstall = '' + mkdir -p "$out/etc/udev/rules.d/" + cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules" + ''; + + meta = with stdenv.lib; { + description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver"; + homepage = http://sdr.osmocom.org/trac/wiki/rtl-sdr; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix index 41575ce35a69..fda89f1cd3dd 100644 --- a/pkgs/applications/misc/st/default.nix +++ b/pkgs/applications/misc/st/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, writeText, libX11, ncurses, libXext, libXft, fontconfig +{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft, fontconfig , conf? null}: with stdenv.lib; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { configFile = optionalString (conf!=null) (writeText "config.def.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; - buildInputs = [ libX11 ncurses libXext libXft fontconfig ]; + buildInputs = [ pkgconfig libX11 ncurses libXext libXft fontconfig ]; NIX_LDFLAGS = "-lfontconfig"; diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix index 7eacaf15b625..a7aeed339e24 100644 --- a/pkgs/applications/misc/xmobar/default.nix +++ b/pkgs/applications/misc/xmobar/default.nix @@ -1,15 +1,16 @@ -{ cabal, alsaCore, alsaMixer, filepath, libXrandr, mtl, parsec -, regexCompat, stm, time, utf8String, wirelesstools, X11, X11Xft +{ cabal, alsaCore, alsaMixer, filepath, HTTP, libXrandr, mtl +, parsec, regexCompat, stm, time, utf8String, wirelesstools, X11 +, X11Xft }: cabal.mkDerivation (self: { pname = "xmobar"; - version = "0.19"; - sha256 = "1lwbww9vpqscip16lqiax2qvfyksxms5xx4n0s61mzw7v61hyxq2"; + version = "0.20.1"; + sha256 = "16jfgn6ciqxrwj6qjhbcpms7mzlbxfaxyxfxp64xvnw626xlpjvk"; isLibrary = false; isExecutable = true; buildDepends = [ - alsaCore alsaMixer filepath mtl parsec regexCompat stm time + alsaCore alsaMixer filepath HTTP mtl parsec regexCompat stm time utf8String X11 X11Xft ]; extraLibraries = [ libXrandr wirelesstools ]; diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix index a13dd76fd039..ac2f6dd7756f 100644 --- a/pkgs/applications/misc/xterm/default.nix +++ b/pkgs/applications/misc/xterm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig }: stdenv.mkDerivation rec { - name = "xterm-301"; + name = "xterm-303"; src = fetchurl { url = "ftp://invisible-island.net/xterm/${name}.tgz"; - sha256 = "040rarvv18zg0lk7qy0m3n7gv10mh40jic708wvng01z4rlbpfhz"; + sha256 = "0n7hay16aam9kfn642ri0wj5yzilbjm3l8znxc2p5dx9pn3rkwla"; }; buildInputs = diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index eba32738e0b8..baf67371769d 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -275,7 +275,7 @@ in stdenv.mkDerivation rec { meta = { description = "An open source web browser from Google"; homepage = http://www.chromium.org/; - maintainers = with maintainers; [ goibhniu chaoflow aszlig ]; + maintainers = with maintainers; [ goibhniu chaoflow aszlig wizeman ]; license = licenses.bsd3; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix index 63b4c9033a33..782356640c8d 100644 --- a/pkgs/applications/networking/browsers/chromium/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/sources.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { dev = { - version = "35.0.1862.2"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-35.0.1862.2.tar.xz"; - sha256 = "19426x4x3bnx21qjhqc4sk27k7dnhm1pw84079h6gk0hyjzcwn0f"; + version = "35.0.1883.0"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-35.0.1883.0.tar.xz"; + sha256 = "0qbv6prxl18y5824pfd13ng9798g561gzb6nypwp502hqr45jvb6"; }; beta = { - version = "34.0.1847.14"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-34.0.1847.14.tar.xz"; - sha256 = "038bz2d40rgjppkalal9ycjhfvkhph926k35v8pc3618z2fy10cn"; + version = "34.0.1847.60"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-34.0.1847.60.tar.xz"; + sha256 = "1na5d6z4a0wkabn7cj62vyiv3mmvcb6qdvrkyy6fj79h7gk2hb7k"; }; stable = { - version = "33.0.1750.146"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-33.0.1750.146.tar.xz"; - sha256 = "0x2a5kyaj38661c5s33pywhrwkm8kj2fbr1z940c5al6y2hfgc6m"; + version = "33.0.1750.152"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-33.0.1750.152.tar.xz"; + sha256 = "0byc23vwn9alsva0jqvwvgnbx2bm7x48m3jln02y4fpf1f265m4z"; }; } diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index db89903c3ad6..b45fb4bbae75 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -195,7 +195,7 @@ rec { meta = { description = "Mozilla Firefox - the browser, reloaded"; homepage = http://www.mozilla.com/en-US/firefox/; - maintainers = [ stdenv.lib.maintainers.eelco ]; + maintainers = with stdenv.lib.maintainers; [ eelco wizeman ]; }; passthru = { diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 3a73afe48c5f..6a00dfcd8c19 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -2,8 +2,10 @@ , browserName, desktopName, nameSuffix, icon }: +let p = builtins.parseDrvName browser.name; in + stdenv.mkDerivation { - name = browser.name + "-with-plugins"; + name = "${p.name}-with-plugins-${p.version}"; desktopItem = makeDesktopItem { name = browserName; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix index 8317f94e0796..a33c879ad92d 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -36,7 +36,7 @@ let # -> http://get.adobe.com/flashplayer/ - version = "11.2.202.341"; + version = "11.2.202.346"; src = if stdenv.system == "x86_64-linux" then @@ -47,7 +47,7 @@ let else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; - sha256 = "0d1ic70awdig0v699svmq8mmnil8xmmwsap30sgi0r94saxmq49j"; + sha256 = "19jgiw5f0ksxqgi6jkla4qq7gx9gnn9jmpjgqanb7mhl5fdl0v55"; } else if stdenv.system == "i686-linux" then if debug then { @@ -58,7 +58,7 @@ let } else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; - sha256 = "0bfz1id4035jnkwy4xm0dj8l9lygrrzqdbf8dgc9pcy8c63d1hac"; + sha256 = "01f4zady0r0n5rfqq2285svc13wiypmfrm8fnirmr5lpwl5d89ra"; } else throw "Flash Player is not supported on this platform"; @@ -88,5 +88,7 @@ stdenv.mkDerivation { meta = { description = "Adobe Flash Player browser plugin"; homepage = http://www.adobe.com/products/flashplayer/; + maintainer = with stdenv.lib.maintainers; [ wizeman ]; + license = "unfree"; }; } diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix index 34c3af161261..61f2d0c6e202 100644 --- a/pkgs/applications/networking/cluster/spark/default.nix +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -120,8 +120,8 @@ stdenv.mkDerivation rec { meta = { description = "Spark cluster computing"; homepage = "http://spark.incubator.apache.org"; - platforms = stdenv.lib.platforms.all; license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix index d3009115b178..7554ad7d1a8c 100644 --- a/pkgs/applications/networking/irc/konversation/default.nix +++ b/pkgs/applications/networking/irc/konversation/default.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Integrated IRC client for KDE"; + repositories.git = git://anongit.kde.org/konversation; license = "GPL"; inherit (kdelibs.meta) maintainers platforms; }; diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix index a8fb387e7296..70aeb0009814 100644 --- a/pkgs/applications/networking/mailreaders/sup/default.nix +++ b/pkgs/applications/networking/mailreaders/sup/default.nix @@ -3,7 +3,7 @@ , gettext, iconv, locale, text, highline, rmail_sup, unicode, gnupg, which }: stdenv.mkDerivation rec { - version = "20131130"; + version = "20140312"; name = "sup-${version}"; meta = { @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { src = fetchgit { url = git://github.com/sup-heliotrope/sup.git; - rev = "a5a1e39034204ac4b05c9171a71164712690b010"; - sha256 = "0w2w7dcif1ri1qq81csz7gj45rqd9z7hjd6x29awibybyyqyvj5s"; + rev = "0cad7b308237c07b8a46149908b2ad4806ac3d1d"; + sha256 = "83534b6ad9fb6aa883d630c927e3a71bd09a646e3254b4eb0cc7a09f69a525bc"; }; buildInputs = diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix index 093b801401dc..c0892740dbdc 100644 --- a/pkgs/applications/networking/newsreaders/liferea/default.nix +++ b/pkgs/applications/networking/newsreaders/liferea/default.nix @@ -1,30 +1,58 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk2, gnome2 /*just GConf*/ -, libsoup, libunique, libxslt, webkit_gtk2, json_glib -, libnotify /*optional*/ }: +{ stdenv, fetchurl, pkgconfig, intltool, python, pygobject3 +, glib, gnome3, pango, libxml2, libxslt, sqlite, libsoup, glib_networking +, webkitgtk, json_glib, gobjectIntrospection, gst_all_1 +, libnotify +, makeWrapper +}: -let version = "1.8.15"; +let pname = "liferea"; + version = "1.10.7"; in stdenv.mkDerivation rec { - name = "liferea-${version}"; + name = "${pname}-${version}"; src = fetchurl { - url = "mirror://sourceforge/liferea/Liferea%20Stable/${version}/${name}.tar.bz2"; - sha256 = "12hhdl5biwcvr9ds7pdhhvlp4vggjix6xm4z5pnfaz53ai2dnc99"; + url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2"; + sha256 = "17kvg44brdz99firr5h5qx8icvadlr7p1cz3xr3437sf5rhj25wh"; }; - buildInputs = [ - pkgconfig intltool gtk2 gnome2.GConf - libsoup libunique libxslt webkit_gtk2 json_glib + buildInputs = with gst_all_1; [ + pkgconfig intltool python + glib gnome3.gtk pango libxml2 libxslt sqlite libsoup + webkitgtk json_glib gobjectIntrospection gnome3.gsettings_desktop_schemas + gnome3.libpeas gnome3.dconf + gst-plugins-base gst-plugins-good gst-plugins-bad + gnome3.libgnome_keyring libnotify + makeWrapper ]; preFixup = '' rm $out/share/icons/hicolor/icon-theme.cache''; + postInstall = '' + for f in "$out"/bin/*; do + wrapProgram "$f" \ + --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ + --prefix LD_LIBRARY_PATH : "${gnome3.libgnome_keyring}/lib" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:${gnome3.gtk}/share:$out/share" + done + ''; + meta = { description = "A GTK-based news feed agregator"; homepage = http://lzone.de/liferea/; - maintainers = [ stdenv.lib.maintainers.vcunat ]; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ vcunat romildo ]; platforms = stdenv.lib.platforms.linux; + + longDescription = '' + Liferea (Linux Feed Reader) is an RSS/RDF feed reader. + It's intended to be a clone of the Windows-only FeedReader. + It can be used to maintain a list of subscribed feeds, + browse through their items, and show their contents. + ''; }; } diff --git a/pkgs/applications/networking/notbit/default.nix b/pkgs/applications/networking/notbit/default.nix new file mode 100644 index 000000000000..db900f9ff256 --- /dev/null +++ b/pkgs/applications/networking/notbit/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchgit, autoconf, automake, pkgconfig, openssl }: + +stdenv.mkDerivation rec { + name = "notbit-0.2-28-g06f9160"; + + src = fetchgit { + url = "git://git.busydoingnothing.co.uk/notbit"; + rev = "06f916081836de12f8e57a9f50c95d4d1b51627f"; + sha256 = "d5c38eea1d9ca213bfbea5c88350478a5088b5532e939de9680d72e60aa65288"; + }; + + buildInputs = [ autoconf automake pkgconfig openssl ]; + + preConfigure = "autoreconf -vfi"; + + meta = with stdenv.lib; { + homepage = http://busydoingnothing.co.uk/notbit/; + description = "A minimal bitmessage client"; + license = licenses.mit; + + # This is planned to change when the project officially supports other platforms + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix index b408f20b7110..e53fda089111 100644 --- a/pkgs/applications/networking/p2p/ktorrent/default.nix +++ b/pkgs/applications/networking/p2p/ktorrent/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = pname + "-" + version; pname = "ktorrent"; - version = "4.2.1"; + version = "4.3.1"; src = fetchurl { url = "${meta.homepage}/downloads/${version}/${name}.tar.bz2"; - sha256 = "1b6w7i1vvq8mlw9yrlxvb51hvaj6rpl8lv9b9zagyl3wcanz73zd"; + sha256 = "66094f6833347afb0c49e332f0ec15ec48db652cbe66476840846ffd5ca0e4a1"; }; patches = [ ./find-workspace.diff ]; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { meta = { description = "KDE integrated BtTorrent client"; - homepage = http://ktorrent.org; + homepage = http://ktorrent.pwsp.net; maintainers = with stdenv.lib.maintainers; [ sander urkud ]; inherit (libktorrent.meta) platforms; }; diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index cb439ddb4624..958e19a0986f 100644 --- a/pkgs/applications/networking/p2p/transmission/default.nix +++ b/pkgs/applications/networking/p2p/transmission/default.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.transmissionbt.com/; license = licenses.gpl2; # parts are under MIT - maintainers = with maintainers; [ astsmtl vcunat ]; + maintainers = with maintainers; [ astsmtl vcunat wizeman ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index 0108f934693e..0ae27e322b7c 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "gnumeric-1.12.9"; + name = "gnumeric-1.12.12"; src = fetchurl { url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz"; - sha256 = "1rv2ifw6rp0iza4fkf3bffvdkyi77dwvzdnvcbpqcyn2kxfsvlsc"; + sha256 = "096i9x6b4i6x24vc4lsxx8fg2n2pjs2jb6x3bkg3ppa2c60w1jq0"; }; preConfigure = ''sed -i 's/\(SUBDIRS.*\) doc/\1/' Makefile.in''; # fails when installing docs diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index b4a7a203a3c4..aa3ba878eb59 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -3,7 +3,7 @@ {stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: let - version = "8.4pl2"; + version = "8.4pl3"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; idePath = if buildIde then '' @@ -16,7 +16,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz"; - sha256 = "1n52pky7bb45irk2jw6f4rd3kvy8lm2yfldjwdhiic0kyqw9lwgv"; + sha256 = "0f7v3j4zsrhpswdh47bb30vwgsr0ck79jkkz01a5a74qgxiksn4p"; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; @@ -54,7 +54,7 @@ stdenv.mkDerivation { ''; homepage = "http://coq.inria.fr"; license = "LGPL"; - maintainers = [ stdenv.lib.maintainers.roconnor ]; + maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/science/logic/ekrhyper/default.nix b/pkgs/applications/science/logic/ekrhyper/default.nix index 3a50d3e1ed05..e1eb9a2dcc3b 100644 --- a/pkgs/applications/science/logic/ekrhyper/default.nix +++ b/pkgs/applications/science/logic/ekrhyper/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="ekrhyper"; - version="1_4_20112013"; + version="1_4_21022014"; name="${baseName}-${version}"; - hash="08qrsahlgqq29zyrcc8435bymj3jvxaailbgjy47jzj1ki2i0vgm"; - url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_20112013.tar.gz"; - sha256="08qrsahlgqq29zyrcc8435bymj3jvxaailbgjy47jzj1ki2i0vgm"; + hash="14xaaxyvfli1nd4vd9fp4j1s8k76z2bhazxzzc7br3q6hc6b8ivw"; + url="http://userpages.uni-koblenz.de/~bpelzer/ekrhyper/ekrh_1_4_21022014.tar.gz"; + sha256="14xaaxyvfli1nd4vd9fp4j1s8k76z2bhazxzzc7br3q6hc6b8ivw"; }; buildInputs = [ ocaml perl diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix index ce4d9f98596f..8a1201815ae3 100644 --- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "cgit-0.10"; + name = "cgit-0.10.1"; src = fetchurl { url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz"; - sha256 = "0ynywva0lrsasdm3nlk3dmd8k5bnrd9qlvmk4n42dfw9g1xj5i4h"; + sha256 = "0bci1p9spf79wirc4lk36cndcx2b9wj0fq1l58rlp6r563is77l3"; }; # cgit is is tightly coupled with git and needs a git source tree to build. @@ -53,6 +53,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://git.zx2c4.com/cgit/about/; + repositories.git = git://git.zx2c4.com/cgit; description = "Web frontend for git repositories"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index ee1de54a4fb0..96e4631889c7 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -4,10 +4,8 @@ args: with args; with pkgs; let inherit (pkgs) stdenv fetchgit fetchurl subversion; -in -rec { - git = lib.makeOverridable (import ./git) { + gitBase = lib.makeOverridable (import ./git) { inherit fetchurl stdenv curl openssl zlib expat perl python gettext gnugrep asciidoc xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt cpio tcl tk makeWrapper subversionClient gzip; @@ -24,6 +22,9 @@ rec { ]; }; +in +rec { + # support for bugzilla gitBz = import ./git-bz { inherit fetchgit stdenv makeWrapper python asciidoc xmlto # docbook2x docbook_xsl docbook_xml_dtd_45 libxslt @@ -31,17 +32,19 @@ rec { inherit (pythonPackages) pysqlite; }; + git = appendToName "minimal" gitBase; + # Git with SVN support, but without GUI. - gitSVN = lowPrio (appendToName "with-svn" (git.override { + gitSVN = lowPrio (appendToName "with-svn" (gitBase.override { svnSupport = true; })); # The full-featured Git. - gitFull = appendToName "full" (git.override { + gitFull = gitBase.override { svnSupport = true; guiSupport = true; sendEmailSupport = !stdenv.isDarwin; - }); + }; gitAnnex = pkgs.haskellPackages.gitAnnex; 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 8a6244525e69..49129e6b8ce7 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 @@ -10,14 +10,14 @@ , QuickCheck, random, regexTdfa, rsync, SafeSemaphore, SHA, stm , tasty, tastyHunit, tastyQuickcheck, tastyRerun, text, time , transformers, unixCompat, utf8String, uuid, wai, waiLogger, warp -, which, xmlTypes, yesod, yesodCore, yesodDefault, yesodForm -, yesodStatic +, warpTls, which, xmlTypes, yesod, yesodCore, yesodDefault +, yesodForm, yesodStatic }: cabal.mkDerivation (self: { pname = "git-annex"; - version = "5.20140227"; - sha256 = "0zdaryvfpbmc454798z3z3sshf0br8v3sw0vnksqng3zm3w73dah"; + version = "5.20140306"; + sha256 = "1kjgqrz0wnccylrbdiwj1yndg7v2k09f5h2vkk06bnx02xmwvjl9"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -30,7 +30,8 @@ cabal.mkDerivation (self: { networkProtocolXmpp optparseApplicative QuickCheck random regexTdfa SafeSemaphore SHA stm tasty tastyHunit tastyQuickcheck tastyRerun text time transformers unixCompat utf8String uuid wai waiLogger - warp xmlTypes yesod yesodCore yesodDefault yesodForm yesodStatic + warp warpTls xmlTypes yesod yesodCore yesodDefault yesodForm + yesodStatic ]; buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ]; configureFlags = "-fS3 diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index c14eb36acf9e..9be32b9accdf 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -10,7 +10,7 @@ let - version = "1.9.0"; + version = "1.9.1"; svn = subversionClient.override { perlBindings = true; }; @@ -20,8 +20,8 @@ stdenv.mkDerivation { name = "git-${version}"; src = fetchurl { - url = "http://git-core.googlecode.com/files/git-${version}.tar.gz"; - sha256 = "10lq71vrg1zbqm923wb0p36ily6y5x057f2bryk4wqkdqgyrfc6y"; + url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; + sha256 = "0yx7qf9hqgfvrliqvk775pw3zh982nx5r16iw7n997q4ik7gnqpr"; }; patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ]; diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix index ed93f81b6623..17bf282a459a 100644 --- a/pkgs/applications/video/kazam/default.nix +++ b/pkgs/applications/video/kazam/default.nix @@ -5,6 +5,7 @@ python3Packages.buildPythonPackage rec { name = "kazam-${version}"; version = "1.4.3"; + namePrefix = ""; src = fetchurl { url = "https://launchpad.net/kazam/stable/${version}/+download/kazam-${version}.tar.gz"; diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index dcf5b4e50097..7f3bf8fafc80 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl, pixman -, attr, libcap, vde2, alsaLib, texinfo, libuuid +, attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison , makeWrapper , sdlSupport ? true, SDL , vncSupport ? true, libjpeg, libpng @@ -7,19 +7,19 @@ , x86Only ? false }: -let n = "qemu-1.5.2"; in +let n = "qemu-1.7.0"; in stdenv.mkDerivation rec { name = n + (if x86Only then "-x86-only" else ""); src = fetchurl { url = "http://wiki.qemu.org/download/${n}.tar.bz2"; - sha256 = "0l52jwlxmwp9g3jpq0g7ix9dq4qgh46nd2h58lh47f0a35yi8qgn"; + sha256 = "050kq9mz8c2jcshm7nn7dldypsk8jr590ybnlw2wc51dbyl37wri"; }; buildInputs = [ python zlib pkgconfig glib ncurses perl pixman attr libcap - vde2 alsaLib texinfo libuuid makeWrapper + vde2 alsaLib texinfo libuuid flex bison makeWrapper ] ++ stdenv.lib.optionals sdlSupport [ SDL ] ++ stdenv.lib.optionals vncSupport [ libjpeg libpng ] @@ -43,11 +43,11 @@ stdenv.mkDerivation rec { fi ''; - meta = { + meta = with stdenv.lib; { homepage = http://www.qemu.org/; description = "A generic and open source machine emulator and virtualizer"; - license = "GPLv2+"; - maintainers = with stdenv.lib.maintainers; [ viric shlevy eelco ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ viric shlevy eelco ]; + platforms = platforms.linux; }; } diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 3dcb8aa17055..274cd05024bd 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -2,7 +2,7 @@ , kernel ? pkgs.linux_3_10 , img ? "bzImage" , rootModules ? - [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" ] + [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ] }: with pkgs; @@ -57,6 +57,7 @@ rec { mknod ${dev}/random c 1 8 mknod ${dev}/urandom c 1 9 mknod ${dev}/tty c 5 0 + mknod ${dev}/rtc c 254 0 . /sys/class/block/${hd}/uevent mknod ${dev}/${hd} b $MAJOR $MINOR ''; @@ -159,6 +160,10 @@ rec { #! ${bash}/bin/sh source /tmp/xchg/saved-env + # Set the system time from the hardware clock. Works around an + # apparent KVM > 1.5.2 bug. + ${pkgs.utillinux}/sbin/hwclock -s + export NIX_STORE=/nix/store export NIX_BUILD_TOP=/tmp export TMPDIR=/tmp diff --git a/pkgs/data/documentation/man-pages-posix/default.nix b/pkgs/data/documentation/man-pages-posix/default.nix index 8c126db07929..78b3aa1c8b3e 100644 --- a/pkgs/data/documentation/man-pages-posix/default.nix +++ b/pkgs/data/documentation/man-pages-posix/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "man-pages-posix-2003a"; + name = "man-pages-posix-2013-a"; src = fetchurl { - url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/man-pages-posix-2003-a.tar.bz2"; - sha256 = "1sj97lbj27w935f9ia91ih1mwlz4j3qcr3d3nkvcxm6cpfvv2mg3"; + url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/${name}.tar.xz"; + sha256 = "0258j05zdrxpgdj8nndbyi7bvrs8fxdksb0xbfrylzgzfmf3lqqr"; }; preBuild = diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix index e997dd487c5a..b43cc8a7995c 100644 --- a/pkgs/data/documentation/man-pages/default.nix +++ b/pkgs/data/documentation/man-pages/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "man-pages-3.61"; + name = "man-pages-3.62"; src = fetchurl { url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; - sha256 = "1qh1rwh0klk9s1wja6rzr5gdyvijh88i0fwqap83grbgqs661c61"; + sha256 = "1pxnbznrzckzdnlfbdsg9hjd2g93q6b433l4gp095kdxxjqm1mgk"; }; preBuild = diff --git a/pkgs/data/fonts/wqy-microhei/default.nix b/pkgs/data/fonts/wqy-microhei/default.nix new file mode 100644 index 000000000000..065bb4bc828f --- /dev/null +++ b/pkgs/data/fonts/wqy-microhei/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "wqy-microhei-0.2.0-beta"; + + src = fetchurl { + url = "mirror://sourceforge/wqy/${name}.tar.gz"; + sha256 = "0gi1yxqph8xx869ichpzzxvx6y50wda5hi77lrpacdma4f0aq0i8"; + }; + + installPhase = ''install -Dm644 wqy-microhei.ttc $out/share/fonts/wqy-microhei.ttc''; + + meta = { + description = "A (mainly) Chinese Unicode font"; + homepage = "http://wenq.org"; + license = stdenv.lib.licenses.asl20; + maintainers = stdenv.lib.maintainers.pkmx; + platforms = stdenv.lib.platforms.all; + }; +} + diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix index 960c74f68413..d42665c69cca 100644 --- a/pkgs/data/fonts/wqy-zenhei/default.nix +++ b/pkgs/data/fonts/wqy-zenhei/default.nix @@ -1,21 +1,28 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "wqy-zenhei-0.4.23-1"; + name = "wqy-zenhei-${version}"; + version = "0.9.45"; src = fetchurl { - url = mirror://sourceforge/wqy/wqy-zenhei-0.4.23-1.tar.gz; - sha256 = "138nn81ai240av0xvcq4ab3rl73n0qlj3gwr3a36i63ry8vdj5qm"; + url = "mirror://sourceforge/wqy/${name}.tar.gz"; + sha256 = "1mkmxq8g2hjcglb3zajfqj20r4r88l78ymsp2xyl5yav8w3f7dz4"; }; + dontBuild = true; + installPhase = '' mkdir -p $out/share/fonts - cp *.ttf $out/share/fonts + install -m644 *.ttc $out/share/fonts/ ''; meta = { description = "A (mainly) Chinese Unicode font"; + homepage = "http://wenq.org"; + license = stdenv.lib.licenses.gpl2; # with font embedding exceptions + maintainers = stdenv.lib.maintainers.pkmx; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/desktops/gnome-3/core/empathy/default.nix b/pkgs/desktops/gnome-3/core/empathy/default.nix index 1e0c94d0c7ff..1f7a027fd3e5 100644 --- a/pkgs/desktops/gnome-3/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/core/empathy/default.nix @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { homepage = https://wiki.gnome.org/Apps/Empathy; description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols"; maintainers = with maintainers; [ lethalman ]; - license = [ licenses.gpl2 licenses.lgpl2 ]; + # TODO: license = [ licenses.gpl2 licenses.lgpl2 ]; platforms = platforms.linux; }; } diff --git a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix index a5d196ae1e32..28c7b80c0d4f 100644 --- a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix +++ b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix @@ -1,17 +1,26 @@ -{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool }: +{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool, gobjectIntrospection }: stdenv.mkDerivation rec { - name = "libgnome-keyring-3.6.0"; + name = "libgnome-keyring-3.10.1"; src = fetchurl { - url = "mirror://gnome/sources/libgnome-keyring/3.6/${name}.tar.xz"; - sha256 = "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"; + url = "mirror://gnome/sources/libgnome-keyring/3.10/${name}.tar.xz"; + sha256 = "0wip88r91kwx4zp6sc9b38mnlv11grgl4k2kzsd3a8x83c9g2b05"; }; - propagatedBuildInputs = [ glib dbus_libs libgcrypt ]; + propagatedBuildInputs = [ glib gobjectIntrospection dbus_libs libgcrypt ]; nativeBuildInputs = [ pkgconfig intltool ]; meta = { + description = "Framework for managing passwords and other secrets"; + homepage = http://live.gnome.org/GnomeKeyring; + # TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ]; inherit (glib.meta) platforms maintainers; + + longDescription = '' + gnome-keyring is a program that keeps password and other secrets for + users. The library libgnome-keyring is used by applications to integrate + with the gnome-keyring system. + ''; }; } diff --git a/pkgs/desktops/gnome-3/core/libpeas/default.nix b/pkgs/desktops/gnome-3/core/libpeas/default.nix index eeec43a1b65f..9cf8426104be 100644 --- a/pkgs/desktops/gnome-3/core/libpeas/default.nix +++ b/pkgs/desktops/gnome-3/core/libpeas/default.nix @@ -1,10 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, gnome3, intltool, gobjectIntrospection }: +{ stdenv, fetchurl, pkgconfig, intltool +, glib, gtk3, gobjectIntrospection, python, pygobject3 +}: stdenv.mkDerivation rec { name = "libpeas-${version}"; version = "1.9.0"; - buildInputs = with gnome3; [ intltool pkgconfig glib gobjectIntrospection gtk3 ]; + buildInputs = [ + intltool pkgconfig + glib gtk3 gobjectIntrospection python pygobject3 + ]; src = fetchurl { url = "mirror://gnome/sources/libpeas/1.9/${name}.tar.xz"; @@ -15,8 +20,10 @@ stdenv.mkDerivation rec { rm $out/share/icons/hicolor/icon-theme.cache ''; - meta = with stdenv.lib; { - platforms = platforms.linux; + meta = { + description = "A GObject-based plugins engine"; + homepage = "http://ftp.acc.umu.se/pub/GNOME/sources/libpeas/"; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.linux; }; - } diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix index 708a8ff32d6c..c5060bdba75c 100644 --- a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix +++ b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { homepage = https://wiki.gnome.org/Apps/Yelp; description = "Yelp's universal stylesheets for Mallard and DocBook"; maintainers = with maintainers; [ lethalman ]; - license = [licenses.gpl2 licenses.lgpl2]; + # TODO license = [licenses.gpl2 licenses.lgpl2]; platforms = platforms.linux; }; } diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 15544eff9220..61dfe2b17959 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -128,5 +128,6 @@ rec { gitg = callPackage ./misc/gitg { }; libgit2-glib = callPackage ./misc/libgit2-glib { }; - + + gexiv2 = callPackage ./misc/gexiv2 { }; } diff --git a/pkgs/desktops/gnome-3/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix new file mode 100644 index 000000000000..86942c13f34f --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4 }: + + +stdenv.mkDerivation rec { + name = "gexiv2-${version}"; + version = "0.7.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gexiv2/0.7/${name}.tar.xz"; + sha256 = "12pfc5a57dhlf0c3yg5x3jissxi7jy2b6ir6y99cn510801gwcdn"; + }; + + preConfigure = '' + patchShebangs . + ''; + + buildInputs = [ pkgconfig glib libtool m4 ]; + propagatedBuildInputs = [ exiv2 ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/gexiv2; + description = "GObject wrapper around the Exiv2 photo metadata library"; + platforms = platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/gnome-3/misc/goffice/default.nix b/pkgs/desktops/gnome-3/misc/goffice/default.nix index 51d259314a7a..0390fc133687 100644 --- a/pkgs/desktops/gnome-3/misc/goffice/default.nix +++ b/pkgs/desktops/gnome-3/misc/goffice/default.nix @@ -1,19 +1,23 @@ -{ fetchurl, stdenv, pkgconfig, intltool, bzip2, glib, gdk_pixbuf, gtk3 -, libgsf, libxml2, cairo, pango, librsvg, libspectre }: +{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3 +, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }: stdenv.mkDerivation rec { - name = "goffice-0.10.9"; + name = "goffice-0.10.12"; src = fetchurl { url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz"; - sha256 = "0xc82hymhkdglnksd3r7405p39d5ym826rwaa7dfkps5crjwq8cg"; + sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff"; }; + nativeBuildInputs = [ pkgconfig intltool ]; + propagatedBuildInputs = [ # ToDo lasem library for MathML, opt. introspection? - pkgconfig intltool bzip2 glib gdk_pixbuf gtk3 - libgsf libxml2 cairo pango librsvg libspectre + glib gtk3 libxml2 cairo pango libgsf ]; + buildInputs = [ libxslt librsvg ]; + + enableParallelBuilding = true; doCheck = true; meta = { diff --git a/pkgs/desktops/kde-4.10/kdeutils/kdf.nix b/pkgs/desktops/kde-4.10/kdeutils/kdf.nix index 3f9da58d0a62..4b02c12d88ab 100644 --- a/pkgs/desktops/kde-4.10/kdeutils/kdf.nix +++ b/pkgs/desktops/kde-4.10/kdeutils/kdf.nix @@ -3,6 +3,8 @@ kde { buildInputs = [ kdelibs ]; + enableParallelBuilding = false; + meta = { description = "KDE free disk space utility"; }; diff --git a/pkgs/desktops/xfce/applications/gigolo.nix b/pkgs/desktops/xfce/applications/gigolo.nix index b54ea8cc623f..9badeb5370e8 100644 --- a/pkgs/desktops/xfce/applications/gigolo.nix +++ b/pkgs/desktops/xfce/applications/gigolo.nix @@ -3,20 +3,16 @@ stdenv.mkDerivation rec { p_name = "gigolo"; ver_maj = "0.4"; - ver_min = "1"; + ver_min = "2"; src = fetchurl { url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"; - sha256 = "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2"; + sha256 = "0r4ij0mlnp0bqq44pyrdcpz18r1zwsksw6w5yc0jzgg7wj7wfgsm"; }; name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ python gettext intltool gtk pkgconfig gvfs]; - preConfigure = '' - sed -i "waf" -e "1 s^.*/env[ ]*python^#!${python}/bin/python^"; - ''; - meta = { homepage = "http://goodies.xfce.org/projects/applications/${p_name}"; description = "A frontend to easily manage connections to remote filesystems"; diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix index baef68728487..df743e4cc9c8 100644 --- a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix +++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { p_name = "xfce4-taskmanager"; ver_maj = "1.0"; - ver_min = "0"; + ver_min = "1"; src = fetchurl { url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"; - sha256 = "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0"; + sha256 = "11pfiglfg3mzsmpiwva6l7dj44zsv76vyf0282pghwcrvnb2gapm"; }; name = "${p_name}-${ver_maj}.${ver_min}"; diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix index 06902792624e..8988d072e2c8 100644 --- a/pkgs/desktops/xfce/core/tumbler.nix +++ b/pkgs/desktops/xfce/core/tumbler.nix @@ -4,11 +4,11 @@ libgsf, poppler, bzip2 }: stdenv.mkDerivation rec { p_name = "tumbler"; ver_maj = "0.1"; - ver_min = "29"; + ver_min = "30"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; - sha256 = "14zw69x5979d19brjbyq81wvbikb13vgv901gxnbw8lyc3pc9fn3"; + sha256 = "013kacqyy1vya7kp6jgc1almp3cbbvq96a3r7f5myiihr1whvhp7"; }; name = "${p_name}-${ver_maj}.${ver_min}"; diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager-brightness.patch b/pkgs/desktops/xfce/core/xfce4-power-manager-brightness.patch new file mode 100644 index 000000000000..6b6f14fdae78 --- /dev/null +++ b/pkgs/desktops/xfce/core/xfce4-power-manager-brightness.patch @@ -0,0 +1,307 @@ +From 05d12e12596512f7a31d3cdb4845a69dc2d4c611 Mon Sep 17 00:00:00 2001 +From: Martin Matuska +Date: Tue, 23 Jul 2013 11:27:41 +0200 +Subject: Change brightness level from glong to gint32 + +The "Backlight" RandR property is a 32-bit integer. This means that the int32 (gint32) type should be used to represent brightness levels. The attached patch does nothing else than changing the brightness level representation from glong to gint32. This fixes the screen auto-dimming issue and brightness panel plugin issue. + +diff --git a/common/xfpm-brightness.c b/common/xfpm-brightness.c +index aa1ef33..f1524cb 100644 +--- a/common/xfpm-brightness.c ++++ b/common/xfpm-brightness.c +@@ -92,11 +92,11 @@ out: + } + + static gboolean +-xfpm_brightness_xrandr_get_level (XfpmBrightness *brightness, RROutput output, long *current) ++xfpm_brightness_xrandr_get_level (XfpmBrightness *brightness, RROutput output, gint32 *current) + { + unsigned long nitems; + unsigned long bytes_after; +- long *prop; ++ gint32 *prop; + Atom actual_type; + int actual_format; + gboolean ret = FALSE; +@@ -124,7 +124,7 @@ xfpm_brightness_xrandr_get_level (XfpmBrightness *brightness, RROutput output, l + } + + static gboolean +-xfpm_brightness_xrandr_set_level (XfpmBrightness *brightness, RROutput output, long level) ++xfpm_brightness_xrandr_set_level (XfpmBrightness *brightness, RROutput output, gint32 level) + { + gboolean ret = TRUE; + +@@ -137,7 +137,7 @@ xfpm_brightness_xrandr_set_level (XfpmBrightness *brightness, RROutput output, l + + if ( gdk_error_trap_pop () ) + { +- g_warning ("failed to XRRChangeOutputProperty for brightness %li", level); ++ g_warning ("failed to XRRChangeOutputProperty for brightness %d", level); + ret = FALSE; + } + +@@ -225,11 +225,11 @@ xfpm_brightness_setup_xrandr (XfpmBrightness *brightness) + } + + static gboolean +-xfpm_brightness_xrand_up (XfpmBrightness *brightness, glong *new_level) ++xfpm_brightness_xrand_up (XfpmBrightness *brightness, gint32 *new_level) + { +- long hw_level; ++ gint32 hw_level; + gboolean ret = FALSE; +- long set_level; ++ gint32 set_level; + + ret = xfpm_brightness_xrandr_get_level (brightness, brightness->priv->output, &hw_level); + +@@ -250,14 +250,14 @@ xfpm_brightness_xrand_up (XfpmBrightness *brightness, glong *new_level) + + if ( !ret ) + { +- g_warning ("xfpm_brightness_xrand_up failed for %li", set_level); ++ g_warning ("xfpm_brightness_xrand_up failed for %d", set_level); + return FALSE; + } + + /* Nothing changed in the hardware*/ + if ( *new_level == hw_level ) + { +- g_warning ("xfpm_brightness_xrand_up did not change the hw level to %li", set_level); ++ g_warning ("xfpm_brightness_xrand_up did not change the hw level to %d", set_level); + return FALSE; + } + +@@ -265,11 +265,11 @@ xfpm_brightness_xrand_up (XfpmBrightness *brightness, glong *new_level) + } + + static gboolean +-xfpm_brightness_xrand_down (XfpmBrightness *brightness, long *new_level) ++xfpm_brightness_xrand_down (XfpmBrightness *brightness, gint32 *new_level) + { +- long hw_level; ++ gint32 hw_level; + gboolean ret; +- long set_level; ++ gint32 set_level; + + ret = xfpm_brightness_xrandr_get_level (brightness, brightness->priv->output, &hw_level); + +@@ -290,14 +290,14 @@ xfpm_brightness_xrand_down (XfpmBrightness *brightness, long *new_level) + + if ( !ret ) + { +- g_warning ("xfpm_brightness_xrand_down failed for %li", set_level); ++ g_warning ("xfpm_brightness_xrand_down failed for %d", set_level); + return FALSE; + } + + /* Nothing changed in the hardware*/ + if ( *new_level == hw_level ) + { +- g_warning ("xfpm_brightness_xrand_down did not change the hw level to %li", set_level); ++ g_warning ("xfpm_brightness_xrand_down did not change the hw level to %d", set_level); + return FALSE; + } + +@@ -361,7 +361,7 @@ xfpm_brightness_setup_helper (XfpmBrightness *brightness) + } + + static gboolean +-xfpm_brightness_helper_get_level (XfpmBrightness *brg, glong *level) ++xfpm_brightness_helper_get_level (XfpmBrightness *brg, gint32 *level) + { + int ret; + +@@ -406,11 +406,11 @@ out: + } + + static gboolean +-xfpm_brightness_helper_up (XfpmBrightness *brightness, glong *new_level) ++xfpm_brightness_helper_up (XfpmBrightness *brightness, gint32 *new_level) + { +- glong hw_level; ++ gint32 hw_level; + gboolean ret = FALSE; +- gint set_level; ++ gint32 set_level; + + ret = xfpm_brightness_helper_get_level (brightness, &hw_level); + +@@ -446,11 +446,11 @@ xfpm_brightness_helper_up (XfpmBrightness *brightness, glong *new_level) + } + + static gboolean +-xfpm_brightness_helper_down (XfpmBrightness *brightness, glong *new_level) ++xfpm_brightness_helper_down (XfpmBrightness *brightness, gint32 *new_level) + { +- glong hw_level; ++ gint32 hw_level; + gboolean ret; +- gint set_level; ++ gint32 set_level; + + ret = xfpm_brightness_helper_get_level (brightness, &hw_level); + +@@ -572,7 +572,7 @@ xfpm_brightness_setup (XfpmBrightness *brightness) + return FALSE; + } + +-gboolean xfpm_brightness_up (XfpmBrightness *brightness, glong *new_level) ++gboolean xfpm_brightness_up (XfpmBrightness *brightness, gint32 *new_level) + { + gboolean ret = FALSE; + +@@ -589,7 +589,7 @@ gboolean xfpm_brightness_up (XfpmBrightness *brightness, glong *new_level) + return ret; + } + +-gboolean xfpm_brightness_down (XfpmBrightness *brightness, glong *new_level) ++gboolean xfpm_brightness_down (XfpmBrightness *brightness, gint32 *new_level) + { + gboolean ret = FALSE; + +@@ -618,7 +618,7 @@ gint xfpm_brightness_get_max_level (XfpmBrightness *brightness) + return brightness->priv->max_level; + } + +-gboolean xfpm_brightness_get_level (XfpmBrightness *brightness, glong *level) ++gboolean xfpm_brightness_get_level (XfpmBrightness *brightness, gint32 *level) + { + gboolean ret = FALSE; + +@@ -632,7 +632,7 @@ gboolean xfpm_brightness_get_level (XfpmBrightness *brightness, glong *level) + return ret; + } + +-gboolean xfpm_brightness_set_level (XfpmBrightness *brightness, glong level) ++gboolean xfpm_brightness_set_level (XfpmBrightness *brightness, gint32 level) + { + gboolean ret = FALSE; + +diff --git a/common/xfpm-brightness.h b/common/xfpm-brightness.h +index 0c4e3ed..26b3dbe 100644 +--- a/common/xfpm-brightness.h ++++ b/common/xfpm-brightness.h +@@ -51,20 +51,20 @@ XfpmBrightness *xfpm_brightness_new (void); + gboolean xfpm_brightness_setup (XfpmBrightness *brightness); + + gboolean xfpm_brightness_up (XfpmBrightness *brightness, +- glong *new_level); ++ gint32 *new_level); + + gboolean xfpm_brightness_down (XfpmBrightness *brightness, +- glong *new_level); ++ gint32 *new_level); + + gboolean xfpm_brightness_has_hw (XfpmBrightness *brightness); + + gint xfpm_brightness_get_max_level (XfpmBrightness *brightness); + + gboolean xfpm_brightness_get_level (XfpmBrightness *brightness, +- glong *level); ++ gint32 *level); + + gboolean xfpm_brightness_set_level (XfpmBrightness *brightness, +- glong level); ++ gint32 level); + + gboolean xfpm_brightness_dim_down (XfpmBrightness *brightness); + +diff --git a/panel-plugins/brightness/brightness-button.c b/panel-plugins/brightness/brightness-button.c +index 6e60c29..bd466c9 100644 +--- a/panel-plugins/brightness/brightness-button.c ++++ b/panel-plugins/brightness/brightness-button.c +@@ -186,7 +186,7 @@ static gboolean + brightness_button_popup_win (GtkWidget *widget, GdkEvent *ev, guint32 ev_time) + { + gint x, y; +- glong current_level = 0; ++ gint32 current_level = 0; + GdkDisplay *display; + GdkScreen *screen; + BrightnessButton *button; +@@ -342,7 +342,7 @@ plus_clicked (GtkWidget *widget, BrightnessButton *button) + static void + range_value_changed (GtkWidget *widget, BrightnessButton *button) + { +- glong range_level, hw_level; ++ gint32 range_level, hw_level; + + range_level = (gint) gtk_range_get_value (GTK_RANGE (button->priv->range)); + +@@ -428,8 +428,8 @@ brightness_button_create_popup (BrightnessButton *button) + static void + brightness_button_up (BrightnessButton *button) + { +- glong level; +- glong max_level; ++ gint32 level; ++ gint32 max_level; + + xfpm_brightness_get_level (button->priv->brightness, &level); + max_level = xfpm_brightness_get_max_level (button->priv->brightness); +@@ -443,7 +443,7 @@ brightness_button_up (BrightnessButton *button) + static void + brightness_button_down (BrightnessButton *button) + { +- glong level; ++ gint32 level; + xfpm_brightness_get_level (button->priv->brightness, &level); + + if ( level != 0 ) +diff --git a/src/xfpm-backlight.c b/src/xfpm-backlight.c +index baeeb43..45c990f 100644 +--- a/src/xfpm-backlight.c ++++ b/src/xfpm-backlight.c +@@ -63,8 +63,8 @@ struct XfpmBacklightPrivate + gboolean has_hw; + gboolean on_battery; + +- glong last_level; +- glong max_level; ++ gint32 last_level; ++ gint32 max_level; + + gboolean dimmed; + gboolean block; +@@ -79,7 +79,7 @@ xfpm_backlight_dim_brightness (XfpmBacklight *backlight) + + if (xfpm_power_get_mode (backlight->priv->power) == XFPM_POWER_MODE_NORMAL ) + { +- glong dim_level; ++ gint32 dim_level; + + g_object_get (G_OBJECT (backlight->priv->conf), + backlight->priv->on_battery ? BRIGHTNESS_LEVEL_ON_BATTERY : BRIGHTNESS_LEVEL_ON_AC, &dim_level, +@@ -101,7 +101,7 @@ xfpm_backlight_dim_brightness (XfpmBacklight *backlight) + **/ + if (backlight->priv->last_level > dim_level) + { +- XFPM_DEBUG ("Current brightness level before dimming : %li, new %li", backlight->priv->last_level, dim_level); ++ XFPM_DEBUG ("Current brightness level before dimming : %d, new %d", backlight->priv->last_level, dim_level); + backlight->priv->dimmed = xfpm_brightness_set_level (backlight->priv->brightness, dim_level); + } + } +@@ -182,7 +182,7 @@ xfpm_backlight_reset_cb (EggIdletime *idle, XfpmBacklight *backlight) + { + if ( !backlight->priv->block) + { +- XFPM_DEBUG ("Alarm reset, setting level to %li", backlight->priv->last_level); ++ XFPM_DEBUG ("Alarm reset, setting level to %d", backlight->priv->last_level); + xfpm_brightness_set_level (backlight->priv->brightness, backlight->priv->last_level); + } + backlight->priv->dimmed = FALSE; +@@ -192,7 +192,7 @@ xfpm_backlight_reset_cb (EggIdletime *idle, XfpmBacklight *backlight) + static void + xfpm_backlight_button_pressed_cb (XfpmButton *button, XfpmButtonKey type, XfpmBacklight *backlight) + { +- glong level; ++ gint32 level; + gboolean ret = TRUE; + + gboolean enable_brightness, show_popup; +-- +cgit v0.10.1 + diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix index 91ec6b40e23e..7740af438d9c 100644 --- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix +++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix @@ -11,11 +11,6 @@ stdenv.mkDerivation rec { sha256 = "1sc4f4wci5yl3l9lk7vcsbwj6hdjshbxw9qm43s64jr882jriyyp"; }; - brightness_patch = fetchurl { - url = "http://git.xfce.org/xfce/xfce4-power-manager/patch/?id=05d12e12596512f7a31d3cdb4845a69dc2d4c611"; - sha256 = "1y8520s0s4d7x1abdwsm5qig4vgm3np7hhagfbdwd5ymiz5nn9mw"; - }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = @@ -24,7 +19,7 @@ stdenv.mkDerivation rec { ]; preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - patches = [ brightness_patch ]; + patches = ./xfce4-power-manager-brightness.patch; meta = { homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager; diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index bb9c6d75d446..37516fabaab2 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -1,18 +1,27 @@ -{ stdenv, fetchurl, mono, unzip, pkgconfig - } : -stdenv.mkDerivation rec { - pname = "fsharp"; - date = "2011-08-10"; - name = "${pname}-${date}"; +{ stdenv, fetchgit, mono, pkgconfig, autoconf, automake, which }: - src = fetchurl { - url = "http://download.mono-project.com/sources/fsharp/fsharp-cc126f2.zip"; - sha256 = "03j2ypnfddl2zpvg8ivhafjy8dlz49b38rdy89l8c3irxdsb7k6i"; +stdenv.mkDerivation rec { + name = "fsharp-${version}"; + version = "3.0"; + + src = fetchgit { + url = "https://github.com/fsharp/fsharp"; + rev = "refs/heads/fsharp_30"; + sha256 = "59639c76ff401c9ddb1af7a2f5a53a5aef4ec0d62317aeb33429f3eb009f771f"; }; - buildInputs = [mono unzip pkgconfig]; + buildInputs = [ mono pkgconfig autoconf automake which ]; + configurePhase = "./autogen.sh --prefix $out"; - sourceRoot = "fsharp"; + # Make sure the executables use the right mono binary, + # and set up some symlinks for backwards compatibility. + postInstall = '' + substituteInPlace $out/bin/fsharpc --replace " mono " " ${mono}/bin/mono " + substituteInPlace $out/bin/fsharpi --replace " mono " " ${mono}/bin/mono " + substituteInPlace $out/bin/fsharpiAnyCpu --replace " mono " " ${mono}/bin/mono " + ln -s $out/bin/fsharpc $out/bin/fsc + ln -s $out/bin/fsharpi $out/bin/fsi + ''; # To fix this error when running: # The file "/nix/store/path/whatever.exe" is an not a valid CIL image @@ -20,9 +29,9 @@ stdenv.mkDerivation rec { meta = { description = "A functional CLI language"; - homepage = "http://tryfsharp.org/"; + homepage = "http://fsharp.org/"; license = stdenv.lib.licenses.asl20; - maintainers = [ stdenv.lib.maintainers.raskin ]; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/development/compilers/ghc/7.8.1.nix b/pkgs/development/compilers/ghc/7.8.1.nix new file mode 100644 index 000000000000..c9ca6fd8719b --- /dev/null +++ b/pkgs/development/compilers/ghc/7.8.1.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: + +stdenv.mkDerivation rec { + version = "7.8.0.20140228"; + name = "ghc-${version}"; + + src = fetchurl { + url = "http://www.haskell.org/ghc/dist/7.8.1-rc2/${name}-src.tar.bz2"; + sha256 = "09xlgz1xg0182wjy62h3j0xvnhllhjlyvj30vc3him98parnr76w"; + }; + + buildInputs = [ ghc perl gmp ncurses ]; + + enableParallelBuilding = true; + + buildMK = '' + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" + DYNAMIC_BY_DEFAULT = NO + ''; + + preConfigure = '' + echo "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}" + ''; + + configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc"; + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" "--keep-file-symbols" ]; + + meta = { + homepage = "http://haskell.org/ghc"; + description = "The Glasgow Haskell Compiler"; + maintainers = [ + stdenv.lib.maintainers.marcweber + stdenv.lib.maintainers.andres + stdenv.lib.maintainers.simons + ]; + inherit (ghc.meta) license platforms; + }; + +} diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index f4f8be273679..7f5ec0985b9a 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ghc, perl, gmp, ncurses, happy, alex }: stdenv.mkDerivation rec { - version = "7.7.20131202"; + version = "7.9.20140313"; name = "ghc-${version}"; src = fetchurl { url = "http://cryp.to/${name}.tar.xz"; - sha256 = "1gnp5c3x7dbaz7s2yvkw2fmvqh5by2gpp0zlcyj8p2gv13gxi2cb"; + sha256 = "03i9ajgzlp2y0qq7qnmyji6vdcgx2xnsyrc2zbqbziinf86igwhi"; }; buildInputs = [ ghc perl gmp ncurses happy alex ]; diff --git a/pkgs/development/compilers/jdk/jdk7-linux.nix b/pkgs/development/compilers/jdk/jdk7-linux.nix index 6e1fec4d18ca..106b9fa02d79 100644 --- a/pkgs/development/compilers/jdk/jdk7-linux.nix +++ b/pkgs/development/compilers/jdk/jdk7-linux.nix @@ -6,6 +6,19 @@ , installjdk ? true , pluginSupport ? true , installjce ? false +, glib +, libxml2 +, libav_0_8 +, ffmpeg_0_6 +, libxslt +, mesa_noglu +, freetype +, fontconfig +, gnome +, cairo +, alsaLib +, atk +, gdk_pixbuf }: assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; @@ -87,7 +100,7 @@ stdenv.mkDerivation rec { # construct the rpath rpath= for i in $libraries; do - rpath=$rpath''${rpath:+:}$i/lib + rpath=$rpath''${rpath:+:}$i/lib''${rpath:+:}$i/lib64 done if test -z "$installjdk"; then @@ -102,6 +115,8 @@ stdenv.mkDerivation rec { fi rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/jli + rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/server + rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/xawt rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture} # set all the dynamic linkers @@ -111,6 +126,12 @@ stdenv.mkDerivation rec { find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; + # HACK: For some reason, appending atk to the global patchelf rpath paths causes: + # java: relocation error: java: symbol , version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference + # Because only libglass.so needs atk, we put it only in it's rpath. + # This seems to work fine. + patchelf --set-rpath "$rpath:${atk}/lib" $out/jre/lib/${architecture}/libglass.so + if test -z "$pluginSupport"; then rm -f $out/bin/javaws if test -n "$installjdk"; then @@ -128,8 +149,8 @@ stdenv.mkDerivation rec { * libXt is only needed on amd64 */ libraries = - [stdenv.gcc.libc] ++ - (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt] else []); + [stdenv.gcc.libc glib libxml2 libav_0_8 ffmpeg_0_6 libxslt mesa_noglu xlibs.libXxf86vm alsaLib fontconfig freetype gnome.pango gnome.gtk cairo gdk_pixbuf] ++ + (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt xlibs.libXrender stdenv.gcc.gcc] else []); passthru.mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins"; diff --git a/pkgs/development/compilers/mono/build-fix-llvm.patch b/pkgs/development/compilers/mono/build-fix-llvm.patch new file mode 100644 index 000000000000..526986ad12c7 --- /dev/null +++ b/pkgs/development/compilers/mono/build-fix-llvm.patch @@ -0,0 +1,12 @@ +diff --git a/lib/CodeGen/AsmPrinter/CMakeLists.txt.old b/lib/CodeGen/AsmPrinter/CMakeLists.txt +index be484a6..c92ff46 100644 +--- a/lib/CodeGen/AsmPrinter/CMakeLists.txt.old ++++ b/lib/CodeGen/AsmPrinter/CMakeLists.txt +@@ -10,6 +10,7 @@ add_llvm_library(LLVMAsmPrinter + DwarfCompileUnit.cpp + DwarfDebug.cpp + DwarfException.cpp ++ DwarfMonoException.cpp + ErlangGCPrinter.cpp + OcamlGCPrinter.cpp + Win64Exception.cpp diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix index 88bef618f743..4ff2dacff188 100644 --- a/pkgs/development/compilers/mono/default.nix +++ b/pkgs/development/compilers/mono/default.nix @@ -1,13 +1,18 @@ -{stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11}: +{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? true }: +let + llvm = callPackage ./llvm.nix { }; + llvmOpts = stdenv.lib.optionalString withLLVM "--enable-llvm --enable-llvmloaded --with-llvm=${llvm}"; +in stdenv.mkDerivation rec { - name = "mono-2.11.4"; + name = "mono-${version}"; + version = "3.2.8"; src = fetchurl { url = "http://download.mono-project.com/sources/mono/${name}.tar.bz2"; - sha256 = "0wv8pnj02mq012sihx2scx0avyw51b5wb976wn7x86zda0vfcsnr"; + sha256 = "0h0s42pmgrhwqaym0b1401h70dcpr179ngcsp7f8i4hl4snqrd7x"; }; - buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11]; + buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib]; propagatedBuildInputs = [glib]; NIX_LDFLAGS = "-lgcc_s" ; @@ -17,7 +22,7 @@ stdenv.mkDerivation rec { # In fact I think this line does not help at all to what I # wanted to achieve: have mono to find libgdiplus automatically - configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib --with-libgdiplus=${libgdiplus}/lib/libgdiplus.so"; + configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib --with-libgdiplus=${libgdiplus}/lib/libgdiplus.so ${llvmOpts}"; # Attempt to fix this error when running "mcs --version": # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image @@ -26,10 +31,14 @@ stdenv.mkDerivation rec { # Parallel building doesn't work, as shows http://hydra.nixos.org/build/2983601 enableParallelBuilding = false; - preBuild = " + # Patch all the necessary scripts. Also, if we're using LLVM, we fix the default + # LLVM path to point into the Mono LLVM build, since it's private anyway. + preBuild = '' makeFlagsArray=(INSTALL=`type -tp install`) patchShebangs ./ - "; + '' + stdenv.lib.optionalString withLLVM '' + substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")" + ''; #Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps #Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive @@ -46,7 +55,7 @@ stdenv.mkDerivation rec { homepage = http://mono-project.com/; description = "Cross platform, open source .NET development framework"; platforms = with stdenv.lib.platforms; linux; - maintainers = with stdenv.lib.maintainers; [viric]; + maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice ]; license = "free"; # Combination of LGPL/X11/GPL ? }; } diff --git a/pkgs/development/compilers/mono/llvm.nix b/pkgs/development/compilers/mono/llvm.nix new file mode 100644 index 000000000000..74f85b1519c6 --- /dev/null +++ b/pkgs/development/compilers/mono/llvm.nix @@ -0,0 +1,59 @@ +{ stdenv +, fetchurl +, perl +, groff +, cmake +, python +, libffi +, binutils +, libxml2 +, valgrind +, ncurses +, zlib +}: + +stdenv.mkDerivation rec { + name = "llvm-${version}"; + version = "3.4svn-mono-f9b1a74368"; + src = fetchurl { + # from the HEAD of the 'mono3' branch + url = "https://github.com/mono/llvm/archive/f9b1a74368ec299fc04c4cfef4b5aa0992b7b806.tar.gz"; + name = "${name}.tar.gz"; + sha256 = "1bbkx4p5zdnk3nbdd5jxvbwqx8cdq8z1n1nhf639i98mggs0zhdg"; + }; + + patches = [ ./build-fix-llvm.patch ]; + unpackPhase = '' + unpackFile ${src} + mv llvm-* llvm + sourceRoot=$PWD/llvm + ''; + + buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; + + propagatedBuildInputs = [ ncurses zlib ]; + + # hacky fix: created binaries need to be run before installation + preBuild = '' + mkdir -p $out/ + ln -sv $PWD/lib $out + ''; + postBuild = "rm -fR $out"; + + cmakeFlags = with stdenv; [ + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_BINUTILS_INCDIR=${binutils}/include" + "-DCMAKE_CXX_FLAGS=-std=c++11" + ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"; + + enableParallelBuilding = true; + + meta = { + description = "Collection of modular and reusable compiler and toolchain technologies - Mono build"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 0c653064eacf..36ea8981786e 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -4,11 +4,11 @@ let s= # Generated upstream information rec { baseName="sbcl"; - version="1.1.14"; + version="1.1.16"; name="${baseName}-${version}"; - hash="0vqsq6q4xvz7vn1akvjwxp406mysak4h955pp8x32dfqc6ina7k7"; - url="mirror://sourceforge/project/sbcl/sbcl/1.1.14/sbcl-1.1.14-source.tar.bz2"; - sha256="0vqsq6q4xvz7vn1akvjwxp406mysak4h955pp8x32dfqc6ina7k7"; + hash="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw"; + url="mirror://sourceforge/project/sbcl/sbcl/1.1.16/sbcl-1.1.16-source.tar.bz2"; + sha256="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw"; }; buildInputs = with a; [ clisp makeWrapper diff --git a/pkgs/development/interpreters/clisp/2.44.1.nix b/pkgs/development/interpreters/clisp/2.44.1.nix index 521933b0ed1f..7b811732a626 100644 --- a/pkgs/development/interpreters/clisp/2.44.1.nix +++ b/pkgs/development/interpreters/clisp/2.44.1.nix @@ -3,12 +3,12 @@ , libffi, libffcall, coreutils }: stdenv.mkDerivation rec { - v = "2.44.1"; + v = "2.49"; name = "clisp-${v}"; src = fetchurl { url = "mirror://gnu/clisp/release/${v}/${name}.tar.gz"; - sha256 = "0rkp6j6rih4s5d9acifh7pi4b9xfgcspif512l269dqy9qgyy4j1"; + sha256 = "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx"; }; buildInputs = diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix index af37b4372b76..33b67a10f19b 100644 --- a/pkgs/development/interpreters/python/3.3/default.nix +++ b/pkgs/development/interpreters/python/3.3/default.nix @@ -17,7 +17,7 @@ with stdenv.lib; let majorVersion = "3.3"; - version = "${majorVersion}.4"; + version = "${majorVersion}.5"; buildInputs = filter (p: p != null) [ zlib bzip2 gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto @@ -29,7 +29,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; - sha256 = "12ank7in8xyncim3yyn3mi84wkc4g9nx7yrci1406kn0j5ni5k66"; + sha256 = "1rdncc7g8g6f3lfdg33rli1yffbiq8z283xy4f5ksl1l8i49psdb"; }; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix index 8d7da9d91e64..3725586f3f4c 100644 --- a/pkgs/development/interpreters/python/3.4/default.nix +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -18,7 +18,7 @@ with stdenv.lib; let majorVersion = "3.4"; version = "${majorVersion}.0"; - fullVersion = "${version}rc2"; + fullVersion = "${version}"; buildInputs = filter (p: p != null) [ zlib bzip2 gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto @@ -30,7 +30,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz"; - sha256 = "0v37mlkwzbc8m54h3nb04x6xm2yx5fmd7flq2shn37ixf9d0ih6z"; + sha256 = "1gjcn5c3zqg161vwzh43ciha15w0plf5v7cyfm372pnllb08cdpi"; }; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index c3b33dfaf620..6964d8ac8040 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -22,11 +22,11 @@ let ''; in stdenv.mkDerivation rec { - name = "SDL2-2.0.1"; + name = "SDL2-2.0.2"; src = fetchurl { url = "http://www.libsdl.org/release/${name}.tar.gz"; - sha256 = "1w1jcz7hilk4fl8wlhiwvd1licg8lwy0brqz05562xv7l81fkrqa"; + sha256 = "0l78h3wlirnxxrdw3kkm9amhgjn6xrs9l5j871r552wabbw5f0ar"; }; # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated. diff --git a/pkgs/development/libraries/SDL_ttf/default.nix b/pkgs/development/libraries/SDL_ttf/default.nix index 591a4bfbd6dd..696b6bd0ac8f 100644 --- a/pkgs/development/libraries/SDL_ttf/default.nix +++ b/pkgs/development/libraries/SDL_ttf/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, SDL, freetype }: stdenv.mkDerivation { - name = "SDL_ttf-2.0.9"; + name = "SDL_ttf-2.0.11"; src = fetchurl { - url = http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.9.tar.gz; - sha256 = "0ls6anmlmwrmy21p3y9nfyl6fkwz4jpgh74kw7xd0hwbg5v8h95l"; + url = http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.tar.gz; + sha256 = "1dydxd4f5kb1288i5n5568kdk2q7f8mqjr7i7sd33nplxjaxhk3j"; }; buildInputs = [SDL freetype]; diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix index 9150df8da7d4..d1510e342380 100644 --- a/pkgs/development/libraries/audio/lilv/default.nix +++ b/pkgs/development/libraries/audio/lilv/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A C library to make the use of LV2 plugins"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix index f5d48df03f84..25d19d089a57 100644 --- a/pkgs/development/libraries/audio/lv2/default.nix +++ b/pkgs/development/libraries/audio/lv2/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A plugin standard for audio systems"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/audio/lvtk/default.nix b/pkgs/development/libraries/audio/lvtk/default.nix new file mode 100644 index 000000000000..0abe3f0376b9 --- /dev/null +++ b/pkgs/development/libraries/audio/lvtk/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, boost, gtkmm, lv2, pkgconfig, python }: + +stdenv.mkDerivation rec { + name = "lvtk-${version}"; + version = "1.1.1"; + + src = fetchurl { + url = "http://lvtoolkit.org/code/browse/lvtk/snapshot/${name}.tar.gz"; + sha256 = "161l4n3a2kar2r5mn3zz6dbj1p2s6361ainrka3s74518z7yf42w"; + }; + + buildInputs = [ boost gtkmm lv2 pkgconfig python ]; + + configurePhase = '' + python waf configure --prefix=$out --boost-includes=${boost}/include + ''; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "A set C++ wrappers around the LV2 C API"; + homepage = http://lvtoolkit.org; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/audio/raul/default.nix b/pkgs/development/libraries/audio/raul/default.nix new file mode 100644 index 000000000000..aad3656cde80 --- /dev/null +++ b/pkgs/development/libraries/audio/raul/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchsvn, boost, gtk, pkgconfig, python }: + +stdenv.mkDerivation rec { + name = "raul-svn-${rev}"; + rev = "5205"; + + src = fetchsvn { + url = "http://svn.drobilla.net/lad/trunk/raul"; + rev = rev; + sha256 = "1rkl7vxhwf6d0qfl2ymfd1qwmh9cl1xv6kkz893xg0blpvzcdmp3"; + }; + + buildInputs = [ boost gtk pkgconfig python ]; + + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "A C++ utility library primarily aimed at audio/musical applications"; + homepage = http://drobilla.net/software/raul; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix index 5c78296af971..ac0b9d233fa8 100644 --- a/pkgs/development/libraries/audio/sratom/default.nix +++ b/pkgs/development/libraries/audio/sratom/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A library for serialising LV2 atoms to/from RDF"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix index 8af725b6b80f..87e034726594 100644 --- a/pkgs/development/libraries/audio/suil/default.nix +++ b/pkgs/development/libraries/audio/suil/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A lightweight C library for loading and wrapping LV2 plugin UIs"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix index a424041dbc23..a0e1bcfa6121 100644 --- a/pkgs/development/libraries/check/default.nix +++ b/pkgs/development/libraries/check/default.nix @@ -1,12 +1,12 @@ { fetchurl, stdenv }: -let version = "0.9.11"; in +let version = "0.9.12"; in stdenv.mkDerivation { name = "check-${version}"; src = fetchurl { url = "mirror://sourceforge/check/${version}/check-${version}.tar.gz"; - sha256 = "0dk9jx9hjjwsgly0iwvr5hhw870zlx21gwar7zxlzfq0zdzqqkpa"; + sha256 = "18qybf3s25s1gydp2lwbc4icnmdc6f9sj21fllcwm81kw5apxm67"; }; # Test can randomly fail: http://hydra.nixos.org/build/7243912 diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 2101f99bbb90..11ad2014663a 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -56,7 +56,7 @@ let "--localstatedir=/var" "--sysconfdir=/etc" "--with-session-socket-dir=/tmp" - "--with-systemdsystemunitdir=$(out)/lib/systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/facile/default.nix b/pkgs/development/libraries/facile/default.nix index edbe99cd8b07..5e3776afbc05 100644 --- a/pkgs/development/libraries/facile/default.nix +++ b/pkgs/development/libraries/facile/default.nix @@ -9,9 +9,11 @@ stdenv.mkDerivation rec { }; dontAddPrefix = 1; - - patchPhase = "sed -e 's@mkdir@mkdir -p@' -i Makefile"; - + + patches = [ ./ocaml_4.xx.patch ]; + + postPatch = "sed -e 's@mkdir@mkdir -p@' -i Makefile"; + postConfigure = "make -C src .depend"; makeFlags = "FACILEDIR=\${out}/lib/ocaml/facile"; diff --git a/pkgs/development/libraries/facile/ocaml_4.xx.patch b/pkgs/development/libraries/facile/ocaml_4.xx.patch new file mode 100644 index 000000000000..429405fabdaa --- /dev/null +++ b/pkgs/development/libraries/facile/ocaml_4.xx.patch @@ -0,0 +1,12 @@ +diff -rupN facile-1.1/src/fcl_data.ml facile-1.1-patched//src/fcl_data.ml +--- facile-1.1/src/fcl_data.ml 2004-09-08 11:51:02.000000000 +0200 ++++ facile-1.1-patched//src/fcl_data.ml 2012-12-16 13:49:36.286722670 +0100 +@@ -16,7 +16,7 @@ end + + module Hashtbl = struct + type ('a, 'b) t = ('a, 'b) Hashtbl.t +- let create = Hashtbl.create ++ let create x = Hashtbl.create x + let get h = h + + let add h k d = diff --git a/pkgs/development/libraries/ffmpeg/0.10.nix b/pkgs/development/libraries/ffmpeg/0.10.nix index f51e3ccd3c00..99c823e7b297 100644 --- a/pkgs/development/libraries/ffmpeg/0.10.nix +++ b/pkgs/development/libraries/ffmpeg/0.10.nix @@ -21,11 +21,11 @@ assert vdpauSupport -> libvdpau != null; assert faacSupport -> faac != null; stdenv.mkDerivation rec { - name = "ffmpeg-0.10.10"; + name = "ffmpeg-0.10.12"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "14fbjhiwv5zg9yh0zk3k9h6id815xrikyz6l2cdl7z4vazbmhq4k"; + sha256 = "00nvm3iysn8zincpvv1abqrxqj1ky0322dh2j9csjw983358538i"; }; # `--enable-gpl' (as well as the `postproc' and `swscale') mean that diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix index 34d0a4e49fe7..c43cd3299565 100644 --- a/pkgs/development/libraries/ffmpeg/1.x.nix +++ b/pkgs/development/libraries/ffmpeg/1.x.nix @@ -31,11 +31,11 @@ assert playSupport -> SDL != null; assert freetypeSupport -> freetype != null; stdenv.mkDerivation rec { - name = "ffmpeg-1.2.4"; + name = "ffmpeg-1.2.6"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "1pqd544jmbggwisbkm0pj0l585b8a9x5n3jl9zbmqmw63g7ci5iv"; + sha256 = "174rf3g2pqaxa8rzg03qmy4cn2gsy0p2mk26y9yk5ksq6kg59m19"; }; # `--enable-gpl' (as well as the `postproc' and `swscale') mean that diff --git a/pkgs/development/libraries/ganv/default.nix b/pkgs/development/libraries/ganv/default.nix new file mode 100644 index 000000000000..40e0388d749e --- /dev/null +++ b/pkgs/development/libraries/ganv/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchsvn, graphviz, gtk, gtkmm, pkgconfig, python }: + +stdenv.mkDerivation rec { + name = "ganv-svn-${rev}"; + rev = "5318"; + + src = fetchsvn { + url = "http://svn.drobilla.net/lad/trunk/ganv"; + rev = rev; + sha256 = "0wi87ks2xjma979d9hy82wmlm06g4sr0pm3b1n3zv27y52wrf7fl"; + }; + + buildInputs = [ graphviz gtk gtkmm pkgconfig python ]; + + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "An interactive Gtk canvas widget for graph-based interfaces"; + homepage = http://drobilla.net; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix index 94c0505bc6fa..1abcb7c6943d 100644 --- a/pkgs/development/libraries/geoip/default.nix +++ b/pkgs/development/libraries/geoip/default.nix @@ -1,24 +1,19 @@ -a : -let - s = import ./src-for-default.nix; - buildInputs = with a; [ - zlib - ]; -in -rec { - src = a.fetchUrlFromSrcInfo s; +{ stdenv, fetchurl }: - inherit (s) name; - inherit buildInputs; - configureFlags = []; +let version = "1.6.0"; in - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; +stdenv.mkDerivation { + name = "geoip-${version}"; + + src = fetchurl { + url = "http://geolite.maxmind.com/download/geoip/api/c/GeoIP-${version}.tar.gz"; + sha256 = "0dd6si4cvip73kxdn43apg6yygvaf7dnk5awqfg9w2fd2ll0qnh7"; + }; meta = { description = "Geolocation API"; - maintainers = [ - a.lib.maintainers.raskin - ]; + maintainers = [ stdenv.lib.maintainers.raskin ]; + license = stdenv.lib.licenses.lgpl21; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/geoip/src-for-default.nix b/pkgs/development/libraries/geoip/src-for-default.nix deleted file mode 100644 index 1fc4b9b8755a..000000000000 --- a/pkgs/development/libraries/geoip/src-for-default.nix +++ /dev/null @@ -1,8 +0,0 @@ -rec { - advertisedUrl="http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz"; - version = "1.4.6"; - url="http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.6.0.tar.gz"; - hash = "0dd6si4cvip73kxdn43apg6yygvaf7dnk5awqfg9w2fd2ll0qnh7"; - name = "geoip-1.6.0"; - -} diff --git a/pkgs/development/libraries/geoip/src-info-for-default.nix b/pkgs/development/libraries/geoip/src-info-for-default.nix deleted file mode 100644 index 99c79227c630..000000000000 --- a/pkgs/development/libraries/geoip/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://geolite.maxmind.com/download/geoip/api/c/"; - sourceRegexp = "GeoIP-[0-9.]+[.]tar[.]gz"; - choiceCommand = "tail -1"; - baseName = "geoip"; -} diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix index 53d447cf5cae..618b37bae4c5 100644 --- a/pkgs/development/libraries/glib-networking/default.nix +++ b/pkgs/development/libraries/glib-networking/default.nix @@ -1,21 +1,33 @@ -{stdenv, fetchurl, pkgconfig, glib, libtool, intltool, gnutls, libproxy -, gsettings_desktop_schemas, libgcrypt, libtasn1 }: +{ stdenv, fetchurl, pkgconfig, glib, intltool, gnutls, libproxy +, gsettings_desktop_schemas }: -stdenv.mkDerivation { - name = "glib-networking-2.30.2"; +let + ver_maj = "2.38"; + ver_min = "2"; +in +stdenv.mkDerivation rec { + name = "glib-networking-${ver_maj}.${ver_min}"; src = fetchurl { - url = mirror://gnome/sources/glib-networking/2.30/glib-networking-2.30.2.tar.xz; - sha256 = "1g2ran0rn37009fs3xl38m95i5w8sdf9ax0ady4jbjir15844xcz"; + url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz"; + sha256 = "1iwzjkx6q9gqr7fipc98zi2bi0gccrwq1v7skff1cdijkn8zxqp8"; }; configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt"; - + preBuild = '' sed -e "s@${glib}/lib/gio/modules@$out/lib/gio/modules@g" -i $(find . -name Makefile) ''; nativeBuildInputs = [ pkgconfig intltool ]; - propagatedBuildInputs = - [ glib libtool gnutls libproxy libgcrypt libtasn1 gsettings_desktop_schemas ]; + propagatedBuildInputs = [ glib gnutls libproxy gsettings_desktop_schemas ]; + + doCheck = false; # tests need to access the certificates (among other things) + + meta = with stdenv.lib; { + description = "Network-related giomodules for glib"; + license = licenses.lgpl2Plus; + platforms = platforms.unix; + }; } + diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix index fff05ed87271..45d0270de5a8 100644 --- a/pkgs/development/libraries/gnutls/3.2.nix +++ b/pkgs/development/libraries/gnutls/3.2.nix @@ -4,11 +4,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-3.2.12"; + name = "gnutls-3.2.12.1"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz"; - sha256 = "1zwk9qkxn3190nssyamd7jsb3ag6mnnln3jwbgmjs1w306dzwafi"; + sha256 = "1787n4iard3ad0p44xbl4aj3r3f5ir3sz0b2s27qpaaia2w4774g"; }; patches = diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index a9137ad46a77..7647c0f64dba 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -9,11 +9,18 @@ stdenv.mkDerivation rec { name = "gst-plugins-bad-1.2.3"; - meta = { - homepage = "http://gstreamer.freedesktop.org"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ iyzsong ]; + meta = with stdenv.lib; { + description = "Gstreamer Bad Plugins"; + homepage = "http://gstreamer.freedesktop.org"; + longDescription = '' + a set of plug-ins that aren't up to par compared to the + rest. They might be close to being good quality, but they're missing + something - be it a good code review, some documentation, a set of tests, + a real live maintainer, or some actual wide use. + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; }; src = fetchurl { diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index b68de91c240f..4796ce078dfb 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -14,4 +14,8 @@ rec { gst-libav = callPackage ./libav { inherit gst-plugins-base; }; gst-python = callPackage ./python { inherit gst-plugins-base gstreamer; }; + + gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; }; + + gst-editing-services = callPackage ./ges { inherit gnonlin; }; } diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix new file mode 100644 index 000000000000..94d3688eb1ce --- /dev/null +++ b/pkgs/development/libraries/gstreamer/ges/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, python +, gnonlin, libxml2 +}: + +stdenv.mkDerivation rec { + name = "gstreamer-editing-services-1.2.0"; + + meta = with stdenv.lib; { + description = "Library for creation of audio/video non-linear editors"; + homepage = "http://gstreamer.freedesktop.org"; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz"; + sha256 = "1n7nw8rqvwna9af55lggah44gdvfgld1igvgaya8glc37wpq89b0"; + }; + + nativeBuildInputs = [ pkgconfig python ]; + + propagatedBuildInputs = [ gnonlin libxml2 ]; +} diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix new file mode 100644 index 000000000000..c45c1469cb36 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig +, gst-plugins-base +}: + +stdenv.mkDerivation rec { + name = "gnonlin-1.2.0"; + + meta = with stdenv.lib; { + description = "Gstreamer Non-Linear Multimedia Editing Plugins"; + homepage = "http://gstreamer.freedesktop.org"; + longDescription = '' + Gnonlin is a library built on top of GStreamer which provides + support for writing non-linear audio and video editing + applications. It introduces the concept of a timeline. + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "${meta.homepage}/src/gnonlin/${name}.tar.xz"; + sha256 = "15hyb0kg8sm92kj37cir4l3sa21b8zy4la1ccfhb358b4mf24vl7"; + }; + + nativeBuildInputs = [ pkgconfig ]; + + propagatedBuildInputs = [ gst-plugins-base ]; +} diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 71151c4e559c..090c84600ab7 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -9,11 +9,17 @@ stdenv.mkDerivation rec { name = "gst-plugins-good-1.2.3"; - meta = { - homepage = "http://gstreamer.freedesktop.org"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ iyzsong ]; + meta = with stdenv.lib; { + description = "Gstreamer Good Plugins"; + homepage = "http://gstreamer.freedesktop.org"; + longDescription = '' + a set of plug-ins that we consider to have good quality code, + correct functionality, our preferred license (LGPL for the plug-in + code, LGPL or LGPL-compatible for the supporting library). + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; }; src = fetchurl { diff --git a/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix index c3510a69a123..c0cab607062d 100644 --- a/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix @@ -2,12 +2,12 @@ , automoc4, flex, bison, pkgconfig }: stdenv.mkDerivation rec { - name = "${pname}-0.10.2"; + name = "${pname}-0.10.3"; pname = "qt-gstreamer"; src = fetchurl { url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2"; - sha256 = "1laryg5vgc3prdi7dmpfwa71nsrc3ngv27sgax44c4qfrgpsgwbf"; + sha256 = "1pqg9sxzk8sdrf7pazb5v21hasqai9i4l203gbdqz29w2ll1ybsl"; }; buildInputs = [ gstreamer gst_plugins_base glib qt4 ]; diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix index eaf284e950d4..843822b0748d 100644 --- a/pkgs/development/libraries/gstreamer/python/default.nix +++ b/pkgs/development/libraries/gstreamer/python/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "gst-python-1.1.90"; + name = "gst-python-1.2.0"; src = fetchurl { urls = [ "${meta.homepage}/src/gst-python/${name}.tar.bz2" "mirror://gentoo/distfiles/${name}.tar.bz2" ]; - sha256 = "1vsykx2l5360y19c0rxspa9nf1ilml2c1ybsv8cw8p696scryb2l"; + sha256 = "09c6yls8ipbmwimdjr7xi3hvf2xa1xn1pv07855r7wfyzas1xbl1"; }; buildInputs = diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index 50005004135a..4f16fa4259c8 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -7,11 +7,18 @@ stdenv.mkDerivation rec { name = "gst-plugins-ugly-1.2.3"; - meta = { - homepage = "http://gstreamer.freedesktop.org"; - license = stdenv.lib.licenses.lgpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ iyzsong ]; + meta = with stdenv.lib; { + description = "Gstreamer Ugly Plugins"; + homepage = "http://gstreamer.freedesktop.org"; + longDescription = '' + a set of plug-ins that have good quality and correct functionality, + but distributing them might pose problems. The license on either + the plug-ins or the supporting libraries might not be how we'd + like. The code might be widely known to present patent problems. + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; }; src = fetchurl { diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix index bc8e9dca159c..bb226733f8a5 100644 --- a/pkgs/development/libraries/haskell/Boolean/default.nix +++ b/pkgs/development/libraries/haskell/Boolean/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Boolean"; - version = "0.2"; - sha256 = "1r8qvsfbfjfp453pdy9ci9w584ad9bm4xv0ynx4b1yny34ag3zr3"; + version = "0.2.1"; + sha256 = "0vi09icwc254mbx85lf1n81mx4hr2sdf61a4njaqa91cf046sjlr"; meta = { description = "Generalized booleans and numbers"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC.nix b/pkgs/development/libraries/haskell/HDBC/HDBC.nix index a8275c31b858..08134abf8438 100644 --- a/pkgs/development/libraries/haskell/HDBC/HDBC.nix +++ b/pkgs/development/libraries/haskell/HDBC/HDBC.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "HDBC"; - version = "2.3.1.2"; - sha256 = "1rjamh8xscb9jhxgxcrs2qnvs2ipv9dqgnn0bpv5vwclmzmn5j87"; + version = "2.4.0.0"; + sha256 = "1zwkrr0pbgxi2y75n2sjr3xs8xa3pxbmnqg3phqkjqcz3j4gcq6y"; isLibrary = true; isExecutable = true; buildDepends = [ convertible mtl text time utf8String ]; diff --git a/pkgs/development/libraries/haskell/MissingH/default.nix b/pkgs/development/libraries/haskell/MissingH/default.nix index 59656d519781..303a4852649e 100644 --- a/pkgs/development/libraries/haskell/MissingH/default.nix +++ b/pkgs/development/libraries/haskell/MissingH/default.nix @@ -1,17 +1,17 @@ -{ cabal, filepath, hslogger, HUnit, mtl, network, parsec -, QuickCheck, random, regexCompat, testpack, time +{ cabal, errorcallEqInstance, filepath, hslogger, HUnit, mtl +, network, parsec, QuickCheck, random, regexCompat, testpack, time }: cabal.mkDerivation (self: { pname = "MissingH"; - version = "1.2.0.2"; - sha256 = "1wrrfa8dy0h0c53f1zjzwdkj8wkwsbi6qhv35wwlaz39dk32c4nn"; + version = "1.2.1.0"; + sha256 = "08zpzfhl31w35x13vapimwd508j4nydi8v3vid668r4fkqnymbss"; buildDepends = [ filepath hslogger HUnit mtl network parsec random regexCompat time ]; testDepends = [ - filepath hslogger HUnit mtl network parsec QuickCheck random - regexCompat testpack time + errorcallEqInstance filepath hslogger HUnit mtl network parsec + QuickCheck random regexCompat testpack time ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/adjunctions/default.nix b/pkgs/development/libraries/haskell/adjunctions/default.nix index bdfec2f01d49..69c7751270cf 100644 --- a/pkgs/development/libraries/haskell/adjunctions/default.nix +++ b/pkgs/development/libraries/haskell/adjunctions/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "adjunctions"; - version = "4.0.1"; - sha256 = "0z13rmh9yp8jg2jzj3bmysqc4h2nblshx125h2sx51wllnvxzh5l"; + version = "4.0.2"; + sha256 = "0c9168jmnfpzv3025n05b80b9p7jzkdzs0hzymjmh1qvz3iximq5"; buildDepends = [ comonad contravariant distributive free mtl semigroupoids semigroups tagged transformers void diff --git a/pkgs/development/libraries/haskell/aes/default.nix b/pkgs/development/libraries/haskell/aes/default.nix new file mode 100644 index 000000000000..6b239bd4e776 --- /dev/null +++ b/pkgs/development/libraries/haskell/aes/default.nix @@ -0,0 +1,13 @@ +{ cabal, cereal, monadsTf, random, transformers }: + +cabal.mkDerivation (self: { + pname = "AES"; + version = "0.2.8"; + sha256 = "1yf0mhmj294gf1b1m11gixa1xxlbvv0yl60b59fnv5lf0s170jn3"; + buildDepends = [ cereal monadsTf random transformers ]; + meta = { + description = "Fast AES encryption/decryption for bytestrings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/aeson/0.6.2.1.nix b/pkgs/development/libraries/haskell/aeson/0.6.2.1.nix deleted file mode 100644 index edd2a21040e8..000000000000 --- a/pkgs/development/libraries/haskell/aeson/0.6.2.1.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, mtl -, QuickCheck, syb, testFramework, testFrameworkQuickcheck2, text -, time, unorderedContainers, vector -}: - -cabal.mkDerivation (self: { - pname = "aeson"; - version = "0.6.2.1"; - sha256 = "00fa13qr38s4c0fwfvpks3x3sb21kh71cv1v0x2zqg0adnaydknb"; - buildDepends = [ - attoparsec blazeBuilder deepseq dlist hashable mtl syb text time - unorderedContainers vector - ]; - testDepends = [ - attoparsec QuickCheck testFramework testFrameworkQuickcheck2 text - time unorderedContainers vector - ]; - doCheck = false; - meta = { - homepage = "https://github.com/bos/aeson"; - description = "Fast JSON parsing and encoding"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.1.nix b/pkgs/development/libraries/haskell/aeson/default.nix similarity index 90% rename from pkgs/development/libraries/haskell/aeson/0.7.0.1.nix rename to pkgs/development/libraries/haskell/aeson/default.nix index 4b5c137d89b0..960314920a1b 100644 --- a/pkgs/development/libraries/haskell/aeson/0.7.0.1.nix +++ b/pkgs/development/libraries/haskell/aeson/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "aeson"; - version = "0.7.0.1"; - sha256 = "17cwclxh2f2m0mvs867lfzrv14gd9grw8a9f8l95j3nd76y58kb3"; + version = "0.7.0.2"; + sha256 = "0li89xs4dlwc3ijs6w5gabjibj09x12qgxhzp7mch6gxjxwd3ihj"; buildDepends = [ attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb text time unorderedContainers vector diff --git a/pkgs/development/libraries/haskell/alsa-mixer/default.nix b/pkgs/development/libraries/haskell/alsa-mixer/default.nix index 67ab0275e788..35cc7aa0c93c 100644 --- a/pkgs/development/libraries/haskell/alsa-mixer/default.nix +++ b/pkgs/development/libraries/haskell/alsa-mixer/default.nix @@ -2,12 +2,13 @@ cabal.mkDerivation (self: { pname = "alsa-mixer"; - version = "0.1.2"; - sha256 = "081f3a62f83a269d72e0b0fac8bae8c81e9ec342d592fa25abe57f7206cf4414"; + version = "0.2.0.1"; + sha256 = "1306kw4w85d3pkdqjw8cwx77a2mbhw2hlmxcjczym1nsyp4rhyhr"; buildDepends = [ alsaCore ]; buildTools = [ c2hs ]; extraLibraries = [ alsaLib ]; meta = { + homepage = "https://github.com/ttuegel/alsa-mixer"; description = "Bindings to the ALSA simple mixer API"; license = self.stdenv.lib.licenses.bsd3; platforms = self.stdenv.lib.platforms.linux; diff --git a/pkgs/development/libraries/haskell/alsa-pcm/default.nix b/pkgs/development/libraries/haskell/alsa-pcm/default.nix index 39123a176dc7..c4f39cdd7eeb 100644 --- a/pkgs/development/libraries/haskell/alsa-pcm/default.nix +++ b/pkgs/development/libraries/haskell/alsa-pcm/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "alsa-pcm"; - version = "0.6"; - sha256 = "10cmlf1s9y65cs81wn7xwgcd4218n3h3p34avibv3fa7n3q9b4x1"; + version = "0.6.0.1"; + sha256 = "0gnq4p172sqmlks6aykzr5l2qx2shrs2fypcvs4g56c9zpk3c3ax"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/amqp/default.nix b/pkgs/development/libraries/haskell/amqp/default.nix index 200a736f3312..15079a5ba392 100644 --- a/pkgs/development/libraries/haskell/amqp/default.nix +++ b/pkgs/development/libraries/haskell/amqp/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "amqp"; - version = "0.8.1"; - sha256 = "10infzs2siw9vv8jgsndv7c82bsh22cs2drrb73nxpwf73hy3rzm"; + version = "0.8.2"; + sha256 = "0hl9x6kbxdv32014k1w34d84wl4ivpiyg1ikpjr0nr9bsg3wr0gf"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix similarity index 86% rename from pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix rename to pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix index bd7bdc745b28..2a2117a1a05b 100644 --- a/pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix +++ b/pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "attoparsec"; - version = "0.11.1.0"; - sha256 = "09mks6lbzmqmdz6s10lvdklmc0mydd1sk5hphhnybp3yr4pvh7jc"; + version = "0.11.2.1"; + sha256 = "1grvmhxiqn02wbng0wd9zqc4c51wrbxar1b26agc3p9i09ngbs1w"; buildDepends = [ deepseq scientific text ]; testDepends = [ QuickCheck testFramework testFrameworkQuickcheck2 text diff --git a/pkgs/development/libraries/haskell/base-compat/default.nix b/pkgs/development/libraries/haskell/base-compat/default.nix index 9e5375a24d8c..5ee81698eb5f 100644 --- a/pkgs/development/libraries/haskell/base-compat/default.nix +++ b/pkgs/development/libraries/haskell/base-compat/default.nix @@ -2,9 +2,9 @@ cabal.mkDerivation (self: { pname = "base-compat"; - version = "0.4.0"; - sha256 = "0ps26w4mjp465a3mh3hpzkdkc97yvfhzh86fcnlqszy9wgj13w65"; - buildDepends = [ errorcallEqInstance ]; + version = "0.4.2"; + sha256 = "0rcra6bgx955c2yd52y6v7lmlm5r86sdmii3qapx6yghqhdslzry"; + buildDepends = [ errorcallEqInstance setenv ]; testDepends = [ hspec setenv ]; meta = { description = "A compatibility layer for base"; diff --git a/pkgs/development/libraries/haskell/blaze-textual/default.nix b/pkgs/development/libraries/haskell/blaze-textual/default.nix index ede82e5c2ed3..508e68fa045a 100644 --- a/pkgs/development/libraries/haskell/blaze-textual/default.nix +++ b/pkgs/development/libraries/haskell/blaze-textual/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "blaze-textual"; - version = "0.2.0.8"; - sha256 = "0zzqh53ywzz8ss58glp3i8is8gry5yqzvdjw4xh95fbbzcz4cgc7"; + version = "0.2.0.9"; + sha256 = "1gwy1pjnc2ikxfxn9c751rnydry1hmlfk13k29xnns9vwglf81f0"; buildDepends = [ blazeBuilder text time vector ]; testDepends = [ blazeBuilder doubleConversion QuickCheck testFramework diff --git a/pkgs/development/libraries/haskell/bson/default.nix b/pkgs/development/libraries/haskell/bson/default.nix index 1fa5f3fb79f5..da4629e93fba 100644 --- a/pkgs/development/libraries/haskell/bson/default.nix +++ b/pkgs/development/libraries/haskell/bson/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "bson"; - version = "0.2.3"; - sha256 = "0p8c4cq8ldspwj4pmg0l8pg8bkwsk9xan07md32ikm4bfqsnv2rb"; + version = "0.2.4"; + sha256 = "1fr0xx9q2l3cb72j5lgrwdlr2gba7idh2v80s8d6dr69dhwaccd9"; buildDepends = [ binary cryptohash dataBinaryIeee754 mtl network text time ]; diff --git a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix index 93c8b2aa2290..8c4f2af654e1 100644 --- a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix +++ b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "bytestring-lexing"; - version = "0.4.3"; - sha256 = "0dynfrf8ym01v2dl57422h8r75kdlqh2qzqi9yc0f1bmbfqxap6r"; + version = "0.4.3.1"; + sha256 = "1n0sk1xqwkj4whp0gav7hwr33xqmwl3ylqfnqix8wbwz6xpg9ygn"; buildTools = [ alex ]; meta = { homepage = "http://code.haskell.org/~wren/"; diff --git a/pkgs/development/libraries/haskell/bytestring-show/default.nix b/pkgs/development/libraries/haskell/bytestring-show/default.nix new file mode 100644 index 000000000000..b71b2a3ad83a --- /dev/null +++ b/pkgs/development/libraries/haskell/bytestring-show/default.nix @@ -0,0 +1,14 @@ +{ cabal, binary }: + +cabal.mkDerivation (self: { + pname = "bytestring-show"; + version = "0.3.5.5"; + sha256 = "0vd8f3jrzi2s119rcn20k6srk6l7ypiars1mxw1n1jrjx8ill2y4"; + buildDepends = [ binary ]; + meta = { + homepage = "http://code.haskell.org/~dolio/"; + description = "Efficient conversion of values into readable byte strings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/chell-quickcheck/default.nix b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix new file mode 100644 index 000000000000..835747ee8813 --- /dev/null +++ b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix @@ -0,0 +1,14 @@ +{ cabal, chell, QuickCheck, random }: + +cabal.mkDerivation (self: { + pname = "chell-quickcheck"; + version = "0.2.2"; + sha256 = "05qshv9vcl05khxsxyks2z7dqd8dqafjsg3awkkdhviviv5p2fp8"; + buildDepends = [ chell QuickCheck random ]; + meta = { + homepage = "https://john-millikin.com/software/chell/"; + description = "QuickCheck support for the Chell testing library"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/chell/default.nix b/pkgs/development/libraries/haskell/chell/default.nix new file mode 100644 index 000000000000..c69994e6868b --- /dev/null +++ b/pkgs/development/libraries/haskell/chell/default.nix @@ -0,0 +1,18 @@ +{ cabal, ansiTerminal, options, patience, random, text +, transformers +}: + +cabal.mkDerivation (self: { + pname = "chell"; + version = "0.3.3"; + sha256 = "1k5vxipf47753d41dgr1gr4zy7y72gz2x8lcn0fgfmxi2v810nsm"; + buildDepends = [ + ansiTerminal options patience random text transformers + ]; + meta = { + homepage = "https://john-millikin.com/software/chell/"; + description = "A simple and intuitive library for automated testing"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/cipher-aes/default.nix b/pkgs/development/libraries/haskell/cipher-aes/default.nix index d68d2389e0e7..52ec2fab7114 100644 --- a/pkgs/development/libraries/haskell/cipher-aes/default.nix +++ b/pkgs/development/libraries/haskell/cipher-aes/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "cipher-aes"; - version = "0.2.6"; - sha256 = "0ys5a1w5pwwr74k9wzcsh1flb2jdcvnp1zz7sjs14jpxclpd8x3i"; + version = "0.2.7"; + sha256 = "1a5viy2frkdqhzzlipd2ik89a04gv95v4b98lgpsas2958r9c9yp"; buildDepends = [ byteable cryptoCipherTypes securemem ]; testDepends = [ byteable cryptoCipherTests cryptoCipherTypes QuickCheck diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix index 8425c4653314..5d1fa791c694 100644 --- a/pkgs/development/libraries/haskell/conduit-combinators/default.nix +++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "conduit-combinators"; - version = "0.1.0.0"; - sha256 = "0m4qfcm66likasvsvfriw8xiz5ibqhq5sk1wiwx0gk2d1qcnb3wx"; + version = "0.2.0.1"; + sha256 = "0hmy398kk37n5l4pacb2a0z9h9f1kl6vva9gsph1kiqnnz7sbr4r"; buildDepends = [ chunkedData conduit monoTraversable primitive systemFileio systemFilepath text transformers transformersBase vector diff --git a/pkgs/development/libraries/haskell/constraints/default.nix b/pkgs/development/libraries/haskell/constraints/default.nix index 1e0dc901aaf5..333d8e6601d2 100644 --- a/pkgs/development/libraries/haskell/constraints/default.nix +++ b/pkgs/development/libraries/haskell/constraints/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "constraints"; - version = "0.3.4.2"; - sha256 = "14bfar4d44yl9zxgqxj4p67ag2ndprm602l4pinfjk0ywbh63fwq"; + version = "0.3.5"; + sha256 = "01xrk0xqkfwzzr5jwkadkyjgrdcpslwiqfqdb7mci688xp2isi3i"; buildDepends = [ newtype ]; meta = { homepage = "http://github.com/ekmett/constraints/"; diff --git a/pkgs/development/libraries/haskell/convertible/default.nix b/pkgs/development/libraries/haskell/convertible/default.nix index 8a79e50527d8..78be057c2011 100644 --- a/pkgs/development/libraries/haskell/convertible/default.nix +++ b/pkgs/development/libraries/haskell/convertible/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "convertible"; - version = "1.0.11.1"; - sha256 = "1r50a2rpfsx0s7dv8ww5xck33b1mhy73gfilffrbqd4hxjgnxlj6"; + version = "1.1.0.0"; + sha256 = "0pc3z4jfjna1rz5wlfimw9fyhpasmdnwvava883s401760y99i0k"; isLibrary = true; isExecutable = true; buildDepends = [ mtl text time ]; diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix index 84eacff71a1c..ba8f1b70c77d 100644 --- a/pkgs/development/libraries/haskell/criterion/default.nix +++ b/pkgs/development/libraries/haskell/criterion/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "criterion"; - version = "0.8.0.0"; - sha256 = "05v4glwvidsd4gm2jcvmlcpfaxg2x0fb69w051rbwg9scanrm7bf"; + version = "0.8.0.1"; + sha256 = "1f4wsaiyq0zks71jgfx43774vxkf9l362a9kfd2jhsnxx7zkv5sq"; buildDepends = [ aeson binary deepseq filepath Glob hastache mtl mwcRandom parsec statistics time transformers vector vectorAlgorithms diff --git a/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix b/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix index e21e026080bf..7041bcc52856 100644 --- a/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix +++ b/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cryptohash-cryptoapi"; - version = "0.1.0"; - sha256 = "06b62ddwx2mp71dzaj8h88vw2c6nv3rj8n6d3d9vmqa7cws3mjkx"; + version = "0.1.2"; + sha256 = "1i2qxyq5qk4jzgkl7kndy10sbmzmagamfnqvl300qm3msi9k0kfy"; buildDepends = [ cereal cryptoApi cryptohash tagged ]; meta = { homepage = "http://github.com/vincenthz/hs-cryptohash-cryptoapi"; diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix index 41bd23470124..89658ead4d58 100644 --- a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix +++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "data-accessor-template"; - version = "0.2.1.10"; - sha256 = "11a4c0g74ppl7nls0dhx6xs47dfcq1wp7bd8qgdba6hhn645afzy"; + version = "0.2.1.11"; + sha256 = "1n2slv287zp6pabqb7xbfi296dbikw5a4ivqmnas0c4nxikqkayx"; buildDepends = [ dataAccessor utilityHt ]; meta = { homepage = "http://www.haskell.org/haskellwiki/Record_access"; diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix index 7c1de10b20b0..8fdde66f5fd6 100644 --- a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix +++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "data-accessor"; - version = "0.2.2.3"; - sha256 = "1fa1rbbs3m05y61w42vj4vqlcpqmz60v8mv3r0h6lx669k6ka5gj"; + version = "0.2.2.5"; + sha256 = "0z63fv41cnpk3h404gprk2f5jl7rrpyv97xmsgac9zgdm5zkkhm6"; buildDepends = [ transformers ]; meta = { homepage = "http://www.haskell.org/haskellwiki/Record_access"; diff --git a/pkgs/development/libraries/haskell/dbmigrations/default.nix b/pkgs/development/libraries/haskell/dbmigrations/default.nix index 10b3737d88a2..78c5d82f0fd9 100644 --- a/pkgs/development/libraries/haskell/dbmigrations/default.nix +++ b/pkgs/development/libraries/haskell/dbmigrations/default.nix @@ -18,4 +18,5 @@ cabal.mkDerivation (self: { platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.ocharles ]; }; + jailbreak = true; }) diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix index 304b9e84942e..7f0285dfc7aa 100644 --- a/pkgs/development/libraries/haskell/dbus/default.nix +++ b/pkgs/development/libraries/haskell/dbus/default.nix @@ -1,16 +1,22 @@ -{ cabal, cereal, libxmlSax, network, parsec, random, text -, transformers, vector, xmlTypes +{ cabal, cereal, chell, chellQuickcheck, filepath, libxmlSax +, network, parsec, QuickCheck, random, text, transformers, vector +, xmlTypes }: cabal.mkDerivation (self: { pname = "dbus"; - version = "0.10.6"; - sha256 = "0jbysa7czhp7yl3fb6sxiqppg8yb3cdk4v8hcs4y8yzwjj0lm7mf"; + version = "0.10.7"; + sha256 = "0xszynw6p07r7z9nlq8alx5lxfjm57gljya835ccj63hqhkr5yxh"; buildDepends = [ cereal libxmlSax network parsec random text transformers vector xmlTypes ]; + testDepends = [ + cereal chell chellQuickcheck filepath libxmlSax network parsec + QuickCheck random text transformers vector xmlTypes + ]; jailbreak = true; + doCheck = false; meta = { homepage = "https://john-millikin.com/software/haskell-dbus/"; description = "A client library for the D-Bus IPC system"; diff --git a/pkgs/development/libraries/haskell/dependent-map/default.nix b/pkgs/development/libraries/haskell/dependent-map/default.nix index 32a10efc785e..f8af7c8e42e8 100644 --- a/pkgs/development/libraries/haskell/dependent-map/default.nix +++ b/pkgs/development/libraries/haskell/dependent-map/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dependent-map"; - version = "0.1.1.1"; - sha256 = "1p5a5qahw7i6cvb0g0g1bv9gzy6jlxr5vb3hp8gahm210zw8g990"; + version = "0.1.1.2"; + sha256 = "1g8mq8189c6wr1rik70019gqrnk84c613x9cn5383p7hhfyc0rnn"; buildDepends = [ dependentSum ]; meta = { homepage = "https://github.com/mokus0/dependent-map"; diff --git a/pkgs/development/libraries/haskell/dependent-sum/default.nix b/pkgs/development/libraries/haskell/dependent-sum/default.nix index 3d33956edcf8..a92dd8064dad 100644 --- a/pkgs/development/libraries/haskell/dependent-sum/default.nix +++ b/pkgs/development/libraries/haskell/dependent-sum/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dependent-sum"; - version = "0.2.0.1"; - sha256 = "07zv8rj574vf7wl3pms4q8d9m7zsfppac5vla9d9b7q11s81lldf"; + version = "0.2.0.2"; + sha256 = "06amnc50j246f2za0ri49j6vyq6admx03w3xxjhhfnfx9lp6zmhm"; meta = { homepage = "https://github.com/mokus0/dependent-sum"; description = "Dependent sum type"; diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix index 186f60aecf54..c38346d189bc 100644 --- a/pkgs/development/libraries/haskell/diagrams/cairo.nix +++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix @@ -1,14 +1,16 @@ { cabal, cairo, colour, dataDefaultClass, diagramsCore, diagramsLib -, filepath, hashable, lens, mtl, split, statestack, time +, filepath, hashable, JuicyPixels, lens, mtl, optparseApplicative +, split, statestack, time, vector }: cabal.mkDerivation (self: { pname = "diagrams-cairo"; - version = "1.0.1.2"; - sha256 = "040x3zdrr70kg10isby6xp8mswvjd84xiz2rf7w1y66g9izdgfmc"; + version = "1.1"; + sha256 = "0x66qdwni3pwc2lrqy5jnyz7nqbfpr1086g1ndy6cxx8hp632zaf"; buildDepends = [ cairo colour dataDefaultClass diagramsCore diagramsLib filepath - hashable lens mtl split statestack time + hashable JuicyPixels lens mtl optparseApplicative split statestack + time vector ]; meta = { homepage = "http://projects.haskell.org/diagrams"; diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix index c0ce17d63db4..34dcb3745e35 100644 --- a/pkgs/development/libraries/haskell/diagrams/contrib.nix +++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "diagrams-contrib"; - version = "1.1.0.1"; - sha256 = "1vgfk3drs61am5z0146pq17i00ygsi2pyz8qipf6c30c9wri9hjp"; + version = "1.1.1.1"; + sha256 = "1b91scy96zf2njikfyr2ir2ckiib4dlvjazrlbri6f5ds40gnhna"; buildDepends = [ arithmoi circlePacking colour dataDefault dataDefaultClass diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix index c291ce9a48cc..3a3f74d4c272 100644 --- a/pkgs/development/libraries/haskell/diagrams/core.nix +++ b/pkgs/development/libraries/haskell/diagrams/core.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "diagrams-core"; - version = "1.0.0.1"; - sha256 = "19jri4np14lgf4pxyyczqjwh30cdmcpnb8alj60b0z5fca7042xm"; + version = "1.1"; + sha256 = "0prklz6s5zcainpkawibdg3bidmvsd2xsc1xxrmfp7lscmim736v"; buildDepends = [ dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace vectorSpacePoints diff --git a/pkgs/development/libraries/haskell/diagrams/diagrams.nix b/pkgs/development/libraries/haskell/diagrams/diagrams.nix index 7a0cd53218de..cddc5dbadcf9 100644 --- a/pkgs/development/libraries/haskell/diagrams/diagrams.nix +++ b/pkgs/development/libraries/haskell/diagrams/diagrams.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "diagrams"; - version = "1.0.0.1"; - sha256 = "0nlh4n5ykymjkyi9n0r5l1caq1f26mijw7smnj78mv3d40qcrnv1"; + version = "1.1"; + sha256 = "1fdacsa57w64hkcsrriwdgdxddd7gps97fyaz2rl8wfxcl96vclr"; buildDepends = [ diagramsContrib diagramsCore diagramsLib diagramsSvg ]; diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix index 6dbedd5ecda6..323856554268 100644 --- a/pkgs/development/libraries/haskell/diagrams/lib.nix +++ b/pkgs/development/libraries/haskell/diagrams/lib.nix @@ -1,18 +1,17 @@ { cabal, active, colour, dataDefaultClass, diagramsCore, filepath , fingertree, hashable, intervals, lens, MemoTrie, monoidExtras -, NumInstances, optparseApplicative, safe, semigroups, tagged -, vectorSpace, vectorSpacePoints +, optparseApplicative, safe, semigroups, tagged, vectorSpace +, vectorSpacePoints }: cabal.mkDerivation (self: { pname = "diagrams-lib"; - version = "1.0.1"; - sha256 = "0cjhb6dm0n4a7s8z0lyihql7dz34pdbm3ahm2p0yya4xf9pf0fw4"; + version = "1.1.0.1"; + sha256 = "0zkxkncz8ayvahr57fgq44vgir3yghxs2y1rrp138951fcy2g3a7"; buildDepends = [ active colour dataDefaultClass diagramsCore filepath fingertree - hashable intervals lens MemoTrie monoidExtras NumInstances - optparseApplicative safe semigroups tagged vectorSpace - vectorSpacePoints + hashable intervals lens MemoTrie monoidExtras optparseApplicative + safe semigroups tagged vectorSpace vectorSpacePoints ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix index 2c827b5f3d1b..a7f85f98b093 100644 --- a/pkgs/development/libraries/haskell/diagrams/postscript.nix +++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix @@ -1,14 +1,15 @@ -{ cabal, diagramsCore, diagramsLib, dlist, filepath, hashable, lens -, monoidExtras, mtl, semigroups, split, vectorSpace +{ cabal, dataDefaultClass, diagramsCore, diagramsLib, dlist +, filepath, hashable, lens, monoidExtras, mtl, semigroups, split +, vectorSpace }: cabal.mkDerivation (self: { pname = "diagrams-postscript"; - version = "1.0.1.2"; - sha256 = "0im1w70qi8qs2z8x41v7pwvk1alfaw1h8k0683njzd5sfz2m1gny"; + version = "1.0.2"; + sha256 = "14y8wivgxs3qvybzqk1bfqsrs5457qd5br7nk1924si5gpsgp1xx"; buildDepends = [ - diagramsCore diagramsLib dlist filepath hashable lens monoidExtras - mtl semigroups split vectorSpace + dataDefaultClass diagramsCore diagramsLib dlist filepath hashable + lens monoidExtras mtl semigroups split vectorSpace ]; meta = { homepage = "http://projects.haskell.org/diagrams/"; diff --git a/pkgs/development/libraries/haskell/diagrams/svg.nix b/pkgs/development/libraries/haskell/diagrams/svg.nix index 926249b853a1..cc5795c80a18 100644 --- a/pkgs/development/libraries/haskell/diagrams/svg.nix +++ b/pkgs/development/libraries/haskell/diagrams/svg.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "diagrams-svg"; - version = "1.0.1.3"; - sha256 = "0brbvzwh7yi3400wrdpkmw6jfd2nhi238zddhid76lmx2q9zxvvx"; + version = "1.0.2"; + sha256 = "1pbkr5qg3cjk2c23aas5y9f0bk5nsding4r4c4fdkxj49ipi4ys1"; buildDepends = [ blazeMarkup blazeSvg colour diagramsCore diagramsLib filepath hashable lens monoidExtras mtl split time vectorSpace diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix index 418923c453bd..86a6a8560fbd 100644 --- a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix +++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "digestive-functors-heist"; - version = "0.8.4.1"; - sha256 = "03bbz5q3asn1iid13xjiv5hdpj5bgr0h9wwp29bnysiw4vrgjax0"; + version = "0.8.5.0"; + sha256 = "0pjjr3b1zm23wpqnmcbr8ly08bp63sz3c9vbxcani4mwgx05qp87"; buildDepends = [ blazeBuilder digestiveFunctors heist mtl text xmlhtml ]; diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix index 843fd6239dcf..8ed11decf059 100644 --- a/pkgs/development/libraries/haskell/doctest/default.nix +++ b/pkgs/development/libraries/haskell/doctest/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "doctest"; - version = "0.9.10.1"; - sha256 = "1kl6bihhyj08ifij7ddpy6067s1lv2lnnp4an9wany3fzwlifbyi"; + version = "0.9.10.2"; + sha256 = "1vrhfbw59vfypylkr2ica2wx1vm62r40s4165syy76r8cyy0i554"; isLibrary = true; isExecutable = true; buildDepends = [ deepseq filepath ghcPaths syb transformers ]; diff --git a/pkgs/development/libraries/haskell/dsp/default.nix b/pkgs/development/libraries/haskell/dsp/default.nix new file mode 100644 index 000000000000..c1315a238174 --- /dev/null +++ b/pkgs/development/libraries/haskell/dsp/default.nix @@ -0,0 +1,14 @@ +{ cabal, random }: + +cabal.mkDerivation (self: { + pname = "dsp"; + version = "0.2.2"; + sha256 = "0vb71z8iky3xl40b9d79z7krq960ykcgn3y8lks3wzgiabbh2d89"; + buildDepends = [ random ]; + meta = { + homepage = "http://www.haskell.org/haskellwiki/DSP"; + description = "Haskell Digital Signal Processing"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix index 4d11aeaf700b..fd314d12d515 100644 --- a/pkgs/development/libraries/haskell/esqueleto/default.nix +++ b/pkgs/development/libraries/haskell/esqueleto/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "esqueleto"; - version = "1.3.4.6"; - sha256 = "1mqjgc1glnfivrmw77mk6mqr02gp6l3jlvpz5ysiii42c1bp55n0"; + version = "1.3.5"; + sha256 = "0lz17fr4by31h1qdw0djbsb1zx9xgll5iphqq18gp587l799iy2p"; buildDepends = [ conduit monadLogger persistent resourcet tagged text transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/fay-base/default.nix b/pkgs/development/libraries/haskell/fay-base/default.nix index 53f6fdce41cb..6e9ed4868847 100644 --- a/pkgs/development/libraries/haskell/fay-base/default.nix +++ b/pkgs/development/libraries/haskell/fay-base/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "fay-base"; - version = "0.19"; - sha256 = "03jf1ig3s2dcdd26j3d3iwm9hbiq5f5q5hyg22jdvl7lmvigw36j"; + version = "0.19.1"; + sha256 = "1b4v8l3adhcpply9yqk1pc1cgsvqlamvk60rvcb89kw5clrbvr4r"; buildDepends = [ fay ]; meta = { homepage = "https://github.com/faylang/fay-base"; diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix index fdce9907056c..d945298d228a 100644 --- a/pkgs/development/libraries/haskell/fay/default.nix +++ b/pkgs/development/libraries/haskell/fay/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "fay"; - version = "0.19.0.2"; - sha256 = "025yhl32xr5fcsxval5rcj8jrgd6qnjq9bqbhbsr5ni8dz3ks5r3"; + version = "0.19.1"; + sha256 = "05h4jmwy1wzgps1an1df5b4gic91xlm884mv6nqnazvpbnn23d5b"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/force-layout/default.nix b/pkgs/development/libraries/haskell/force-layout/default.nix index 70488010072b..b57abc40e200 100644 --- a/pkgs/development/libraries/haskell/force-layout/default.nix +++ b/pkgs/development/libraries/haskell/force-layout/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "force-layout"; - version = "0.3.0.1"; - sha256 = "0x9nfmvml9hszbm2izr4rfl9xphiyv0lj0hlixjbpxvm5nqk2w95"; + version = "0.3.0.2"; + sha256 = "0zrvsrqwl0wjv38l6zl1pa09572njdbcfbvimhpp930629zk4yb7"; buildDepends = [ dataDefaultClass lens vectorSpace vectorSpacePoints ]; diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix index 02c459c8e5c5..260fff8ae827 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "3.1.6"; - sha256 = "1z8fzh08f38cxplf14sflpgrazlwzz6q73lvxm37xyp7gww2prhi"; + version = "3.1.7"; + sha256 = "1mv6m1fcqkm4i27jw1aniwfq2dhpn4m7kicyq4l70zmkfr7y7c5s"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix index ea2495f6586a..1379d4a8ee8f 100644 --- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix @@ -1,12 +1,12 @@ -{ cabal, MonadCatchIOMtl, mtl }: +{ cabal, exceptions, extensibleExceptions, mtl }: cabal.mkDerivation (self: { pname = "ghc-mtl"; - version = "1.0.1.2"; - sha256 = "06m8ynqlbvvs37w211ikldwvlvg4ry27x9l7idnwa1m8w2jkbkva"; - buildDepends = [ MonadCatchIOMtl mtl ]; + version = "1.1.0.0"; + sha256 = "1vmiy00fsdp1jzmpjrz8wzxbv3185h27aspw412pmcr4v1n29kxc"; + buildDepends = [ exceptions extensibleExceptions mtl ]; meta = { - homepage = "http://darcsden.com/jcpetruzza/ghc-mtl"; + homepage = "http://hub.darcs.net/jcpetruzza/ghc-mtl"; description = "An mtl compatible version of the Ghc-Api monads and monad-transformers"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix b/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix new file mode 100644 index 000000000000..3f15f394c2c6 --- /dev/null +++ b/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "ghcjs-codemirror"; + version = "0.0.0.1"; + sha256 = "04x5h0i4fgyc2c5ihrnk0w3l1f3avvcl115zlnich93nillgbnfw"; + meta = { + homepage = "https://github.com/ghcjs/CodeMirror"; + description = "Installs CodeMirror JavaScript files"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix new file mode 100644 index 000000000000..58ad2765f6b0 --- /dev/null +++ b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix @@ -0,0 +1,13 @@ +{ cabal, glib, gtk3, mtl, transformers, webkitgtk3 }: + +cabal.mkDerivation (self: { + pname = "ghcjs-dom"; + version = "0.0.4"; + sha256 = "1a3dv2l3s3aifcpivmnv308k2a1kb7r4x0z9gi83wc4xr9a8f08w"; + buildDepends = [ glib gtk3 mtl transformers webkitgtk3 ]; + meta = { + description = "DOM library that supports both GHCJS and WebKitGTK"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/gnuplot/default.nix b/pkgs/development/libraries/haskell/gnuplot/default.nix index 8390ef2520aa..14655677c6f5 100644 --- a/pkgs/development/libraries/haskell/gnuplot/default.nix +++ b/pkgs/development/libraries/haskell/gnuplot/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "gnuplot"; - version = "0.5.2"; - sha256 = "11gma33bikx97jra04vgnhikylw9wm1l37hdrsknl7mgk2qbrs74"; + version = "0.5.2.1"; + sha256 = "1bzj7z803mxyxfv2123swvdv78gh5dbrf8ldc6iziry3fz5q8nb1"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix index 8198960854cd..081573e72236 100644 --- a/pkgs/development/libraries/haskell/gtk/default.nix +++ b/pkgs/development/libraries/haskell/gtk/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "gtk"; - version = "0.12.5.4"; - sha256 = "0vs31lzrmd3546q8dqql8sf1vfagyr24p5i6ddi792vw14mj3why"; + version = "0.12.5.6"; + sha256 = "06i6y7psl8fd7cy7jn0aqp98k876spr5vjgjxs8730pw3x17z6ld"; buildDepends = [ cairo glib mtl pango ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ libc pkgconfig ]; diff --git a/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix b/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix new file mode 100644 index 000000000000..858512e9add1 --- /dev/null +++ b/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix @@ -0,0 +1,14 @@ +{ cabal, cgi, fastcgi, happstackServer, mtl, utf8String }: + +cabal.mkDerivation (self: { + pname = "happstack-fastcgi"; + version = "0.1.5"; + sha256 = "0rvb041nx2f8azvfy1yysisjqrmsfbxnccn992v5q7zhlglcvj8h"; + buildDepends = [ cgi fastcgi happstackServer mtl utf8String ]; + meta = { + description = "Happstack extension for use with FastCGI"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.tomberek ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix index 40da6037e7d9..4b54a002ab07 100644 --- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix +++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "happstack-server"; - version = "7.3.3"; - sha256 = "18z706n9idszmn5j2cm2aqhs8zavk2sas6fwwywh38j536qzz36l"; + version = "7.3.4"; + sha256 = "1k9614f0x5ravblb00xiy8z2nqi4k9jhp2vzm1vdpx9q8sg47h1p"; buildDepends = [ base64Bytestring blazeHtml extensibleExceptions filepath hslogger html monadControl mtl network parsec sendfile syb systemFilepath diff --git a/pkgs/development/libraries/haskell/haskell-names/default.nix b/pkgs/development/libraries/haskell/haskell-names/default.nix index db9e92fc8ce6..74cfc4530997 100644 --- a/pkgs/development/libraries/haskell/haskell-names/default.nix +++ b/pkgs/development/libraries/haskell/haskell-names/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "haskell-names"; - version = "0.3.2.5"; - sha256 = "1jp3109b742gr6ii7syacl167i1i91xsyw0200ghaad3ymrqkcvq"; + version = "0.3.3"; + sha256 = "1f40dyrdb9c5iysmclql75l86zg3iisnyyiq5fkgixdafzsq31ir"; buildDepends = [ aeson Cabal dataLens dataLensTemplate filepath haskellPackages haskellSrcExts hseCpp mtl tagged transformers traverseWithClass diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix index 3512bce96118..5534c2fc9da8 100644 --- a/pkgs/development/libraries/haskell/hint/default.nix +++ b/pkgs/development/libraries/haskell/hint/default.nix @@ -1,17 +1,20 @@ -{ cabal, extensibleExceptions, filepath, ghcMtl, ghcPaths -, haskellSrc, MonadCatchIOMtl, mtl, random, utf8String +{ cabal, exceptions, extensibleExceptions, filepath, ghcMtl +, ghcPaths, HUnit, mtl, random, utf8String }: cabal.mkDerivation (self: { pname = "hint"; - version = "0.3.3.7"; - sha256 = "1aba9dfkxlpmvbvllw4qnlrd300vnr0ismkn3kva1pv1cay5pifk"; + version = "0.4.0.0"; + sha256 = "0xs56ws7vwdjgvg7d31iqa111342an6rxvwhh7c3h4z1bq5l1l61"; buildDepends = [ - extensibleExceptions filepath ghcMtl ghcPaths haskellSrc - MonadCatchIOMtl mtl random utf8String + exceptions extensibleExceptions filepath ghcMtl ghcPaths mtl random + utf8String + ]; + testDepends = [ + exceptions extensibleExceptions filepath HUnit mtl ]; meta = { - homepage = "http://darcsden.com/jcpetruzza/hint"; + homepage = "http://hub.darcs.net/jcpetruzza/hint"; description = "Runtime Haskell interpreter (GHC API wrapper)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix index 0875c09db863..eee84c338e63 100644 --- a/pkgs/development/libraries/haskell/hledger-web/default.nix +++ b/pkgs/development/libraries/haskell/hledger-web/default.nix @@ -20,6 +20,7 @@ cabal.mkDerivation (self: { yesodCore yesodStatic ]; testDepends = [ hspec yesod yesodTest ]; + jailbreak = true; doCheck = false; meta = { homepage = "http://hledger.org"; diff --git a/pkgs/development/libraries/haskell/hoauth2/default.nix b/pkgs/development/libraries/haskell/hoauth2/default.nix new file mode 100644 index 000000000000..77e848427239 --- /dev/null +++ b/pkgs/development/libraries/haskell/hoauth2/default.nix @@ -0,0 +1,19 @@ +{ cabal, aeson, bytestringShow, conduit, httpConduit, httpTypes +, monadControl, mtl, random, resourcet, text, transformers +}: + +cabal.mkDerivation (self: { + pname = "hoauth2"; + version = "0.3.6.1"; + sha256 = "0nfh77fxyl8vbdnrrp28hsl1zhxhmg8mjn0gfvc2i3w5rd6j0lda"; + buildDepends = [ + aeson bytestringShow conduit httpConduit httpTypes monadControl mtl + random resourcet text transformers + ]; + meta = { + homepage = "https://github.com/freizl/hoauth2"; + description = "hoauth2"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hsimport/default.nix b/pkgs/development/libraries/haskell/hsimport/default.nix index eea778ec08af..c114e5aae0fd 100644 --- a/pkgs/development/libraries/haskell/hsimport/default.nix +++ b/pkgs/development/libraries/haskell/hsimport/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hsimport"; - version = "0.2.9"; - sha256 = "1xfz1as980jg3crlwlajaj8yfj4pl4phg9l6fjap037vr0107hav"; + version = "0.2.10"; + sha256 = "0xvsjgckh2jab9q7l8pvnnn5x977mb6hkhqb175m10brr13yzk4z"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/hsini/default.nix b/pkgs/development/libraries/haskell/hsini/default.nix index 45e03ad71441..73368a1dd6cf 100644 --- a/pkgs/development/libraries/haskell/hsini/default.nix +++ b/pkgs/development/libraries/haskell/hsini/default.nix @@ -4,14 +4,13 @@ cabal.mkDerivation (self: { pname = "hsini"; - version = "0.2"; - sha256 = "0d9dhzaw2v9r0hb4lywzw4f0inijbcw5brc5dh45zfkalmn3aqam"; + version = "0.3.1"; + sha256 = "06cys4i1nsic13dkp5jgammm3qykzizlnp6wdka2vl699rvnzaaf"; buildDepends = [ mtl parsec ]; testDepends = [ HUnit mtl parsec QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 testFrameworkTh ]; - doCheck = false; meta = { description = "Package for user configuration files (INI)"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix index 3f938332c02b..398459f60769 100644 --- a/pkgs/development/libraries/haskell/http-conduit/default.nix +++ b/pkgs/development/libraries/haskell/http-conduit/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "http-conduit"; - version = "2.0.0.7"; - sha256 = "0rizmshpypllfbmipbrad7hkrs2asx0ijfhr53w3pj58w6h80m0i"; + version = "2.0.0.8"; + sha256 = "1yralv1nalvdpgamnbjl8xm4lrx22m3v6jancrzisq38a680q96b"; buildDepends = [ conduit httpClient httpClientConduit httpClientTls httpTypes liftedBase resourcet transformers diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix index f78205c49a09..3605425436e4 100644 --- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix +++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix @@ -1,17 +1,17 @@ -{ cabal, basicPrelude, blazeBuilder, caseInsensitive, conduit -, dataDefaultClass, hspec, httpClient, httpConduit, httpTypes -, liftedBase, monadControl, network, networkConduit, resourcet -, text, transformers, wai, waiLogger, warp, word8 +{ cabal, async, basicPrelude, blazeBuilder, caseInsensitive +, conduit, dataDefaultClass, hspec, httpClient, httpConduit +, httpTypes, liftedBase, monadControl, network, networkConduit +, resourcet, text, transformers, wai, waiLogger, warp, word8 }: cabal.mkDerivation (self: { pname = "http-reverse-proxy"; - version = "0.3.0.1"; - sha256 = "01rbczzf300ivb08wncm19wq64m7n6r5xfbgh82phjxjmmx9h6wj"; + version = "0.3.1"; + sha256 = "1xayhjrs6nm7gm5xc6z6vhzi9iq5czdvpywamkncivjsxjlc50b8"; buildDepends = [ - basicPrelude blazeBuilder caseInsensitive conduit dataDefaultClass - httpClient httpTypes liftedBase monadControl network networkConduit - resourcet text wai waiLogger word8 + async basicPrelude blazeBuilder caseInsensitive conduit + dataDefaultClass httpClient httpTypes liftedBase monadControl + network networkConduit resourcet text wai waiLogger word8 ]; testDepends = [ blazeBuilder conduit hspec httpConduit httpTypes liftedBase network diff --git a/pkgs/development/libraries/haskell/lens/3.10.2.nix b/pkgs/development/libraries/haskell/lens/3.10.2.nix deleted file mode 100644 index 819902d61397..000000000000 --- a/pkgs/development/libraries/haskell/lens/3.10.2.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ cabal, bifunctors, comonad, contravariant, deepseq, distributive -, doctest, filepath, genericDeriving, hashable, HUnit -, MonadCatchIOTransformers, mtl, nats, parallel, profunctors -, QuickCheck, reflection, semigroupoids, semigroups, simpleReflect -, split, tagged, testFramework, testFrameworkHunit -, testFrameworkQuickcheck2, testFrameworkTh, text, transformers -, transformersCompat, unorderedContainers, vector, void -}: - -cabal.mkDerivation (self: { - pname = "lens"; - version = "3.10.2"; - sha256 = "0hdj75sg8r1m2jdpfh81zdcwbhp6mb7xipp6q57pv6n90xc6dnxw"; - buildDepends = [ - bifunctors comonad contravariant distributive filepath - genericDeriving hashable MonadCatchIOTransformers mtl parallel - profunctors reflection semigroupoids semigroups split tagged text - transformers transformersCompat unorderedContainers vector void - ]; - testDepends = [ - deepseq doctest filepath genericDeriving HUnit mtl nats parallel - QuickCheck semigroups simpleReflect split testFramework - testFrameworkHunit testFrameworkQuickcheck2 testFrameworkTh text - transformers unorderedContainers vector - ]; - patchPhase = '' - sed -i lens.cabal -e 's|MonadCatchIO-transformers >=.*,|MonadCatchIO-transformers,|' - ''; - doCheck = false; - meta = { - homepage = "http://github.com/ekmett/lens/"; - description = "Lenses, Folds and Traversals"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - }; -}) diff --git a/pkgs/development/libraries/haskell/lens/4.0.4.nix b/pkgs/development/libraries/haskell/lens/4.0.4.nix deleted file mode 100644 index cd85c7a4e94b..000000000000 --- a/pkgs/development/libraries/haskell/lens/4.0.4.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ cabal, aeson, bifunctors, comonad, constraints, contravariant -, deepseq, distributive, doctest, exceptions, filepath -, genericDeriving, hashable, hlint, HUnit, mtl, nats, parallel -, primitive, profunctors, QuickCheck, reflection, scientific -, semigroupoids, semigroups, simpleReflect, split, tagged -, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 -, testFrameworkTh, text, transformers, transformersCompat -, unorderedContainers, utf8String, vector, void, zlib -}: - -cabal.mkDerivation (self: { - pname = "lens"; - version = "4.0.4"; - sha256 = "14xa500afjpdfx3qqxr9dg5x8mxrna7c3b5xchqsrwck9d00cphd"; - buildDepends = [ - aeson bifunctors comonad constraints contravariant distributive - exceptions filepath hashable mtl parallel primitive profunctors - reflection scientific semigroupoids semigroups split tagged text - transformers transformersCompat unorderedContainers utf8String - vector void zlib - ]; - testDepends = [ - deepseq doctest filepath genericDeriving hlint HUnit mtl nats - parallel QuickCheck semigroups simpleReflect split testFramework - testFrameworkHunit testFrameworkQuickcheck2 testFrameworkTh text - transformers unorderedContainers vector - ]; - doCheck = false; - meta = { - homepage = "http://github.com/ekmett/lens/"; - description = "Lenses, Folds and Traversals"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - }; -}) diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix new file mode 100644 index 000000000000..57f84955be3a --- /dev/null +++ b/pkgs/development/libraries/haskell/lens/default.nix @@ -0,0 +1,34 @@ +{ cabal, aeson, bifunctors, comonad, contravariant, deepseq +, distributive, doctest, exceptions, filepath, genericDeriving +, hashable, hlint, HUnit, mtl, nats, parallel, primitive +, profunctors, QuickCheck, reflection, scientific, semigroupoids +, semigroups, simpleReflect, split, tagged, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2, testFrameworkTh +, text, transformers, transformersCompat, unorderedContainers +, utf8String, vector, void, zlib +}: + +cabal.mkDerivation (self: { + pname = "lens"; + version = "4.0.7"; + sha256 = "0n4xw182yamgaplyshbhyjw9i7n6rvaszr4011mdbd6yvprl5v29"; + buildDepends = [ + aeson bifunctors comonad contravariant distributive exceptions + filepath hashable mtl parallel primitive profunctors reflection + scientific semigroupoids semigroups split tagged text transformers + transformersCompat unorderedContainers utf8String vector void zlib + ]; + testDepends = [ + deepseq doctest filepath genericDeriving hlint HUnit mtl nats + parallel QuickCheck semigroups simpleReflect split testFramework + testFrameworkHunit testFrameworkQuickcheck2 testFrameworkTh text + transformers unorderedContainers vector + ]; + doCheck = false; + meta = { + homepage = "http://github.com/ekmett/lens/"; + description = "Lenses, Folds and Traversals"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/leveldb-haskell/default.nix b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix new file mode 100644 index 000000000000..becd68ba9157 --- /dev/null +++ b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix @@ -0,0 +1,21 @@ +{ cabal, async, dataDefault, filepath, leveldb, resourcet +, transformers +}: + +cabal.mkDerivation (self: { + pname = "leveldb-haskell"; + version = "0.3.0"; + sha256 = "0hdxn6v7fzc0wlpkymlci60m2584h6fn78bxdnv2q18ra03r3ygs"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + async dataDefault filepath resourcet transformers + ]; + extraLibraries = [ leveldb ]; + meta = { + homepage = "http://github.com/kim/leveldb-haskell"; + description = "Haskell bindings to LevelDB"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix index 7462b362c98c..9dd46754164f 100644 --- a/pkgs/development/libraries/haskell/lifted-base/default.nix +++ b/pkgs/development/libraries/haskell/lifted-base/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "lifted-base"; - version = "0.2.2.0"; - sha256 = "1m6mk24nxkp9a78nywdb844avbqwh931gv1bxsgcbhavavzs72jj"; + version = "0.2.2.1"; + sha256 = "13w1y67wng5rv90fsikkwpvx2ajmq5ybnxrx9b2x0y0zbcy7pzk8"; buildDepends = [ baseUnicodeSymbols monadControl transformersBase ]; diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix index 5b8f42d5420c..f0dac623a987 100644 --- a/pkgs/development/libraries/haskell/linear/default.nix +++ b/pkgs/development/libraries/haskell/linear/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "linear"; - version = "1.6"; - sha256 = "1aka0da4mwv9cdj76armlava0d4c5f8s2pv10fk6b5glyb0c1a7x"; + version = "1.9.1"; + sha256 = "17jvqy2nbcra36fzkwbjkfwg6mjw804zd1i50mhbqwg9j7z4s5sb"; buildDepends = [ adjunctions binary distributive hashable lens reflection semigroupoids semigroups tagged transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/ltk/default.nix b/pkgs/development/libraries/haskell/ltk/default.nix index 7960395eb098..df1e4be218f0 100644 --- a/pkgs/development/libraries/haskell/ltk/default.nix +++ b/pkgs/development/libraries/haskell/ltk/default.nix @@ -1,10 +1,12 @@ -{ cabal, Cabal, filepath, glib, gtk, mtl, parsec, transformers }: +{ cabal, Cabal, filepath, glib, gtk3, mtl, parsec, transformers }: cabal.mkDerivation (self: { pname = "ltk"; - version = "0.12.1.0"; - sha256 = "12x6nba5bll8fgzpxii1cf87j27jk4mn5gf1bx4ahd9v30h1a0h6"; - buildDepends = [ Cabal filepath glib gtk mtl parsec transformers ]; + version = "0.13.1.0"; + sha256 = "09ryyzjd3iazwiw714hsny2b9f4b1cfhyzc11k5xzin5kh5d804a"; + buildDepends = [ + Cabal filepath glib gtk3 mtl parsec transformers + ]; meta = { homepage = "http://www.leksah.org"; description = "Leksah tool kit"; diff --git a/pkgs/development/libraries/haskell/lzma-enumerator/default.nix b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix new file mode 100644 index 000000000000..f931262a91e3 --- /dev/null +++ b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix @@ -0,0 +1,22 @@ +{ cabal, bindingsDSL, enumerator, HUnit, lzma, mtl, QuickCheck +, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 +}: + +cabal.mkDerivation (self: { + pname = "lzma-enumerator"; + version = "0.1.3"; + sha256 = "0pzz8bf6310p23pmsa013i8vib0xsfvlkj7zp0w9xs2xsi4j7jk1"; + buildDepends = [ bindingsDSL enumerator mtl ]; + testDepends = [ + enumerator HUnit QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 + ]; + extraLibraries = [ lzma ]; + jailbreak = true; + meta = { + homepage = "http://github.com/alphaHeavy/lzma-enumerator"; + description = "Enumerator interface for lzma/xz compression"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/math-functions/default.nix b/pkgs/development/libraries/haskell/math-functions/default.nix index 8180c8bce753..7faca58fd855 100644 --- a/pkgs/development/libraries/haskell/math-functions/default.nix +++ b/pkgs/development/libraries/haskell/math-functions/default.nix @@ -1,12 +1,13 @@ -{ cabal, erf, HUnit, ieee754, QuickCheck, testFramework +{ cabal, deepseq, erf, HUnit, ieee754, QuickCheck, testFramework , testFrameworkHunit, testFrameworkQuickcheck2, vector +, vectorThUnbox }: cabal.mkDerivation (self: { pname = "math-functions"; - version = "0.1.4.0"; - sha256 = "1cijm224gfvd7rvrrndcks8d7aj89c9qv0m4wx2qqngr7rk78kav"; - buildDepends = [ erf vector ]; + version = "0.1.5.2"; + sha256 = "12cznf7gwia1ki7xhvlhk5p8d09zrdvfgn07pkp4sfrwsc4vijcy"; + buildDepends = [ deepseq erf vector vectorThUnbox ]; testDepends = [ HUnit ieee754 QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 vector diff --git a/pkgs/development/libraries/haskell/midi/default.nix b/pkgs/development/libraries/haskell/midi/default.nix index e50843c6ff23..9467b567f829 100644 --- a/pkgs/development/libraries/haskell/midi/default.nix +++ b/pkgs/development/libraries/haskell/midi/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "midi"; - version = "0.2.1"; - sha256 = "0i767y0835979s9i3wm8qwzh2awhhmfvhc5zvq2lkn8xlsp3wa6y"; + version = "0.2.1.1"; + sha256 = "11h4kr9a1jia1ghcyzgavcznw4771l00z736iibjpagw0b8fpip5"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/mono-traversable/default.nix b/pkgs/development/libraries/haskell/mono-traversable/default.nix index f6c261145c1d..5119863500dd 100644 --- a/pkgs/development/libraries/haskell/mono-traversable/default.nix +++ b/pkgs/development/libraries/haskell/mono-traversable/default.nix @@ -1,15 +1,15 @@ { cabal, comonad, foldl, hashable, hspec, QuickCheck, semigroupoids , semigroups, text, transformers, unorderedContainers, vector -, vectorInstances +, vectorAlgorithms, vectorInstances }: cabal.mkDerivation (self: { pname = "mono-traversable"; - version = "0.3.1"; - sha256 = "0a0vy0hp34sw1q7153jd614mqydzg79pw645kfxlihs3j7ac2b3j"; + version = "0.4.0.1"; + sha256 = "049skbjwz49c9qz2nys2hn6pc4gqn1a91b5kl9z6hjs9fnaic6ng"; buildDepends = [ comonad hashable semigroupoids semigroups text transformers - unorderedContainers vector vectorInstances + unorderedContainers vector vectorAlgorithms vectorInstances ]; testDepends = [ foldl hspec QuickCheck semigroups text transformers diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix index 73f720ba4214..17df8cbeecc2 100644 --- a/pkgs/development/libraries/haskell/monoid-extras/default.nix +++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix @@ -1,10 +1,10 @@ -{ cabal, groupoids, groups, semigroupoids, semigroups }: +{ cabal, groups, semigroupoids, semigroups }: cabal.mkDerivation (self: { pname = "monoid-extras"; - version = "0.3.2.4"; - sha256 = "1qrgwnczznjp1visspqf3dk224nvqf5icv3646j96acl5srn84qc"; - buildDepends = [ groupoids groups semigroupoids semigroups ]; + version = "0.3.3.1"; + sha256 = "1176sazk10vapia1qvcm2rxckn2vxfav21277rsgf11hvn3lzznc"; + buildDepends = [ groups semigroupoids semigroups ]; jailbreak = true; meta = { description = "Various extra monoid-related definitions and utilities"; diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix index b859858b8be4..c2f00b68f8f1 100644 --- a/pkgs/development/libraries/haskell/network-conduit/default.nix +++ b/pkgs/development/libraries/haskell/network-conduit/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "network-conduit"; - version = "1.0.2.2"; - sha256 = "1l7r40raqbhfgwgp5knkqfg2b7pqm4h23c9slbx55r829if8c54h"; + version = "1.0.4"; + sha256 = "1a7p3gs0rczx0rhz27410rr6fzy3l0nsj6kk5wi0nqvqfyh7jb9c"; buildDepends = [ conduit liftedBase monadControl network transformers ]; diff --git a/pkgs/development/libraries/haskell/numeric-prelude/default.nix b/pkgs/development/libraries/haskell/numeric-prelude/default.nix index 9fb5d334a4d5..4fac81b01f93 100644 --- a/pkgs/development/libraries/haskell/numeric-prelude/default.nix +++ b/pkgs/development/libraries/haskell/numeric-prelude/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "numeric-prelude"; - version = "0.4.0.3"; - sha256 = "0lgjnkvbz14cqsm5fjafl8g5mkclcdvpwa3kpz9radmg2x09rsnl"; + version = "0.4.1"; + sha256 = "1y1dg4bk811xmz3p23g8kjl6vxns3gs8qj671971c06nccfl1h5r"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/options/default.nix b/pkgs/development/libraries/haskell/options/default.nix new file mode 100644 index 000000000000..3772a142a58d --- /dev/null +++ b/pkgs/development/libraries/haskell/options/default.nix @@ -0,0 +1,16 @@ +{ cabal, chell, chellQuickcheck, monadsTf, transformers }: + +cabal.mkDerivation (self: { + pname = "options"; + version = "1.0"; + sha256 = "0d40d6k1c8v2b0bgchgl54sk9wx28kysp8bjws8bwjcmmd57775f"; + buildDepends = [ monadsTf transformers ]; + testDepends = [ chell chellQuickcheck monadsTf transformers ]; + doCheck = false; + meta = { + homepage = "https://john-millikin.com/software/haskell-options/"; + description = "A powerful and easy-to-use command-line option parser"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/pbkdf/default.nix b/pkgs/development/libraries/haskell/pbkdf/default.nix new file mode 100644 index 000000000000..29ccc2b63dac --- /dev/null +++ b/pkgs/development/libraries/haskell/pbkdf/default.nix @@ -0,0 +1,15 @@ +{ cabal, binary, byteable, bytedump, cryptohash, utf8String }: + +cabal.mkDerivation (self: { + pname = "pbkdf"; + version = "1.1.1.1"; + sha256 = "1nbn8kan43i00g23g8aljxjpaxm9q1qhzxxdgks0mc4mr1f7bifx"; + buildDepends = [ binary byteable bytedump cryptohash utf8String ]; + testDepends = [ binary byteable bytedump cryptohash utf8String ]; + meta = { + homepage = "https://github.com/cdornan/pbkdf"; + description = "Haskell implementation of the PBKDF functions from RFC-2898"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix index acb7b3ce5b5c..e529747e7a75 100644 --- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix +++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "persistent-postgresql"; - version = "1.3.0.1"; - sha256 = "00m78hdrnk367ymlgbi49p2zq2gkwskax1ng2h3ljskf3ic4jahf"; + version = "1.3.0.3"; + sha256 = "00frqpv7wbksbjl714nhrian45p61kggxhpin9hawbwn2siwsg2m"; buildDepends = [ aeson blazeBuilder conduit monadControl persistent postgresqlLibpq postgresqlSimple text time transformers diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix index 742f4d3b5168..009aa3b62995 100644 --- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix +++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix @@ -4,8 +4,10 @@ cabal.mkDerivation (self: { pname = "persistent-sqlite"; - version = "1.3.0.2"; - sha256 = "0mxnmbqsj67mfsp7d09wbziwfwcfdqr0rln0qcyi3wjwgybjmkzk"; + version = "1.3.0.3"; + sha256 = "0b7dp2hiza02rnnph44rd2vls06jipmixi32icbijmcqk83hfglq"; + isLibrary = true; + isExecutable = true; buildDepends = [ aeson conduit monadControl monadLogger persistent text transformers ]; diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix index 9dc3ea188bb3..1340ceaaf957 100644 --- a/pkgs/development/libraries/haskell/persistent-template/default.nix +++ b/pkgs/development/libraries/haskell/persistent-template/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "persistent-template"; - version = "1.3.1.1"; - sha256 = "13rbsxfrync5vmg5f1h5z5lc2b1vvh7nzbap4s5g5df3nvzfmmqx"; + version = "1.3.1.2"; + sha256 = "1gdwwx55ihnqxgyw0wsx0pr4dcs2hdbp5xbnx6l1j03rn5x1sglq"; buildDepends = [ aeson monadControl monadLogger persistent text transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix index c9375dc06b4a..1a61e5f76a0a 100644 --- a/pkgs/development/libraries/haskell/persistent/default.nix +++ b/pkgs/development/libraries/haskell/persistent/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "persistent"; - version = "1.3.0.2"; - sha256 = "16bq0l6nqjpzlbzm47ip2m8b5yhwhf28fpv3hxy7qsnzmy7siv6y"; + version = "1.3.0.3"; + sha256 = "0p9h43wvm1l9va6s6p71y6r5ifgvbqz8ypc86pmzbphq6712jnsl"; buildDepends = [ aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit liftedBase monadControl monadLogger pathPieces poolConduit diff --git a/pkgs/development/libraries/haskell/pipes-binary/default.nix b/pkgs/development/libraries/haskell/pipes-binary/default.nix index 33f9482ca3fc..e48ad2a96a48 100644 --- a/pkgs/development/libraries/haskell/pipes-binary/default.nix +++ b/pkgs/development/libraries/haskell/pipes-binary/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "pipes-binary"; - version = "0.4.0"; - sha256 = "021shl5czrr82b06awy7biy93qf6nh0wwiadhr7qsawzdnzqz2vc"; + version = "0.4.0.1"; + sha256 = "1vwsr446b3ysjm86bmpmq8pg2badx9xn0iyr17r4mby0bxvvld33"; buildDepends = [ binary pipes pipesBytestring pipesParse transformers ]; @@ -13,7 +13,6 @@ cabal.mkDerivation (self: { binary lensFamilyCore pipes pipesParse smallcheck tasty tastyHunit tastySmallcheck transformers ]; - # Depends on an out-of-date version of smallcheck doCheck = false; meta = { homepage = "https://github.com/k0001/pipes-binary"; diff --git a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix index 8847f5e93f02..2a2324027d4b 100644 --- a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix +++ b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "pipes-bytestring"; - version = "2.0.0"; - sha256 = "17l74g7xfl1i32jj9qa9ivbb3ndi68hkc1b6jchwnn19rmg51j9i"; + version = "2.0.1"; + sha256 = "1vsfqqkr5danb0n30av4vk8d4by9f50y5l8ywm1xjrmwrx999gvf"; buildDepends = [ pipes pipesGroup pipesParse profunctors transformers ]; diff --git a/pkgs/development/libraries/haskell/pool-conduit/default.nix b/pkgs/development/libraries/haskell/pool-conduit/default.nix index 77faceeea923..e97fbb983a71 100644 --- a/pkgs/development/libraries/haskell/pool-conduit/default.nix +++ b/pkgs/development/libraries/haskell/pool-conduit/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pool-conduit"; - version = "0.1.2"; - sha256 = "10lvq18pk9d4la5irr1qv1c9y4qbwlglmzgs7bz1d0g5232w3rv8"; + version = "0.1.2.1"; + sha256 = "1mcx66xv1irxd66cfv23h4n7fplg5a0hyldlgk8km0k395mjw8k8"; buildDepends = [ monadControl resourcePool resourcet transformers ]; diff --git a/pkgs/development/libraries/haskell/sample-frame/default.nix b/pkgs/development/libraries/haskell/sample-frame/default.nix index f8acbf1fda83..8e9478ed5e2a 100644 --- a/pkgs/development/libraries/haskell/sample-frame/default.nix +++ b/pkgs/development/libraries/haskell/sample-frame/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "sample-frame"; - version = "0.0.2"; - sha256 = "1k1fyslgw5vvn9a38mhp7c9j1xxf75ys010rcn2vr3pm6aj868sx"; + version = "0.0.3"; + sha256 = "0ivj0bcnqqc805np62bdpvh8v4ykmw86ph5rp7k54bbv9wd31bsv"; isLibrary = true; isExecutable = true; buildDepends = [ QuickCheck storableRecord ]; diff --git a/pkgs/development/libraries/haskell/scientific/default.nix b/pkgs/development/libraries/haskell/scientific/default.nix index aa57f9dc5df8..523bfce62b5d 100644 --- a/pkgs/development/libraries/haskell/scientific/default.nix +++ b/pkgs/development/libraries/haskell/scientific/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "scientific"; - version = "0.2.0.1"; - sha256 = "0xwxds884pqywjbc4j6qkx27nbi64sihig8ps9v884sk08021wrp"; + version = "0.2.0.2"; + sha256 = "13rrdaf5mrhpckq9vvrm4pnj63vahg7f0g75hk11nk7k1644l4f0"; buildDepends = [ deepseq hashable text ]; testDepends = [ smallcheck tasty tastySmallcheck text ]; jailbreak = true; diff --git a/pkgs/development/libraries/haskell/scrypt/default.nix b/pkgs/development/libraries/haskell/scrypt/default.nix new file mode 100644 index 000000000000..6caf51edc1ed --- /dev/null +++ b/pkgs/development/libraries/haskell/scrypt/default.nix @@ -0,0 +1,20 @@ +{ cabal, base64Bytestring, entropy, HUnit, QuickCheck +, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 +}: + +cabal.mkDerivation (self: { + pname = "scrypt"; + version = "0.5.0"; + sha256 = "1cnrjdq1ncv224dlk236a7w29na8r019d2acrsxlsaiy74iadh1y"; + buildDepends = [ base64Bytestring entropy ]; + testDepends = [ + HUnit QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 + ]; + meta = { + homepage = "http://github.com/informatikr/scrypt"; + description = "Stronger password hashing via sequential memory-hard functions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix index 720bbea89331..3ebc62932cf2 100644 --- a/pkgs/development/libraries/haskell/shelly/default.nix +++ b/pkgs/development/libraries/haskell/shelly/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "shelly"; - version = "1.4.4.2"; - sha256 = "01h08bw7j7f5vi3bffd4ipvj5nmab8j5rqgxav688n2jm2342jzk"; + version = "1.5.0.1"; + sha256 = "19mfxdwnzv01bxd0l5q2z4mbdp7r8p6z2bm083vjlxx7cc35wv7a"; buildDepends = [ async mtl systemFileio systemFilepath text time unixCompat ]; diff --git a/pkgs/development/libraries/haskell/smtp-mail/default.nix b/pkgs/development/libraries/haskell/smtp-mail/default.nix index 814a89f70c2c..80f18da4c564 100644 --- a/pkgs/development/libraries/haskell/smtp-mail/default.nix +++ b/pkgs/development/libraries/haskell/smtp-mail/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "smtp-mail"; - version = "0.1.4.4"; - sha256 = "055b736sr9w4dxf1p5xjfsisqxk49kz4d3hyqwgdvi8zzvi31vp6"; + version = "0.1.4.5"; + sha256 = "010fbrcbypajwd9fjjc35br9p5axl1pqd0n1v51585ncrlv2icyw"; buildDepends = [ base16Bytestring base64Bytestring cryptohash filepath mimeMail network text diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix index 7bc8d6e4b573..351e8d943235 100644 --- a/pkgs/development/libraries/haskell/snap/core.nix +++ b/pkgs/development/libraries/haskell/snap/core.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "snap-core"; - version = "0.9.6.0"; - sha256 = "0v5bp8dw867gq92p3qw3h2yv6bhr2b7gy72rs26m9crk2dsfx9pa"; + version = "0.9.6.1"; + sha256 = "1wfjkbck2dc4a1nxz62yprf68g66m9vhvxihn9c5xypxjpgj2r9k"; buildDepends = [ attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator bytestringMmap caseInsensitive deepseq enumerator filepath hashable diff --git a/pkgs/development/libraries/haskell/snowball/default.nix b/pkgs/development/libraries/haskell/snowball/default.nix new file mode 100644 index 000000000000..36a4231109df --- /dev/null +++ b/pkgs/development/libraries/haskell/snowball/default.nix @@ -0,0 +1,21 @@ +{ cabal, HUnit, QuickCheck, quickcheckInstances, testFrameworkHunit +, testFrameworkQuickcheck2, testFrameworkTh, text, textIcu +}: + +cabal.mkDerivation (self: { + pname = "snowball"; + version = "1.0.0.1"; + sha256 = "0fvxzm14ffjqq6n51bi5cmq5yrlggpkbb9rbbw522l6cjgv0apbx"; + buildDepends = [ text textIcu ]; + testDepends = [ + HUnit QuickCheck quickcheckInstances testFrameworkHunit + testFrameworkQuickcheck2 testFrameworkTh text + ]; + doCheck = false; + meta = { + homepage = "http://hub.darcs.net/dag/snowball"; + description = "Bindings to the Snowball library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/sqlite-simple/default.nix b/pkgs/development/libraries/haskell/sqlite-simple/default.nix index cc6204735d2c..d6d8d43bf24a 100644 --- a/pkgs/development/libraries/haskell/sqlite-simple/default.nix +++ b/pkgs/development/libraries/haskell/sqlite-simple/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "sqlite-simple"; - version = "0.4.5.1"; - sha256 = "0mmj6vk3yjvrbsggc5pyba5iprzvfhlsq1jfradpazgfc998j0ry"; + version = "0.4.5.2"; + sha256 = "04080ak589n0abisb6bzsmycrh3l8sh0ipcl1gcsvvfd4x83c9yi"; buildDepends = [ attoparsec blazeBuilder blazeTextual directSqlite text time transformers diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix index b53b310dafe0..412dfa1fcd21 100644 --- a/pkgs/development/libraries/haskell/stm-conduit/default.nix +++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "stm-conduit"; - version = "2.2.1.1"; - sha256 = "0rqn6xhqhaqiy0n2g46z58zzccq1i749p97aihrvjpikrz5kypka"; + version = "2.2.2"; + sha256 = "0a6yi35iw0p18asr6l8370kndmvim097vklayads6gbk74gg67cy"; buildDepends = [ async cereal cerealConduit conduit liftedAsync liftedBase monadControl monadLoops resourcet stm stmChans transformers diff --git a/pkgs/development/libraries/haskell/stripe/default.nix b/pkgs/development/libraries/haskell/stripe/default.nix index 1759143eb9bf..304cc3df8f70 100644 --- a/pkgs/development/libraries/haskell/stripe/default.nix +++ b/pkgs/development/libraries/haskell/stripe/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "stripe"; - version = "0.7.0"; - sha256 = "02kyxipifdaf08bk85cbgksvm3jn7i648h9afb3jfxqam5j4a7a0"; + version = "0.8.0"; + sha256 = "0bz932v7kcz2xsnmpx34ifqnf6kbgy7a7qd0dqnjqypc8g6kfl37"; buildDepends = [ aeson httpConduit httpTypes mtl text time unorderedContainers utf8String diff --git a/pkgs/development/libraries/haskell/tagged/default.nix b/pkgs/development/libraries/haskell/tagged/default.nix index ee808800c55f..d62033e8d16a 100644 --- a/pkgs/development/libraries/haskell/tagged/default.nix +++ b/pkgs/development/libraries/haskell/tagged/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tagged"; - version = "0.7"; - sha256 = "1g78hl6sib1mhg016gy3fqw78x72jsgqizsgim8a1pysjzq0y6zm"; + version = "0.7.1"; + sha256 = "036k5k44971fq6zdxc36kkic9ma93mcas7zk48i32s60iznnfc6v"; meta = { homepage = "http://github.com/ekmett/tagged"; description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments"; diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix index c77ee5f3a3a0..695d7edca625 100644 --- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix +++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "tasty-ant-xml"; - version = "1.0.0.5"; - sha256 = "00nlp627r5rgahs8zqjxjm68ijf4yvxd18fq67z2fr68alg4rl4j"; + version = "1.0.0.6"; + sha256 = "06ll7mj60iiskla2x53yncs0931b7dw4l0shxkhz88558gjzy7cj"; buildDepends = [ genericDeriving mtl reducers stm tagged tasty transformers xml ]; diff --git a/pkgs/development/libraries/haskell/tasty-golden/default.nix b/pkgs/development/libraries/haskell/tasty-golden/default.nix index 0b13bb0dcff6..f2fe7cfb0ad9 100644 --- a/pkgs/development/libraries/haskell/tasty-golden/default.nix +++ b/pkgs/development/libraries/haskell/tasty-golden/default.nix @@ -1,13 +1,13 @@ -{ cabal, filepath, mtl, optparseApplicative, tagged, tasty +{ cabal, deepseq, filepath, mtl, optparseApplicative, tagged, tasty , temporary }: cabal.mkDerivation (self: { pname = "tasty-golden"; - version = "2.2.0.2"; - sha256 = "0wy29ybb31g34gjyx95an3azh111crvrrdhbbihjj064xvf6ddmy"; + version = "2.2.1"; + sha256 = "1q3x3vmck1yq7bf96f3ah5nadahfxjd4wr3dfh3ls549yz40x668"; buildDepends = [ - filepath mtl optparseApplicative tagged tasty temporary + deepseq filepath mtl optparseApplicative tagged tasty temporary ]; meta = { homepage = "https://github.com/feuerbach/tasty-golden"; diff --git a/pkgs/development/libraries/haskell/tasty-hunit/default.nix b/pkgs/development/libraries/haskell/tasty-hunit/default.nix index dfcc5a4bdae9..44efd6080022 100644 --- a/pkgs/development/libraries/haskell/tasty-hunit/default.nix +++ b/pkgs/development/libraries/haskell/tasty-hunit/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tasty-hunit"; - version = "0.4.1"; - sha256 = "1ns4lbqjkgfgl00jg4sw2jz3r189z4k5fzwbii3g1bnskn28fapa"; + version = "0.8.0.1"; + sha256 = "0a84j8yjqp9x59dy5nbb50vnscb7iimgc60s8vz1p5721gqi62r5"; buildDepends = [ HUnit mtl tasty ]; meta = { description = "HUnit support for the Tasty test framework"; diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix index e18f3d7cd332..86ee3437cbb2 100644 --- a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix +++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tasty-quickcheck"; - version = "0.3.1"; - sha256 = "1rajvcq2a1yxdbb4kykvab1p9rnmsd2lgmlk61nd4fxvsvfj5gzn"; + version = "0.8"; + sha256 = "10d7chqrlp1fjphnkiykxd22g4mfp69kmihd705sxb0y0mrdfh8x"; buildDepends = [ QuickCheck random tagged tasty ]; meta = { description = "QuickCheck support for the Tasty test framework"; diff --git a/pkgs/development/libraries/haskell/tasty-rerun/default.nix b/pkgs/development/libraries/haskell/tasty-rerun/default.nix index 0b2623c5f67b..65d0c73473ad 100644 --- a/pkgs/development/libraries/haskell/tasty-rerun/default.nix +++ b/pkgs/development/libraries/haskell/tasty-rerun/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "tasty-rerun"; - version = "1.1.0"; - sha256 = "0nizjmz9z41r1vzxzld760x6ga4lqycwfazhddk570w3x2dzm6p2"; + version = "1.1.2"; + sha256 = "0vgx6l9yd21aiwivd6zp67rgjly1j2wwqdmx99p17prr430rm4id"; buildDepends = [ mtl optparseApplicative reducers split stm tagged tasty transformers diff --git a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix index 36a9c4280af9..40a30a6d24f5 100644 --- a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix +++ b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tasty-smallcheck"; - version = "0.2"; - sha256 = "1xw0l1bikwavyq7s8q71a92x87mg7z65mk32nn5qx0zxwqsfb5l4"; + version = "0.8"; + sha256 = "0c4ccmhql118j4dlvy5cmrnma454b0rdv1wq2ds6xhpdhx20h1br"; buildDepends = [ async smallcheck tagged tasty ]; meta = { homepage = "https://github.com/feuerbach/tasty"; diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix index 2cf62b7cefd7..706053a3e031 100644 --- a/pkgs/development/libraries/haskell/tasty/default.nix +++ b/pkgs/development/libraries/haskell/tasty/default.nix @@ -1,16 +1,17 @@ -{ cabal, ansiTerminal, deepseq, either, mtl, optparseApplicative -, regexTdfa, stm, tagged +{ cabal, ansiTerminal, async, deepseq, mtl, optparseApplicative +, regexTdfa, stm, tagged, unboundedDelays }: cabal.mkDerivation (self: { pname = "tasty"; - version = "0.7"; - sha256 = "0nwhbbm70v2drv6kzdz65wws7gn8ph6583xpb6dw8g4j9aa1shxd"; + version = "0.8.0.2"; + sha256 = "0xn0qc1d7bq8s7988x58snq5ipvmi7g87rg89r1l21yxl6a85zw5"; buildDepends = [ - ansiTerminal deepseq either mtl optparseApplicative regexTdfa stm - tagged + ansiTerminal async deepseq mtl optparseApplicative regexTdfa stm + tagged unboundedDelays ]; meta = { + homepage = "http://documentup.com/feuerbach/tasty"; description = "Modern and extensible testing framework"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/terminal-size/default.nix b/pkgs/development/libraries/haskell/terminal-size/default.nix new file mode 100644 index 000000000000..d33bc7d43173 --- /dev/null +++ b/pkgs/development/libraries/haskell/terminal-size/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "terminal-size"; + version = "0.2.1.0"; + sha256 = "0d41af1is3vdb1kgd8dk82fags86bgs67vkbzpdhjdwa3aimsxgn"; + meta = { + description = "Get terminal window height and width"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/text-format/default.nix b/pkgs/development/libraries/haskell/text-format/default.nix index b9507d7777ab..b478fb7c515d 100644 --- a/pkgs/development/libraries/haskell/text-format/default.nix +++ b/pkgs/development/libraries/haskell/text-format/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "text-format"; - version = "0.3.1.0"; - sha256 = "13k5a1kfmapd4yckm2vcrwz4vrrf32c2dpisdw0hyvzvmdib3n60"; + version = "0.3.1.1"; + sha256 = "02zfgzfjvkaxbma1h2gr95h10c8q9gyaadag41q579j68iv15qbd"; buildDepends = [ doubleConversion text time transformers ]; meta = { homepage = "https://github.com/bos/text-format"; diff --git a/pkgs/development/libraries/haskell/text/1.1.0.0.nix b/pkgs/development/libraries/haskell/text/1.1.0.1.nix similarity index 87% rename from pkgs/development/libraries/haskell/text/1.1.0.0.nix rename to pkgs/development/libraries/haskell/text/1.1.0.1.nix index 87a89c43be4e..eecb54f3c68f 100644 --- a/pkgs/development/libraries/haskell/text/1.1.0.0.nix +++ b/pkgs/development/libraries/haskell/text/1.1.0.1.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "text"; - version = "1.1.0.0"; - sha256 = "14mssz27f5ivhwcl9gvbw0s1mjh7hw9gviwxnimqiqzh4jlavwc0"; + version = "1.1.0.1"; + sha256 = "1f0zicvflfd17mr2h9s9idhi0215m2y208jbnh4fx1yj6snnvalw"; buildDepends = [ deepseq ]; testDepends = [ deepseq HUnit QuickCheck random testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/th-desugar/default.nix b/pkgs/development/libraries/haskell/th-desugar/default.nix index f3aa1628aae7..42ff1d78198a 100644 --- a/pkgs/development/libraries/haskell/th-desugar/default.nix +++ b/pkgs/development/libraries/haskell/th-desugar/default.nix @@ -1,10 +1,11 @@ -{ cabal, mtl, syb }: +{ cabal, hspec, HUnit, mtl, syb }: cabal.mkDerivation (self: { pname = "th-desugar"; - version = "1.2.1"; - sha256 = "12a8m1vzfbn728psaiqxwngmksrbybci3g7a47z04rjbsjf3cy4v"; + version = "1.3.0"; + sha256 = "1wfypk1hcxr2918qp63df5xlx00rqwnaa59mivnlqs558g4kjx6j"; buildDepends = [ mtl syb ]; + testDepends = [ hspec HUnit mtl syb ]; meta = { homepage = "http://www.cis.upenn.edu/~eir/packages/th-desugar"; description = "Functions to desugar Template Haskell"; diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix index 6f1a6b41bba3..08563c6f2c5d 100644 --- a/pkgs/development/libraries/haskell/thyme/default.nix +++ b/pkgs/development/libraries/haskell/thyme/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "thyme"; - version = "0.3.1.0"; - sha256 = "0dhnsqn6miiqnbpqln2vmkq7cbm8bz5jz1dwc1bif6dwl16fvhm6"; + version = "0.3.1.1"; + sha256 = "00c15zy7190mghpvrpwl0hp8w1mp386vvff8w2zdpgl792cvdby8"; buildDepends = [ aeson attoparsec deepseq lens QuickCheck random text time transformers vector vectorSpace diff --git a/pkgs/development/libraries/haskell/timezone-olson/default.nix b/pkgs/development/libraries/haskell/timezone-olson/default.nix index 4cce59f61658..6a0e81383f74 100644 --- a/pkgs/development/libraries/haskell/timezone-olson/default.nix +++ b/pkgs/development/libraries/haskell/timezone-olson/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "timezone-olson"; - version = "0.1.3"; - sha256 = "02x3wq03h2zjhxrcv6vnq9hrzggdvpnj7zj8rcrq4scf67q6h8gc"; + version = "0.1.4"; + sha256 = "1l5j6gqi9vlx7sifn7vv3by4z9ha3h6klfds4ywqv3dv0gh5725k"; buildDepends = [ binary extensibleExceptions time timezoneSeries ]; meta = { homepage = "http://projects.haskell.org/time-ng/"; diff --git a/pkgs/development/libraries/haskell/trifecta/default.nix b/pkgs/development/libraries/haskell/trifecta/default.nix index 84759406d000..d9a9a2a01c5a 100644 --- a/pkgs/development/libraries/haskell/trifecta/default.nix +++ b/pkgs/development/libraries/haskell/trifecta/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "trifecta"; - version = "1.4"; - sha256 = "1wz9rqd5nf1y4vpwn0vrbdlxdbrdp967p5ivpd0b2w5493m3mvax"; + version = "1.4.1"; + sha256 = "0w8x9n7n57y997iajm42z44nm846fj88shc04dffn1xif3jw5zfc"; buildDepends = [ ansiTerminal ansiWlPprint blazeBuilder blazeHtml blazeMarkup charset comonad deepseq fingertree hashable lens mtl parsers diff --git a/pkgs/development/libraries/haskell/type-eq/default.nix b/pkgs/development/libraries/haskell/type-eq/default.nix index ac97377c6077..55bc6b03a95b 100644 --- a/pkgs/development/libraries/haskell/type-eq/default.nix +++ b/pkgs/development/libraries/haskell/type-eq/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "type-eq"; - version = "0.4.1"; - sha256 = "0l8nkrdn1hs8ddhh85qm176f9v42fdck9iscn4swd92vj7bfci7k"; + version = "0.4.2"; + sha256 = "0nyx3lqgrnlz0l3p615ln2dglqd39jwlk91ybz7blzhq1gpgayar"; buildTools = [ cpphs ]; meta = { homepage = "http://github.com/glaebhoerl/type-eq"; diff --git a/pkgs/development/libraries/haskell/vado/default.nix b/pkgs/development/libraries/haskell/vado/default.nix new file mode 100644 index 000000000000..45e9524657a9 --- /dev/null +++ b/pkgs/development/libraries/haskell/vado/default.nix @@ -0,0 +1,17 @@ +{ cabal, attoparsec, filepath, QuickCheck, text }: + +cabal.mkDerivation (self: { + pname = "vado"; + version = "0.0.1"; + sha256 = "11b8glzzpzhm8cfw3vyvvvz3h0xid5r3prwhnvplajr7v3r562h2"; + isLibrary = true; + isExecutable = true; + buildDepends = [ attoparsec filepath text ]; + testDepends = [ attoparsec filepath QuickCheck text ]; + meta = { + homepage = "https://github.com/hamishmack/vado"; + description = "Runs commands on remote machines using ssh"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix new file mode 100644 index 000000000000..b27f61323a29 --- /dev/null +++ b/pkgs/development/libraries/haskell/vcsgui/default.nix @@ -0,0 +1,16 @@ +{ cabal, filepath, gtk3, MissingH, mtl, vcswrapper }: + +cabal.mkDerivation (self: { + pname = "vcsgui"; + version = "0.0.2"; + sha256 = "0kj06l9s4l791ffwdnh7j0nvjvgili18g2jl2ik81n28bzfyq1dx"; + isLibrary = true; + isExecutable = true; + buildDepends = [ filepath gtk3 MissingH mtl vcswrapper ]; + meta = { + homepage = "https://github.com/forste/haskellVCSGUI"; + description = "GUI library for source code management systems"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/vcswrapper/default.nix b/pkgs/development/libraries/haskell/vcswrapper/default.nix new file mode 100644 index 000000000000..33462522c29a --- /dev/null +++ b/pkgs/development/libraries/haskell/vcswrapper/default.nix @@ -0,0 +1,16 @@ +{ cabal, filepath, hxt, MissingH, mtl, parsec }: + +cabal.mkDerivation (self: { + pname = "vcswrapper"; + version = "0.0.3"; + sha256 = "04gmiiv461qh8fypkkiynipn5jsjqvywkj17ldq5wag4qaspx97x"; + isLibrary = true; + isExecutable = true; + buildDepends = [ filepath hxt MissingH mtl parsec ]; + meta = { + homepage = "https://github.com/forste/haskellVCSWrapper"; + description = "Wrapper for source code management systems"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/vector-space-points/default.nix b/pkgs/development/libraries/haskell/vector-space-points/default.nix index 2edb15beeda5..ca9218bf42c0 100644 --- a/pkgs/development/libraries/haskell/vector-space-points/default.nix +++ b/pkgs/development/libraries/haskell/vector-space-points/default.nix @@ -1,10 +1,10 @@ -{ cabal, newtype, vectorSpace }: +{ cabal, vectorSpace }: cabal.mkDerivation (self: { pname = "vector-space-points"; - version = "0.1.3"; - sha256 = "0bk2zrccf5bxh14dzhhv89mr755j801ziqyxgv69ksdyxh8hx2qg"; - buildDepends = [ newtype vectorSpace ]; + version = "0.2"; + sha256 = "05wczgvcqwqhcr4v0md4x5vybq6ns8rk6459yqyrc96kaig0sf2i"; + buildDepends = [ vectorSpace ]; meta = { description = "A type for points, as distinct from vectors"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix index 8f2c6ebb342c..412fd3f16e6c 100644 --- a/pkgs/development/libraries/haskell/wai-app-static/default.nix +++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "wai-app-static"; - version = "2.0.0.2"; - sha256 = "0d9afs50r08k9zgz7vvh7fvamcvhm8hf4qxca4w0xi7pcj1vql0r"; + version = "2.0.0.3"; + sha256 = "0anbmp6wjk1qba1skr08fkm5y9lm58kfghzcgzgx8hrid7w85fb7"; buildDepends = [ base64Bytestring blazeBuilder blazeHtml blazeMarkup cereal cryptoApi cryptoConduit cryptohashCryptoapi fileEmbed filepath diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix index f3d2dfbd0cdf..50e4d983d755 100644 --- a/pkgs/development/libraries/haskell/wai-extra/default.nix +++ b/pkgs/development/libraries/haskell/wai-extra/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "wai-extra"; - version = "2.0.3.3"; - sha256 = "11ma8pazvysvpiy8y7xfh7kpmsfiw94bd6vyyi3ji8q71rzjlf62"; + version = "2.1.0"; + sha256 = "14aj1c6i58jyg79y516sa2l39y4i7az3l5lp6fkxkgqgzl5dxs6c"; buildDepends = [ ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit caseInsensitive conduit dataDefault fastLogger httpTypes liftedBase diff --git a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix index 6612003fa2e6..9767f2d7750d 100644 --- a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix +++ b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "wai-handler-fastcgi"; - version = "2.0.0"; - sha256 = "1pqiqx1wq2iv705f8bd4sxmjmmkkxiw4g6a9dpwnawwb5n0d88nl"; + version = "2.0.0.1"; + sha256 = "14jsibsqfj6z5yqgdrh43aiqps1yldxkgn6fkj4i80zxk099nbxp"; buildDepends = [ wai waiExtra ]; extraLibraries = [ fcgi ]; meta = { diff --git a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix index 3ba78e162519..f25206e69acf 100644 --- a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix +++ b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "wai-handler-launch"; - version = "2.0.0"; - sha256 = "1z03c3hjkh4k6j5dsp4973f05rk2cgl7gazac4vdq4imwfzxj3lg"; + version = "2.0.1.1"; + sha256 = "10izbri1a8mjb2q4r1badw63qbp3vxnw5v2hzskq6911bckqkskc"; buildDepends = [ blazeBuilder blazeBuilderConduit conduit httpTypes transformers wai warp zlibConduit diff --git a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix index 859c75c39c3d..e496d5266db3 100644 --- a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix +++ b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.4.0.2"; sha256 = "0nw54h8baphjdwsd118g9j5w4g2mnb2hrny0n4ih4jlqlcqam3lf"; buildDepends = [ filepath httpTypes mtl text wai ]; + jailbreak = true; meta = { homepage = "https://github.com/scotty-web/scotty"; description = "WAI middleware that intercepts requests to static files"; diff --git a/pkgs/development/libraries/haskell/wai-test/default.nix b/pkgs/development/libraries/haskell/wai-test/default.nix index 9cae0a85d6c9..1d7b184d6dfd 100644 --- a/pkgs/development/libraries/haskell/wai-test/default.nix +++ b/pkgs/development/libraries/haskell/wai-test/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "wai-test"; - version = "2.0.0.1"; - sha256 = "1lk7i9kiawsn56f8w2nidmas6g94yq7diaprvkd7c52hjki5mla7"; + version = "2.0.0.2"; + sha256 = "0085whb8jav2zasmgi8z62anm6i509lc2w0988vqlcrds7rrknc8"; buildDepends = [ blazeBuilder blazeBuilderConduit caseInsensitive conduit cookie httpTypes HUnit network text transformers wai diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix new file mode 100644 index 000000000000..4b4038fd4111 --- /dev/null +++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix @@ -0,0 +1,22 @@ +{ cabal, blazeBuilder, caseInsensitive, conduit, fileEmbed +, httpTypes, ioStreams, network, text, transformers, wai +, waiAppStatic, warp, websockets +}: + +cabal.mkDerivation (self: { + pname = "wai-websockets"; + version = "2.1.0"; + sha256 = "094imqhkn4ghifgp2qhs4hnby3zzdd84fhmyvvy7igcpz1rmll7a"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + blazeBuilder caseInsensitive conduit fileEmbed httpTypes ioStreams + network text transformers wai waiAppStatic warp websockets + ]; + meta = { + homepage = "http://github.com/yesodweb/wai"; + description = "Provide a bridge betweeen WAI and the websockets package"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix index 4273e408a7f7..f17b999f1497 100644 --- a/pkgs/development/libraries/haskell/wai/default.nix +++ b/pkgs/development/libraries/haskell/wai/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "wai"; - version = "2.0.0"; - sha256 = "11s60v9pw8jl9w950z81gkxci7djrdibi8hxrw6j1v8az40qqiwk"; + version = "2.1.0"; + sha256 = "0n3dgm1pwv9baxrx0qh0iq1mh9i7ihhki3h4ks5k74d37w7bwcjy"; buildDepends = [ blazeBuilder conduit httpTypes network text transformers vault ]; diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix index c93352cf65c7..c21e3b0d4328 100644 --- a/pkgs/development/libraries/haskell/warp-tls/default.nix +++ b/pkgs/development/libraries/haskell/warp-tls/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "warp-tls"; - version = "2.0.2"; - sha256 = "02wj9hwxd0x49g7kl68h3r4b9hc29yqfjagyybnr42xzwl6bdpyg"; + version = "2.0.3.1"; + sha256 = "1cyf4syblisi5hana7h2g72yyrjln40v3b6jq2253nglqip79l5w"; buildDepends = [ conduit cprngAes dataDefaultClass network networkConduit tls transformers wai warp diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix index f5b0f6835538..7ebc7af36270 100644 --- a/pkgs/development/libraries/haskell/warp/default.nix +++ b/pkgs/development/libraries/haskell/warp/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "warp"; - version = "2.0.3.3"; - sha256 = "02wh8jf8pcjb03xxdim9q92vr4jk9jibqqzl8kvccqlqfi5giq0f"; + version = "2.1.1"; + sha256 = "1nldm0pq1q5m91mhss4h23dxdqwqmvfdmcpq5grc1rqjb88mgm25"; buildDepends = [ blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable httpDate httpTypes liftedBase network networkConduit simpleSendfile diff --git a/pkgs/development/libraries/haskell/x509/default.nix b/pkgs/development/libraries/haskell/x509/default.nix index 24ebf7462026..d8fd7030f14f 100644 --- a/pkgs/development/libraries/haskell/x509/default.nix +++ b/pkgs/development/libraries/haskell/x509/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "x509"; - version = "1.4.10"; - sha256 = "1xsq0g7f5ki6l9yx604j6bsl1k7s3p1xr6hh2086hsgl9fp1f9ap"; + version = "1.4.11"; + sha256 = "1ax56jps640cj1swy08y4k75vx908ckwkg2hi7y2s3bhnvpz49ga"; buildDepends = [ asn1Encoding asn1Parse asn1Types cryptohash cryptoPubkeyTypes filepath mtl pem time diff --git a/pkgs/development/libraries/haskell/xss-sanitize/default.nix b/pkgs/development/libraries/haskell/xss-sanitize/default.nix index fb0bd78917ce..e92d761edcbc 100644 --- a/pkgs/development/libraries/haskell/xss-sanitize/default.nix +++ b/pkgs/development/libraries/haskell/xss-sanitize/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "xss-sanitize"; - version = "0.3.4.2"; - sha256 = "1sx44vkixxydv75cds5g9si7hzm2hdl395p3bdycq2zky0mnxwra"; + version = "0.3.5"; + sha256 = "13iggcivpvzlzlx0n1pb6lyw55lc7d7hzihf1llphq6lmdy6l49s"; buildDepends = [ attoparsec cssText network tagsoup text utf8String ]; diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix index 3831cac76e43..6857b6f02d76 100644 --- a/pkgs/development/libraries/haskell/yesod-auth/default.nix +++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "yesod-auth"; - version = "1.2.6"; - sha256 = "1w7svh49zqdrw1qp8v7df6y6mvkf40cn27k5ckxjyfin00rz0x31"; + version = "1.2.7"; + sha256 = "0arszd7nk7rwm0xnjb2vqk2zf7lcwyw1ncxyxdmdxxvmh28lymwk"; buildDepends = [ aeson authenticate blazeHtml blazeMarkup dataDefault emailValidate fileEmbed hamlet httpConduit httpTypes liftedBase mimeMail network diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix index 59eeac6e3cfc..50071e8cffe3 100644 --- a/pkgs/development/libraries/haskell/yesod-bin/default.nix +++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix @@ -1,26 +1,26 @@ { cabal, attoparsec, base64Bytestring, blazeBuilder, Cabal, conduit -, dataDefaultClass, fileEmbed, filepath, fsnotify, ghcPaths -, httpConduit, httpReverseProxy, httpTypes, liftedBase, network -, networkConduit, optparseApplicative, parsec, projectTemplate -, resourcet, shakespeare, shakespeareCss, shakespeareJs -, shakespeareText, split, systemFileio, systemFilepath, tar, text -, time, transformers, unixCompat, unorderedContainers, wai, warp -, yaml, zlib +, dataDefaultClass, fileEmbed, filepath, filesystemConduit +, fsnotify, ghcPaths, httpConduit, httpReverseProxy, httpTypes +, liftedBase, network, networkConduit, optparseApplicative, parsec +, projectTemplate, resourcet, shakespeare, shakespeareCss +, shakespeareJs, shakespeareText, split, systemFileio +, systemFilepath, tar, text, time, transformers, unixCompat +, unorderedContainers, wai, warp, yaml, zlib }: cabal.mkDerivation (self: { pname = "yesod-bin"; - version = "1.2.6.1"; - sha256 = "0w3qar315w96139j16fq4py4qs83bhm6pab9pzjbx8h451sqjarh"; + version = "1.2.7.1"; + sha256 = "1lbnn7lzgpw0xsbnlax41q5hqb1bv9irmncgjvv18y8mpf5zcncs"; isLibrary = false; isExecutable = true; buildDepends = [ attoparsec base64Bytestring blazeBuilder Cabal conduit - dataDefaultClass fileEmbed filepath fsnotify ghcPaths httpConduit - httpReverseProxy httpTypes liftedBase network networkConduit - optparseApplicative parsec projectTemplate resourcet shakespeare - shakespeareCss shakespeareJs shakespeareText split systemFileio - systemFilepath tar text time transformers unixCompat + dataDefaultClass fileEmbed filepath filesystemConduit fsnotify + ghcPaths httpConduit httpReverseProxy httpTypes liftedBase network + networkConduit optparseApplicative parsec projectTemplate resourcet + shakespeare shakespeareCss shakespeareJs shakespeareText split + systemFileio systemFilepath tar text time transformers unixCompat unorderedContainers wai warp yaml zlib ]; meta = { diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index 5eaaa316ecfa..bd1116267fa1 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -1,17 +1,17 @@ -{ cabal, aeson, attoparsecConduit, blazeBuilder, blazeHtml +{ cabal, aeson, async, attoparsecConduit, blazeBuilder, blazeHtml , blazeMarkup, caseInsensitive, cereal, clientsession, conduit , cookie, dataDefault, failure, fastLogger, hamlet, hspec -, httpTypes, HUnit, liftedBase, monadControl, monadLogger, parsec -, pathPieces, QuickCheck, random, resourcet, safe, shakespeare -, shakespeareCss, shakespeareI18n, shakespeareJs, text, time -, transformers, transformersBase, unixCompat, vector, wai, waiExtra -, waiLogger, waiTest, warp, yesodRoutes +, httpTypes, HUnit, liftedBase, monadControl, monadLogger, network +, networkConduit, parsec, pathPieces, QuickCheck, random, resourcet +, safe, shakespeare, shakespeareCss, shakespeareI18n, shakespeareJs +, text, time, transformers, transformersBase, unixCompat, vector +, wai, waiExtra, waiLogger, waiTest, warp, yesodRoutes }: cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.2.6.7"; - sha256 = "09vxi7fkiakr58ifa6ribsqq1p6fmqclznj38vhl5rdfalm7yivg"; + version = "1.2.7"; + sha256 = "1gkpx0d7hyvn45254aj40iy4k0bf3kkrvmxnw3q1mvqc3k1kdxqn"; buildDepends = [ aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit cookie dataDefault @@ -22,9 +22,9 @@ cabal.mkDerivation (self: { yesodRoutes ]; testDepends = [ - blazeBuilder conduit hamlet hspec httpTypes HUnit liftedBase - QuickCheck random resourcet shakespeareCss shakespeareJs text - transformers wai waiTest + async blazeBuilder conduit hamlet hspec httpTypes HUnit liftedBase + network networkConduit QuickCheck random resourcet shakespeareCss + shakespeareJs text transformers wai waiTest ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix index 7a7d1f16e05b..a42e0a50bc40 100644 --- a/pkgs/development/libraries/haskell/yesod-form/default.nix +++ b/pkgs/development/libraries/haskell/yesod-form/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "yesod-form"; - version = "1.3.5.2"; - sha256 = "0ppzj04c5y02k2daw52g2pkzf85mhsg7n4hbkm05xk1crzbrbcxj"; + version = "1.3.7"; + sha256 = "01fv3c5db702nm9dk5ynvn5mf9vc4a1rkjn31zlw260jlgqy4vsn"; buildDepends = [ aeson attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi dataDefault emailValidate hamlet network persistent resourcet diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix index 2d18fcd1f83b..d76de048babd 100644 --- a/pkgs/development/libraries/haskell/zip-archive/default.nix +++ b/pkgs/development/libraries/haskell/zip-archive/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "zip-archive"; - version = "0.2.1"; - sha256 = "1w58fg3kzbsgscadwx3k34xbq7d7hzghlv4mxyglaxn3qdcd6w8b"; + version = "0.2.2"; + sha256 = "10br64sn7wmssimxssqmjd43br8y63l5szn2wg30d957a9zgdk60"; isLibrary = true; isExecutable = true; buildDepends = [ binary digest filepath mtl text time zlib ]; diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix index bfe10490fc7f..29e15e08f696 100644 --- a/pkgs/development/libraries/itk/default.nix +++ b/pkgs/development/libraries/itk/default.nix @@ -8,7 +8,12 @@ stdenv.mkDerivation rec { sha256 = "05z49sw612cbyiaghcsda0xylrkf06jh81ql79si5632w1hpgbd9"; }; - cmakeFlags = [ "-DBUILD_TESTING=OFF" "-DBUILD_EXAMPLES=OFF" ]; + cmakeFlags = [ + "-DBUILD_TESTING=OFF" + "-DBUILD_EXAMPLES=OFF" + "-DBUILD_SHARED_LIBS=ON" + "-DCMAKE_CXX_FLAGS=-fPIC" + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/kdevplatform/default.nix b/pkgs/development/libraries/kdevplatform/default.nix index 2ff2fac296d8..6f874450fc58 100644 --- a/pkgs/development/libraries/kdevplatform/default.nix +++ b/pkgs/development/libraries/kdevplatform/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, perl, phonon, - gettext, pkgconfig, apr, aprutil, boost, qjson }: + gettext, pkgconfig, apr, aprutil, boost, qjson, grantlee }: stdenv.mkDerivation rec { - name = "kdevplatform-1.3.1"; + name = "kdevplatform-1.6.0"; src = fetchurl { - url = "mirror://kde/stable/kdevelop/4.3.1/src/${name}.tar.bz2"; - sha256 = "1fiqwabw5ilhw1jwvvr743dym12y3kxrs3zlqahz57yncdsglcl6"; + url = "mirror://kde/stable/kdevelop/4.6.0/src/${name}.tar.xz"; + sha256 = "cdf7c88ca8860258f46e41d2107c826a307212fd041345bee54fbd70c9794f80"; }; propagatedBuildInputs = [ kdelibs qt4 phonon ]; - buildInputs = [ apr aprutil subversion boost qjson ]; + buildInputs = [ apr aprutil subversion boost qjson grantlee ]; nativeBuildInputs = [ cmake automoc4 gettext pkgconfig ]; diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix index 20e2cd2218ff..0cc875e2656f 100644 --- a/pkgs/development/libraries/keybinder/default.nix +++ b/pkgs/development/libraries/keybinder/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome_common -, gtk_doc, gtk2, python, pygtk, pygobject, lua +{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3, pygobject3, pygtk +, gtk_doc, gtk2, python, pygobject, lua, libX11, libXext, libXrender, gobjectIntrospection }: stdenv.mkDerivation rec { @@ -13,8 +13,8 @@ stdenv.mkDerivation rec { }; buildInputs = [ - autoconf automake libtool pkgconfig gnome_common gtk_doc gtk2 - python pygtk pygobject lua + autoconf automake libtool pkgconfig gnome3.gnome_common gtk_doc gnome3.gtk3 + python pygobject3 pygtk lua libX11 libXext libXrender gobjectIntrospection gtk2 ]; preConfigure = '' diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index c99059bf034f..04d51edf5310 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -26,8 +26,8 @@ with { inherit (stdenv.lib) optional optionals; }; let result = { - libav_9 = libavFun "9.11" "1ad7vyxp0w8dw6ngc16fz0ngsjlgk6h8bpphghqia5sqkbl10ca3"; - libav_0_8 = libavFun "0.8.10" "0sxmj4qsd3ljygvdjz7ly46nf7sqmaqka4hx65b1jdji12al1djc"; + libav_9 = libavFun "9.12" "1wm0nf12c1p138y54jh71mvbpikrpk43zc9m2qhpjm9pgnagizk0"; + libav_0_8 = libavFun "0.8.11" "0nhm0mzz2aj78sgmw9xf20a1mlgig78cv1nyhx4zrq7nvgqf8d2r"; }; libavFun = version : sha256 : stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/libconfig/default.nix b/pkgs/development/libraries/libconfig/default.nix index 70a882ff15c1..d6c238ff1793 100644 --- a/pkgs/development/libraries/libconfig/default.nix +++ b/pkgs/development/libraries/libconfig/default.nix @@ -14,5 +14,6 @@ stdenv.mkDerivation rec { description = "a simple library for processing structured configuration files"; license = licenses.lgpl3; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libgig/default.nix b/pkgs/development/libraries/libgig/default.nix index 6129ef42f3dc..8975c4fa0743 100644 --- a/pkgs/development/libraries/libgig/default.nix +++ b/pkgs/development/libraries/libgig/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { description = "Gigasampler file access library"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix index af985ac91fcd..afab21bc4f09 100644 --- a/pkgs/development/libraries/libgphoto2/default.nix +++ b/pkgs/development/libraries/libgphoto2/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "0f1818l1vs5fbmrihzyv3qasddbqi3r01jik5crrxddwalsi2bd3"; + sha256 = "18nd2zkgazphgkfdhf8ps7knda8vdnhrq9c02989279x2qxjsci9"; }; nativeBuildInputs = [ pkgconfig gettext ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { MTP, and other vendor specific protocols for controlling and transferring data from digital cameras. ''; - version = "2.5.2"; + version = "2.5.3.1"; # XXX: the homepage claims LGPL, but several src files are lgpl21Plus license = stdenv.lib.licenses.lgpl21Plus; platforms = with stdenv.lib.platforms; unix; diff --git a/pkgs/development/libraries/libktorrent/default.nix b/pkgs/development/libraries/libktorrent/default.nix index a452cb7609e1..db07775d45ed 100644 --- a/pkgs/development/libraries/libktorrent/default.nix +++ b/pkgs/development/libraries/libktorrent/default.nix @@ -2,8 +2,8 @@ , phonon, libgcrypt }: let - mp_ = "2.1"; - version = "1.${mp_}-2"; + mp_ = "3.1"; + version = "1.${mp_}"; version4 = "4.${mp_}"; in stdenv.mkDerivation rec { @@ -11,8 +11,8 @@ stdenv.mkDerivation rec { pname = "libktorrent"; src = fetchurl { - url = "http://ktorrent.org/downloads/${version4}/${name}.tar.bz2"; - sha256 = "1b4ibkba27ivvjsh5s93xwlcgzvvwsgl6mcd8g96d1al05n2ccw9"; + url = "${meta.homepage}/downloads/${version4}/${name}.tar.bz2"; + sha256 = "2fe11ccb4bf2028c3da11e52cde890f1b3a90560e548eac89a4f8e1558b09725"; }; nativeBuildInputs = [ cmake automoc4 gettext ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { description = "A BiTtorrent library used by KTorrent"; - homepage = http://ktorrent.org; + homepage = http://ktorrent.pwsp.net; inherit (kdelibs.meta) platforms; }; } diff --git a/pkgs/development/libraries/liblscp/default.nix b/pkgs/development/libraries/liblscp/default.nix index 33731e5d7557..a1cbf9250c49 100644 --- a/pkgs/development/libraries/liblscp/default.nix +++ b/pkgs/development/libraries/liblscp/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { description = "LinuxSampler Control Protocol (LSCP) wrapper library"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix index 031e2aa1a914..094483da660a 100644 --- a/pkgs/development/libraries/libpng/12.nix +++ b/pkgs/development/libraries/libpng/12.nix @@ -3,11 +3,11 @@ assert zlib != null; stdenv.mkDerivation rec { - name = "libpng-1.2.50"; + name = "libpng-1.2.51"; src = fetchurl { url = "mirror://sourceforge/libpng/${name}.tar.xz"; - sha256 = "1rz8v3cvy1zzpagxn91lj8swb9vf75rz3yyi18v7zb4jihgzh927"; + sha256 = "0jkdlmnvn72jwm94dp98pznm9fy7alvcr2zpfh2dgbr2n09vimy7"; }; propagatedBuildInputs = [ zlib ]; diff --git a/pkgs/development/libraries/libpng/15.nix b/pkgs/development/libraries/libpng/15.nix index 8f62ef1e8dc9..153517986334 100644 --- a/pkgs/development/libraries/libpng/15.nix +++ b/pkgs/development/libraries/libpng/15.nix @@ -3,11 +3,11 @@ assert zlib != null; stdenv.mkDerivation rec { - name = "libpng-1.5.15"; + name = "libpng-1.5.18"; src = fetchurl { url = "mirror://sourceforge/libpng/${name}.tar.xz"; - sha256 = "1iaplghmv5qhd4dgwfymhp42sh27vz6s2107jk698xm57z2v9hwm"; + sha256 = "119m71p60iq3yn2n8ckl4j4cxvbpddj6sgdpa6g05jzyg7vw54y0"; }; propagatedBuildInputs = [ zlib ]; diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index c1655bf7f2bd..52aaeaf93a46 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -3,11 +3,11 @@ assert zlib != null; let - version = "1.6.9"; - sha256 = "0ji7488fp08b3xa6605zzghzpxawkhhg6jbqzrdw2y38zrvadqzx"; + version = "1.6.10"; + sha256 = "0mjsfxc18478y1jxrs3snmx7mvckmghvki9gfhmhl49n1vyz00s0"; patch_src = fetchurl { url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz"; - sha256 = "0l61y6b03avyxrx8c72x8m73j3b8mj0wx80wdl6w82wgnr2fw4x1"; + sha256 = "0512q27c26ajzqm2qzmmc7q1frj7cjylls2hxy3y3wg2r6ryizw8"; }; whenPatched = stdenv.lib.optionalString apngSupport; diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index c34934400d01..d883f1da9caa 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -4,47 +4,57 @@ , dnsmasq }: -let version = "1.2.0"; in +let version = "1.2.2"; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "libvirt-${version}"; src = fetchurl { - url = "http://libvirt.org/sources/libvirt-${version}.tar.gz"; - sha256 = "1p9dn96j8qqp20lr0kvc7zyjjcpgsa9k41slyk2jmnv1g2p7ird8"; + url = "http://libvirt.org/sources/${name}.tar.gz"; + sha256 = "1hxvgh2fp2fk3wva7fnbz2pk6g5217wrmf9xwikiphn50zipg0x4"; }; - buildInputs = - [ pkgconfig libxml2 gnutls devicemapper perl python readline lvm2 - utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper - libcap_ng - ]; + buildInputs = [ + pkgconfig libxml2 gnutls devicemapper perl python readline lvm2 + utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper + libcap_ng + ]; - preConfigure = - '' - PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH - patchShebangs . # fixes /usr/bin/python references - ''; + preConfigure = '' + PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH + patchShebangs . # fixes /usr/bin/python references + ''; - configureFlags = "--localstatedir=/var --sysconfdir=/etc --with-init-script=redhat --without-macvtap"; + configureFlags = [ + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-init-script=redhat" + "--without-macvtap" + ]; - installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc"; + installFlags = [ + "localstatedir=$(TMPDIR)/var" + "sysconfdir=$(out)/etc" + ]; - postInstall = - '' - substituteInPlace $out/libexec/libvirt-guests.sh \ - --replace "$out/bin" "${gettext}/bin" - wrapProgram $out/sbin/libvirtd \ - --prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin - ''; + postInstall = '' + substituteInPlace $out/libexec/libvirt-guests.sh \ + --replace "$out/bin" "${gettext}/bin" + wrapProgram $out/sbin/libvirtd \ + --prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin + ''; enableParallelBuilding = true; + NIX_CFLAGS_COMPILE = "-fno-stack-protector"; - meta = { + meta = with stdenv.lib; { homepage = http://libvirt.org/; - description = "A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes)"; - license = "LGPLv2+"; - platforms = stdenv.lib.platforms.linux; + description = '' + A toolkit to interact with the virtualization capabilities of recent + versions of Linux (and other OSes) + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix index f71c52e670bf..ab598f47a52d 100644 --- a/pkgs/development/libraries/pangomm/default.nix +++ b/pkgs/development/libraries/pangomm/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "C++ interface to the Pango text rendering library"; homepage = http://www.pango.org/; - license = with licenses; [ lgpl2 lgpl21 ]; + # TODO license = with licenses; [ lgpl2 lgpl21 ]; maintainers = with maintainers; [ lovek323 raskin ]; platforms = platforms.unix; diff --git a/pkgs/development/libraries/readline/readline6.3.nix b/pkgs/development/libraries/readline/readline6.3.nix new file mode 100644 index 000000000000..2f99b9d72183 --- /dev/null +++ b/pkgs/development/libraries/readline/readline6.3.nix @@ -0,0 +1,49 @@ +{ fetchurl, stdenv, ncurses }: + +stdenv.mkDerivation (rec { + name = "readline-6.3"; + + src = fetchurl { + url = "mirror://gnu/readline/${name}.tar.gz"; + sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn"; + }; + + propagatedBuildInputs = [ncurses]; + + patchFlags = "-p0"; + + patches = + [ ./link-against-ncurses.patch ]; + + meta = { + description = "GNU Readline, a library for interactive line editing"; + + longDescription = '' + The GNU Readline library provides a set of functions for use by + applications that allow users to edit command lines as they are + typed in. Both Emacs and vi editing modes are available. The + Readline library includes additional functions to maintain a + list of previously-entered command lines, to recall and perhaps + reedit those lines, and perform csh-like history expansion on + previous commands. + + The history facilites are also placed into a separate library, + the History library, as part of the build process. The History + library may be used without Readline in applications which + desire its capabilities. + ''; + + homepage = http://savannah.gnu.org/projects/readline/; + + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} + +// + +# Don't run the native `strip' when cross-compiling. +(if (stdenv ? cross) + then { dontStrip = true; } + else { })) diff --git a/pkgs/development/libraries/ruby_ncursesw_sup/default.nix b/pkgs/development/libraries/ruby_ncursesw_sup/default.nix index 67041ad06078..8d55bafeb20d 100644 --- a/pkgs/development/libraries/ruby_ncursesw_sup/default.nix +++ b/pkgs/development/libraries/ruby_ncursesw_sup/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, ncurses, ruby, rubygems }: stdenv.mkDerivation rec { - name = ''ncursesw-sup-afd962b9c06108ff0643e98593c5605314d76917''; + name = "ncursesw-sup-${version}"; + version = "1.4.6"; src = fetchurl { - url = "https://github.com/sup-heliotrope/ncursesw-ruby/archive/afd962b9c06108ff0643e98593c5605314d76917.tar.gz"; - sha256 = "13i286p4bm8zqg9xh96a1dg7wkywj9m6975gbh3w43d3rmfc1h6a"; + url = "https://github.com/sup-heliotrope/ncursesw-ruby/archive/v${version}.tar.gz"; + sha256 = "1fzmj5kqh2aql7r7jys8cyf7mb78kz71yc4a6gh74h9s8pybyhh7"; }; meta = { @@ -32,12 +33,12 @@ stdenv.mkDerivation rec { # For some reason, the installation phase doesn't work with the default # make install command run by gem (we'll fix it and do it ourselves later) gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \ - --bindir "$out/bin" --no-rdoc --no-ri ncursesw-sup-1.3.1.2.gem || true + --bindir "$out/bin" --no-rdoc --no-ri ncursesw-${version}.gem || true # Needed for ruby to recognise the gem cp ncursesw.gemspec "$out/${ruby.gemPath}/specifications" - cd "$out/${ruby.gemPath}/gems/ncursesw-sup-1.3.1.2" + cd "$out/${ruby.gemPath}/gems/ncursesw-${version}" mkdir src mv lib src sed -i "s/srcdir = ./srcdir = src/" Makefile diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix index 63733a35b204..2fd5c9ad493d 100644 --- a/pkgs/development/libraries/serd/default.nix +++ b/pkgs/development/libraries/serd/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix index 0f2326420cbb..8f122cb699ac 100644 --- a/pkgs/development/libraries/sord/default.nix +++ b/pkgs/development/libraries/sord/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A lightweight C library for storing RDF data in memory"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/telepathy/farstream/default.nix b/pkgs/development/libraries/telepathy/farstream/default.nix index e41bd9fdb02c..a5185689ee0a 100644 --- a/pkgs/development/libraries/telepathy/farstream/default.nix +++ b/pkgs/development/libraries/telepathy/farstream/default.nix @@ -2,12 +2,12 @@ , pkgconfig, libxslt, python, gstreamer, gst_python, pygobject }: stdenv.mkDerivation rec { - name = "${pname}-0.6.0"; + name = "${pname}-0.6.1"; pname = "telepathy-farstream"; src = fetchurl { url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz"; - sha256 = "04v414jij2ba71krk7vh4avsz07sfp5w38dmvjwig5isdygy0905"; + sha256 = "0ia8nldxxan1cvplr62aicjhfcrm27s3qyk0x46c8q0fmqvnzlm3"; }; buildInputs = [ gst_plugins_base gst_python pygobject ]; diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix index 516ebc5f2736..78d2d520050a 100644 --- a/pkgs/development/libraries/telepathy/glib/default.nix +++ b/pkgs/development/libraries/telepathy/glib/default.nix @@ -2,11 +2,11 @@ , gobjectIntrospection, valaSupport ? true, vala }: stdenv.mkDerivation rec { - name = "telepathy-glib-0.22.0"; + name = "telepathy-glib-0.22.1"; src = fetchurl { url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz"; - sha256 = "0mqrq2azw70rm50vy21acfnzn8mmh0w7dxh87mwr1lyk0jn1n232"; + sha256 = "0vf2drh7g55nxyd0mxyn9sf99m981dagnvv9yc3q9f4k8x092a78"; }; configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings"; diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix index 2b555db32821..e1129d25ef4e 100644 --- a/pkgs/development/libraries/thrift/default.nix +++ b/pkgs/development/libraries/thrift/default.nix @@ -1,5 +1,6 @@ -{ stdenv, fetchgit, boost, zlib, libevent, openssl, python, automake, autoconf, -libtool, pkgconfig, bison, flex }: +{ stdenv, fetchgit, boost, zlib, libevent, openssl, python, automake, autoconf +, libtool, pkgconfig, bison, flex +}: stdenv.mkDerivation { name = "thrift-0.9.1"; @@ -13,14 +14,23 @@ stdenv.mkDerivation { }; enableParallelBuilding = true; - buildInputs = [ boost zlib libevent openssl python automake autoconf libtool - pkgconfig bison flex ]; + + # Workaround to make the python wrapper not drop this package: + # pythonFull.override { extraLibs = [ thrift ]; } + pythonPath = []; + + buildInputs = [ + boost zlib libevent openssl python automake autoconf libtool pkgconfig + bison flex + ]; preConfigure = "sh bootstrap.sh; export PY_PREFIX=$out"; - meta = { - homepage = http://thrift.apache.org/; - license = "ASL2.0"; + meta = with stdenv.lib; { description = "Library for scalable cross-language services"; + homepage = http://thrift.apache.org/; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix index 5130abc9a963..97251e15c497 100644 --- a/pkgs/development/libraries/vigra/default.nix +++ b/pkgs/development/libraries/vigra/default.nix @@ -4,7 +4,10 @@ stdenv.mkDerivation rec { name = "vigra-1.9.0"; src = fetchurl { - url = "${meta.homepage}/${name}-src.tar.gz"; + urls = [ + "${meta.homepage}/${name}-src.tar.gz" + "${meta.homepage}-old-versions/${name}-src.tar.gz" + ]; sha256 = "00fg64da6dj9k42d90dz6y7x91xw1xqppcla14im74m4afswrgcg"; }; @@ -17,7 +20,7 @@ stdenv.mkDerivation rec { meta = { description = "Novel computer vision C++ library with customizable algorithms and data structures"; - homepage = http://hci.iwr.uni-heidelberg.de/vigra/; + homepage = http://hci.iwr.uni-heidelberg.de/vigra; license = "MIT"; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix index 6c80cdae3e26..18b76bc3bbdf 100644 --- a/pkgs/development/mobile/titaniumenv/default.nix +++ b/pkgs/development/mobile/titaniumenv/default.nix @@ -29,7 +29,7 @@ rec { titaniumsdk = let titaniumSdkFile = if tiVersion == "3.1.4.GA" then ./titaniumsdk-3.1.nix - else if tiVersion == "3.2.1.GA" then ./titaniumsdk-3.2.nix + else if tiVersion == "3.2.2.GA" then ./titaniumsdk-3.2.nix else throw "Titanium version not supported: "+tiVersion; in import titaniumSdkFile { diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix index c9f32f8bb6b1..b81fcd41bcb9 100644 --- a/pkgs/development/mobile/titaniumenv/examples/default.nix +++ b/pkgs/development/mobile/titaniumenv/examples/default.nix @@ -1,7 +1,7 @@ { nixpkgs ? , systems ? [ "x86_64-linux" "x86_64-darwin" ] , xcodeVersion ? "5.0" -, tiVersion ? "3.2.1.GA" +, tiVersion ? "3.2.2.GA" , rename ? false , newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "" }: diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix index 96428f4a99bc..1f0d53e99fe5 100644 --- a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix +++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix @@ -1,14 +1,14 @@ {stdenv, fetchurl, unzip, makeWrapper, python, jdk}: stdenv.mkDerivation { - name = "mobilesdk-3.2.1.v20140206170116"; + name = "mobilesdk-3.2.2.v20140305122111"; src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl { - url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_2_X/mobilesdk-3.2.1.v20140206170116-linux.zip; - sha1 = "89955d31d48875aca64dd0131baac5ed82abcfc9"; + url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_2_X/mobilesdk-3.2.2.v20140305122111-linux.zip; + sha1 = "12dc1bfe8dd73db0650a235492f5f50c7b816d69"; } else if stdenv.system == "x86_64-darwin" then fetchurl { - url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_2_X/mobilesdk-3.2.1.v20140206170116-osx.zip; - sha1 = "06d9338c619b787be83baf3c0d93748b0e430182"; + url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_2_X/mobilesdk-3.2.2.v20140305122111-osx.zip; + sha1 = "9875b59faf0ab92e8996b58476466405ed60f6e2"; } else throw "Platform: ${stdenv.system} not supported!"; @@ -28,8 +28,8 @@ stdenv.mkDerivation { # Rename ugly version number cd mobilesdk/* - mv 3.2.1.v20140206170116 3.2.1.GA - cd 3.2.1.GA + mv 3.2.2.v20140305122111 3.2.2.GA + cd 3.2.2.GA # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that # Yes, I know it's nasty :-) diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix index 3ecf2ae46994..ac7b8adfd8ca 100644 --- a/pkgs/development/ocaml-modules/batteries/default.nix +++ b/pkgs/development/ocaml-modules/batteries/default.nix @@ -1,32 +1,18 @@ {stdenv, fetchurl, ocaml, findlib, camomile, ounit}: -let - ocaml_version = (builtins.parseDrvName ocaml.name).version; -in - stdenv.mkDerivation { - name = "ocaml-batteries-1.4.1"; + name = "ocaml-batteries-2.2.0"; src = fetchurl { - url = http://forge.ocamlcore.org/frs/download.php/684/batteries-1.4.1.tar.gz; - sha256 = "bdca7deba290d83c66c0a5001da52b2d7f2af58b7b7e7d9303d4363aaafe9c30"; + url = http://forge.ocamlcore.org/frs/download.php/1363/batteries-2.2.tar.gz; + sha256 = "0z4wg357fzz7cnarjsrrdnpmxw8mxcj10fp67dm3bnn0l3zkjwbs"; }; buildInputs = [ocaml findlib camomile ounit]; - patchPhase = '' - substituteInPlace Makefile --replace '/bin/echo -n' echo - ''; - configurePhase = "true"; # Skip configure - preInstall = '' - mkdir -p "$out/lib/ocaml/${ocaml_version}/site-lib" - ''; - - doCheck = true; - - checkTarget = "test"; + createFindlibDestdir = true; meta = { homepage = http://batteries.forge.ocamlcore.org/; @@ -36,7 +22,7 @@ stdenv.mkDerivation { and comprehensive development platform for the OCaml programming language. ''; - license = "LGPL"; + license = stdenv.lib.licenses.lgpl21; platforms = ocaml.meta.platforms; maintainers = [ stdenv.lib.maintainers.z77z diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix index 41620b9424f8..8b977dd7c525 100644 --- a/pkgs/development/ocaml-modules/extlib/default.nix +++ b/pkgs/development/ocaml-modules/extlib/default.nix @@ -1,21 +1,21 @@ {stdenv, fetchurl, ocaml, findlib}: stdenv.mkDerivation { - name = "ocaml-extlib-1.5.3"; + name = "ocaml-extlib-1.6.1"; src = fetchurl { - url = http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz; - sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021"; + url = http://ocaml-extlib.googlecode.com/files/extlib-1.6.1.tar.gz; + sha256 = "1jmfj2w0f3ap0swz8k3qqmrl6x2y4gkmg88vv024xnmliiiv7m48"; }; buildInputs = [ocaml findlib]; createFindlibDestdir = true; - buildPhase = '' - make all - make opt - ''; + configurePhase = "true"; # Skip configure + # De facto, option minimal=1 seems to be the default. See the README. + buildPhase = "make minimal=1 build"; + installPhase = "make minimal=1 install"; meta = { homepage = http://code.google.com/p/ocaml-extlib/; diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix index c1960d4706e4..f1bf39a283d6 100644 --- a/pkgs/development/ocaml-modules/ocamlnet/default.nix +++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix @@ -1,20 +1,20 @@ -{stdenv, fetchurl, ncurses, ocaml, findlib, ocaml_pcre, camlzip, openssl, ocaml_ssl, lablgtk, cryptokit }: +{stdenv, fetchurl, ncurses, ocaml, findlib, ocaml_pcre, camlzip, openssl, ocaml_ssl, cryptokit }: let ocaml_version = (builtins.parseDrvName ocaml.name).version; in stdenv.mkDerivation { - name = "ocamlnet-3.6.3"; + name = "ocamlnet-3.7.3"; src = fetchurl { - url = http://download.camlcity.org/download/ocamlnet-3.6.3.tar.gz; - sha256 = "c62fe0a4db6c63c04e24c8d76bcb504054f0b59a7a41c1abcbb8dd504afc9f29"; + url = http://download.camlcity.org/download/ocamlnet-3.7.3.tar.gz; + sha256 = "0s24icyrxkqqai91rgxpf52s1fx70j7p12c8vq9vcmvdhll6kp2d"; }; - buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl lablgtk cryptokit]; + buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl cryptokit]; - propagatedbuildInputs = [ncurses ocaml_pcre camlzip openssl ocaml_ssl lablgtk cryptokit]; + propagatedbuildInputs = [ncurses ocaml_pcre camlzip openssl ocaml_ssl cryptokit]; patches = [ ./configure.patch ]; diff --git a/pkgs/development/ocaml-modules/odn/default.nix b/pkgs/development/ocaml-modules/odn/default.nix new file mode 100644 index 000000000000..5f72afcf7666 --- /dev/null +++ b/pkgs/development/ocaml-modules/odn/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, ocaml, findlib, ocaml_typeconv, ounit}: + +stdenv.mkDerivation { + name = "ocaml-data-notation-0.0.11"; + + src = fetchurl { + url = https://forge.ocamlcore.org/frs/download.php/1310/ocaml-data-notation-0.0.11.tar.gz; + sha256 = "09a8zdyifpc2nl4hdvg9206142y31cq95ajgij011s1qcg3z93lj"; + }; + + buildInputs = [ocaml findlib ocaml_typeconv ounit]; + + createFindlibDestdir = true; + + configurePhase = "ocaml setup.ml -configure"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; + + meta = { + description = "Store data using OCaml notation"; + homepage = https://forge.ocamlcore.org/projects/odn/; + license = stdenv.lib.licenses.lgpl21; + platforms = ocaml.meta.platforms; + maintainers = with stdenv.lib.maintainers; [ + z77z + ]; + }; +} diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix index 02420204dbfa..a69ef9d446c2 100644 --- a/pkgs/development/ocaml-modules/react/default.nix +++ b/pkgs/development/ocaml-modules/react/default.nix @@ -1,34 +1,25 @@ -{stdenv, fetchurl, ocaml}: - -let - ocaml_version = (builtins.parseDrvName ocaml.name).version; - version = "0.9.2"; -in +{stdenv, fetchurl, ocaml, findlib, ocaml_oasis}: stdenv.mkDerivation { - name = "ocaml-react-${version}"; + name = "ocaml-react-0.9.4"; src = fetchurl { - url = "http://erratique.ch/software/react/releases/react-${version}.tbz"; - sha256 = "0fiaxzfxv8pc82d31jz85zryz06k84is0l3sn5g0di5mpc5falxr"; + url = http://github.com/dbuenzli/react/archive/v0.9.4.tar.gz; + sha256 = "16k0kx93kd45s7pigkzvirfsbr22xhby0y88y86p473qxzc6ngrm"; }; - buildInputs = [ocaml]; + buildInputs = [ocaml findlib ocaml_oasis]; - buildCommand = '' - export INSTALLDIR=$out/lib/ocaml/${ocaml_version}/site-lib/react - tar xjf $src - cd react-* - substituteInPlace src/META --replace '+react' $INSTALLDIR - chmod +x build - ./build - ./build install - ''; + createFindlibDestdir = true; + + configurePhase = "oasis setup && ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; meta = { homepage = http://erratique.ch/software/react; description = "Applicative events and signals for OCaml"; - license = "BSD"; + license = stdenv.lib.licenses.bsd3; platforms = ocaml.meta.platforms; maintainers = [ stdenv.lib.maintainers.z77z diff --git a/pkgs/development/ocaml-modules/typeconv/3.0.5.nix b/pkgs/development/ocaml-modules/typeconv/3.0.5.nix new file mode 100644 index 000000000000..299e7729b91e --- /dev/null +++ b/pkgs/development/ocaml-modules/typeconv/3.0.5.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, ocaml, findlib}: + +# note: works only with ocaml >3.12 + +stdenv.mkDerivation { + name = "ocaml-typeconv-3.0.5"; + + src = fetchurl { + url = "http://forge.ocamlcore.org/frs/download.php/821/type_conv-3.0.5.tar.gz"; + sha256 = "90ac6c401a600a23012a3f513def6f67d4979b11bd551f4d0af78f0f0b479198"; + }; + + buildInputs = [ocaml findlib ]; + + createFindlibDestdir = true; + + meta = { + homepage = "http://forge.ocamlcore.org/projects/type-conv/"; + description = "Support library for OCaml preprocessor type conversions"; + license = "LGPL"; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/typeconv/default.nix b/pkgs/development/ocaml-modules/typeconv/default.nix index 299e7729b91e..33e30f5d5c8e 100644 --- a/pkgs/development/ocaml-modules/typeconv/default.nix +++ b/pkgs/development/ocaml-modules/typeconv/default.nix @@ -1,13 +1,11 @@ {stdenv, fetchurl, ocaml, findlib}: -# note: works only with ocaml >3.12 - stdenv.mkDerivation { - name = "ocaml-typeconv-3.0.5"; + name = "ocaml-typeconv-109.60.01"; src = fetchurl { - url = "http://forge.ocamlcore.org/frs/download.php/821/type_conv-3.0.5.tar.gz"; - sha256 = "90ac6c401a600a23012a3f513def6f67d4979b11bd551f4d0af78f0f0b479198"; + url = https://github.com/janestreet/type_conv/archive/109.60.01.tar.gz; + sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx"; }; buildInputs = [ocaml findlib ]; @@ -17,7 +15,8 @@ stdenv.mkDerivation { meta = { homepage = "http://forge.ocamlcore.org/projects/type-conv/"; description = "Support library for OCaml preprocessor type conversions"; - license = "LGPL"; + license = stdenv.lib.licenses.lgpl21; platforms = ocaml.meta.platforms; + maintainers = with stdenv.lib.maintainers; [ z77z ]; }; } diff --git a/pkgs/development/python-modules/distutils-cfg/default.nix b/pkgs/development/python-modules/distutils-cfg/default.nix index 190c663b471a..204f4de5456a 100644 --- a/pkgs/development/python-modules/distutils-cfg/default.nix +++ b/pkgs/development/python-modules/distutils-cfg/default.nix @@ -1,10 +1,11 @@ # global distutils configuration, see http://docs.python.org/2/install/index.html#distutils-configuration-files -{ stdenv, python, writeText, extraCfg ? "" }: +{ stdenv, python, writeText, extraCfg ? "", overrideCfg ? "" }: let - distutilsCfg = writeText "distutils.cfg" '' + distutilsCfg = writeText "distutils.cfg" ( + if overrideCfg != "" then overrideCfg else '' [easy_install] # don't allow network connections during build to ensure purity @@ -14,7 +15,7 @@ let zip_ok = 0 ${extraCfg} - ''; + ''); in stdenv.mkDerivation { name = "${python.libPrefix}-distutils.cfg"; diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index 067a1cdf2e27..d0234c29ed9a 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -3,7 +3,7 @@ (http://pypi.python.org/pypi/setuptools/), which represents a large number of Python packages nowadays. */ -{ python, setuptools, wrapPython, lib, recursivePthLoader, distutils-cfg }: +{ python, setuptools, unzip, wrapPython, lib, recursivePthLoader, distutils-cfg }: { name @@ -38,6 +38,12 @@ , meta ? {} +# Execute before shell hook +, preShellHook ? "" + +# Execute after shell hook +, postShellHook ? "" + , ... } @ attrs: # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. @@ -46,7 +52,11 @@ python.stdenv.mkDerivation (attrs // { name = namePrefix + name; - buildInputs = [ python wrapPython setuptools (distutils-cfg.override { extraCfg = distutilsExtraCfg; }) ] ++ buildInputs ++ pythonPath; + buildInputs = [ + python wrapPython setuptools + (distutils-cfg.override { extraCfg = distutilsExtraCfg; }) + ] ++ buildInputs ++ pythonPath + ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip); propagatedBuildInputs = propagatedBuildInputs ++ [ recursivePthLoader ]; @@ -146,6 +156,16 @@ python.stdenv.mkDerivation (attrs // { done ''; + shellHook = attrs.shellHook or '' + mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages + ${preShellHook} + export PATH="/tmp/$name/bin:$PATH" + export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + python setup.py develop --prefix /tmp/$name + ${postShellHook} + return + ''; + meta = with lib.maintainers; { # default to python's platforms platforms = python.meta.platforms; diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix new file mode 100644 index 000000000000..5194684261c9 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "jenkins"; + version = "1.550"; + + src = fetchurl { + url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; + sha256 = "1ziimbfs9kylga0xmxlfsfcc7qsirs5bnx00pa99m2l5sz2ki793"; + }; + meta = { + description = "An extendable open source continuous integration server."; + homepage = http://jenkins-ci.org; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.coconnor ]; + }; + + buildCommand = "ln -s $src $out"; +} diff --git a/pkgs/development/tools/haskell/HaRe/default.nix b/pkgs/development/tools/haskell/HaRe/default.nix index 33e5339a5f02..6c128c25073e 100644 --- a/pkgs/development/tools/haskell/HaRe/default.nix +++ b/pkgs/development/tools/haskell/HaRe/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "HaRe"; - version = "0.7.1.2"; - sha256 = "1bplcjh0rx6m8ja8vpb18cfky349gmi27rlpsg0pw5nr3l4gcwyl"; + version = "0.7.1.4"; + sha256 = "000vdvm38a3d3jpjg3cgsfl11w8jzvl0haqz78fy3zblqlndxy1m"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -24,7 +24,7 @@ cabal.mkDerivation (self: { ]; jailbreak = true; meta = { - homepage = "http://www.cs.kent.ac.uk/projects/refactor-fp"; + homepage = "https://github.com/RefactoringTools/HaRe/wiki"; description = "the Haskell Refactorer"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix index 860148cf244d..72ba1ba6b87b 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -1,15 +1,16 @@ -{ cabal, cpphs, filepath, haskellSrcExts, hscolour, transformers -, uniplate +{ cabal, cmdargs, cpphs, filepath, haskellSrcExts, hscolour +, transformers, uniplate }: cabal.mkDerivation (self: { pname = "hlint"; - version = "1.8.57"; - sha256 = "062fpyjd3mha9faxdpg763sigafl4mvl8qqw3z31zkafz361qzm4"; + version = "1.8.59"; + sha256 = "14yn63zbbqwvxlis0kwga4mrz6qjr8kq1cq7f0rcilgqgh1dkwh8"; isLibrary = true; isExecutable = true; buildDepends = [ - cpphs filepath haskellSrcExts hscolour transformers uniplate + cmdargs cpphs filepath haskellSrcExts hscolour transformers + uniplate ]; jailbreak = true; meta = { diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix index 53e2c5a74194..b8cf2466b10a 100644 --- a/pkgs/development/tools/haskell/keter/default.nix +++ b/pkgs/development/tools/haskell/keter/default.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "keter"; - version = "1.1.0.1"; - sha256 = "04hvwfs1dskaxl1fw29lf52389hy1yr3hwd05bl294zgfh995i0s"; + version = "1.2.0"; + sha256 = "06iz01ci1mcxjqs7dknxgjlkl783sdf680b54schxxirg268cxh3"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/literate-programming/noweb/default.nix b/pkgs/development/tools/literate-programming/noweb/default.nix index c173010928dc..291bc29e1b70 100644 --- a/pkgs/development/tools/literate-programming/noweb/default.nix +++ b/pkgs/development/tools/literate-programming/noweb/default.nix @@ -9,13 +9,15 @@ stdenv.mkDerivation { sha256 = "10hdd6mrk26kyh4bnng4ah5h1pnanhsrhqa7qwqy6dyv3rng44y9"; }; preBuild = '' + ensureDir $out/lib/noweb cd src - makeFlags="BIN=$out/bin LIB=$out/lib MAN=$out/share/man TEXINPUTS=$out/share/texmf/tex/latex" + makeFlags="BIN=$out/bin LIB=$out/lib/noweb MAN=$out/share/man TEXINPUTS=$out/share/texmf/tex/latex" ''; preInstall=''mkdir -p $out/share/texmf/tex/latex''; postInstall= '' substituteInPlace $out/bin/cpif --replace "PATH=/bin:/usr/bin" "" - for f in $out/bin/{noweb,nountangle,noroots,noroff,noindex} $out/lib/*; do + for f in $out/bin/{noweb,nountangle,noroots,noroff,noindex} \ + $out/lib/noweb/{toroff,btdefn,totex,pipedoc,noidx,unmarkup,toascii,tohtml,emptydefn}; do substituteInPlace $f --replace "nawk" "${gawk}/bin/awk" done ''; diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix index 3978d96400cd..5d7da48ccede 100644 --- a/pkgs/development/tools/misc/cl-launch/default.nix +++ b/pkgs/development/tools/misc/cl-launch/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="cl-launch"; - version="3.22.1"; + version="4.0.2.2"; name="${baseName}-${version}"; - hash="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; - url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-3.22.1.tar.gz"; - sha256="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; + hash="1a7nwm1gkvpypfbhl29gj4gba50r5b069g3c87cfvrk2n4plm65b"; + url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.2.2.tar.gz"; + sha256="1a7nwm1gkvpypfbhl29gj4gba50r5b069g3c87cfvrk2n4plm65b"; }; buildInputs = [ ]; diff --git a/pkgs/development/tools/misc/cl-launch/default.upstream b/pkgs/development/tools/misc/cl-launch/default.upstream index 1ff5daca02c5..ff7ee9446d28 100644 --- a/pkgs/development/tools/misc/cl-launch/default.upstream +++ b/pkgs/development/tools/misc/cl-launch/default.upstream @@ -1,2 +1,2 @@ url http://common-lisp.net/project/xcvb/cl-launch/ -version_link '.-[0-9].*[0-9][.]tar[.].*' +version_link '.-[0-9].*[0-9][.]tar[.][a-z0-9]*$' diff --git a/pkgs/development/tools/misc/cpphs/default.nix b/pkgs/development/tools/misc/cpphs/default.nix index 2f86e8ad0128..8d03d8ee4cb2 100644 --- a/pkgs/development/tools/misc/cpphs/default.nix +++ b/pkgs/development/tools/misc/cpphs/default.nix @@ -1,11 +1,12 @@ -{ cabal }: +{ cabal, polyparse }: cabal.mkDerivation (self: { pname = "cpphs"; - version = "1.18.2"; - sha256 = "0b8hkb2sfacmpi3rwr62myn4kfpwbfdlv9k0vnhk3wvl1v4wf29l"; + version = "1.18.3"; + sha256 = "0m2083ynjfxad4ykvpm6c7q1clrm7nsvbwv10abhyzqkpazyzzxy"; isLibrary = true; isExecutable = true; + buildDepends = [ polyparse ]; meta = { homepage = "http://projects.haskell.org/cpphs/"; description = "A liberalised re-implementation of cpp, the C pre-processor"; diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 0d3eb5c824fa..b3a86a03d97c 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -8,7 +8,7 @@ let - basename = "gdb-7.6.2"; + basename = "gdb-7.7"; # Whether (cross-)building for GNU/Hurd. This is an approximation since # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and @@ -27,9 +27,11 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/gdb/${basename}.tar.bz2"; - sha256 = "1s6hjqmq7xz10hqx45dgrpfh5mla578shn3zxgnrsv66w4n0wsig"; + sha256 = "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104"; }; + patches = [ ./edit-signals.patch ]; + # I think python is not a native input, but I leave it # here while I will not need it cross building nativeBuildInputs = [ texinfo python ] diff --git a/pkgs/development/tools/misc/gdb/edit-signals.patch b/pkgs/development/tools/misc/gdb/edit-signals.patch new file mode 100644 index 000000000000..e9da8035ef5b --- /dev/null +++ b/pkgs/development/tools/misc/gdb/edit-signals.patch @@ -0,0 +1,25 @@ +Patch adapted from +https://www.sourceware.org/ml/gdb-patches/2012-08/msg00439.html + +Without it, spawning a terminal 'vim' from gdb 'edit' cmd, makes +all gdb grazy. + +diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c +index 7ea0fec..be5455c 100644 +--- a/gdb/tui/tui-win.c ++++ b/gdb/tui/tui-win.c +@@ -831,11 +831,12 @@ void + tui_initialize_win (void) + { + #ifdef SIGWINCH +-#ifdef HAVE_SIGACTION ++#if defined (HAVE_SIGACTION) && defined (SA_RESTART) + struct sigaction old_winch; + +- memset (&old_winch, 0, sizeof (old_winch)); ++ sigemptyset (&old_winch.sa_mask); + old_winch.sa_handler = &tui_sigwinch_handler; ++ old_winch.sa_flags = SA_RESTART; + sigaction (SIGWINCH, &old_winch, NULL); + #else + signal (SIGWINCH, &tui_sigwinch_handler); diff --git a/pkgs/development/tools/misc/lttv/default.nix b/pkgs/development/tools/misc/lttv/default.nix index 5cf8b6649418..0096cbdbabf5 100644 --- a/pkgs/development/tools/misc/lttv/default.nix +++ b/pkgs/development/tools/misc/lttv/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { homepage = http://lttng.org/; # liblttvtraceread (ltt/ directory) is distributed under the GNU LGPL v2.1. # The rest of the LTTV package is distributed under the GNU GPL v2. - license = with licenses; [ gpl2 lgpl21 ]; + # TODO license = with licenses; [ gpl2 lgpl21 ]; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; }; diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index 356b004aa4e5..953035342fd8 100644 --- a/pkgs/development/tools/misc/luarocks/default.nix +++ b/pkgs/development/tools/misc/luarocks/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="luarocks"; - version="2.1.1"; + version="2.1.2"; name="${baseName}-${version}"; - hash="1b0qscmzdn80kxnn31v5q0rpafkwq1fr0766dzyh7dc2r6ws2nwr"; - url="http://luarocks.org/releases/luarocks-2.1.1.tar.gz"; - sha256="1b0qscmzdn80kxnn31v5q0rpafkwq1fr0766dzyh7dc2r6ws2nwr"; + hash="1wwz71ymzjcyw8pz36yiw2x87c6v8nx5vdcd7zibm1n815v5qqk2"; + url="http://luarocks.org/releases/luarocks-2.1.2.tar.gz"; + sha256="1wwz71ymzjcyw8pz36yiw2x87c6v8nx5vdcd7zibm1n815v5qqk2"; }; buildInputs = [ lua curl diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix index c625f1474006..36a57e8fe96e 100644 --- a/pkgs/development/tools/misc/openocd/default.nix +++ b/pkgs/development/tools/misc/openocd/default.nix @@ -17,6 +17,11 @@ stdenv.mkDerivation rec { buildInputs = [ libftdi libusb1 ]; + postInstall = '' + mkdir -p "$out/etc/udev/rules.d" + ln -s "$out/share/openocd/contrib/openocd.udev" "$out/etc/udev/rules.d/99-openocd.rules" + ''; + meta = { homepage = http://openocd.sourceforge.net/; description = "OpenOCD, an on-chip debugger"; diff --git a/pkgs/development/tools/misc/saleae-logic/default.nix b/pkgs/development/tools/misc/saleae-logic/default.nix index 8fcf254e8ca3..2fa7194cf073 100644 --- a/pkgs/development/tools/misc/saleae-logic/default.nix +++ b/pkgs/development/tools/misc/saleae-logic/default.nix @@ -3,6 +3,8 @@ # Suggested udev rules to be able to access the Logic device without being root: # SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="0666" # SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1001", MODE="0666" +# +# In NixOS, simply add this package to services.udev.packages. { stdenv, fetchurl, unzip, glib, libSM, libICE, gtk, libXext, libXft , fontconfig, libXrender, libXfixes, libX11, libXi, libXrandr, libXcursor @@ -79,6 +81,10 @@ stdenv.mkDerivation rec { # Copy the generated .desktop file mkdir -p "$out/share/applications" cp "$desktopItem"/share/applications/* "$out/share/applications/" + + # Install provided udev rules + mkdir -p "$out/etc/udev/rules.d" + cp Drivers/99-SaleaeLogic.rules "$out/etc/udev/rules.d/" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix new file mode 100644 index 000000000000..3ab935705a2d --- /dev/null +++ b/pkgs/development/tools/ocaml/oasis/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, ocaml_typeconv, + ocamlmod, ocamlify, ounit, expect}: + +stdenv.mkDerivation { + name = "ocaml-oasis-0.4.1"; + + src = fetchurl { + url = http://forge.ocamlcore.org/frs/download.php/1355/oasis-0.4.1.tar.gz; + sha256 = "1lsnw9f1jh6106kphxg40qp0sia6cbkbb9ahs5y6ifnfkmllkjhj"; + }; + + createFindlibDestdir = true; + + buildInputs = + [ + ocaml findlib ocaml_data_notation ocaml_typeconv ocamlmod ocamlify ounit + ]; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; + + meta = { + homepage = http://oasis.forge.ocamlcore.org/; + description = "Configure, build and install system for OCaml projects"; + license = stdenv.lib.licenses.lgpl21; + platforms = ocaml.meta.platforms; + maintainers = with stdenv.lib.maintainers; [ + z77z + ]; + }; +} diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix new file mode 100644 index 000000000000..88b7451e0f00 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocamlify/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl, ocaml, findlib, ounit}: + +stdenv.mkDerivation { + name = "ocamlify-0.0.2"; + + src = fetchurl { + url = http://forge.ocamlcore.org/frs/download.php/1209/ocamlify-0.0.2.tar.gz; + sha256 = "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii"; + }; + + buildInputs = [ocaml findlib ounit]; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; + + meta = { + homepage = http://forge.ocamlcore.org/projects/ocamlmod/ocamlmod; + description = "Generate OCaml modules from source files"; + platforms = ocaml.meta.platforms; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ + z77z + ]; + }; +} diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix new file mode 100644 index 000000000000..d72df18f8992 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix @@ -0,0 +1,25 @@ +{stdenv, fetchurl, ocaml, findlib, ounit}: + +stdenv.mkDerivation { + name = "ocamlmod-0.0.7"; + + src = fetchurl { + url = http://forge.ocamlcore.org/frs/download.php/1350/ocamlmod-0.0.7.tar.gz; + sha256 = "11kg7wh0gy492ma5c6bcjh6frv1a9lh9f26hiys2i0d1ky8s0ad3"; + }; + + buildInputs = [ocaml findlib ounit]; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; + + meta = { + homepage = http://forge.ocamlcore.org/projects/ocamlmod/ocamlmod; + description = "Generate OCaml modules from source files"; + platforms = ocaml.meta.platforms; + maintainers = with stdenv.lib.maintainers; [ + z77z + ]; + }; +} diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix index bbe213782485..90f7647aa05f 100644 --- a/pkgs/development/tools/selenium/chromedriver/default.nix +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -31,5 +31,6 @@ stdenv.mkDerivation rec { description = "A WebDriver server for running Selenium tests on Chrome"; license = licenses.bsd3; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/games/planetaryannihilation/default.nix b/pkgs/games/planetaryannihilation/default.nix new file mode 100755 index 000000000000..009d07d4456c --- /dev/null +++ b/pkgs/games/planetaryannihilation/default.nix @@ -0,0 +1,54 @@ +{ stdenv, config, fetchurl, patchelf, makeWrapper, xlibs, gtk, glib, udev, alsaLib, atk +, nspr, fontconfig, cairo, pango, nss, freetype, gnome3, gdk_pixbuf, curl, systemd, xorg }: + +# TODO: use dynamic attributes once Nix 1.7 is out +assert ((config.planetary_annihilation or null).url or null) != null; +assert ((config.planetary_annihilation or null).sha256 or null) != null; + +/* to setup: + $ cat ~/.nixpkgs/config.nix + { + planetary_annihilation = { + url = "file:///home/user/PA_Linux_62857.tar.bz2"; + sha256 = "0imi3k5144dsn3ka9khx3dj76klkw46ga7m6rddqjk4yslwabh3k"; + }; +} +*/ + +stdenv.mkDerivation { + name = "planetary-annihalation"; + + src = fetchurl { + inherit (config.planetary_annihilation) url sha256; + }; + + buildInputs = [ patchelf makeWrapper ]; + + installPhase = '' + mkdir -p $out/{bin,lib} + + cp -R * $out/ + mv $out/*.so $out/lib + rm $out/libstdc++.so.6 + ln -s $out/PA $out/bin/PA + + ln -s ${systemd}/lib/libudev.so.1 $out/lib/libudev.so.0 + + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" "$out/PA" + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc xlibs.libXdamage xorg.libXfixes gtk glib stdenv.glibc "$out" xlibs.libXext pango udev xlibs.libX11 xlibs.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xlibs.libXrender ]}:{stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" "$out/host/CoherentUI_Host.bin" + + wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.glibc xlibs.libX11 xlibs.libXcursor gtk glib curl "$out" ]}:${stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" + + for f in $out/lib/*; do + patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc curl xlibs.libX11 stdenv.glibc xlibs.libXcursor "$out" ]}:${stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" $f + done + ''; + + meta = with stdenv.lib; { + homepage = http://www.uberent.com/pa/; + description = "next-generation RTS that takes the genre to a planetary scale"; + license = "unfree"; + platforms = platforms.linux; + maintainers = [ maintainers.iElectric ]; + }; +} diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix index 454112638768..97414c07bda7 100644 --- a/pkgs/games/xboard/default.nix +++ b/pkgs/games/xboard/default.nix @@ -5,11 +5,11 @@ let s = # Generated upstream information rec { baseName="xboard"; - version="4.7.2"; + version="4.7.3"; name="${baseName}-${version}"; - hash="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; - url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.2.tar.gz"; - sha256="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; + hash="1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z"; + url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.3.tar.gz"; + sha256="1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z"; }; buildInputs = [ libX11 xproto libXt libXaw libSM libICE libXmu diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix index b6eb1038f938..bf55f93db5b7 100644 --- a/pkgs/misc/emulators/wine/unstable.nix +++ b/pkgs/misc/emulators/wine/unstable.nix @@ -7,12 +7,12 @@ assert stdenv.isLinux; assert stdenv.gcc.gcc != null; let - version = "1.7.12"; + version = "1.7.14"; name = "wine-${version}"; src = fetchurl { url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "14mkh32lxjmbacz1f5pl5kr31n5dx0rfdqw5v88brhmsz1xzzk9d"; + sha256 = "029y4vsjz2jxy31g5nylpl7wm5qhw37dsbx4f0za6swk51z97w9d"; }; gecko = fetchurl { diff --git a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix index 9bee6c81a8af..1bd4d5f35b4a 100644 --- a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix +++ b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix @@ -2,12 +2,12 @@ cmake, dbus_glib, glib, gtk, gdk_pixbuf, pkgconfig, xorg }: stdenv.mkDerivation rec { - version = "1.4.3"; + version = "1.4.4"; name = "oxygen-gtk2-${version}"; src = fetchurl { url = "mirror://kde/stable/oxygen-gtk2/${version}/src/${name}.tar.bz2"; - sha256 = "1611zkblfy8ahadyz4a1hc0vjfwkh8mdbnwjqm02i30vnhv3iy1j"; + sha256 = "1w3300v7kclpaccvd0wsajgay4mgg2fbbi1nd0zak0p5nn40sqf8"; }; buildInputs = [ cmake dbus_glib glib gtk gdk_pixbuf @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { homepage = https://projects.kde.org/projects/playground/artwork/oxygen-gtk; license = licenses.lgpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 40a0d7af4968..f410f25e8cb7 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -109,10 +109,13 @@ in rec }; YouCompleteMe = stdenv.mkDerivation { - # REGION AUTO UPDATE: { name="youcompleteme"; type="git"; url="git://github.com/Valloric/YouCompleteMe"; } - src = (fetchurl { url = "http://mawercer.de/~nix/repos/youcompleteme-git-97306.tar.bz2"; sha256 = "b9b892f5a723370c2034491dc72a4ca722c6cf1e5de4d60501141bba151bc719"; }); - name = "youcompleteme-git-97306"; - # END + src = fetchgit { + url = "https://github.com/Valloric/YouCompleteMe.git"; + rev = "ee12530df0574e18289d6daf25ff72bd3c6e94f5"; + sha256 = "1z93l2v0s078h632jrlhxzs9pg8phnx60qlrrhb3l2nbfk047rgx"; + }; + + name = "youcompleteme-git-ee12530df0"; buildInputs = [ python cmake ]; configurePhase = ":"; diff --git a/pkgs/os-specific/darwin/otool/default.nix b/pkgs/os-specific/darwin/otool/default.nix index 671e51542d06..e0793664a9c8 100644 --- a/pkgs/os-specific/darwin/otool/default.nix +++ b/pkgs/os-specific/darwin/otool/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Object file displaying tool"; homepage = https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/otool.1.html; - license = with licenses; [ apsl20 gpl2Plus ]; + # TODO license = with licenses; [ apsl20 gpl2Plus ]; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.darwin; diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix index a0ae59a5a5bb..c9d45835cfd0 100644 --- a/pkgs/os-specific/linux/acpid/default.nix +++ b/pkgs/os-specific/linux/acpid/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "acpid-2.0.21"; + name = "acpid-2.0.22"; src = fetchurl { url = "mirror://sourceforge/acpid2/${name}.tar.xz"; - sha256 = "0vv3zz8p3wxhlp35aqgqvzn6lda595wzn7php3k47jwci1cpxrn4"; + sha256 = "0cdbcy5xjdcyp2x6hzgpv6a9vg9bbxmypmfvv1qzgj43897la49x"; }; preBuild = '' diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix index 484ecd06bb0b..6167696f336c 100644 --- a/pkgs/os-specific/linux/alsa-utils/default.nix +++ b/pkgs/os-specific/linux/alsa-utils/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}: stdenv.mkDerivation rec { - name = "alsa-utils-1.0.27"; + name = "alsa-utils-1.0.27.2"; src = fetchurl { # url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"; url = "http://alsa.cybermirror.org/utils/${name}.tar.bz2"; - sha256 = "1vssljbdzf0psqhhd7w9m9mzb0sl2kgx9fagkja25sqw6ivwsxkg"; + sha256 = "1sjjngnq50jv5ilwsb4zys6smifni3bd6fn28gbnhfrg14wsrgq2"; }; buildInputs = [ alsaLib ncurses libsamplerate ]; @@ -16,12 +16,6 @@ stdenv.mkDerivation rec { installFlags = "ASOUND_STATE_DIR=$(TMPDIR)/dummy"; - preConfigure = - '' - # Ensure that ‘90-alsa-restore.rules.in’ gets rebuilt. - rm alsactl/90-alsa-restore.rules - ''; - meta = { homepage = http://www.alsa-project.org/; description = "ALSA, the Advanced Linux Sound Architecture utils"; diff --git a/pkgs/os-specific/linux/can-utils/default.nix b/pkgs/os-specific/linux/can-utils/default.nix new file mode 100644 index 000000000000..6a3fbd33d689 --- /dev/null +++ b/pkgs/os-specific/linux/can-utils/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchgit }: + +stdenv.mkDerivation rec { + name = "can-utils-${version}"; + # There are no releases (source archives or git tags), so use the date of the + # latest commit in git master as version number. + version = "20140227"; + + src = fetchgit { + url = "https://git.gitorious.org/linux-can/can-utils.git"; + rev = "67a2bdcd336e6becfa5784742e18c88dbeddc973"; + sha256 = "0pnnjl141wf3kbf256m6qz9mxz0144z36qqb43skialzcnlhga38"; + }; + + preConfigure = ''makeFlagsArray+=(PREFIX="$out")''; + + meta = with stdenv.lib; { + description = "CAN userspace utilities and tools (for use with Linux SocketCAN)"; + homepage = "https://gitorious.org/linux-can/can-utils"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/os-specific/linux/checksec/default.nix b/pkgs/os-specific/linux/checksec/default.nix index 0f3b87361f83..4701d774dfdc 100644 --- a/pkgs/os-specific/linux/checksec/default.nix +++ b/pkgs/os-specific/linux/checksec/default.nix @@ -35,8 +35,8 @@ stdenv.mkDerivation rec { meta = { description = "A tool for checking security bits on executables"; homepage = "http://www.trapkit.de/tools/checksec.html"; - platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index 086b792b4cd4..3e95daba29e3 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -1,5 +1,33 @@ -{ stdenv, fetchurl, pkgconfig, libxml2, curl, wirelesstools, glib, openssl -, ncurses }: +{ stdenv, fetchurl, pkgconfig + +# dependencies +, glib, ncurses + +# optional features without extra dependencies +, mpdSupport ? true + +# optional features with extra dependencies +, x11Support ? false, x11 ? null +, xdamage ? false, libXdamage ? null +, wireless ? false, wirelesstools ? null +, luaSupport ? false, lua5 ? null + +, rss ? false +, weatherMetar ? false +, weatherXoap ? false +, curl ? null, libxml2 ? null +}: + +assert luaSupport -> lua5 != null; +assert wireless -> wirelesstools != null; +assert x11Support -> x11 != null; +assert xdamage -> x11Support && libXdamage != null; + +assert rss -> curl != null && libxml2 != null; +assert weatherMetar -> curl != null; +assert weatherXoap -> curl != null && libxml2 != null; + +with stdenv.lib; stdenv.mkDerivation rec { name = "conky-1.9.0"; @@ -9,17 +37,35 @@ stdenv.mkDerivation rec { sha256 = "0vxvjmi3cdvnp994sv5zcdyncfn0mlxa71p2wm9zpyrmy58bbwds"; }; - patches = [ ./stdbool.patch ]; + buildInputs = [ pkgconfig glib ncurses ] + ++ optional luaSupport lua5 + ++ optional wireless wirelesstools + ++ optional x11Support x11 + ++ optional xdamage libXdamage + + ++ optionals rss [ curl libxml2 ] + ++ optional weatherMetar curl + ++ optionals weatherXoap [ curl libxml2 ] + ; - buildInputs = [ pkgconfig libxml2 curl wirelesstools glib openssl ncurses ]; configureFlags = - (map (x: "--disable-${x}") [ "x11" "xdamage" "own-window" "xft" "lua" ]) - ++ (map (x: "--enable-${x}") [ "mpd" "double-buffer" "wlan" "rss" - "weather-metar" "weather-xoap" ]); + let flag = state: flags: if state then map (x: "--enable-${x}") flags + else map (x: "--disable-${x}") flags; + in flag mpdSupport [ "mpd" ] + + ++ flag luaSupport [ "lua" ] + ++ flag wireless [ "wlan" ] + ++ flag x11Support [ "x11" "xft" "argb" "double-buffer" "own-window" ] # conky won't compile without --enable-own-window + ++ flag xdamage [ "xdamage" ] + + ++ flag rss [ "rss" ] + ++ flag weatherMetar [ "weather-metar" ] + ++ flag weatherXoap [ "weather-xoap" ] + ; meta = { homepage = http://conky.sourceforge.net/; - description = "Conky is an advanced, highly configurable system monitor complied without X based on torsmo"; + description = "Conky is an advanced, highly configurable system monitor based on torsmo"; maintainers = [ stdenv.lib.maintainers.guibert ]; license = stdenv.lib.licenses.gpl3Plus; }; diff --git a/pkgs/os-specific/linux/conky/stdbool.patch b/pkgs/os-specific/linux/conky/stdbool.patch deleted file mode 100644 index 3f0b714a1f0c..000000000000 --- a/pkgs/os-specific/linux/conky/stdbool.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/conky.c b/src/conky.c -index 5848b61..69a3d45 100644 ---- a/src/conky.c -+++ b/src/conky.c -@@ -34,6 +34,7 @@ - #include "common.h" - #include "timed_thread.h" - #include -+#include - #include - #include - #include diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix new file mode 100644 index 000000000000..349d690e4d19 --- /dev/null +++ b/pkgs/os-specific/linux/criu/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, protobuf, protobufc, asciidoc, xmlto, utillinux }: + +assert stdenv.system == "x86_64-linux"; +stdenv.mkDerivation rec { + name = "criu-${version}"; + version = "1.2"; + + src = fetchurl { + url = "http://download.openvz.org/criu/${name}.tar.bz2"; + sha256 = "04xlnqvgbjd5wfmi97m5rr76a3agkz8g96hdyzhc6x8gd52bbg9y"; + }; + + enableParallelBuilding = true; + buildInputs = [ protobuf protobufc asciidoc xmlto ]; + + patchPhase = '' + chmod +w ./scripts/gen-offsets.sh + substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump + ''; + + buildPhase = '' + make config PREFIX=$out + make PREFIX=$out + ''; + + installPhase = '' + mkdir -p $out/etc/logrotate.d + make install PREFIX=$out LIBDIR=$out/lib ASCIIDOC=${asciidoc}/bin/asciidoc XMLTO=${xmlto}/bin/xmlto + ''; + + meta = { + description = "userspace checkpoint/restore for Linux"; + homepage = "http://criu.org"; + license = stdenv.lib.licenses.gpl2; + platforms = [ "x86_64-linux" ]; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix index 834f98960dfb..e024a608a0b6 100644 --- a/pkgs/os-specific/linux/ffado/default.nix +++ b/pkgs/os-specific/linux/ffado/default.nix @@ -44,5 +44,6 @@ stdenv.mkDerivation rec { description = "FireWire audio drivers"; license = licenses.gpl3; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/kernel/grsec-path.patch b/pkgs/os-specific/linux/kernel/grsec-path.patch index be242779548f..6f59cf8d80bd 100644 --- a/pkgs/os-specific/linux/kernel/grsec-path.patch +++ b/pkgs/os-specific/linux/kernel/grsec-path.patch @@ -1,15 +1,17 @@ diff --git a/kernel/kmod.c b/kernel/kmod.c -index 3227c2c..f32c944 100644 +index 67f7981..03f127d 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c -@@ -246,8 +246,8 @@ static int ____call_usermodehelper(void *data) +@@ -246,9 +246,9 @@ static int ____call_usermodehelper(void *data) out the path to be used prior to this point and are now operating on that copy */ - if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/usr/lib/", 9) && -- strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7)) || strstr(sub_info->path, "..")) { +- strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7) && +- strcmp(sub_info->path, "/usr/share/apport/apport")) || strstr(sub_info->path, "..")) { + if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) && -+ strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) || strstr(sub_info->path, "..")) { ++ strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) || ++ strstr(sub_info->path, "..")) { printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of /sbin and system library paths\n", sub_info->path); retval = -EPERM; goto fail; diff --git a/pkgs/os-specific/linux/kernel/linux-3.13.nix b/pkgs/os-specific/linux/kernel/linux-3.13.nix index 05a4f55d0203..361106bf0654 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.13.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.13.5"; + version = "3.13.6"; extraMeta.branch = "3.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "03yggix59k2i2lf0m3kkqslcvvfcg19xx96ywbrfkfbb7vplw67w"; + sha256 = "10j1rc63y0rcrnc2rx8jyczqg42gcbijd83qqd795qrrp5wnf7qw"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index a7bfee210ad8..294f616242d4 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.4.81"; + version = "3.4.83"; extraMeta.branch = "3.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "17m8b9wcsz8ryakhk8v85iknylkjlbsx69wkj1rbvqi2f1sjihx5"; + sha256 = "1jammd31cgzymaqd2qwrm1shx5xwpaxmpnv658fix275fn35a8gb"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index ae226f0908b8..dd1998147602 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -38,7 +38,7 @@ in { let inherit (stdenv.lib) - hasAttr getAttr optional optionalString maintainers platforms; + hasAttr getAttr optional optionalString optionalAttrs maintainers platforms; installkernel = writeTextFile { name = "installkernel"; executable=true; text = '' #!${stdenv.shell} -e @@ -73,9 +73,7 @@ let installsFirmware = (config.isEnabled "FW_LOADER") && (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL")); - in { - outputs = if isModular then [ "out" "dev" ] else null; - + in (optionalAttrs isModular { outputs = [ "out" "dev" ]; }) // { passthru = { inherit version modDirVersion config kernelPatches; }; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index e63ff168a61e..d7c9e1265981 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -44,12 +44,6 @@ rec { features.apparmor = true; }; - sec_perm_2_6_24 = - { name = "sec_perm-2.6.24"; - patch = ./sec_perm-2.6.24.patch; - features.secPermPatch = true; - }; - no_xsave = { name = "no-xsave"; patch = ./no-xsave.patch; @@ -81,22 +75,22 @@ rec { grsecurity_3_0_3_2_55 = { name = "grsecurity-3.0-3.2.55"; patch = fetchurl { - url = http://grsecurity.net/stable/grsecurity-3.0-3.2.55-201403022154.patch; - sha256 = "0pqp8mfj4zbgb94c7g6ykh0amlwlilxjiqsyc6smmwwbg6klgvkr"; + url = http://grsecurity.net/stable/grsecurity-3.0-3.2.55-201403172027.patch; + sha256 = "1ik8xa9xgy9ghlb66rz04rdj64c8914vpv847zld7zhhih90lfm8"; }; features.grsecurity = true; # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.55 features.apparmor = true; }; - grsecurity_3_0_3_13_5 = - { name = "grsecurity-3.0-3.13.5"; + grsecurity_3_0_3_13_6 = + { name = "grsecurity-3.0-3.13.6"; patch = fetchurl { - url = http://grsecurity.net/test/grsecurity-3.0-3.13.5-201403031445.patch; - sha256 = "0b22jbm9swghhj7a9c07z5yprk88bgp0iv3c8xmfqqyy0yighq1l"; + url = http://grsecurity.net/test/grsecurity-3.0-3.13.6-201403172032.patch; + sha256 = "18gr6r11gv015y6nb2zvv3z8kb4zv9gadhlcdii6il0c2y4bsrsb"; }; features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.13.5 + # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.13.6 features.apparmor = true; }; diff --git a/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch b/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch deleted file mode 100644 index de9b29949c3d..000000000000 --- a/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: linux-2.6.24-rc3/security/security.c -=================================================================== -RCS file: /ext1/sysadm/transparent/repository/linux-2.6.24-rc3/security/security.c,v -retrieving revision 1.1 -retrieving revision 1.2 -diff -u -p -r1.1 -r1.2 ---- linux-2.6.24-rc3/security/security.c 21 Nov 2007 13:03:11 -0000 1.1 -+++ linux-2.6.24-rc3/security/security.c 21 Nov 2007 13:07:55 -0000 1.2 -@@ -409,6 +409,7 @@ int security_inode_permission(struct ino - return 0; - return security_ops->inode_permission(inode, mask, nd); - } -+EXPORT_SYMBOL(security_inode_permission); - - int security_inode_setattr(struct dentry *dentry, struct iattr *attr) - { diff --git a/pkgs/os-specific/linux/ktap/default.nix b/pkgs/os-specific/linux/ktap/default.nix index 542096733595..a82804cb8379 100644 --- a/pkgs/os-specific/linux/ktap/default.nix +++ b/pkgs/os-specific/linux/ktap/default.nix @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { meta = { description = "A lightweight script-based dynamic tracing tool for Linux."; homepage = "http://www.ktap.org"; - platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix index b9cc34345dff..1673472036f3 100644 --- a/pkgs/os-specific/linux/lttng-modules/default.nix +++ b/pkgs/os-specific/linux/lttng-modules/default.nix @@ -23,9 +23,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Linux kernel modules for LTTng tracing"; homepage = http://lttng.org/; - # TODO: Add "mit" to the license list once the license attr set vs string - # decision has been made. (Having "mit" there breaks hydra evaluation.) - license = with licenses; [ lgpl21 gpl2 ]; + # TODO license = with licenses; [ lgpl21 gpl2 mit ]; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; }; diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index e6895bb517ff..d59bb142f9f6 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "lxc-1.0.0"; + name = "lxc-1.0.1"; src = fetchurl { url = "http://github.com/lxc/lxc/archive/${name}.tar.gz"; - sha256 = "1dv78xd7mdb50x8dgjvnv2v6sdj2xv2vvar7y402ll2wh8ixmi91"; + sha256 = "14fjzicv1s3niwag301i7m9vb9jlh3hnd9ks9jjkzp8xyxgb0rrv"; }; buildInputs = [ libcap apparmor perl docbook2x gnutls autoreconfHook pkgconfig ]; diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix index bf3da1954676..4c51c4fea6cb 100644 --- a/pkgs/os-specific/linux/plymouth/default.nix +++ b/pkgs/os-specific/linux/plymouth/default.nix @@ -52,5 +52,6 @@ stdenv.mkDerivation rec { description = "A graphical boot animation"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix index 0b3389f903a8..cd8a8eaec133 100644 --- a/pkgs/os-specific/linux/procps-ng/default.nix +++ b/pkgs/os-specific/linux/procps-ng/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation { - name = "procps-ng-3.3.9"; + name = "procps-3.3.9"; src = fetchurl { url = mirror://sourceforge/procps-ng/procps-ng-3.3.9.tar.xz; diff --git a/pkgs/os-specific/linux/spl/3_12-compat.patch b/pkgs/os-specific/linux/spl/3_12-compat.patch new file mode 100644 index 000000000000..b196098b7df2 --- /dev/null +++ b/pkgs/os-specific/linux/spl/3_12-compat.patch @@ -0,0 +1,429 @@ +commit c3d9c0df3ee8d43db22815ebbfbe8b803fa46e46 +Author: Richard Yao +Date: Tue Nov 5 11:35:54 2013 -0500 + + Linux 3.12 compat: New shrinker API + + torvalds/linux@24f7c6 introduced a new shrinker API while + torvalds/linux@a0b021 dropped support for the old shrinker API. + This patch adds support for the new shrinker API by wrapping + the old one with the new one. + + This change also reorganizes the autotools checks on the shrinker + API such that the configure script will fail early if an unknown + API is encountered in the future. + + Support for the set_shrinker() API which was used by Linux 2.6.22 + and older has been dropped. As a general rule compatibility is + only maintained back to Linux 2.6.26. + + Signed-off-by: Richard Yao + Signed-off-by: Brian Behlendorf + Closes zfsonlinux/zfs#1732 + Closes zfsonlinux/zfs#1822 + Closes #293 + Closes #307 + +diff --git a/config/spl-build.m4 b/config/spl-build.m4 +index b0e3348..7d744db 100644 +--- a/config/spl-build.m4 ++++ b/config/spl-build.m4 +@@ -27,8 +27,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [ + SPL_AC_TYPE_ATOMIC64_XCHG + SPL_AC_TYPE_UINTPTR_T + SPL_AC_2ARGS_REGISTER_SYSCTL +- SPL_AC_SET_SHRINKER +- SPL_AC_3ARGS_SHRINKER_CALLBACK ++ SPL_AC_SHRINKER_CALLBACK + SPL_AC_PATH_IN_NAMEIDATA + SPL_AC_TASK_CURR + SPL_AC_CTL_UNNUMBERED +@@ -885,37 +884,18 @@ AC_DEFUN([SPL_AC_2ARGS_REGISTER_SYSCTL], + ]) + ]) + +-dnl # +-dnl # 2.6.23 API change +-dnl # Old set_shrinker API replaced with register_shrinker +-dnl # +-AC_DEFUN([SPL_AC_SET_SHRINKER], [ +- AC_MSG_CHECKING([whether set_shrinker() available]) +- SPL_LINUX_TRY_COMPILE([ +- #include +- ],[ +- return set_shrinker(DEFAULT_SEEKS, NULL); +- ],[ +- AC_MSG_RESULT([yes]) +- AC_DEFINE(HAVE_SET_SHRINKER, 1, +- [set_shrinker() available]) +- ],[ +- AC_MSG_RESULT([no]) +- ]) +-]) +- +-dnl # +-dnl # 2.6.35 API change, +-dnl # Add context to shrinker callback +-dnl # +-AC_DEFUN([SPL_AC_3ARGS_SHRINKER_CALLBACK], +- [AC_MSG_CHECKING([whether shrinker callback wants 3 args]) ++AC_DEFUN([SPL_AC_SHRINKER_CALLBACK],[ + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Werror" ++ dnl # ++ dnl # 2.6.23 to 2.6.34 API change ++ dnl # ->shrink(int nr_to_scan, gfp_t gfp_mask) ++ dnl # ++ AC_MSG_CHECKING([whether old 2-argument shrinker exists]) + SPL_LINUX_TRY_COMPILE([ + #include + +- int shrinker_cb(struct shrinker *, int, unsigned int); ++ int shrinker_cb(int nr_to_scan, gfp_t gfp_mask); + ],[ + struct shrinker cache_shrinker = { + .shrink = shrinker_cb, +@@ -924,10 +904,86 @@ AC_DEFUN([SPL_AC_3ARGS_SHRINKER_CALLBACK], + register_shrinker(&cache_shrinker); + ],[ + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_3ARGS_SHRINKER_CALLBACK, 1, +- [shrinker callback wants 3 args]) ++ AC_DEFINE(HAVE_2ARGS_OLD_SHRINKER_CALLBACK, 1, ++ [old shrinker callback wants 2 args]) + ],[ + AC_MSG_RESULT(no) ++ dnl # ++ dnl # 2.6.35 - 2.6.39 API change ++ dnl # ->shrink(struct shrinker *, ++ dnl # int nr_to_scan, gfp_t gfp_mask) ++ dnl # ++ AC_MSG_CHECKING([whether old 3-argument shrinker exists]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ++ int shrinker_cb(struct shrinker *, int nr_to_scan, ++ gfp_t gfp_mask); ++ ],[ ++ struct shrinker cache_shrinker = { ++ .shrink = shrinker_cb, ++ .seeks = DEFAULT_SEEKS, ++ }; ++ register_shrinker(&cache_shrinker); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_3ARGS_SHRINKER_CALLBACK, 1, ++ [old shrinker callback wants 3 args]) ++ ],[ ++ AC_MSG_RESULT(no) ++ dnl # ++ dnl # 3.0 - 3.11 API change ++ dnl # ->shrink(struct shrinker *, ++ dnl # struct shrink_control *sc) ++ dnl # ++ AC_MSG_CHECKING( ++ [whether new 2-argument shrinker exists]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ++ int shrinker_cb(struct shrinker *, ++ struct shrink_control *sc); ++ ],[ ++ struct shrinker cache_shrinker = { ++ .shrink = shrinker_cb, ++ .seeks = DEFAULT_SEEKS, ++ }; ++ register_shrinker(&cache_shrinker); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_2ARGS_NEW_SHRINKER_CALLBACK, 1, ++ [new shrinker callback wants 2 args]) ++ ],[ ++ AC_MSG_RESULT(no) ++ dnl # ++ dnl # 3.12 API change, ++ dnl # ->shrink() is logically split in to ++ dnl # ->count_objects() and ->scan_objects() ++ dnl # ++ AC_MSG_CHECKING( ++ [whether ->count_objects callback exists]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ++ unsigned long shrinker_cb( ++ struct shrinker *, ++ struct shrink_control *sc); ++ ],[ ++ struct shrinker cache_shrinker = { ++ .count_objects = shrinker_cb, ++ .scan_objects = shrinker_cb, ++ .seeks = DEFAULT_SEEKS, ++ }; ++ register_shrinker(&cache_shrinker); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_SPLIT_SHRINKER_CALLBACK, ++ 1, [->count_objects exists]) ++ ],[ ++ AC_MSG_ERROR(error) ++ ]) ++ ]) ++ ]) + ]) + EXTRA_KCFLAGS="$tmp_flags" + ]) +diff --git a/include/linux/mm_compat.h b/include/linux/mm_compat.h +index cb1bef9..37c9b08 100644 +--- a/include/linux/mm_compat.h ++++ b/include/linux/mm_compat.h +@@ -148,107 +148,167 @@ extern shrink_icache_memory_t shrink_icache_memory_fn; + #endif /* HAVE_SHRINK_ICACHE_MEMORY */ + + /* +- * Linux 2.6. - 2.6. Shrinker API Compatibility. ++ * Due to frequent changes in the shrinker API the following ++ * compatibility wrappers should be used. They are as follows: ++ * ++ * SPL_SHRINKER_DECLARE is used to declare the shrinker which is ++ * passed to spl_register_shrinker()/spl_unregister_shrinker(). Use ++ * shrinker_name to set the shrinker variable name, shrinker_callback ++ * to set the callback function, and seek_cost to define the cost of ++ * reclaiming an object. ++ * ++ * SPL_SHRINKER_DECLARE(shrinker_name, shrinker_callback, seek_cost); ++ * ++ * SPL_SHRINKER_CALLBACK_FWD_DECLARE is used when a forward declaration ++ * of the shrinker callback function is required. Only the callback ++ * function needs to be passed. ++ * ++ * SPL_SHRINKER_CALLBACK_FWD_DECLARE(shrinker_callback); ++ * ++ * SPL_SHRINKER_CALLBACK_WRAPPER is used to declare the callback function ++ * which is registered with the shrinker. This function will call your ++ * custom shrinker which must use the following prototype. Notice the ++ * leading __'s, these must be appended to the callback_function name. ++ * ++ * int __shrinker_callback(struct shrinker *, struct shrink_control *) ++ * SPL_SHRINKER_CALLBACK_WRAPPER(shrinker_callback);a ++ * ++ * ++ * Example: ++ * ++ * SPL_SHRINKER_CALLBACK_FWD_DECLARE(my_shrinker_fn); ++ * SPL_SHRINKER_DECLARE(my_shrinker, my_shrinker_fn, 1); ++ * ++ * static int ++ * __my_shrinker_fn(struct shrinker *shrink, struct shrink_control *sc) ++ * { ++ * if (sc->nr_to_scan) { ++ * ...scan objects in the cache and reclaim them... ++ * } ++ * ++ * ...calculate number of objects in the cache... ++ * ++ * return (number of objects in the cache); ++ * } ++ * SPL_SHRINKER_CALLBACK_WRAPPER(my_shrinker_fn); + */ +-#ifdef HAVE_SET_SHRINKER +-typedef struct spl_shrinker { +- struct shrinker *shrinker; +- shrinker_t fn; +- int seeks; +-} spl_shrinker_t; +- +-static inline void +-spl_register_shrinker(spl_shrinker_t *ss) +-{ +- ss->shrinker = set_shrinker(ss->seeks, ss->fn); +-} + +-static inline void +-spl_unregister_shrinker(spl_shrinker_t *ss) +-{ +- remove_shrinker(ss->shrinker); +-} ++#define spl_register_shrinker(x) register_shrinker(x) ++#define spl_unregister_shrinker(x) unregister_shrinker(x) + +-# define SPL_SHRINKER_DECLARE(s, x, y) \ +- static spl_shrinker_t s = { \ +- .shrinker = NULL, \ +- .fn = x, \ +- .seeks = y \ +- } +- +-# define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ +- static int fn(int, unsigned int) +-# define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ +-static int \ +-fn(int nr_to_scan, unsigned int gfp_mask) \ +-{ \ +- struct shrink_control sc; \ +- \ +- sc.nr_to_scan = nr_to_scan; \ +- sc.gfp_mask = gfp_mask; \ +- \ +- return __ ## fn(NULL, &sc); \ ++/* ++ * Linux 2.6.23 - 2.6.34 Shrinker API Compatibility. ++ */ ++#if defined(HAVE_2ARGS_OLD_SHRINKER_CALLBACK) ++#define SPL_SHRINKER_DECLARE(s, x, y) \ ++static struct shrinker s = { \ ++ .shrink = x, \ ++ .seeks = y \ + } + +-#else ++#define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ ++static int fn(int nr_to_scan, unsigned int gfp_mask) + +-# define spl_register_shrinker(x) register_shrinker(x) +-# define spl_unregister_shrinker(x) unregister_shrinker(x) +-# define SPL_SHRINKER_DECLARE(s, x, y) \ +- static struct shrinker s = { \ +- .shrink = x, \ +- .seeks = y \ +- } ++#define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ ++static int \ ++fn(int nr_to_scan, unsigned int gfp_mask) \ ++{ \ ++ struct shrink_control sc; \ ++ \ ++ sc.nr_to_scan = nr_to_scan; \ ++ sc.gfp_mask = gfp_mask; \ ++ \ ++ return (__ ## fn(NULL, &sc)); \ ++} + + /* +- * Linux 2.6. - 2.6. Shrinker API Compatibility. ++ * Linux 2.6.35 to 2.6.39 Shrinker API Compatibility. + */ +-# if defined(HAVE_SHRINK_CONTROL_STRUCT) +-# define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ +- static int fn(struct shrinker *, struct shrink_control *) +-# define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ +-static int \ +-fn(struct shrinker *shrink, struct shrink_control *sc) { \ +- return __ ## fn(shrink, sc); \ ++#elif defined(HAVE_3ARGS_SHRINKER_CALLBACK) ++#define SPL_SHRINKER_DECLARE(s, x, y) \ ++static struct shrinker s = { \ ++ .shrink = x, \ ++ .seeks = y \ ++} ++ ++#define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ ++static int fn(struct shrinker *, int, unsigned int) ++ ++#define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ ++static int \ ++fn(struct shrinker *shrink, int nr_to_scan, unsigned int gfp_mask) \ ++{ \ ++ struct shrink_control sc; \ ++ \ ++ sc.nr_to_scan = nr_to_scan; \ ++ sc.gfp_mask = gfp_mask; \ ++ \ ++ return (__ ## fn(shrink, &sc)); \ + } + + /* +- * Linux 2.6. - 2.6. Shrinker API Compatibility. ++ * Linux 3.0 to 3.11 Shrinker API Compatibility. + */ +-# elif defined(HAVE_3ARGS_SHRINKER_CALLBACK) +-# define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ +- static int fn(struct shrinker *, int, unsigned int) +-# define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ +-static int \ +-fn(struct shrinker *shrink, int nr_to_scan, unsigned int gfp_mask) \ +-{ \ +- struct shrink_control sc; \ +- \ +- sc.nr_to_scan = nr_to_scan; \ +- sc.gfp_mask = gfp_mask; \ +- \ +- return __ ## fn(shrink, &sc); \ ++#elif defined(HAVE_2ARGS_NEW_SHRINKER_CALLBACK) ++#define SPL_SHRINKER_DECLARE(s, x, y) \ ++static struct shrinker s = { \ ++ .shrink = x, \ ++ .seeks = y \ ++} ++ ++#define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ ++static int fn(struct shrinker *, struct shrink_control *) ++ ++#define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ ++static int \ ++fn(struct shrinker *shrink, struct shrink_control *sc) \ ++{ \ ++ return (__ ## fn(shrink, sc)); \ + } + + /* +- * Linux 2.6. - 2.6. Shrinker API Compatibility. ++ * Linux 3.12 and later Shrinker API Compatibility. + */ +-# else +-# define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ +- static int fn(int, unsigned int) +-# define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ +-static int \ +-fn(int nr_to_scan, unsigned int gfp_mask) \ +-{ \ +- struct shrink_control sc; \ +- \ +- sc.nr_to_scan = nr_to_scan; \ +- sc.gfp_mask = gfp_mask; \ +- \ +- return __ ## fn(NULL, &sc); \ ++#elif defined(HAVE_SPLIT_SHRINKER_CALLBACK) ++#define SPL_SHRINKER_DECLARE(s, x, y) \ ++static struct shrinker s = { \ ++ .count_objects = x ## _count_objects, \ ++ .scan_objects = x ## _scan_objects, \ ++ .seeks = y \ + } + +-# endif +-#endif /* HAVE_SET_SHRINKER */ ++#define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ ++static unsigned long fn ## _count_objects(struct shrinker *, \ ++ struct shrink_control *); \ ++static unsigned long fn ## _scan_objects(struct shrinker *, \ ++ struct shrink_control *) ++ ++#define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ ++static unsigned long \ ++fn ## _count_objects(struct shrinker *shrink, struct shrink_control *sc)\ ++{ \ ++ int __ret__; \ ++ \ ++ sc->nr_to_scan = 0; \ ++ __ret__ = __ ## fn(NULL, sc); \ ++ \ ++ /* Errors may not be returned and must be converted to zeros */ \ ++ return ((__ret__ < 0) ? 0 : __ret__); \ ++} \ ++ \ ++static unsigned long \ ++fn ## _scan_objects(struct shrinker *shrink, struct shrink_control *sc) \ ++{ \ ++ int __ret__; \ ++ \ ++ __ret__ = __ ## fn(NULL, sc); \ ++ return ((__ret__ < 0) ? SHRINK_STOP : __ret__); \ ++} ++#else ++/* ++ * Linux 2.x to 2.6.22, or a newer shrinker API has been introduced. ++ */ ++#error "Unknown shrinker callback" ++#endif + + #endif /* SPL_MM_COMPAT_H */ diff --git a/pkgs/os-specific/linux/spl/3_13-compat-1.patch b/pkgs/os-specific/linux/spl/3_13-compat-1.patch new file mode 100644 index 000000000000..40946931c802 --- /dev/null +++ b/pkgs/os-specific/linux/spl/3_13-compat-1.patch @@ -0,0 +1,61 @@ +From 3e96de17d723d6f6c9e2fd04b059b50d4e0bbef0 Mon Sep 17 00:00:00 2001 +From: Richard Yao +Date: Thu, 8 Aug 2013 04:30:55 -0400 +Subject: [PATCH] Linux 3.13 compat: Remove unused flags variable from + __cv_init() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC 4.8.1 complained about an unused flags variable when building +against Linux 2.6.26.8: + +/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999/module/spl/../../module/spl/spl-condvar.c: +In function ‘__cv_init’: +/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999/module/spl/../../module/spl/spl-condvar.c:39:6: +error: variable ‘flags’ set but not used +[-Werror=unused-but-set-variable] + int flags = KM_SLEEP; + ^ + cc1: all warnings being treated as errors + +Additionally, the superfluous code uses a preempt_count variable that is +no longer available on Linux 3.13. Deleting the unnecessary code fixes a +Linux 3.13 compatibility issue. + +Signed-off-by: Richard Yao +Signed-off-by: Brian Behlendorf +Closes #312 +--- + module/spl/spl-condvar.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/module/spl/spl-condvar.c b/module/spl/spl-condvar.c +index 283648a..8236412 100644 +--- a/module/spl/spl-condvar.c ++++ b/module/spl/spl-condvar.c +@@ -36,8 +36,6 @@ + void + __cv_init(kcondvar_t *cvp, char *name, kcv_type_t type, void *arg) + { +- int flags = KM_SLEEP; +- + SENTRY; + ASSERT(cvp); + ASSERT(name == NULL); +@@ -51,12 +49,6 @@ + atomic_set(&cvp->cv_refs, 1); + cvp->cv_mutex = NULL; + +- /* We may be called when there is a non-zero preempt_count or +- * interrupts are disabled is which case we must not sleep. +- */ +- if (current_thread_info()->preempt_count || irqs_disabled()) +- flags = KM_NOSLEEP; +- + SEXIT; + } + EXPORT_SYMBOL(__cv_init); +-- +1.8.5.5 + diff --git a/pkgs/os-specific/linux/spl/3_13-compat-2.patch b/pkgs/os-specific/linux/spl/3_13-compat-2.patch new file mode 100644 index 000000000000..1f487f042f81 --- /dev/null +++ b/pkgs/os-specific/linux/spl/3_13-compat-2.patch @@ -0,0 +1,168 @@ +From 50a0749eba31e821a7edf286f1e3b149f7d13c59 Mon Sep 17 00:00:00 2001 +From: Richard Yao +Date: Mon, 25 Nov 2013 11:22:33 -0500 +Subject: [PATCH] Linux 3.13 compat: Pass NULL for new delegated inode argument + +This check was originally added for SLES10, a093c6a, to check for +a 'struct vfsmount *' argument which they added. However, since +SLES10 is based on a 2.6.16 kernel which is no longer supported +this functionality was dropped. The checks were refactored to +support Linux 3.13 without concern for historical versions. + +Signed-off-by: Richard Yao +Signed-off-by: Brian Behlendorf +Closes #312 +--- + config/spl-build.m4 | 52 ++++++++++++++++++++++++++++++++++++++++---------- + module/spl/spl-vnode.c | 22 ++++++++++++--------- + 2 files changed, 55 insertions(+), 19 deletions(-) + +diff --git a/config/spl-build.m4 b/config/spl-build.m4 +index 7d744db..8426780 100644 +--- a/config/spl-build.m4 ++++ b/config/spl-build.m4 +@@ -1842,41 +1842,73 @@ AC_DEFUN([SPL_AC_SET_FS_PWD_WITH_CONST], + EXTRA_KCFLAGS="$tmp_flags" + ]) + +-dnl # +-dnl # SLES API change, never adopted in mainline, +-dnl # Third 'struct vfsmount *' argument removed. +-dnl # + AC_DEFUN([SPL_AC_2ARGS_VFS_UNLINK], + [AC_MSG_CHECKING([whether vfs_unlink() wants 2 args]) + SPL_LINUX_TRY_COMPILE([ + #include + ],[ +- vfs_unlink(NULL, NULL); ++ vfs_unlink((struct inode *) NULL, (struct dentry *) NULL); + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_2ARGS_VFS_UNLINK, 1, + [vfs_unlink() wants 2 args]) + ],[ + AC_MSG_RESULT(no) ++ dnl # ++ dnl # Linux 3.13 API change ++ dnl # Added delegated inode ++ dnl # ++ AC_MSG_CHECKING([whether vfs_unlink() wants 3 args]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ],[ ++ vfs_unlink((struct inode *) NULL, ++ (struct dentry *) NULL, ++ (struct inode **) NULL); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_3ARGS_VFS_UNLINK, 1, ++ [vfs_unlink() wants 3 args]) ++ ],[ ++ AC_MSG_ERROR(no) ++ ]) ++ + ]) + ]) + +-dnl # +-dnl # SLES API change, never adopted in mainline, +-dnl # Third and sixth 'struct vfsmount *' argument removed. +-dnl # + AC_DEFUN([SPL_AC_4ARGS_VFS_RENAME], + [AC_MSG_CHECKING([whether vfs_rename() wants 4 args]) + SPL_LINUX_TRY_COMPILE([ + #include + ],[ +- vfs_rename(NULL, NULL, NULL, NULL); ++ vfs_rename((struct inode *) NULL, (struct dentry *) NULL, ++ (struct inode *) NULL, (struct dentry *) NULL); + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_4ARGS_VFS_RENAME, 1, + [vfs_rename() wants 4 args]) + ],[ + AC_MSG_RESULT(no) ++ dnl # ++ dnl # Linux 3.13 API change ++ dnl # Added delegated inode ++ dnl # ++ AC_MSG_CHECKING([whether vfs_rename() wants 5 args]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ],[ ++ vfs_rename((struct inode *) NULL, ++ (struct dentry *) NULL, ++ (struct inode *) NULL, ++ (struct dentry *) NULL, ++ (struct inode **) NULL); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_5ARGS_VFS_RENAME, 1, ++ [vfs_rename() wants 5 args]) ++ ],[ ++ AC_MSG_ERROR(no) ++ ]) + ]) + ]) + +diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c +index 0784ff2..5496067 100644 +--- a/module/spl/spl-vnode.c ++++ b/module/spl/spl-vnode.c +@@ -334,7 +334,11 @@ + if (inode) + ihold(inode); + ++#ifdef HAVE_2ARGS_VFS_UNLINK + rc = vfs_unlink(parent.dentry->d_inode, dentry); ++#else ++ rc = vfs_unlink(parent.dentry->d_inode, dentry, NULL); ++#endif /* HAVE_2ARGS_VFS_UNLINK */ + exit1: + dput(dentry); + } else { +@@ -412,10 +416,10 @@ + + #ifdef HAVE_4ARGS_VFS_RENAME + rc = vfs_rename(old_dir->d_inode, old_dentry, +- new_dir->d_inode, new_dentry); ++ new_dir->d_inode, new_dentry); + #else +- rc = vfs_rename(old_dir->d_inode, old_dentry, oldnd.nd_mnt, +- new_dir->d_inode, new_dentry, newnd.nd_mnt); ++ rc = vfs_rename(old_dir->d_inode, old_dentry, ++ new_dir->d_inode, new_dentry, NULL); + #endif /* HAVE_4ARGS_VFS_RENAME */ + exit4: + unlock_rename(new_dir, old_dir); +@@ -478,9 +482,9 @@ + if (inode) + atomic_inc(&inode->i_count); + #ifdef HAVE_2ARGS_VFS_UNLINK +- rc = vfs_unlink(nd.nd_dentry->d_inode, dentry); ++ rc = vfs_unlink(nd.nd_dentry->d_inode, dentry); + #else +- rc = vfs_unlink(nd.nd_dentry->d_inode, dentry, nd.nd_mnt); ++ rc = vfs_unlink(nd.nd_dentry->d_inode, dentry, NULL); + #endif /* HAVE_2ARGS_VFS_UNLINK */ + exit2: + dput(dentry); +@@ -571,11 +575,11 @@ + SGOTO(exit5, rc); + + #ifdef HAVE_4ARGS_VFS_RENAME +- rc = vfs_rename(old_dir->d_inode, old_dentry, +- new_dir->d_inode, new_dentry); ++ rc = vfs_rename(old_dir->d_inode, old_dentry, ++ new_dir->d_inode, new_dentry); + #else +- rc = vfs_rename(old_dir->d_inode, old_dentry, oldnd.nd_mnt, +- new_dir->d_inode, new_dentry, newnd.nd_mnt); ++ rc = vfs_rename(old_dir->d_inode, old_dentry, ++ new_dir->d_inode, new_dentry, NULL); + #endif /* HAVE_4ARGS_VFS_RENAME */ + exit5: + dput(new_dentry); +-- +1.8.5.5 + diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index ee264f67127a..1d70a76a001c 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { sha256 = "196scl8q0bkkak6m0p1l1fz254cgsizqm73bf9wk3iynamq7qmrw"; }; - patches = [ ./install_prefix.patch ]; + patches = [ ./install_prefix.patch ./3_12-compat.patch ./3_13-compat-1.patch ./3_13-compat-2.patch ]; buildInputs = [ perl autoconf automake libtool ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation { ./autogen.sh substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid - substituteInPlace ./module/spl/spl-module.c --replace /bin/mknod mknod + substituteInPlace ./module/spl/spl-module.c --replace /bin/mknod mknod substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin" substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" @@ -40,6 +40,6 @@ stdenv.mkDerivation { homepage = http://zfsonlinux.org/; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [ jcumming ]; + maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ]; }; } diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 2c2ed582083f..caa69a9e3a8a 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,11 +1,14 @@ { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod , xz, pam, acl, cryptsetup, libuuid, m4, utillinux , glib, kbd, libxslt, coreutils, libgcrypt, sysvtools, docbook_xsl -, kexectools +, kexectools, libmicrohttpd +, python ? null, pythonSupport ? false }: assert stdenv.isLinux; +assert pythonSupport -> python != null; + stdenv.mkDerivation rec { version = "203"; name = "systemd-${version}"; @@ -25,7 +28,8 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig intltool gperf libcap dbus.libs kmod xz pam acl /* cryptsetup */ libuuid m4 glib libxslt libgcrypt docbook_xsl - ]; + libmicrohttpd + ] ++ stdenv.lib.optional pythonSupport python; configureFlags = [ "--localstatedir=/var" diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix index b53af52755fa..19cfec9f0657 100644 --- a/pkgs/os-specific/linux/udisks/1-default.nix +++ b/pkgs/os-specific/linux/udisks/1-default.nix @@ -3,11 +3,11 @@ , libxslt, docbook_xsl, utillinux }: stdenv.mkDerivation rec { - name = "udisks-1.0.4"; + name = "udisks-1.0.5"; src = fetchurl { url = "http://hal.freedesktop.org/releases/${name}.tar.gz"; - sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5"; + sha256 = "0wbg3jrv8limdgvcygf4dqin3y6d30y9pcmmk711vq571vmq5v7j"; }; patches = [ ./purity.patch ./no-pci-db.patch ]; @@ -28,7 +28,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - configureFlags = "--localstatedir=/var --enable-lvm2"; + configureFlags = [ + "--localstatedir=/var" + "--enable-lvm2" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + ]; meta = { homepage = http://www.freedesktop.org/wiki/Software/udisks; diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index 537b17550da1..6c9b743fe177 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "udisks-2.1.1"; + name = "udisks-2.1.3"; src = fetchurl { url = "http://udisks.freedesktop.org/releases/${name}.tar.bz2"; - sha256 = "1yw6h3l13y796adwgj6m4j3hijv58lgpf98mq24nn9da73zhjfq1"; + sha256 = "0bb3403pa23j317b7z9ikdigr6ll5cl93l4hiy4afjgfa7b2zjaw"; }; patches = [ ./force-path.patch ]; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--localstatedir=/var" - "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-udevdir=$(out)/lib/udev" ]; diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index bd2caed265f2..5ee25ea976ac 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -38,18 +38,24 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - patches = [ ./libnl.patch ]; + patches = [ ./libnl.patch + # remove this patch after wpa_supplicant 2.1 + (fetchurl { + url ="http://projects.archlinux.org/svntogit/packages.git/plain/trunk/0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch?h=packages/wpa_supplicant"; + sha256 = "0x1wl2nbl7v9kv80qvysfjhhg5a7lmgygv1y723flps6y8ngm19w"; + }) + ]; postInstall = '' mkdir -p $out/share/man/man5 $out/share/man/man8 - cp -v doc/docbook/*.5 $out/share/man/man5/ - cp -v doc/docbook/*.8 $out/share/man/man8/ + cp -v "doc/docbook/"*.5 $out/share/man/man5/ + cp -v "doc/docbook/"*.8 $out/share/man/man8/ mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system - cp -v dbus/*service $out/share/dbus-1/system-services - sed -e "s@/sbin/wpa_supplicant@$out&@" -i $out/share/dbus-1/system-services/* + cp -v "dbus/"*service $out/share/dbus-1/system-services + sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"* cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d - cp -v systemd/*.service $out/etc/systemd/system - ''; # */ + cp -v "systemd/"*.service $out/etc/systemd/system + ''; meta = { homepage = http://hostap.epitest.fi/wpa_supplicant/; diff --git a/pkgs/os-specific/linux/zfs/3.13-compat.patch b/pkgs/os-specific/linux/zfs/3.13-compat.patch new file mode 100644 index 000000000000..f89d38f72acc --- /dev/null +++ b/pkgs/os-specific/linux/zfs/3.13-compat.patch @@ -0,0 +1,43 @@ +From 729210564a5325e190fc4fba22bf17bacf957ace Mon Sep 17 00:00:00 2001 +From: Richard Yao +Date: Mon, 25 Nov 2013 12:21:21 -0500 +Subject: [PATCH] Properly ignore bdi_setup_and_register return value + +This broke compilation against Linux 3.13 and GCC 4.7.3. + +Signed-off-by: Richard Yao +Signed-off-by: Brian Behlendorf +Closes #1906 +--- + config/kernel-bdi-setup-and-register.m4 | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/config/kernel-bdi-setup-and-register.m4 b/config/kernel-bdi-setup-and-register.m4 +index 4196091..cb8ed67 100644 +--- a/config/kernel-bdi-setup-and-register.m4 ++++ b/config/kernel-bdi-setup-and-register.m4 +@@ -1,12 +1,14 @@ + dnl # + dnl # 2.6.34 API change +-dnl # The bdi_setup_and_register() helper function is avilable and ++dnl # The bdi_setup_and_register() helper function is available and + dnl # exported by the kernel. This is a trivial helper function but + dnl # using it significantly simplifies the code surrounding setting + dnl # up and tearing down the bdi structure. + dnl # + AC_DEFUN([ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER], + [AC_MSG_CHECKING([whether bdi_setup_and_register() is available]) ++ tmp_flags="$EXTRA_KCFLAGS" ++ EXTRA_KCFLAGS="-Wno-unused-result" + ZFS_LINUX_TRY_COMPILE_SYMBOL([ + #include + ], [ +@@ -18,4 +20,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER], + ], [ + AC_MSG_RESULT(no) + ]) ++ EXTRA_KCFLAGS="$tmp_flags" + ]) +-- +1.8.5.5 + diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 67ed1312826a..f8f3c9ed3165 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "18b5f18k8mwb17r5ippsilmp1a2sqjw9fwn0z82159dkhsadg33b"; }; - patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ]; + patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ./libblkid-1db7b9b.patch ./gcc-4.8.patch ./3.13-compat.patch ]; buildInputs = [ spl perl autoconf automake libtool zlib libuuid coreutils ]; @@ -45,6 +45,6 @@ stdenv.mkDerivation { homepage = http://zfsonlinux.org/; license = stdenv.lib.licenses.cddl; platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ jcumming ]; + maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ]; }; } diff --git a/pkgs/os-specific/linux/zfs/gcc-4.8.patch b/pkgs/os-specific/linux/zfs/gcc-4.8.patch new file mode 100644 index 000000000000..341360163761 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/gcc-4.8.patch @@ -0,0 +1,114 @@ +commit 0f62f3f9abc4bfa0bcafee9bfa3d55e91dcb371d +Author: Brian Behlendorf +Date: Tue Jan 14 09:39:13 2014 -0800 + + Disable GCCs aggressive loop optimization + + GCC >+ 4.8's aggressive loop optimization breaks some of the iterators + over the dn_blkptr[] pseudo-array in dnode_phys. Since dn_blkptr[] is + defined as a single-element array, GCC believes an iterator can only + access index 0 and will unroll the loop into a single iteration. + + One way to resolve the issue would be to cast the array to a pointer + and fix all the iterators that might break. The only loop where it + is known to cause a problem is this loop in dmu_objset_write_ready(): + + for (i = 0; i < dnp->dn_nblkptr; i++) + bp->blk_fill += dnp->dn_blkptr[i].blk_fill; + + In the common case where dn_nblkptr is 3, the loop is only executed a + single time and "i" is equal to 1 following the loop. + + The specific breakage caused by this problem is that the blk_fill of + root block pointers wouldn't be set properly when more than one blkptr + is in use (when no indrect blocks are needed). + + The simple reproducing sequence is: + + zpool create tank /tank.img + zdb -ddddd tank 0 + + Notice that "fill=31", however, there are two L0 indirect blocks with + "F=31" and "F=5". The fill count should be 36 rather than 31. This + problem causes an assert to be hit in a simple "zdb tank" when built + with --enable-debug. + + However, this approach was not taken because we need to be absolutely + sure we catch all instances of this unwanted optimization. Therefore, + the build system has been updated to detect if GCC supports the + aggressive loop optimization. If it does the optimization will be + explicitly disabled using the -fno-aggressive-loop-optimization option. + + Original-fix-by: Tim Chase + Signed-off-by: Tim Chase + Signed-off-by: Brian Behlendorf + Closes #2010 + Closes #2051 + +diff --git a/config/Rules.am b/config/Rules.am +index e3fa5b5..24f9426 100644 +--- a/config/Rules.am ++++ b/config/Rules.am +@@ -1,8 +1,10 @@ + DEFAULT_INCLUDES = -include ${top_builddir}/zfs_config.h + + AM_LIBTOOLFLAGS = --silent +-AM_CFLAGS = -Wall -Wstrict-prototypes +-AM_CFLAGS += -fno-strict-aliasing ${NO_UNUSED_BUT_SET_VARIABLE} ${DEBUG_CFLAGS} ++AM_CFLAGS = ${DEBUG_CFLAGS} -Wall -Wstrict-prototypes ++AM_CFLAGS += ${NO_UNUSED_BUT_SET_VARIABLE} ++AM_CFLAGS += ${NO_AGGRESSIVE_LOOP_OPTIMIZATIONS} ++AM_CFLAGS += -fno-strict-aliasing + AM_CPPFLAGS = -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT + AM_CPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64 + AM_CPPFLAGS += -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-linux-user\" +diff --git a/config/always-no-aggressive-loop-optimizations.m4 b/config/always-no-aggressive-loop-optimizations.m4 +new file mode 100644 +index 0000000..8f2115a +--- /dev/null ++++ b/config/always-no-aggressive-loop-optimizations.m4 +@@ -0,0 +1,20 @@ ++dnl # ++dnl # Check if gcc supports -fno-aggressive-loop-optimizations ++dnl # ++AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_NO_AGGRESSIVE_LOOP_OPTIMIZATIONS], [ ++ AC_MSG_CHECKING([for -fno-aggressive-loop-optimizations support]) ++ ++ saved_flags="$CFLAGS" ++ CFLAGS="$CFLAGS -fno-aggressive-loop-optimizations" ++ ++ AC_RUN_IFELSE([AC_LANG_PROGRAM([], [])], [ ++ NO_AGGRESSIVE_LOOP_OPTIMIZATIONS=-fno-aggressive-loop-optimizations ++ AC_MSG_RESULT([yes]) ++ ], [ ++ NO_AGGRESSIVE_LOOP_OPTIMIZATIONS= ++ AC_MSG_RESULT([no]) ++ ]) ++ ++ CFLAGS="$saved_flags" ++ AC_SUBST([NO_AGGRESSIVE_LOOP_OPTIMIZATIONS]) ++]) +diff --git a/config/kernel.m4 b/config/kernel.m4 +index cbf0ca3..62a9b42 100644 +--- a/config/kernel.m4 ++++ b/config/kernel.m4 +@@ -104,6 +104,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ + dnl # -Wall -fno-strict-aliasing -Wstrict-prototypes and other + dnl # compiler options are added by the kernel build system. + KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_UNUSED_BUT_SET_VARIABLE" ++ KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_AGGRESSIVE_LOOP_OPTIMIZATIONS" + KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL" + KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\"" + +diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 +index 005185b..477b916 100644 +--- a/config/zfs-build.m4 ++++ b/config/zfs-build.m4 +@@ -62,6 +62,7 @@ AC_DEFUN([ZFS_AC_DEBUG_DMU_TX], [ + + AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [ + ZFS_AC_CONFIG_ALWAYS_NO_UNUSED_BUT_SET_VARIABLE ++ ZFS_AC_CONFIG_ALWAYS_NO_AGGRESSIVE_LOOP_OPTIMIZATIONS + ]) + + AC_DEFUN([ZFS_AC_CONFIG], [ diff --git a/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch b/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch new file mode 100644 index 000000000000..894bf395ce85 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch @@ -0,0 +1,118 @@ +commit 1db7b9be75a225cedb3b7a60028ca5695e5b8346 +Author: Richard Yao +Date: Wed Aug 28 16:17:47 2013 -0400 + + Fix libblkid support + + libblkid support is dormant because the autotools check is broken and + liblkid identifies ZFS vdevs as "zfs_member", not "zfs". We fix that + with a few changes: + + First, we fix the libblkid autotools check to do a few things: + + 1. Make a 64MB file, which is the minimum size ZFS permits. + 2. Make 4 fake uberblock entries to make libblkid's check succeed. + 3. Return 0 upon success to make autotools use the success case. + 4. Include stdlib.h to avoid implicit declration of free(). + 5. Check for "zfs_member", not "zfs" + 6. Make --with-blkid disable autotools check (avoids Gentoo sandbox violation) + 7. Pass '-lblkid' correctly using LIBS not LDFLAGS. + + Second, we change the libblkid support to scan for "zfs_member", not + "zfs". + + This makes --with-blkid work on Gentoo. + + Signed-off-by: Richard Yao + Signed-off-by: Brian Behlendorf + Issue #1751 + +diff --git a/config/user-libblkid.m4 b/config/user-libblkid.m4 +index 276587f..2dd2623 100644 +--- a/config/user-libblkid.m4 ++++ b/config/user-libblkid.m4 +@@ -22,26 +22,45 @@ AC_DEFUN([ZFS_AC_CONFIG_USER_LIBBLKID], [ + [with_blkid=check]) + + LIBBLKID= +- AS_IF([test "x$with_blkid" != xno], ++ AS_IF([test "x$with_blkid" = xyes], ++ [ ++ AC_SUBST([LIBBLKID], ["-lblkid"]) ++ AC_DEFINE([HAVE_LIBBLKID], 1, ++ [Define if you have libblkid]) ++ ]) ++ ++ AS_IF([test "x$with_blkid" = xcheck], + [ + AC_CHECK_LIB([blkid], [blkid_get_cache], + [ + AC_MSG_CHECKING([for blkid zfs support]) + + ZFS_DEV=`mktemp` +- dd if=/dev/zero of=$ZFS_DEV bs=1024k count=8 \ ++ truncate -s 64M $ZFS_DEV ++ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ ++ dd of=$ZFS_DEV bs=1k count=8 \ ++ seek=128 conv=notrunc &>/dev/null \ + >/dev/null 2>/dev/null + echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ + dd of=$ZFS_DEV bs=1k count=8 \ + seek=132 conv=notrunc &>/dev/null \ + >/dev/null 2>/dev/null ++ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ ++ dd of=$ZFS_DEV bs=1k count=8 \ ++ seek=136 conv=notrunc &>/dev/null \ ++ >/dev/null 2>/dev/null ++ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ ++ dd of=$ZFS_DEV bs=1k count=8 \ ++ seek=140 conv=notrunc &>/dev/null \ ++ >/dev/null 2>/dev/null + +- saved_LDFLAGS="$LDFLAGS" +- LDFLAGS="-lblkid" ++ saved_LIBS="$LIBS" ++ LIBS="-lblkid" + + AC_RUN_IFELSE([AC_LANG_PROGRAM( + [ + #include ++ #include + #include + ], + [ +@@ -58,10 +77,10 @@ AC_DEFUN([ZFS_AC_CONFIG_USER_LIBBLKID], [ + return 2; + } + +- if (strcmp(value, "zfs")) { ++ if (strcmp(value, "zfs_member")) { + free(value); + blkid_put_cache(cache); +- return 3; ++ return 0; + } + + free(value); +@@ -82,7 +101,7 @@ AC_DEFUN([ZFS_AC_CONFIG_USER_LIBBLKID], [ + [--with-blkid given but unavailable])]) + ]) + +- LDFLAGS="$saved_LDFLAGS" ++ LIBS="$saved_LIBS" + ], + [ + AS_IF([test "x$with_blkid" != xcheck], +diff --git a/lib/libzfs/libzfs_import.c b/lib/libzfs/libzfs_import.c +index 53609f2..d1fa98e 100644 +--- a/lib/libzfs/libzfs_import.c ++++ b/lib/libzfs/libzfs_import.c +@@ -965,7 +965,7 @@ zpool_find_import_blkid(libzfs_handle_t *hdl, pool_list_t *pools) + goto err_blkid2; + } + +- err = blkid_dev_set_search(iter, "TYPE", "zfs"); ++ err = blkid_dev_set_search(iter, "TYPE", "zfs_member"); + if (err != 0) { + (void) zfs_error_fmt(hdl, EZFS_BADCACHE, + dgettext(TEXT_DOMAIN, "blkid_dev_set_search() %d"), err); diff --git a/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch b/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch new file mode 100644 index 000000000000..3a38340f43a3 --- /dev/null +++ b/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch @@ -0,0 +1,25 @@ +From d7e56abcae8bcb85dc935e94418a2f0e9956941b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= +Date: Mon, 17 Feb 2014 20:52:50 +0000 +Subject: [PATCH 1/2] Import LD_LIBRARY_PATH to allow running 'scons check' + without 'chrpath' + +--- + SConstruct | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/SConstruct b/SConstruct +index 14e2f59..86b94bc 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -215,6 +215,7 @@ import_env = ( + 'PKG_CONFIG_LIBDIR', # Pass more environment variables to pkg-config (required for crossbuilds) + 'STAGING_DIR', # Required by the OpenWRT and CeroWrt builds. + 'STAGING_PREFIX', # Required by the OpenWRT and CeroWrt builds. ++ 'LD_LIBRARY_PATH', # Allows running 'scons check' without 'chrpath' + ) + envs = {} + for var in import_env: +-- +1.9.0 + diff --git a/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch b/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch new file mode 100644 index 000000000000..f12d7a52ba0c --- /dev/null +++ b/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch @@ -0,0 +1,28 @@ +From aed93b6ada5b9b76b85d11d9bad732ca005295af Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= +Date: Sat, 15 Mar 2014 15:08:01 +0100 +Subject: [PATCH 2/2] Import XML_CATALOG_FILES to be able to validate the + manual + +In nixos/nixpkgs, 'xmlto' depends on $XML_CATALOG_FILES to be able to +validate XML documents. Because without it, it'll try to go online to +download DTD's and builders don't have network access... +--- + SConstruct | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/SConstruct b/SConstruct +index 86b94bc..a0b3d25 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -216,6 +216,7 @@ import_env = ( + 'STAGING_DIR', # Required by the OpenWRT and CeroWrt builds. + 'STAGING_PREFIX', # Required by the OpenWRT and CeroWrt builds. + 'LD_LIBRARY_PATH', # Allows running 'scons check' without 'chrpath' ++ 'XML_CATALOG_FILES', # Enables validating the manual with 'xmlto' using nix build system + ) + envs = {} + for var in import_env: +-- +1.9.0 + diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix index 25051167ca51..a52ca2b6871b 100644 --- a/pkgs/servers/gpsd/default.nix +++ b/pkgs/servers/gpsd/default.nix @@ -1,54 +1,87 @@ -{ fetchurl, stdenv, pythonPackages, pkgconfig, dbus, dbus_glib +{ fetchurl, stdenv, scons, pythonFull, pkgconfig, dbus, dbus_glib , ncurses, libX11, libXt, libXpm, libXaw, libXext, makeWrapper , libusb1, docbook_xml_dtd_412, docbook_xsl, bc -, libxslt, xmlto, gpsdUser ? "gpsd" }: +, libxslt, xmlto, gpsdUser ? "gpsd", gpsdGroup ? "dialout" +}: + +# TODO: the 'xgps' program doesn't work: "ImportError: No module named gobject" +# TODO: put the X11 deps behind a guiSupport parameter for headless support stdenv.mkDerivation rec { - name = "gpsd-2.95"; + name = "gpsd-3.10"; src = fetchurl { - url = "http://download.berlios.de/gpsd/${name}.tar.gz"; - sha256 = "1bjhyjg561kwp6zc2wg58njdvpnsj5yaa2slz8g3ga1176jl68w3"; + url = "http://download-mirror.savannah.gnu.org/releases/gpsd/${name}.tar.gz"; + sha256 = "0823hl5zgwnbgm0fq3i4z34lv76cpj0k6m0zjiygiyrxrz0w4vvh"; }; - nativeBuildInputs = [ makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl - xmlto bc pythonPackages.wrapPython ]; + nativeBuildInputs = [ + scons makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl xmlto bc + pythonFull + ]; - pythonPath = [ pythonPackages.curses ]; + buildInputs = [ + pythonFull dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext + libxslt libusb1 + ]; - buildInputs = [ pythonPackages.python dbus dbus_glib ncurses libX11 libXt - libXpm libXaw libXext libxslt libusb1 ]; + patches = [ + ./0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch + ./0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch + ]; - configureFlags = "--enable-static --enable-dbus --enable-gpsd-user=${gpsdUser}"; + # - leapfetch=no disables going online at build time to fetch leap-seconds + # info. See /build.txt for more info. + # - chrpath=no stops the build from using 'chrpath' (which we don't have). + # 'chrpath' is used to be able to run the tests from the source tree, but + # we use $LD_LIBRARY_PATH instead. + buildPhase = '' + patchShebangs . + mkdir -p "$out" + sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonFull.python.libPrefix}/site-packages\"|" -i SConstruct + scons prefix="$out" leapfetch=no gpsd_user=${gpsdUser} gpsd_group=${gpsdGroup} \ + systemd=yes udevdir="$out/lib/udev" chrpath=no + ''; doCheck = true; + checkPhase = '' + export LD_LIBRARY_PATH="$PWD" + scons check + ''; + + # TODO: the udev rules file and the hotplug script need fixes to work on NixOS + installPhase = '' + scons install + mkdir -p "$out/lib/udev/rules.d" + scons udev-install + ''; + postInstall = "wrapPythonPrograms"; - meta = { - description = "`gpsd', a GPS service daemon"; - + meta = with stdenv.lib; { + description = "GPS service daemon"; longDescription = '' - gpsd is a service daemon that monitors one or more GPSes - attached to a host computer through serial or USB ports, making - all data on the location/course/velocity of the sensors - available to be queried on TCP port 2947 of the host computer. - With gpsd, multiple GPS client applications (such as - navigational and wardriving software) can share access to GPSes - without contention or loss of data. Also, gpsd responds to - queries with a format that is substantially easier to parse than - the NMEA 0183 emitted by most GPSes. The gpsd distribution - includes a linkable C service library, a C++ wrapper class, and - a Python module that developers of gpsd-aware applications can - use to encapsulate all communication with gpsd. + gpsd is a service daemon that monitors one or more GPSes or AIS + receivers attached to a host computer through serial or USB ports, + making all data on the location/course/velocity of the sensors + available to be queried on TCP port 2947 of the host computer. With + gpsd, multiple location-aware client applications (such as navigational + and wardriving software) can share access to receivers without + contention or loss of data. Also, gpsd responds to queries with a + format that is substantially easier to parse than the NMEA 0183 emitted + by most GPSes. The gpsd distribution includes a linkable C service + library, a C++ wrapper class, and a Python module that developers of + gpsd-aware applications can use to encapsulate all communication with + gpsd. Third-party client bindings for Java and Perl also exist. Besides gpsd itself, the project provides auxiliary tools for - diagnostic monitoring and profiling of GPSes and feeding - GPS-aware applications GPS logs for diagnostic purposes. + diagnostic monitoring and profiling of receivers and feeding + location-aware applications GPS/AIS logs for diagnostic purposes. ''; - - homepage = http://gpsd.berlios.de/; - + homepage = http://catb.org/gpsd/; license = "BSD-style"; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix index 4a50acd3379f..899914b6446d 100644 --- a/pkgs/servers/http/lighttpd/default.nix +++ b/pkgs/servers/http/lighttpd/default.nix @@ -1,22 +1,26 @@ { stdenv, fetchurl, pkgconfig, pcre, libxml2, zlib, attr, bzip2, which, file , openssl, enableMagnet ? false, lua5 ? null +, enableMysql ? false, mysql ? null }: assert enableMagnet -> lua5 != null; +assert enableMysql -> mysql != null; stdenv.mkDerivation rec { - name = "lighttpd-1.4.34"; + name = "lighttpd-1.4.35"; src = fetchurl { url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz"; - sha256 = "1dzgz3gkfyn97s4dm896yjanlhqzzsz38dhjdgla06xgynca1hdl"; + sha256 = "18rh7xyx69xbwl20znnjma1dq5fay0ygjjvpn3gaa7dxrir9nghi"; }; buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ] - ++ stdenv.lib.optional enableMagnet lua5; + ++ stdenv.lib.optional enableMagnet lua5 + ++ stdenv.lib.optional enableMysql mysql; configureFlags = [ "--with-openssl" ] - ++ stdenv.lib.optional enableMagnet "--with-lua"; + ++ stdenv.lib.optional enableMagnet "--with-lua" + ++ stdenv.lib.optional enableMysql "--with-mysql"; preConfigure = '' sed -i "s:/usr/bin/file:${file}/bin/file:g" configure diff --git a/pkgs/servers/http/winstone/default.nix b/pkgs/servers/http/winstone/default.nix new file mode 100644 index 000000000000..8991a220a76d --- /dev/null +++ b/pkgs/servers/http/winstone/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "winstone-${version}"; + version = "0.9.10"; + + src = fetchurl { + url = "mirror://sourceforge/winstone/${name}.jar"; + sha256 = "17xvq3yk95335c6ag1bmbmxlvh7gqq35ifi64r2l6rnvrf6pqyan"; + }; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/lib + cp $src $out/lib/winstone.jar + ''; + + meta = { + homepage = "http://winstone.sourceforge.net/"; + description = "A simple Java Servlet container."; + license = stdenv.lib.licenses.cddl; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; +} diff --git a/pkgs/servers/irc/ngircd/default.nix b/pkgs/servers/irc/ngircd/default.nix new file mode 100644 index 000000000000..738881e2aafe --- /dev/null +++ b/pkgs/servers/irc/ngircd/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, zlib, openssl, pam, libiconvOrNull }: + +stdenv.mkDerivation rec { + name = "ngircd-21"; + + src = fetchurl { + url = "http://ngircd.barton.de/pub/ngircd/${name}.tar.xz"; + sha256 = "19llx54zy6hc8k7kcs1f234qc20mqpnlnb30c663c42jxq5x6xii"; + }; + + configureFlags = [ + "--with-syslog" + "--with-zlib" + "--with-pam" + "--with-openssl" + "--enable-ipv6" + "--with-iconv" + ]; + + buildInputs = [ zlib pam openssl libiconvOrNull ]; + + meta = { + description = "Next Generation IRC Daemon"; + homepage = http://ngircd.barton.de; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch index cce63fe250c6..3ba11d41b1bd 100644 --- a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch +++ b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch @@ -1,6 +1,6 @@ -diff -ur dovecot-2.2.2-orig/src/auth/main.c dovecot-2.2.2/src/auth/main.c ---- dovecot-2.2.2-orig/src/auth/main.c 2013-03-13 15:26:46.000000000 +0100 -+++ dovecot-2.2.2/src/auth/main.c 2013-05-20 20:23:58.126024535 +0200 +diff -ur dovecot-2.2.12-orig/src/auth/main.c dovecot-2.2.12/src/auth/main.c +--- dovecot-2.2.12-orig/src/auth/main.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/auth/main.c 2014-03-14 09:28:17.642334838 +0100 @@ -193,7 +193,7 @@ mod_set.debug = global_auth_settings->debug; mod_set.filter_callback = auth_module_filter; @@ -19,10 +19,10 @@ diff -ur dovecot-2.2.2-orig/src/auth/main.c dovecot-2.2.2/src/auth/main.c &mod_set); module_dir_init(modules); } -diff -ur dovecot-2.2.2-orig/src/config/all-settings.c dovecot-2.2.2/src/config/all-settings.c ---- dovecot-2.2.2-orig/src/config/all-settings.c 2013-05-15 12:20:55.000000000 +0200 -+++ dovecot-2.2.2/src/config/all-settings.c 2013-05-21 00:31:46.624073562 +0200 -@@ -766,7 +766,7 @@ +diff -ur dovecot-2.2.12-orig/src/config/all-settings.c dovecot-2.2.12/src/config/all-settings.c +--- dovecot-2.2.12-orig/src/config/all-settings.c 2014-02-11 23:31:37.000000000 +0100 ++++ dovecot-2.2.12/src/config/all-settings.c 2014-03-14 09:32:08.907608311 +0100 +@@ -773,7 +773,7 @@ .last_valid_gid = 0, .mail_plugins = "", @@ -31,18 +31,19 @@ diff -ur dovecot-2.2.2-orig/src/config/all-settings.c dovecot-2.2.2/src/config/a .mail_log_prefix = "%s(%u): ", -@@ -3274,7 +3274,7 @@ +@@ -3304,7 +3304,7 @@ .base_dir = PKG_RUNDIR, .libexec_dir = PKG_LIBEXECDIR, .mail_plugins = "", - .mail_plugin_dir = MODULEDIR, + .mail_plugin_dir = "/var/lib/dovecot/modules", + .auth_socket_path = "auth-userdb", .doveadm_socket_path = "doveadm-server", .doveadm_worker_count = 0, - .doveadm_port = 0, -diff -ur dovecot-2.2.2-orig/src/config/config-parser.c dovecot-2.2.2/src/config/config-parser.c ---- dovecot-2.2.2-orig/src/config/config-parser.c 2013-02-04 22:05:42.000000000 +0100 -+++ dovecot-2.2.2/src/config/config-parser.c 2013-05-20 20:23:58.106024534 +0200 +Only in dovecot-2.2.12/src/config: all-settings.c.orig +diff -ur dovecot-2.2.12-orig/src/config/config-parser.c dovecot-2.2.12/src/config/config-parser.c +--- dovecot-2.2.12-orig/src/config/config-parser.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/config/config-parser.c 2014-03-14 09:28:17.645334840 +0100 @@ -990,7 +990,7 @@ memset(&mod_set, 0, sizeof(mod_set)); @@ -52,9 +53,9 @@ diff -ur dovecot-2.2.2-orig/src/config/config-parser.c dovecot-2.2.2/src/config/ module_dir_init(modules); i_array_init(&new_roots, 64); -diff -ur dovecot-2.2.2-orig/src/dict/main.c dovecot-2.2.2/src/dict/main.c ---- dovecot-2.2.2-orig/src/dict/main.c 2013-02-04 22:05:42.000000000 +0100 -+++ dovecot-2.2.2/src/dict/main.c 2013-05-20 20:23:58.101024534 +0200 +diff -ur dovecot-2.2.12-orig/src/dict/main.c dovecot-2.2.12/src/dict/main.c +--- dovecot-2.2.12-orig/src/dict/main.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/dict/main.c 2014-03-14 09:28:17.645334840 +0100 @@ -61,7 +61,7 @@ mod_set.abi_version = DOVECOT_ABI_VERSION; mod_set.require_init_funcs = TRUE; @@ -64,22 +65,23 @@ diff -ur dovecot-2.2.2-orig/src/dict/main.c dovecot-2.2.2/src/dict/main.c module_dir_init(modules); /* Register only after loading modules. They may contain SQL drivers, -diff -ur dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c dovecot-2.2.2/src/doveadm/doveadm-settings.c ---- dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c 2013-04-07 19:13:06.000000000 +0200 -+++ dovecot-2.2.2/src/doveadm/doveadm-settings.c 2013-05-20 20:23:58.399024539 +0200 -@@ -76,7 +76,7 @@ +diff -ur dovecot-2.2.12-orig/src/doveadm/doveadm-settings.c dovecot-2.2.12/src/doveadm/doveadm-settings.c +--- dovecot-2.2.12-orig/src/doveadm/doveadm-settings.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/doveadm/doveadm-settings.c 2014-03-14 09:32:56.540087069 +0100 +@@ -77,7 +77,7 @@ .base_dir = PKG_RUNDIR, .libexec_dir = PKG_LIBEXECDIR, .mail_plugins = "", - .mail_plugin_dir = MODULEDIR, + .mail_plugin_dir = "/var/lib/dovecot/modules", + .auth_socket_path = "auth-userdb", .doveadm_socket_path = "doveadm-server", .doveadm_worker_count = 0, - .doveadm_port = 0, -diff -ur dovecot-2.2.2-orig/src/lib-fs/fs-api.c dovecot-2.2.2/src/lib-fs/fs-api.c ---- dovecot-2.2.2-orig/src/lib-fs/fs-api.c 2013-04-18 16:07:26.000000000 +0200 -+++ dovecot-2.2.2/src/lib-fs/fs-api.c 2013-05-20 20:23:58.099024534 +0200 -@@ -82,7 +82,7 @@ +Only in dovecot-2.2.12/src/doveadm: doveadm-settings.c.orig +diff -ur dovecot-2.2.12-orig/src/lib-fs/fs-api.c dovecot-2.2.12/src/lib-fs/fs-api.c +--- dovecot-2.2.12-orig/src/lib-fs/fs-api.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/lib-fs/fs-api.c 2014-03-14 09:28:17.646334843 +0100 +@@ -89,7 +89,7 @@ mod_set.abi_version = DOVECOT_ABI_VERSION; mod_set.ignore_missing = TRUE; @@ -88,10 +90,11 @@ diff -ur dovecot-2.2.2-orig/src/lib-fs/fs-api.c dovecot-2.2.2/src/lib-fs/fs-api. module_name, &mod_set); module_dir_init(fs_modules); -diff -ur dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c ---- dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c 2013-04-09 22:45:19.000000000 +0200 -+++ dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c 2013-05-20 20:23:58.089024534 +0200 -@@ -28,7 +28,7 @@ +Only in dovecot-2.2.12/src/lib-fs: fs-api.c.orig +diff -ur dovecot-2.2.12-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.12/src/lib-ssl-iostream/iostream-ssl.c +--- dovecot-2.2.12-orig/src/lib-ssl-iostream/iostream-ssl.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/lib-ssl-iostream/iostream-ssl.c 2014-03-14 09:28:17.646334843 +0100 +@@ -30,7 +30,7 @@ memset(&mod_set, 0, sizeof(mod_set)); mod_set.abi_version = DOVECOT_ABI_VERSION; mod_set.setting_name = ""; @@ -100,10 +103,11 @@ diff -ur dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.2/sr ssl_vfuncs = module_get_symbol(ssl_module, "ssl_vfuncs"); if (ssl_vfuncs == NULL) { -diff -ur dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.2/src/lib-storage/mail-storage-settings.c ---- dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c 2013-05-15 12:20:00.000000000 +0200 -+++ dovecot-2.2.2/src/lib-storage/mail-storage-settings.c 2013-05-20 20:23:57.858024531 +0200 -@@ -260,7 +260,7 @@ +Only in dovecot-2.2.12/src/lib-ssl-iostream: iostream-ssl.c.orig +diff -ur dovecot-2.2.12-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.12/src/lib-storage/mail-storage-settings.c +--- dovecot-2.2.12-orig/src/lib-storage/mail-storage-settings.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/lib-storage/mail-storage-settings.c 2014-03-14 09:28:17.646334843 +0100 +@@ -262,7 +262,7 @@ .last_valid_gid = 0, .mail_plugins = "", @@ -112,3 +116,4 @@ diff -ur dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2. .mail_log_prefix = "%s(%u): ", +Only in dovecot-2.2.12/src/lib-storage: mail-storage-settings.c.orig diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix index 06635e33954f..2b1aca3e9269 100644 --- a/pkgs/servers/mail/dovecot/2.2.x.nix +++ b/pkgs/servers/mail/dovecot/2.2.x.nix @@ -2,13 +2,13 @@ , inotifyTools }: stdenv.mkDerivation rec { - name = "dovecot-2.2.6"; + name = "dovecot-2.2.12"; buildInputs = [perl systemd openssl pam bzip2 zlib openldap inotifyTools]; src = fetchurl { url = "http://dovecot.org/releases/2.2/${name}.tar.gz"; - sha256 = "1rfnsg0a57cv02pl68h3jhbd5v3071a75bvf9gs95fd41g72n9v2"; + sha256 = "0mlcwgrxfwy1fqfk3wwbh1h9f0jddg4rnj612ckj1zv5asp1rppk"; }; preConfigure = '' diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix index ef77c3191cab..b45bef0cce8c 100644 --- a/pkgs/servers/memcached/default.nix +++ b/pkgs/servers/memcached/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, cyrus_sasl, libevent}: -stdenv.mkDerivation { - name = "memcached-1.4.15"; +stdenv.mkDerivation rec { + name = "memcached-1.4.17"; src = fetchurl { - url = http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz; - sha256 = "1d7205cp49s379fdy2qz1gz2a5v4nnv18swzmvbascbmgamj35qn"; + url = "http://memcached.org/files/${name}.tar.gz"; + sha1 = "2b4fc706d39579cf355e3358cfd27b44d40bd79c"; }; buildInputs = [cyrus_sasl libevent]; diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix index ba0b80fc61e8..47c8c12edef6 100644 --- a/pkgs/servers/openafs-client/default.nix +++ b/pkgs/servers/openafs-client/default.nix @@ -4,11 +4,11 @@ assert stdenv.isLinux; stdenv.mkDerivation { - name = "openafs-1.6.1-${kernel.version}"; + name = "openafs-1.6.6-${kernel.version}"; src = fetchurl { - url = http://www.openafs.org/dl/openafs/1.6.1/openafs-1.6.1-src.tar.bz2; - sha256 = "1c7mid0dwl2x0sikr70bi5cs881y6pa4dfwkdmr3jscvx3wgfpnh"; + url = http://www.openafs.org/dl/openafs/1.6.6/openafs-1.6.6-src.tar.bz2; + sha256 = "0xfa64hvz0avp89zgz8ksmp24s6ns0z3103m4mspshhhdlikypk3"; }; buildInputs = [ autoconf automake flex yacc ncurses perl which ]; @@ -41,6 +41,5 @@ stdenv.mkDerivation { license = stdenv.lib.licenses.ipl10; platforms = stdenv.lib.platforms.linux; maintainers = stdenv.lib.maintainers.z77z; - broken = true; }; } diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix new file mode 100644 index 000000000000..443e7af71ad7 --- /dev/null +++ b/pkgs/servers/search/solr/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "solr-${version}"; + version = "4.7.0"; + + src = fetchurl { + url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz"; + sha256 = "0qm3pnhpfqjxdl0xiwffrcchp79q3ja5w5d278bkkxglc2y1y4xc"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/lib + cp dist/${name}.war $out/lib/solr.war + cp -r example/lib/ext $out/lib/ext + ''; + + meta = { + homepage = "https://lucene.apache.org/solr/"; + description = '' + Open source enterprise search platform from the Apache Lucene project + ''; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; + +} diff --git a/pkgs/servers/serfdom/default.nix b/pkgs/servers/serfdom/default.nix index 13c878888e29..274fc89f94d0 100644 --- a/pkgs/servers/serfdom/default.nix +++ b/pkgs/servers/serfdom/default.nix @@ -1,80 +1,105 @@ -{ stdenv, fetchurl, fetchgit, go, lib }: +{ stdenv, fetchurl, fetchgit, fetchhg, go, lib }: let goDeps = [ { - dir = "github.com/hashicorp"; - name = "serf"; - rev = "21113c8207d8e02b7ff738c9be80fcaabf67251d"; - sha256 = "10lmgb0caffp0x02nriahyfq9p6qkhr8carfq38m8cjxqxs2v0nk"; + dir = "github.com/hashicorp"; + name = "serf"; + rev = "c5b41a9d1d261135117a8d501d3293efade3cc74"; + sha256 = "a314d3c13fb370842a8f7c6650abfa907b51172a09c64f9184a240fab05b43df"; + fetcher = git; } { - dir = "github.com/armon"; - name = "go-metrics"; - rev = "8ceaed1d0bc3a25db6e65e79ee4f895013313c17"; - sha256 = "1yzajmx26br4812m9gz4v7qj6fcmhg4a9jz9l3i20hh2x06srmpg"; + dir = "github.com/armon"; + name = "go-metrics"; + rev = "e12c3591b520e819e8234bd585d592774f2b2ad5"; + sha256 = "79476efefb68876fcad7e71e76d95f4a7eece2cfcdc5a9c10f998af3178230ba"; + fetcher = git; } { - dir = "github.com/hashicorp"; - name = "logutils"; - rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8"; - sha256 = "184lnn7x1v3xvj6zz1rg9s0252wkkd59kij2iyrrm7y80bym2jys"; + dir = "github.com/hashicorp"; + name = "logutils"; + rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8"; + sha256 = "184lnn7x1v3xvj6zz1rg9s0252wkkd59kij2iyrrm7y80bym2jys"; + fetcher = git; } { - dir = "github.com/hashicorp"; - name = "memberlist"; - rev = "825ad4aca57c7323e8dadde149bfdec9d9621ffe"; - sha256 = "0mm0hm2kncafq5ml58ki7ilh3b47ni0w19n50ilahhhm4lsfry7z"; + dir = "github.com/hashicorp"; + name = "memberlist"; + rev = "d5be01d1f4d75b086eba4ae808f2767c08cbbf73"; + sha256 = "4ab2b610d439e96c169d9caf9ac0e009d71d3ef9a2fd2c812870b71eb6b27dfc"; + fetcher = git; } { - dir = "github.com/ugorji"; - name = "go"; - rev = "cdeae7b76625959e4164eab9eb303087a794f2cc"; - sha256 = "0pcjlbhp6vxnksy12rav6c8bvi2v010407l5hibxqdvnampvhlkb"; + dir = "github.com/ugorji"; + name = "go"; + rev = "71c2886f5a673a35f909803f38ece5810165097b"; + sha256 = "128853bcc5f114c300772cbce316b55e84206fa56705c5b9cc94c1693b11ee94"; + fetcher = git; } { - dir = "github.com/mitchellh"; - name = "cli"; - rev = "69f0b65ce53b27f729b1b807b88dc88007f41dd3"; - sha256 = "0hnnqd8vg5ca2hglkrj141ba2akdh7crl2lsrgz8d6ipw6asszx3"; + dir = "github.com/mitchellh"; + name = "cli"; + rev = "69f0b65ce53b27f729b1b807b88dc88007f41dd3"; + sha256 = "0hnnqd8vg5ca2hglkrj141ba2akdh7crl2lsrgz8d6ipw6asszx3"; + fetcher = git; } { - dir = "github.com/armon"; - name = "mdns"; - rev = "17be83de467449f38a8395c30534a9cf0c03e5ea"; - sha256 = "1fhb6vldclgdx9aqqh1gl87cl5sw3nbq9b7mibkljhbk3cdajyxn"; + dir = "github.com/armon"; + name = "mdns"; + rev = "8be7e3ac4e941555169a99d01abcabd3c982d87a"; + sha256 = "87cd3a0ada3b094ee8fc4c4742158e0d051cde893da1ea320158a47d6254f69d"; + fetcher = git; } { - dir = "github.com/miekg"; - name = "dns"; - rev = "5eec7f362c392f0a7eaadea69b13667d665feb82"; - sha256 = "0irlzhd78qmn3lyfbkxmwajv0mm6jp6x0cg7hb9hyj6d01ynlv09"; + dir = "github.com/miekg"; + name = "dns"; + rev = "7ebb4c59b39d5984952a355086606dd91f6cfe86"; + sha256 = "8418ad2d27e607cef1dc0003471416294443e467f2de9df135e3a2ab411e2512"; + fetcher = git; } { - dir = "github.com/mitchellh"; - name = "mapstructure"; - rev = "57bb2fa7a7e00b26c80e4c4b0d4f15a210d94039"; - sha256 = "13lvd5vw8y6h5zl3samkrb7237kk778cky7k7ys1cm46mfd957zy"; + dir = "github.com/mitchellh"; + name = "mapstructure"; + rev = "57bb2fa7a7e00b26c80e4c4b0d4f15a210d94039"; + sha256 = "13lvd5vw8y6h5zl3samkrb7237kk778cky7k7ys1cm46mfd957zy"; + fetcher = git; + } + { + dir = "github.com/ryanuber"; + name = "columnize"; + rev = "d066e113d6e13232f45bda646a915dffeee7f1a4"; + sha256 = "2aaec396a223fc4b45117a595e74c0a874bd5cd9604c742b8c4747436b4721e9"; + fetcher = git; + } + { + dir = "code.google.com/p"; + name = "go.net"; + rev = "89dbba2db2d4"; + sha256 = "0168inai10nkdrz4g0rjlj8b5v34mv135v8bhyvh501vnqql50jn"; + fetcher = hg; } ]; + git = desc: fetchgit { url = "https://${desc.dir}/${desc.name}"; + inherit (desc) rev sha256; }; + hg = desc: fetchhg { url = "https://${desc.dir}/${desc.name}"; + tag = desc.rev; + inherit (desc) sha256; }; createGoPathCmds = lib.concatStrings (map (desc: - let - fetched = fetchgit { url = "https://${desc.dir}/${desc.name}"; - inherit (desc) rev sha256; }; - in '' + let fetched = desc.fetcher desc; in '' mkdir -p $GOPATH/src/${desc.dir} ln -s ${fetched} $GOPATH/src/${desc.dir}/${desc.name} '') goDeps); in stdenv.mkDerivation rec { - version = "0.4.1"; + version = "0.5.0"; name = "serfdom-${version}"; src = fetchurl { url = "https://github.com/hashicorp/serf/archive/v${version}.tar.gz"; - sha256 = "0f4fxhw2r31ks9rs9h3wx9lsymnp8szk0gzggvibwhl2bm6kn6d8"; + sha256 = "1p2cpkdx0gck1ypxc98im7gsv3275avpkizhsif3nxvl1xd8g1qp"; }; buildInputs = [ go ]; diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix index 7f6e2d25d187..3b5c820c94d1 100644 --- a/pkgs/servers/sql/postgresql/9.3.x.nix +++ b/pkgs/servers/sql/postgresql/9.3.x.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, readline }: +{ stdenv, fetchurl, zlib, readline, libossp_uuid }: let version = "9.3.3"; in @@ -10,12 +10,17 @@ stdenv.mkDerivation rec { sha256 = "e925d8abe7157bd8bece6b7c0dd0c343d87a2b4336f85f4681ce596af99c3879"; }; - buildInputs = [ zlib readline ]; + buildInputs = [ zlib readline libossp_uuid ]; enableParallelBuilding = true; makeFlags = [ "world" ]; + configureFlags = + '' + --with-ossp-uuid + ''; + patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ]; installTargets = [ "install-world" ]; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index beca7414c363..6990da2352ed 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1569,6 +1569,16 @@ let buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; + xf86videomodesetting = (stdenv.mkDerivation ((if overrides ? xf86videomodesetting then overrides.xf86videomodesetting else x: x) { + name = "xf86-video-modesetting-0.8.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-modesetting-0.8.1.tar.bz2; + sha256 = "1jhjhgji6169sj7489qahcnmi8cf7y22wvj8qsmrg537rgbxia1v"; + }; + buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ]; + })) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;}; + xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) { name = "xf86-video-neomagic-1.2.8"; builder = ./builder.sh; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 24279ac70f9b..eccc931f42f0 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -136,6 +136,7 @@ mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2 mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2 +mirror://xorg/individual/driver/xf86-video-modesetting-0.8.1.tar.bz2 mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2 diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 6e74af5fce52..f1cf34b160c6 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -12,12 +12,6 @@ let lib = import ../../../lib; in lib.makeOverridable ( , extraBuildInputs ? [] }: -if ! builtins ? langVersion then - - abort "This version of Nixpkgs requires Nix >= 1.2, please upgrade!" - -else - let allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1"; diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix index ccfea341771f..c77517fa1772 100644 --- a/pkgs/tools/archivers/zpaq/default.nix +++ b/pkgs/tools/archivers/zpaq/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="zpaq"; - version="643"; + version="649"; name="${baseName}-${version}"; - hash="1sgrhvvzrjb9gm9lffs1ai602v8p1mav0kc2sa7wlcx7kj1d3hxr"; - url="http://mattmahoney.net/dc/zpaq643.zip"; - sha256="1sgrhvvzrjb9gm9lffs1ai602v8p1mav0kc2sa7wlcx7kj1d3hxr"; + hash="0rspkd8vdp06hyjlrhgqjrv37bwvnzvqw0smlcy5fjbny502s5nn"; + url="http://mattmahoney.net/dc/zpaq649.zip"; + sha256="0rspkd8vdp06hyjlrhgqjrv37bwvnzvqw0smlcy5fjbny502s5nn"; }; buildInputs = [ unzip diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index ec4c00880d4d..8a9db4e5701f 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper }: +{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper, lockfile }: let version = "0.6.23"; @@ -14,10 +14,10 @@ stdenv.mkDerivation { installPhase = '' python setup.py install --prefix=$out wrapProgram $out/bin/duplicity \ - --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto})" \ + --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \ --prefix PATH : "${gnupg}/bin:${ncftp}/bin" wrapProgram $out/bin/rdiffdir \ - --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto})" \ + --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \ ''; buildInputs = [ python librsync makeWrapper ]; diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix index b9f101059186..6bd6bfe368c0 100644 --- a/pkgs/tools/filesystems/dosfstools/default.nix +++ b/pkgs/tools/filesystems/dosfstools/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "dosfstools-3.0.24"; + name = "dosfstools-3.0.26"; src = fetchurl { url = "http://daniel-baumann.ch/files/software/dosfstools/${name}.tar.xz"; - sha256 = "1hblhb98wm9gm60y32psdqm5jprs4a6dqzrapzgb6bw7r3kvf88y"; + sha256 = "0x9yi6s1419k678pr9h3a5bjccbrcxxpzmjwgl262ffrikz45126"; }; makeFlags = "PREFIX=$(out)"; diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index 9d4168b2d7da..2cb599f6a64a 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="glusterfs"; - version="3.4.1"; + version="3.4.2"; name="${baseName}-${version}"; - hash="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm"; - url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.1/glusterfs-3.4.1.tar.gz"; - sha256="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm"; + hash="1vzdihsy4da11jsa46n1n2xk6d40g7v0zrlqvs3pb9k07fql5kag"; + url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.2/glusterfs-3.4.2.tar.gz"; + sha256="1vzdihsy4da11jsa46n1n2xk6d40g7v0zrlqvs3pb9k07fql5kag"; }; buildInputs = [ fuse bison flex openssl python ncurses readline diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix index 9b0a83725eaa..fbd1778faefd 100644 --- a/pkgs/tools/graphics/pfstools/default.nix +++ b/pkgs/tools/graphics/pfstools/default.nix @@ -2,11 +2,11 @@ freeglut, bzip2, libX11, libpng, expat, pkgconfig }: stdenv.mkDerivation rec { - name = "pfstools-1.8.3"; + name = "pfstools-1.8.5"; src = fetchurl { url = "mirror://sourceforge/pfstools/${name}.tar.gz"; - sha256 = "1j3pzwpxvsx9220176bfjallc73jyda61xqkvnmlxqfd3n7ycgx1"; + sha256 = "01kk2r8afrb3vrhm8abfjdhhan97lzpapc4n8w1mpdp3kv9miy9c"; }; configureFlags = "--with-moc=${qt4}/bin/moc"; diff --git a/pkgs/tools/misc/apt-offline/default.nix b/pkgs/tools/misc/apt-offline/default.nix new file mode 100644 index 000000000000..219cb2139f58 --- /dev/null +++ b/pkgs/tools/misc/apt-offline/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, bash, buildPythonPackage }: + +buildPythonPackage rec { + version = "1.3"; + name = "apt-offline-${version}"; + + src = fetchurl { + #url = "https://alioth.debian.org/frs/download.php/file/3855/${name}.tar.gz"; + # The above URL has two problems: it requires one to be logged in, and it + # uses a CA that curl doesn't know about. Instead, we use this mirror: + url = "http://www.falsifian.org/a/cFi5/${name}.tar.gz"; + sha256 = "1sp7ai2abzhbg9y84700qziybphvpzl2nk3mz1d1asivzyjvxlxy"; + }; + + buildInputs = [ ]; + + doCheck = false; + + # Requires python-qt4 (feel free to get it working). + preFixup = ''rm "$out/bin/apt-offline-gui"''; + + meta = with stdenv.lib; { + description = "offline APT package manager"; + license = licenses.gpl3; + maintainers = [ maintainers.falsifian ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix index 2c7505260a69..960d85ab6be6 100644 --- a/pkgs/tools/misc/autorandr/default.nix +++ b/pkgs/tools/misc/autorandr/default.nix @@ -16,6 +16,7 @@ in src = fetchgit { inherit rev; url = "https://github.com/wertarbyte/autorandr.git"; + sha256 = "1x8agg6mf5jr0imw7dznr8kxyw970bf252bda9q7b0z4yksya2zd"; }; patchPhase = '' diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix index 525c3ba9f2c4..a744adbe05c1 100644 --- a/pkgs/tools/misc/colord/default.nix +++ b/pkgs/tools/misc/colord/default.nix @@ -12,7 +12,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = "--with-udevrulesdir=$out/lib/udev/rules.d --with-systemdsystemunitdir=$out/lib/udev/rules.d --disable-bash-completion"; + configureFlags = [ + "--with-udevrulesdir=$out/lib/udev/rules.d" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--disable-bash-completion" + ]; buildInputs = [ glib polkit pkgconfig intltool gusb libusb1 lcms2 sqlite systemd dbus gobjectIntrospection bashCompletion ]; diff --git a/pkgs/tools/misc/fasd/default.nix b/pkgs/tools/misc/fasd/default.nix new file mode 100644 index 000000000000..77d1d58c30c2 --- /dev/null +++ b/pkgs/tools/misc/fasd/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchgit, pandoc, ... } : + +let + rev = "287af2b80e0829b08dc6329b4fe8d8e5594d64b0"; +in +stdenv.mkDerivation { + + name = "fasd-1.0.1"; + + src = fetchgit { + url = "https://github.com/clvv/fasd.git"; + inherit rev; + sha256 = "0kv9iyfdf916x0gab9fzs4vmsnkaqmb6kh4xna485nqij89xzkgs"; + }; + + installPhase = '' + PREFIX=$out make install + ''; + + meta = { + homepage = "https://github.com/clvv/fasd"; + description = "quick command-line access to files and directories for POSIX shells"; + license = "free"; + + longDescription = '' + Fasd is a command-line productivity booster. + Fasd offers quick access to files and directories for POSIX shells. It is + inspired by tools like autojump, z and v. Fasd keeps track of files and + directories you have accessed, so that you can quickly reference them in the + command line. + ''; + + platforms = stdenv.lib.platforms.all; + }; +} + + diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix index b0da497c322e..51cb1d22a49e 100644 --- a/pkgs/tools/misc/system-config-printer/default.nix +++ b/pkgs/tools/misc/system-config-printer/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-udev-rules" - "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; postInstall = diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 8f27798d08a0..986e0f449d26 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, python, zip }: let - version = "2014.03.04.2"; + version = "2014.03.18.1"; in stdenv.mkDerivation rec { name = "youtube-dl-${version}"; src = fetchurl { url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz"; - sha256 = "1plqrjs7z4vbfa4h67zgd14j9ka9rnkzkqiwd948k9y3krxijg4p"; + sha256 = "0yyyvwa5av4ay8kxxlsav49mp2dcxflz6w0as0nklyg6k5zb5pn1"; }; buildInputs = [ python ]; @@ -28,6 +28,6 @@ stdenv.mkDerivation rec { description = "Command-line tool to download videos from YouTube.com and other sites"; platforms = with stdenv.lib.platforms; linux ++ darwin; - maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons ]; + maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons phreedom ]; }; } diff --git a/pkgs/tools/networking/badvpn/default.nix b/pkgs/tools/networking/badvpn/default.nix index d2e53d677e24..64f669a480e2 100644 --- a/pkgs/tools/networking/badvpn/default.nix +++ b/pkgs/tools/networking/badvpn/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="badvpn"; - version="1.999.128"; + version="1.999.129"; name="${baseName}-${version}"; - hash="1z4v1jydv8zkkszsq7scc17rw5dqz9zlpcc40ldxsw34arfqvcnn"; - url="http://badvpn.googlecode.com/files/badvpn-1.999.128.tar.bz2"; - sha256="1z4v1jydv8zkkszsq7scc17rw5dqz9zlpcc40ldxsw34arfqvcnn"; + hash="078gax6yifkf9y9g01wn1p0dypvgiwcsdmzp1bhwwfi0fbpnzzgl"; + url="https://github.com/ambrop72/badvpn/archive/1.999.129.tar.gz"; + sha256="078gax6yifkf9y9g01wn1p0dypvgiwcsdmzp1bhwwfi0fbpnzzgl"; }; buildInputs = [ cmake openssl nss pkgconfig nspr diff --git a/pkgs/tools/networking/badvpn/default.upstream b/pkgs/tools/networking/badvpn/default.upstream index 1c746698fefe..2a85ba7cb519 100644 --- a/pkgs/tools/networking/badvpn/default.upstream +++ b/pkgs/tools/networking/badvpn/default.upstream @@ -1,3 +1,3 @@ -url http://gc.codehum.com/p/badvpn/downloads/list -version_link '[.]tar[.][a-z0-9]+$' -process 'gc.codehum.com//' '' +url https://github.com/ambrop72/badvpn/releases +version_link '[0-9][.]tar[.][a-z0-9]+$' +version '.*/([0-9.]+)[.]tar[.].*' '\1' diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix index 41eb1a8f77af..ac7055e20f2a 100644 --- a/pkgs/tools/networking/chrony/default.nix +++ b/pkgs/tools/networking/chrony/default.nix @@ -3,11 +3,11 @@ assert stdenv.isLinux -> libcap != null; stdenv.mkDerivation rec { - name = "chrony-1.29"; + name = "chrony-1.29.1"; src = fetchurl { url = "http://download.tuxfamily.org/chrony/${name}.tar.gz"; - sha256 = "16ykdb8pnqcr30pdsaa6rabvsin2n858fmkzd81anqq6p9rg11f6"; + sha256 = "09xgcmh9yrprsazsrm3bm0xl3y75csi9lhh815yyrn68v2s9p335"; }; buildInputs = [ readline ] ++ stdenv.lib.optional stdenv.isLinux libcap; @@ -16,7 +16,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Sets your computer's clock from time servers on the Net"; - homepage = "http://chrony.tuxfamily.org/"; + homepage = http://chrony.tuxfamily.org/; + repository.git = git://git.tuxfamily.org/gitroot/chrony/chrony.git; license = licenses.gpl2; platforms = platforms.unix; diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix index 99cfb92a18b6..bb59bb5b165e 100644 --- a/pkgs/tools/networking/easyrsa/default.nix +++ b/pkgs/tools/networking/easyrsa/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { # Make sane defaults and patch default config vars postInstall = '' - for prog in $(find "$out/share/easy-rsa" -executable); do + for prog in $(find "$out/share/easy-rsa" -executable -type f); do makeWrapper "$prog" "$out/bin/$(basename $prog)" \ --set EASY_RSA "$out/share/easy-rsa" \ --set OPENSSL "${openssl}/bin/openssl" \ diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index e4a32e14260c..42760da5d4ae 100644 --- a/pkgs/tools/networking/haproxy/default.nix +++ b/pkgs/tools/networking/haproxy/default.nix @@ -29,9 +29,9 @@ stdenv.mkDerivation rec { homepage = http://haproxy.1wt.eu; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; - license = [ + /* TODO license = [ stdenv.lib.licenses.gpl2 stdenv.lib.licenses.lgpl21 - ]; + ];*/ }; } diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix index 86986ed9b954..ed01ccacd797 100644 --- a/pkgs/tools/networking/isync/default.nix +++ b/pkgs/tools/networking/isync/default.nix @@ -1,14 +1,13 @@ { fetchurl, stdenv, openssl, pkgconfig, db }: stdenv.mkDerivation rec { - name = "isync-1.0.6"; + name = "isync-1.1.0"; src = fetchurl { url = "mirror://sourceforge/isync/${name}.tar.gz"; - sha256 = "0bv3hw6mc9xi55q6lpyz1w3dyrk6rlxa8ny2x1b44mrnbrx7chz5"; + sha256 = "51f5618c239013fb770f98ae269f24ee417214efaaf7e22821b4a27cf9a9213c"; }; - patches = [ ./isync-recursice-imap.patch ]; # usefull patch to enable subfolders listing buildInputs = [ openssl pkgconfig db ]; meta = { diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix index 54f6689582dc..b2943eb2aced 100644 --- a/pkgs/tools/networking/nbd/default.nix +++ b/pkgs/tools/networking/nbd/default.nix @@ -1,14 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib }: -let - name = "nbd-3.7"; -in -stdenv.mkDerivation { - inherit name; +stdenv.mkDerivation rec { + name = "nbd-3.8"; src = fetchurl { url = "mirror://sourceforge/nbd/${name}.tar.xz"; - sha256 = "1k4bvg5rg4q6b58y4kd9qwj07sznsfbknlpc6y1bk6c48rgr3d0b"; + sha256 = "1qnkzrnc9m4n814ciqh95q9j8l7d6yd7sn36q8yn0dmi1rvj78j8"; }; buildInputs = [ pkgconfig glib ] ++ stdenv.lib.optional (stdenv ? glibc) stdenv.glibc.kernelHeaders; diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix index 4d2dff22d114..6db55ada1929 100644 --- a/pkgs/tools/networking/network-manager-applet/default.nix +++ b/pkgs/tools/networking/network-manager-applet/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { ln -s ${networkmanager_openconnect}/libexec/* $out/libexec/ wrapProgram "$out/bin/nm-applet" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" \ + --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:${gnome3.gtk}/share:$out/share" \ --set GCONF_CONFIG_SOURCE "xml::~/.gconf" \ --prefix PATH ":" "${gnome3.gconf}/bin" ''; diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index 0b68ec83b522..b0d1dba891b6 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -18,11 +18,11 @@ let in stdenv.mkDerivation rec { - name = "openssh-6.5p1"; + name = "openssh-6.6p1"; src = fetchurl { url = "ftp://ftp.nl.uu.net/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz"; - sha256 = "09wh7mi65aahyxd2xvq1makckhd5laid8c0pb8njaidrbpamw6d1"; + sha256 = "1fq3w86q05y5nn6z878wm312k0svaprw8k007188fd259dkg1ha8"; }; prePatch = stdenv.lib.optionalString hpnSupport diff --git a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix new file mode 100644 index 000000000000..748f41c90538 --- /dev/null +++ b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchgit, makeWrapper, coreutils, gawk, utillinux }: + +stdenv.mkDerivation rec { + name = "openvpn-learnaddress-19b03c3"; + + src = fetchgit { + url = https://gist.github.com/4058733.git; + rev = "19b03c3beb0190df46ea07bf4b68244acb8eae80"; + sha256 = "16pcyvyhwsx34i0cjkkx906lmrwdd9gvznvqdwlad4ha8l8f8z42"; + }; + + buildInputs = [ makeWrapper coreutils gawk utillinux ]; + + installPhase = '' + install -Dm555 ovpn-learnaddress $out/libexec/openvpn/openvpn-learnaddress + + wrapProgram $out/libexec/openvpn/openvpn-learnaddress \ + --prefix PATH : ${coreutils}/bin:${gawk}/bin:${utillinux}/bin + ''; + + meta = { + description = "Openvpn learn-address script to manage a hosts-like file"; + homepage = https://gist.github.com/offlinehacker/4058733/; + maintainers = [ stdenv.lib.maintainers.offline ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix index 8796dbd076e7..76a4a0eae62d 100644 --- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix +++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix @@ -67,7 +67,7 @@ buildPythonPackage { homepage = http://allmydata.org/; - license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ]; + # TODO license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ]; maintainers = [ lib.maintainers.simons ]; platforms = lib.platforms.gnu; # arbitrary choice diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix index 885f2d005d8a..74b9b1bdf6aa 100644 --- a/pkgs/tools/networking/socat/2.x.nix +++ b/pkgs/tools/networking/socat/2.x.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { meta = { description = "A utility for bidirectional data transfer between two independent data channels"; homepage = http://www.dest-unreach.org/socat/; + repositories.git = git://repo.or.cz/socat.git; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl2; maintainers = stdenv.lib.maintainers.eelco; diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix index 8e2f9449090c..7da82796b1cf 100644 --- a/pkgs/tools/networking/socat/default.nix +++ b/pkgs/tools/networking/socat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl }: stdenv.mkDerivation rec { - name = "socat-1.7.2.3"; + name = "socat-1.7.2.4"; src = fetchurl { url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2"; - sha256 = "1l5ajqwfpxy35mvqlihzncmfngn61k7in51wkvd8q4vvmxaar605"; + sha256 = "028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb"; }; buildInputs = [ openssl ]; @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { meta = { description = "A utility for bidirectional data transfer between two independent data channels"; homepage = http://www.dest-unreach.org/socat/; + repositories.git = git://repo.or.cz/socat.git; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl2; maintainers = stdenv.lib.maintainers.eelco; diff --git a/pkgs/tools/package-management/cabal-install/1.18.0.2.nix b/pkgs/tools/package-management/cabal-install/1.18.0.3.nix similarity index 83% rename from pkgs/tools/package-management/cabal-install/1.18.0.2.nix rename to pkgs/tools/package-management/cabal-install/1.18.0.3.nix index 3c1c6ddd133d..041cc471cab5 100644 --- a/pkgs/tools/package-management/cabal-install/1.18.0.2.nix +++ b/pkgs/tools/package-management/cabal-install/1.18.0.3.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "cabal-install"; - version = "1.18.0.2"; - sha256 = "0ah9yzp486p3cvs9b7nid0jmf0a56fg65s3jx2r8lb84pi50d92c"; + version = "1.18.0.3"; + sha256 = "0h01mz6p4fwl8h6k2ybrlp598f0j3n2zasrr63fy0vjbjibmgf41"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -20,9 +20,6 @@ cabal.mkDerivation (self: { mkdir $out/etc mv bash-completion $out/etc/bash_completion.d ''; - patchPhase = '' - sed -i -e 's|array .*,|array,|' cabal-install.cabal - ''; meta = { homepage = "http://www.haskell.org/cabal/"; description = "The command-line interface for Cabal and Hackage"; diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix index 9a96baf5fe00..7997603a706c 100644 --- a/pkgs/tools/package-management/rpm/default.nix +++ b/pkgs/tools/package-management/rpm/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, nspr, nss, popt, db4, xz, python }: +{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, nspr, nss, popt, db, xz, python }: stdenv.mkDerivation rec { - name = "rpm-4.7.2"; + name = "rpm-4.11.2"; src = fetchurl { - url = "http://rpm.org/releases/rpm-4.7.x/${name}.tar.bz2"; - sha1 = "07b90f653775329ea726ce0005c4c82f56167ca0"; + url = "http://rpm.org/releases/rpm-4.11.x/${name}.tar.bz2"; + sha256 = "1m2859js0dwg26sg2mnbkpzhvx303b12kx26az74cf5k6bk8sgs0"; }; - buildInputs = [ cpio zlib bzip2 file nspr nss popt db4 xz python ]; + buildInputs = [ cpio zlib bzip2 file nspr nss popt db xz python ]; # Note: we don't add elfutils to buildInputs, since it provides a # bad `ld' and other stuff. @@ -18,10 +18,10 @@ stdenv.mkDerivation rec { configureFlags = "--with-external-db --without-lua --enable-python"; - meta = { + meta = with stdenv.lib; { homepage = http://www.rpm.org/; - license = "GPLv2"; + license = licenses.gpl2; description = "The RPM Package Manager"; - maintainers = stdenv.lib.maintainers.mornfall; + maintainers = with maintainers; [ mornfall ]; }; } diff --git a/pkgs/tools/security/cb0cat/default.nix b/pkgs/tools/security/cb0cat/default.nix index 251c91260561..0f84cfa6ebc7 100644 --- a/pkgs/tools/security/cb0cat/default.nix +++ b/pkgs/tools/security/cb0cat/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { meta = { description = "cryptographic tool based on the CBEAMr0 sponge function"; homepage = "https://www.cblnk.com"; - platforms = stdenv.lib.platforms.unix; license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix index 4be2393eed5d..fdcd15a4b825 100644 --- a/pkgs/tools/security/ccid/default.nix +++ b/pkgs/tools/security/ccid/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pcsclite, pkgconfig, libusb1, perl }: stdenv.mkDerivation rec { - version = "1.4.14"; + version = "1.4.15"; name = "ccid-${version}"; src = fetchurl { url = "http://ftp.de.debian.org/debian/pool/main/c/ccid/ccid_${version}.orig.tar.bz2"; - sha256 = "0inibkhzk4ghg85jkysscjrzshmxfdzz6b54dqj182l0isn082y5"; + sha256 = "02lrdmqlw2ilbmgcpi2h7w741p025c10frxdn5w3wnzi8qi1hdjl"; }; patchPhase = '' diff --git a/pkgs/tools/security/duo-unix/default.nix b/pkgs/tools/security/duo-unix/default.nix new file mode 100644 index 000000000000..078e7cc06e0b --- /dev/null +++ b/pkgs/tools/security/duo-unix/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, pam, openssl, zlib }: + +stdenv.mkDerivation rec { + name = "duo-unix"; + version = "1.9.7"; + + src = fetchurl { + url = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz"; + sha256 = "090kx9nixlhvy5nw0ywqmi7yhd4nz7wvdv38cpkgrspkridfl07j"; + }; + + buildInputs = [ pam openssl zlib ]; + configureFlags = + [ "--with-pam=$(out)/lib/security" + "--prefix=$(out)" + "--sysconfdir=$(out)/etc/duo" + "--with-openssl=${openssl}" + "--enable-lib64=no" + ]; + + meta = { + description = "Duo Security Unix login integration"; + homepage = "https://duosecurity.com"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix index 1b2e940540d4..a6452cdb89b4 100644 --- a/pkgs/tools/security/nmap/default.nix +++ b/pkgs/tools/security/nmap/default.nix @@ -4,7 +4,8 @@ }: stdenv.mkDerivation rec { - name = "nmap-6.40"; + name = "nmap-${version}"; + version = "6.40"; src = fetchurl { url = "http://nmap.org/dist/${name}.tar.bz2"; @@ -21,8 +22,11 @@ stdenv.mkDerivation rec { buildInputs = [ libpcap libX11 gtk pkgconfig openssl python pygtk makeWrapper pysqlite ]; - meta = with stdenv.lib; { - platforms = platforms.linux; - maintainers = maintainers.mornfall; + meta = { + description = "A free and open source utility for network discovery and security auditing."; + homepage = "http://www.nmap.org"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ mornfall thoughtpolice ]; }; } diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix index 18fa10451536..d069c183842a 100644 --- a/pkgs/tools/security/pcsclite/default.nix +++ b/pkgs/tools/security/pcsclite/default.nix @@ -5,20 +5,17 @@ stdenv.mkDerivation rec { name = "pcsclite-${version}"; src = fetchurl { - url = "http://ftp.de.debian.org/debian/pool/main/p/pcsc-lite/pcsc-lite_${version}.orig.tar.bz2"; + url = "https://alioth.debian.org/frs/download.php/file/3963/pcsc-lite-${version}.tar.bz2"; sha256 = "04i63zi9ayg38z3cahp6gf3rgx23w17bmcpdccm2hvaj63blnz30"; }; # The OS should care on preparing the drivers into this location configureFlags = [ "--enable-usbdropdir=/var/lib/pcsc/drivers" - "--with-systemdsystemunitdir=$out/lib/systemd/system" # probably + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--enable-confdir=$(out)/etc" ]; - preConfigure = '' - configureFlags="$configureFlags --enable-confdir=$out/etc" - ''; - buildInputs = [ udev dbus_libs perl ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/tools/security/scrypt/default.nix b/pkgs/tools/security/scrypt/default.nix index ca2c9f43dfcd..fe2a19491d99 100644 --- a/pkgs/tools/security/scrypt/default.nix +++ b/pkgs/tools/security/scrypt/default.nix @@ -13,8 +13,9 @@ stdenv.mkDerivation rec { meta = { description = "The scrypt encryption utility"; - homepage = https://www.tarsnap.com/scrypt.html; - license = "BSD"; - platforms = stdenv.lib.platforms.all; + homepage = https://www.tarsnap.com/scrypt.html; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/tools/security/ssdeep/default.nix b/pkgs/tools/security/ssdeep/default.nix new file mode 100644 index 000000000000..66fdedc49063 --- /dev/null +++ b/pkgs/tools/security/ssdeep/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "ssdeep-${version}"; + version = "2.10"; + + src = fetchurl { + url = "mirror://sourceforge/ssdeep/${name}.tar.gz"; + sha256 = "1p7dgchq8hgadnxz5qh95ay17k5j74l4qyd15wspc54lb603p2av"; + }; + + postFixup = '' + patchelf --set-rpath "$(patchelf --print-rpath $out/bin/ssdeep):$out/lib" $out/bin/ssdeep + ''; + + meta = { + description = "A program for calculating fuzzy hashes"; + homepage = "http://www.ssdeep.sf.net"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index e8c27c5f2b1e..dd4d797825f3 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.torproject.org/; + repositories.git = https://git.torproject.org/git/tor; description = "Tor, an anonymous network router to improve privacy on the Internet"; longDescription='' @@ -30,10 +31,7 @@ stdenv.mkDerivation rec { license="mBSD"; - maintainers = - [ # Russell O’Connor ? - stdenv.lib.maintainers.ludo - ]; + maintainers = with stdenv.lib.maintainers; [ phreedom ludo ]; platforms = stdenv.lib.platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/tools/security/vidalia/default.nix b/pkgs/tools/security/vidalia/default.nix index 6ce094997806..f221a1b89e66 100644 --- a/pkgs/tools/security/vidalia/default.nix +++ b/pkgs/tools/security/vidalia/default.nix @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://www.torproject.org/projects/vidalia.html.en; + repositories.git = git://git.torproject.org/vidalia; description = "a cross-platform graphical controller for the Tor software, built using the Qt framework"; license = licenses.gpl2Plus; maintainers = [ maintainers.phreedom ]; diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix index 37283fc18a47..c76a1a136771 100644 --- a/pkgs/tools/system/collectd/default.nix +++ b/pkgs/tools/system/collectd/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "collectd-5.4.0"; + name = "collectd-5.4.1"; src = fetchurl { url = "http://collectd.org/files/${name}.tar.bz2"; - sha256 = "0gljf5c60q6i0nrii6addxy1p76qqixww8zy17a7a1zil6a3i5wh"; + sha256 = "1q365zx6d1wyhv7n97bagfxqnqbhj2j14zz552nhmjviy8lj2ibm"; }; NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix index 7d15ade348cf..208ff837b346 100644 --- a/pkgs/tools/system/logcheck/default.nix +++ b/pkgs/tools/system/logcheck/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { _name = "logcheck"; - version = "1.3.15"; + version = "1.3.16"; name = "${_name}-${version}"; src = fetchurl { - url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.gz"; - sha256 = "1rdrs12hkm5i5yyz89a6cwhf4fzjkbcd4q4zy6sk148aji9lg6xj"; + url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.xz"; + sha256 = "1rmq4s2fj86226ncw2kdjvjbi29375gd7vdq62fsbjxm4m6nzsiy"; }; preConfigure = '' diff --git a/pkgs/tools/text/podiff/default.nix b/pkgs/tools/text/podiff/default.nix index fc9e3785cf3e..ccfeabaa73bd 100644 --- a/pkgs/tools/text/podiff/default.nix +++ b/pkgs/tools/text/podiff/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { homepage = http://puszcza.gnu.org.ua/software/podiff; license = licenses.gpl3Plus; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/text/silver-searcher/default.nix b/pkgs/tools/text/silver-searcher/default.nix index e8a1ee96505c..d5d022c8063f 100644 --- a/pkgs/tools/text/silver-searcher/default.nix +++ b/pkgs/tools/text/silver-searcher/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { sha256 = "b6993e077f650eb0976cbc924640665fa9b2499a899ecba5a6cad5cf9addfdff"; }; - NIX_LDFLAGS = "-lgcc_s"; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; buildInputs = [ autoreconfHook pkgconfig pcre zlib lzma ]; diff --git a/pkgs/tools/text/uni2ascii/default.nix b/pkgs/tools/text/uni2ascii/default.nix index 0f54644eba56..c81e02b43995 100644 --- a/pkgs/tools/text/uni2ascii/default.nix +++ b/pkgs/tools/text/uni2ascii/default.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { similar ASCII characters, e.g. by stripping diacritics. ''; maintainers = [ "cillian.deroiste@gmail.com" ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 05bede0bfd71..f0ba9b3c29ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -434,6 +434,8 @@ let analog = callPackage ../tools/admin/analog {}; + apt-offline = callPackage ../tools/misc/apt-offline { }; + archivemount = callPackage ../tools/filesystems/archivemount { }; arandr = callPackage ../tools/X11/arandr { }; @@ -584,6 +586,10 @@ let enca = callPackage ../tools/text/enca { }; + fasd = callPackage ../tools/misc/fasd { + inherit (haskellPackages) pandoc; + }; + fop = callPackage ../tools/typesetting/fop { }; mcrl = callPackage ../tools/misc/mcrl { }; @@ -661,6 +667,8 @@ let cabextract = callPackage ../tools/archivers/cabextract { }; + can-utils = callPackage ../os-specific/linux/can-utils { }; + ccid = callPackage ../tools/security/ccid { }; ccrypt = callPackage ../tools/security/ccrypt { }; @@ -847,8 +855,10 @@ let dtach = callPackage ../tools/misc/dtach { }; + duo-unix = callPackage ../tools/security/duo-unix { }; + duplicity = callPackage ../tools/backup/duplicity { - inherit (pythonPackages) boto; + inherit (pythonPackages) boto lockfile; gnupg = gnupg1; }; @@ -1002,7 +1012,8 @@ let g500-control = callPackage ../tools/misc/g500-control { }; - gawk = lowPrio (callPackage ../tools/text/gawk { }); + gawk = callPackage ../tools/text/gawk { }; + gawkInteractive = appendToName "interactive" (gawk.override { readlineSupport = true; }); @@ -1516,6 +1527,8 @@ let inherit (pythonPackages) pysqlite; }; + notbit = callPackage ../applications/networking/notbit { }; + nss_pam_ldapd = callPackage ../tools/networking/nss-pam-ldapd {}; ntfs3g = callPackage ../tools/filesystems/ntfs-3g { }; @@ -1581,9 +1594,9 @@ let pam = if stdenv.isLinux then pam else null; }; - openssh_hpn = lowPrio (pkgs.appendToName "hpn" (openssh.override { hpnSupport = true; })); + openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; }); - openssh_with_kerberos = lowPrio (pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; })); + openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }); opensp = callPackage ../tools/text/sgml/opensp { }; @@ -1591,6 +1604,8 @@ let openvpn = callPackage ../tools/networking/openvpn { }; + openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { }; + optipng = callPackage ../tools/graphics/optipng { }; oslrd = callPackage ../tools/networking/oslrd { }; @@ -1863,6 +1878,8 @@ let sg3_utils = callPackage ../tools/system/sg3_utils { }; sharutils = callPackage ../tools/archivers/sharutils { }; + + shotwell = callPackage ../applications/graphics/shotwell { }; shebangfix = callPackage ../tools/misc/shebangfix { }; @@ -1899,6 +1916,8 @@ let inherit (pkgsi686Linux.xlibs) libX11; }; + solr = callPackage ../servers/search/solr { }; + sparsehash = callPackage ../development/libraries/sparsehash { }; stardict = callPackage ../applications/misc/stardict/stardict.nix { @@ -1934,6 +1953,8 @@ let super = callPackage ../tools/security/super { }; + ssdeep = callPackage ../tools/security/ssdeep { }; + ssmtp = callPackage ../tools/networking/ssmtp { tlsSupport = true; }; @@ -2304,6 +2325,7 @@ let bashInteractive = appendToName "interactive" (callPackage ../shells/bash { interactive = true; + readline = readline63; # Includes many vi mode fixes }); bashCompletion = callPackage ../shells/bash-completion { }; @@ -2724,6 +2746,7 @@ let haskellPackages_ghc763_profiling = recurseIntoAttrs (haskell.packages_ghc763.profiling); haskellPackages_ghc763 = recurseIntoAttrs (haskell.packages_ghc763.highPrio); # Reasonably current HEAD snapshot. + haskellPackages_ghc781 = haskell.packages_ghc781; haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; haxe = callPackage ../development/compilers/haxe { }; @@ -2800,12 +2823,12 @@ let jdkdistro = installjdk: pluginSupport: assert supportsJDK; - (if pluginSupport then appendToName "plugin" else x: x) + (if pluginSupport then appendToName "with-plugin" else x: x) (callPackage ../development/compilers/jdk/jdk6-linux.nix { }); oraclejdk7distro = installjdk: pluginSupport: assert supportsJDK; - (if pluginSupport then appendToName "plugin" else x: x) + (if pluginSupport then appendToName "with-plugin" else x: x) (callPackage ../development/compilers/jdk/jdk7-linux.nix { inherit installjdk; }); jikes = callPackage ../development/compilers/jikes { }; @@ -2868,7 +2891,7 @@ let nvidia_cg_toolkit = callPackage ../development/compilers/nvidia-cg-toolkit { }; - ocaml = ocaml_3_12_1; + ocaml = ocamlPackages.ocaml; ocaml_3_08_0 = callPackage ../development/compilers/ocaml/3.08.0.nix { }; @@ -2949,24 +2972,30 @@ let mlgmp = callPackage ../development/ocaml-modules/mlgmp { }; - ocaml_batteries = callPackage ../development/ocaml-modules/batteries { - camomile = camomile_0_8_2; - }; + ocaml_batteries = callPackage ../development/ocaml-modules/batteries { }; ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { }; + ocaml_data_notation = callPackage ../development/ocaml-modules/odn { }; + ocaml_expat = callPackage ../development/ocaml-modules/expat { }; ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { }; ocaml_http = callPackage ../development/ocaml-modules/http { }; + ocamlify = callPackage ../development/tools/ocaml/ocamlify { }; + ocaml_lwt = callPackage ../development/ocaml-modules/lwt { }; + ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { }; + ocaml_mysql = callPackage ../development/ocaml-modules/mysql { }; ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { }; + ocaml_oasis = callPackage ../development/tools/ocaml/oasis { }; + ocaml_pcre = callPackage ../development/ocaml-modules/pcre { inherit pcre; }; @@ -2989,6 +3018,8 @@ let ocaml_typeconv = callPackage ../development/ocaml-modules/typeconv { }; + ocaml_typeconv_3_0_5 = callPackage ../development/ocaml-modules/typeconv/3.0.5.nix { }; + ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { }; ocaml_extlib = callPackage ../development/ocaml-modules/extlib { }; @@ -3000,7 +3031,7 @@ let opam = opam_1_1; }; - ocamlPackages = recurseIntoAttrs ocamlPackages_3_12_1; + ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0; ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2; ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1; @@ -3676,6 +3707,8 @@ let jikespg = callPackage ../development/tools/parsing/jikespg { }; + jenkins = callPackage ../development/tools/continuous-integration/jenkins { }; + lcov = callPackage ../development/tools/analysis/lcov { }; leiningen = callPackage ../development/tools/build-managers/leiningen { }; @@ -3757,7 +3790,7 @@ let remake = callPackage ../development/tools/build-managers/remake { }; - saleaeLogic = callPackage ../development/tools/misc/saleae-logic { }; + saleae-logic = callPackage ../development/tools/misc/saleae-logic { }; # couldn't find the source yet seleniumRCBin = callPackage ../development/tools/selenium/remote-control { @@ -4182,6 +4215,8 @@ let gamin = callPackage ../development/libraries/gamin { }; + ganv = callPackage ../development/libraries/ganv { }; + gav = callPackage ../games/gav { }; gsb = callPackage ../games/gsb { }; @@ -4205,9 +4240,7 @@ let geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {}; - geoip = builderDefsPackage ../development/libraries/geoip { - inherit zlib; - }; + geoip = callPackage ../development/libraries/geoip { }; geoipjava = callPackage ../development/libraries/java/geoipjava { }; @@ -4582,7 +4615,6 @@ let judy = callPackage ../development/libraries/judy { }; keybinder = callPackage ../development/libraries/keybinder { - inherit (gnome2) gnome_common; automake = automake111x; lua = lua5_1; }; @@ -4670,9 +4702,7 @@ let libchamplain_0_6 = callPackage ../development/libraries/libchamplain/0.6.nix {}; - libchop = callPackage ../development/libraries/libchop { - gnutls = gnutls31; - }; + libchop = callPackage ../development/libraries/libchop { }; libcm = callPackage ../development/libraries/libcm { }; @@ -5001,7 +5031,11 @@ let libpaper = callPackage ../development/libraries/libpaper { }; - libproxy = callPackage ../development/libraries/libproxy { }; + libproxy = callPackage ../development/libraries/libproxy { + stdenv = if stdenv.isDarwin + then overrideGCC stdenv gcc + else stdenv; + }; libpseudo = callPackage ../development/libraries/libpseudo { }; @@ -5539,7 +5573,9 @@ let rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {}; - readline = readline6; + raul = callPackage ../development/libraries/audio/raul { }; + + readline = readline6; # 6.2 works, 6.3 breaks python, parted readline4 = callPackage ../development/libraries/readline/readline4.nix { }; @@ -5554,6 +5590,15 @@ let else stdenv; }; + readline63 = callPackage ../development/libraries/readline/readline6.3.nix { + stdenv = + # On Darwin, Readline uses `-arch_only', which is specific to + # Apple-GCC. So give it what it expects. + if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; + librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { }; librdf_raptor2 = callPackage ../development/libraries/librdf/raptor2.nix { }; @@ -5568,6 +5613,8 @@ let lv2 = callPackage ../development/libraries/audio/lv2 { }; + lvtk = callPackage ../development/libraries/audio/lvtk { }; + qrupdate = callPackage ../development/libraries/qrupdate { }; redland = pkgs.librdf_redland; @@ -6053,6 +6100,8 @@ let ack = perlPackages.ack; perlcritic = perlPackages.PerlCritic; + + planetary_annihilation = callPackage ../games/planetaryannihilation { }; ### DEVELOPMENT / PYTHON MODULES @@ -6068,7 +6117,6 @@ let # regardless. python26Packages = import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python26; }; @@ -6076,31 +6124,26 @@ let python33Packages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python33; }); - python34Packages = import ./python-packages.nix { + python34Packages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python34; - }; + }); python32Packages = import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python32; }; python27Packages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python27; }); pypyPackages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = pypy; }); @@ -6302,6 +6345,8 @@ let nginx = callPackage ../servers/http/nginx { }; + ngircd = callPackage ../servers/irc/ngircd { }; + opensmtpd = callPackage ../servers/mail/opensmtpd { }; petidomo = callPackage ../servers/mail/petidomo { }; @@ -6458,6 +6503,8 @@ let vsftpd = callPackage ../servers/ftp/vsftpd { }; + winstone = callPackage ../servers/http/winstone { }; + xinetd = callPackage ../servers/xinetd { }; xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { @@ -6552,12 +6599,23 @@ let cifs_utils = callPackage ../os-specific/linux/cifs-utils { }; - conky = callPackage ../os-specific/linux/conky { }; + conky = callPackage ../os-specific/linux/conky { + mpdSupport = config.conky.mpdSupport or true; + x11Support = config.conky.x11Support or false; + xdamage = config.conky.xdamage or false; + wireless = config.conky.wireless or false; + luaSupport = config.conky.luaSupport or false; + rss = config.conky.rss or false; + weatherMetar = config.conky.weatherMetar or false; + weatherXoap = config.conky.weatherXoap or false; + }; cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { }; cryopid = callPackage ../os-specific/linux/cryopid { }; + criu = callPackage ../os-specific/linux/criu { }; + cryptsetup = callPackage ../os-specific/linux/cryptsetup { }; cramfsswap = callPackage ../os-specific/linux/cramfsswap { }; @@ -6709,9 +6767,6 @@ let linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) { inherit fetchurl stdenv perl buildLinux; - kernelPatches = - [ kernelPatches.sec_perm_2_6_24 - ]; }; grsecurityOverrider = args: { @@ -6737,7 +6792,7 @@ let })) (args: grsecurityOverrider args)); linux_3_13_grsecurity = lowPrio (lib.overrideDerivation (linux_3_13.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_13_5 kernelPatches.grsec_path ]; + kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_13_6 kernelPatches.grsec_path ]; argsOverride = { modDirVersion = "${linux_3_13.modDirVersion}-grsec"; }; @@ -6759,9 +6814,7 @@ let linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { inherit fetchurl stdenv perl buildLinux; - kernelPatches = - [ kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill ]; @@ -6781,10 +6834,7 @@ let linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) { inherit fetchurl stdenv perl buildLinux; - kernelPatches = - [ - kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill kernelPatches.mips_ext3_n32 @@ -6802,10 +6852,7 @@ let linux_3_11 = makeOverridable (import ../os-specific/linux/kernel/linux-3.11.nix) { inherit fetchurl stdenv perl buildLinux; - kernelPatches = - [ - kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill kernelPatches.mips_ext3_n32 @@ -6814,10 +6861,7 @@ let linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) { inherit fetchurl stdenv perl buildLinux; - kernelPatches = - [ - kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill kernelPatches.mips_ext3_n32 @@ -6826,10 +6870,7 @@ let linux_3_13 = makeOverridable (import ../os-specific/linux/kernel/linux-3.13.nix) { inherit fetchurl stdenv perl buildLinux; - kernelPatches = - [ - kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill kernelPatches.mips_ext3_n32 @@ -7059,9 +7100,11 @@ let prayer = callPackage ../servers/prayer { }; - procps = callPackage ../os-specific/linux/procps { }; + procps = procps-ng; - "procps-ng" = callPackage ../os-specific/linux/procps-ng { }; + procps-old = lowPrio (callPackage ../os-specific/linux/procps { }); + + procps-ng = callPackage ../os-specific/linux/procps-ng { }; qemu_kvm = lowPrio (qemu.override { x86Only = true; }); @@ -7418,6 +7461,8 @@ let vistafonts = callPackage ../data/fonts/vista-fonts { }; + wqy_microhei = callPackage ../data/fonts/wqy-microhei { }; + wqy_zenhei = callPackage ../data/fonts/wqy-zenhei { }; xhtml1 = callPackage ../data/sgml+xml/schemas/xml-dtd/xhtml1 { }; @@ -7462,15 +7507,15 @@ let alchemy = callPackage ../applications/graphics/alchemy { }; + ams-lv2 = callPackage ../applications/audio/ams-lv2 { }; + amsn = callPackage ../applications/networking/instant-messengers/amsn { }; antiword = callPackage ../applications/office/antiword {}; - ardour = callPackage ../applications/audio/ardour { - inherit (gnome) libgnomecanvas libgnomecanvasmm; - }; + ardour = ardour3; - ardour3 = lowPrio (callPackage ../applications/audio/ardour/ardour3.nix { + ardour3 = lowPrio (callPackage ../applications/audio/ardour { inherit (gnome) libgnomecanvas libgnomecanvasmm; }); @@ -7628,6 +7673,7 @@ let comical = callPackage ../applications/graphics/comical { }; conkeror = callPackage ../applications/networking/browsers/conkeror { }; + conkerorWrapper = wrapFirefox { browser = conkeror; browserName = "conkeror"; @@ -7710,6 +7756,8 @@ let ed = callPackage ../applications/editors/ed { }; + ekho = callPackage ../applications/audio/ekho { }; + elinks = callPackage ../applications/networking/browsers/elinks { }; elvis = callPackage ../applications/editors/elvis { }; @@ -7771,6 +7819,8 @@ let cua = callPackage ../applications/editors/emacs-modes/cua { }; + darcsum = callPackage ../applications/editors/emacs-modes/darcsum { }; + # ecb = callPackage ../applications/editors/emacs-modes/ecb { }; jabber = callPackage ../applications/editors/emacs-modes/jabber { }; @@ -7923,12 +7973,16 @@ let fftw = fftwFloat; }; + gnuradio-osmosdr = callPackage ../applications/misc/gnuradio-osmosdr { }; + goldendict = callPackage ../applications/misc/goldendict { }; google-musicmanager = callPackage ../applications/audio/google-musicmanager { }; gpicview = callPackage ../applications/graphics/gpicview { }; + gqrx = callPackage ../applications/misc/gqrx { }; + grass = import ../applications/misc/grass { inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm libXaw libXrender; @@ -7984,7 +8038,7 @@ let inherit (gnome) libIDL; }; - firefox13Wrapper = lowPrio (wrapFirefox { browser = firefox13Pkgs.firefox; }); + firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; }; firefoxPkgs = callPackage ../applications/networking/browsers/firefox { inherit (gnome) libIDL; @@ -8439,7 +8493,7 @@ let guiSupport = false; # use mercurialFull to get hgk GUI }; - mercurialFull = lowPrio (appendToName "full" (pkgs.mercurial.override { guiSupport = true; })); + mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; }); merkaartor = callPackage ../applications/misc/merkaartor { }; @@ -8591,6 +8645,8 @@ let rake = rake_10_1_0; }; + synfigstudio = callPackage ../applications/graphics/synfigstudio { }; + msmtp = callPackage ../applications/networking/msmtp { }; imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix { @@ -8796,6 +8852,8 @@ let enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false); }; + rtl-sdr = callPackage ../applications/misc/rtl-sdr { }; + rubyripper = callPackage ../applications/audio/rubyripper {}; rxvt = callPackage ../applications/misc/rxvt { }; @@ -8921,11 +8979,11 @@ let sasl = cyrus_sasl; }; - subversionClient = lowPrio (appendToName "client" (subversion.override { + subversionClient = appendToName "client" (subversion.override { bdbSupport = false; perlBindings = true; pythonBindings = true; - })); + }); surf = callPackage ../applications/misc/surf { libsoup = gnome.libsoup; @@ -9078,13 +9136,12 @@ let else stdenv; }; - vimwrapper = callPackage ../applications/editors/vim/wrapper.nix { - inherit vim; - vimrc = config.vim.vimrc or null; - }; + vimWrapper = wrapVim vim; vimHugeX = vim_configurable; + vimHugeXWrapper = wrapVim vimHugeX; + vim_configurable = callPackage ../applications/editors/vim/configurable.nix { inherit (pkgs) fetchurl fetchhg stdenv ncurses pkgconfig gettext composableDerivation lib config glib gtk python perl tcl ruby; @@ -9117,6 +9174,11 @@ let flags = [ "python" "X11" ]; # only flag "X11" by now }); + wrapVim = vim: import ../applications/editors/vim/wrapper.nix { + inherit stdenv makeWrapper writeText vim; + vimrc = config.vim.vimrc or ""; + }; + virtviewer = callPackage ../applications/virtualization/virt-viewer {}; virtmanager = callPackage ../applications/virtualization/virt-manager { inherit (gnome) gnome_python; @@ -9135,6 +9197,8 @@ let vlc = callPackage ../applications/video/vlc { }; + vmpk = callPackage ../applications/audio/vmpk { }; + vnstat = callPackage ../applications/networking/vnstat { }; vorbisTools = callPackage ../applications/audio/vorbis-tools { }; @@ -9197,7 +9261,7 @@ let , icon ? "${browser}/lib/${browser.name}/icons/mozicon128.png" }: let cfg = stdenv.lib.attrByPath [ browserName ] {} config; - enableAdobeFlash = cfg.enableAdobeFlash or true; + enableAdobeFlash = cfg.enableAdobeFlash or false; enableGnash = cfg.enableGnash or false; in import ../applications/networking/browsers/firefox/wrapper.nix { @@ -9474,6 +9538,8 @@ let icbm3d = callPackage ../games/icbm3d { }; + ingen = callPackage ../applications/audio/ingen { }; + instead = callPackage ../games/instead { lua = lua5; }; @@ -10489,13 +10555,13 @@ let wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { bison = bison2; }; + wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { bison = bison2; }); + wine = wineStable; - # winetricks is a shell script with no binary components. Safe to just use the current platforms - # build instead of the i686 specific build. winetricks = callPackage ../misc/emulators/wine/winetricks.nix { inherit (gnome2) zenity; }; diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 3034367c39e9..2d4bdea6006d 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -19,8 +19,17 @@ self : self.haskellPlatformArgs_future self // { haskellPlatform = null; extensibleExceptions = self.extensibleExceptions_0_1_1_4; - cabalInstall_1_18_0_2 = self.cabalInstall_1_18_0_2.override { Cabal = null; }; - cabalInstall = self.cabalInstall_1_18_0_2.override { Cabal = null; }; + cabalInstall_1_18_0_3 = self.cabalInstall_1_18_0_3.override { Cabal = null; }; + cabalInstall = self.cabalInstall_1_18_0_3.override { Cabal = null; }; + }; + + ghc781Prefs = + self : self.haskellPlatformArgs_future self // { + haskellPlatform = null; + extensibleExceptions = self.extensibleExceptions_0_1_1_4; + cabalInstall_1_18_0_3 = self.cabalInstall_1_18_0_3.override { Cabal = null; }; + cabalInstall = self.cabalInstall_1_18_0_3.override { Cabal = null; }; + binary_0_7_1_0 = null; }; ghc763Prefs = @@ -395,6 +404,12 @@ prefFun = ghc763Prefs; }; + packages_ghc781 = + packages { ghcPath = ../development/compilers/ghc/7.8.1.nix; + ghcBinary = ghc742Binary; + prefFun = ghc781Prefs; + }; + # Reasonably current HEAD snapshot. Should *always* be lowPrio. packages_ghcHEAD = packages { ghcPath = ../development/compilers/ghc/head.nix; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 5ac472e27dbf..247d8649ed62 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -142,7 +142,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haskellPlatformArgs_future = self : { inherit (self) cabal ghc; async = self.async_2_0_1_5; - attoparsec = self.attoparsec_0_11_1_0; + attoparsec = self.attoparsec_0_11_2_1; caseInsensitive = self.caseInsensitive_1_1_0_3; cgi = self.cgi_3001_1_8_5; fgl = self.fgl_5_4_2_4; @@ -167,13 +167,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x split = self.split_0_2_2; stm = self.stm_2_4_2; syb = self.syb_0_4_1; - text = self.text_1_1_0_0; + text = self.text_1_1_0_1; transformers = self.transformers_0_3_0_0; # this has become a core package in GHC 7.7 unorderedContainers = self.unorderedContainers_0_2_3_3; vector = self.vector_0_10_9_1; xhtml = self.xhtml_3000_2_1; zlib = self.zlib_0_5_4_1; - cabalInstall = self.cabalInstall_1_18_0_2; + cabalInstall = self.cabalInstall_1_18_0_3; alex = self.alex_3_1_3; haddock = self.haddock_2_13_2_1; happy = self.happy_1_19_3; @@ -526,11 +526,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x adjunctions = callPackage ../development/libraries/haskell/adjunctions {}; - aeson_0_6_2_1 = callPackage ../development/libraries/haskell/aeson/0.6.2.1.nix {}; - aeson_0_7_0_1 = callPackage ../development/libraries/haskell/aeson/0.7.0.1.nix { + aes = callPackage ../development/libraries/haskell/aes {}; + + aeson = callPackage ../development/libraries/haskell/aeson { blazeBuilder = if (pkgs.stdenv.lib.versionOlder ghc.version "7.6") then self.blazeBuilder else null; }; - aeson = self.aeson_0_7_0_1; aesonLens = callPackage ../development/libraries/haskell/aeson-lens {}; @@ -595,7 +595,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x attoLisp = callPackage ../development/libraries/haskell/atto-lisp {}; attoparsec_0_10_4_0 = callPackage ../development/libraries/haskell/attoparsec/0.10.4.0.nix {}; - attoparsec_0_11_1_0 = callPackage ../development/libraries/haskell/attoparsec/0.11.1.0.nix {}; + attoparsec_0_11_2_1 = callPackage ../development/libraries/haskell/attoparsec/0.11.2.1.nix {}; attoparsec = self.attoparsec_0_10_4_0; attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {}; @@ -701,6 +701,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x bytestringMmap = callPackage ../development/libraries/haskell/bytestring-mmap {}; + bytestringShow = callPackage ../development/libraries/haskell/bytestring-show {}; + bytestringTrie = callPackage ../development/libraries/haskell/bytestring-trie {}; bytestringProgress = callPackage ../development/libraries/haskell/bytestring-progress {}; @@ -756,6 +758,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x checkers = callPackage ../development/libraries/haskell/checkers {}; + chell = callPackage ../development/libraries/haskell/chell {}; + + chellQuickcheck = callPackage ../development/libraries/haskell/chell-quickcheck {}; + chunkedData = callPackage ../development/libraries/haskell/chunked-data {}; citeprocHs = callPackage ../development/libraries/haskell/citeproc-hs {}; @@ -943,24 +949,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x dice = callPackage ../development/libraries/haskell/dice {}; diagrams = callPackage ../development/libraries/haskell/diagrams/diagrams.nix {}; - diagramsCairo = callPackage ../development/libraries/haskell/diagrams/cairo.nix { - lens = self.lens_3_10_2; - }; - diagramsCore = callPackage ../development/libraries/haskell/diagrams/core.nix { - lens = self.lens_3_10_2; - }; - diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix { - lens = self.lens_3_10_2; - }; - diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix { - lens = self.lens_3_10_2; - }; - diagramsPostscript = callPackage ../development/libraries/haskell/diagrams/postscript.nix { - lens = self.lens_3_10_2; - }; - diagramsSvg = callPackage ../development/libraries/haskell/diagrams/svg.nix { - lens = self.lens_3_10_2; - }; + diagramsCairo = callPackage ../development/libraries/haskell/diagrams/cairo.nix {}; + diagramsCore = callPackage ../development/libraries/haskell/diagrams/core.nix {}; + diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {}; + diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix {}; + diagramsPostscript = callPackage ../development/libraries/haskell/diagrams/postscript.nix {}; + diagramsSvg = callPackage ../development/libraries/haskell/diagrams/svg.nix {}; Diff = callPackage ../development/libraries/haskell/Diff {}; @@ -1010,6 +1004,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x DSH = callPackage ../development/libraries/haskell/DSH {}; + dsp = callPackage ../development/libraries/haskell/dsp {}; + dstring = callPackage ../development/libraries/haskell/dstring {}; dualTree = callPackage ../development/libraries/haskell/dual-tree {}; @@ -1127,9 +1123,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x foldl = callPackage ../development/libraries/haskell/foldl {}; - forceLayout = callPackage ../development/libraries/haskell/force-layout { - lens = self.lens_3_10_2; - }; + forceLayout = callPackage ../development/libraries/haskell/force-layout {}; free = callPackage ../development/libraries/haskell/free {}; @@ -1157,6 +1151,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled }; + ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; + + ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; + ghcMod = callPackage ../development/libraries/haskell/ghc-mod { inherit (pkgs) emacs; }; @@ -1268,6 +1266,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x happstackLite = callPackage ../development/libraries/haskell/happstack/happstack-lite.nix {}; + happstackFastCGI = callPackage ../development/libraries/haskell/happstack/happstack-fastcgi.nix {}; + hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {}; hashable_1_2_1_0 = callPackage ../development/libraries/haskell/hashable/1.2.1.0.nix {}; hashable = self.hashable_1_2_1_0; @@ -1393,6 +1393,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hoauth = callPackage ../development/libraries/haskell/hoauth {}; + hoauth2 = callPackage ../development/libraries/haskell/hoauth2 {}; + hoodle = callPackage ../applications/graphics/hoodle {}; hoodleBuilder = callPackage ../development/libraries/haskell/hoodle-builder {}; @@ -1586,9 +1588,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {}; - lens_3_10_2 = callPackage ../development/libraries/haskell/lens/3.10.2.nix {}; - lens_4_0_4 = callPackage ../development/libraries/haskell/lens/4.0.4.nix {}; - lens = self.lens_4_0_4; + lens = callPackage ../development/libraries/haskell/lens {}; lensAeson = callPackage ../development/libraries/haskell/lens-aeson {}; @@ -1598,6 +1598,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x lenses = callPackage ../development/libraries/haskell/lenses {}; + leveldbHaskell = callPackage ../development/libraries/haskell/leveldb-haskell {}; + libffi = callPackage ../development/libraries/haskell/libffi { libffi = pkgs.libffi; }; @@ -1650,6 +1652,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x lushtags = callPackage ../development/libraries/haskell/lushtags {}; + lzmaEnumerator = callPackage ../development/libraries/haskell/lzma-enumerator {}; + maccatcher = callPackage ../development/libraries/haskell/maccatcher {}; markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {}; @@ -1859,6 +1863,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x operational = callPackage ../development/libraries/haskell/operational {}; + options = callPackage ../development/libraries/haskell/options {}; + optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {}; pathPieces = callPackage ../development/libraries/haskell/path-pieces {}; @@ -1905,6 +1911,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x pathtype = callPackage ../development/libraries/haskell/pathtype {}; + pbkdf = callPackage ../development/libraries/haskell/pbkdf {}; + pcap = callPackage ../development/libraries/haskell/pcap {}; pcapEnumerator = callPackage ../development/libraries/haskell/pcap-enumerator {}; @@ -2155,6 +2163,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x scottyHastache = callPackage ../development/libraries/haskell/scotty-hastache {}; + scrypt = callPackage ../development/libraries/haskell/scrypt {}; + securemem = callPackage ../development/libraries/haskell/securemem {}; sendfile = callPackage ../development/libraries/haskell/sendfile {}; @@ -2199,6 +2209,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x snapServer = callPackage ../development/libraries/haskell/snap/server.nix {}; + snowball = callPackage ../development/libraries/haskell/snowball {}; + socks = callPackage ../development/libraries/haskell/socks {}; sparse = callPackage ../development/libraries/haskell/sparse {}; @@ -2323,9 +2335,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x stringbuilder = callPackage ../development/libraries/haskell/stringbuilder {}; - stripe = callPackage ../development/libraries/haskell/stripe { - aeson = self.aeson_0_6_2_1; - }; + stripe = callPackage ../development/libraries/haskell/stripe {}; svgcairo = callPackage ../development/libraries/haskell/svgcairo { libc = pkgs.stdenv.gcc.libc; @@ -2377,6 +2387,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x terminalProgressBar = callPackage ../development/libraries/haskell/terminal-progress-bar {}; + terminalSize = callPackage ../development/libraries/haskell/terminal-size {}; + terminfo_0_3_2_6 = callPackage ../development/libraries/haskell/terminfo/0.3.2.6.nix { inherit (pkgs) ncurses; }; terminfo_0_4_0_0 = callPackage ../development/libraries/haskell/terminfo/0.4.0.0.nix { inherit (pkgs) ncurses; }; terminfo = self.terminfo_0_4_0_0; @@ -2404,8 +2416,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x text_0_11_2_0 = callPackage ../development/libraries/haskell/text/0.11.2.0.nix {}; text_0_11_2_3 = callPackage ../development/libraries/haskell/text/0.11.2.3.nix {}; text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {}; - text_1_1_0_0 = callPackage ../development/libraries/haskell/text/1.1.0.0.nix {}; - text = self.text_1_1_0_0; + text_1_1_0_1 = callPackage ../development/libraries/haskell/text/1.1.0.1.nix {}; + text = self.text_1_1_0_1; textFormat = callPackage ../development/libraries/haskell/text-format {}; @@ -2526,10 +2538,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x vacuumCairo = callPackage ../development/libraries/haskell/vacuum-cairo {}; + vado = callPackage ../development/libraries/haskell/vado {}; + vault = callPackage ../development/libraries/haskell/vault {}; + vcsgui = callPackage ../development/libraries/haskell/vcsgui {}; + vcsRevision = callPackage ../development/libraries/haskell/vcs-revision {}; + vcswrapper = callPackage ../development/libraries/haskell/vcswrapper {}; + Vec = callPackage ../development/libraries/haskell/Vec {}; vect = callPackage ../development/libraries/haskell/vect {}; @@ -2572,6 +2590,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x waiTest = callPackage ../development/libraries/haskell/wai-test {}; + waiWebsockets = callPackage ../development/libraries/haskell/wai-websockets {}; + warp = callPackage ../development/libraries/haskell/warp {}; warpTls = callPackage ../development/libraries/haskell/warp-tls {}; @@ -2862,10 +2882,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cabalInstall_0_10_2 = callPackage ../tools/package-management/cabal-install/0.10.2.nix {}; cabalInstall_0_14_0 = callPackage ../tools/package-management/cabal-install/0.14.0.nix {}; cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix {}; - cabalInstall_1_18_0_2 = callPackage ../tools/package-management/cabal-install/1.18.0.2.nix { + cabalInstall_1_18_0_3 = callPackage ../tools/package-management/cabal-install/1.18.0.3.nix { Cabal = self.Cabal_1_18_1_3; }; - cabalInstall = self.cabalInstall_1_18_0_2; + cabalInstall = self.cabalInstall_1_18_0_3; gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {}; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c463fb9f83b2..d5cd011bbaea 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9415,6 +9415,17 @@ let self = _self // overrides; _self = with self; { doCheck = false; }; + X11Protocol = buildPerlPackage rec { + name = "X11-Protocol-0.56"; + src = fetchurl { + url = "mirror://cpan/authors/id/S/SM/SMCCAM/${name}.tar.gz"; + sha256 = "1dq89bh6fqv7l5mbffqcismcljpq5f869bx7g8lg698zgindv5ny"; + }; + buildInputs = [pkgs.x11]; + NIX_CFLAGS_LINK = "-lX11"; + doCheck = false; # requires an X server + }; + X11GUITest = buildPerlPackage rec { name = "X11-GUITest-0.21"; src = fetchurl { diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix index 29a9bc91a1ea..193928513cb4 100644 --- a/pkgs/top-level/python-packages-generated.nix +++ b/pkgs/top-level/python-packages-generated.nix @@ -5370,5 +5370,27 @@ in }; }; + + "suds" = self."suds-0.4"; + + "suds-0.4" = self.buildPythonPackage { + name = "suds-0.4"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/s/suds/suds-0.4.tar.gz"; + md5 = "b7502de662341ed7275b673e6bd73191"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Lightweight SOAP client + ''; + homepage = "https://fedorahosted.org/suds"; + license = "UNKNOWN"; + }; + }; + } diff --git a/pkgs/top-level/python-packages.json b/pkgs/top-level/python-packages.json index b5b7afab85b1..b8ddcee3a47f 100644 --- a/pkgs/top-level/python-packages.json +++ b/pkgs/top-level/python-packages.json @@ -137,5 +137,8 @@ }, { "name": "xlrd", "doCheck": false + }, + { "name": "suds", + "doCheck": false } ] diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2c7123a98d4f..ab605199e7f9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1,24 +1,38 @@ -{ pkgs, python, lowPrio }: +{ pkgs, python }: + with pkgs.lib; let -isPy26 = python.majorVersion == "2.6"; -isPy27 = python.majorVersion == "2.7"; -optional = pkgs.lib.optional; -optionals = pkgs.lib.optionals; -modules = python.modules or { readline = null; sqlite3 = null; curses = null; curses_panel = null; ssl = null; crypt = null; }; + isPy26 = python.majorVersion == "2.6"; + isPy27 = python.majorVersion == "2.7"; + isPy33 = python.majorVersion == "3.3"; + isPy34 = python.majorVersion == "3.4"; + isPyPy = python.executable == "pypy"; + + # Unique python version identifier + pythonName = + if isPy26 then "python26" else + if isPy27 then "python27" else + if isPy33 then "python33" else + if isPy34 then "python34" else + if isPyPy then "pypy" else ""; + + modules = python.modules or { readline = null; sqlite3 = null; curses = null; curses_panel = null; ssl = null; crypt = null; }; pythonPackages = modules // import ./python-packages-generated.nix { inherit pkgs python; inherit (pkgs) stdenv fetchurl; self = pythonPackages; -} // rec { +} // - inherit python; - inherit (pkgs) fetchurl fetchsvn fetchgit stdenv; +# Python packages for all python versions +rec { + + inherit python isPy26 isPy27 isPy33 isPy34 isPyPy pythonName; + inherit (pkgs) fetchurl fetchsvn fetchgit stdenv unzip; # helpers - callPackage = pkgs.lib.callPackageWith (pkgs // pythonPackages); + callPackage = callPackageWith (pkgs // pythonPackages); # global distutils config used by buildPythonPackage distutils-cfg = callPackage ../development/python-modules/distutils-cfg { }; @@ -256,7 +270,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { buildInputs = [ pkgs.which - pkgs.unzip pythonPackages.coverage pythonPackages.mock pythonPackages.tissue @@ -376,7 +389,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha1 = "fa4aec08e59fa5964197f59ba42408d64031675b"; }; - buildInputs = [ pkgs.unzip pkgs.sqlite ]; + buildInputs = [ pkgs.sqlite ]; # python: double free or corruption (fasttop): 0x0000000002fd4660 *** doCheck = false; @@ -426,8 +439,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "192174mys40m0bwk6l5jlfnzps0xi81sxm34cqms6dc3c454pbyx"; }; - buildInputs = [ pkgs.unzip ]; - # error: invalid command 'test' doCheck = false; @@ -557,7 +568,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://beets.radbox.org; description = "Music tagger and library organizer"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; @@ -578,7 +589,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = https://github.com/Sheeprider/BitBucket-api; description = "Python library to interact with BitBucket REST API"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -591,8 +602,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "1i1p3rkj4ad108f23xyib34r4rcy571gy65paml6fk77knh0k66p"; }; - buildInputs = [ pkgs.unzip ]; - # error: invalid command 'test' doCheck = false; @@ -772,7 +781,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://www.buildout.org"; description = "A software build and configuration system"; - license = pkgs.lib.licenses.zpt21; + license = licenses.zpt21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -787,7 +796,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://www.buildout.org"; description = "A software build and configuration system"; - license = pkgs.lib.licenses.zpt21; + license = licenses.zpt21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -808,7 +817,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://www.buildout.org"; description = "A software build and configuration system"; - license = pkgs.lib.licenses.zpt21; + license = licenses.zpt21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -986,7 +995,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Simple, lightweight, and easily extensible STOMP message broker"; homepage = http://code.google.com/p/coilmq/; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }); @@ -1028,7 +1037,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Autogenerate Colander schemas based on SQLAlchemy models."; homepage = https://github.com/stefanofontanelli/ColanderAlchemy; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -1047,7 +1056,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Config file reading, writing and validation."; homepage = http://pypi.python.org/pypi/configobj; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -1107,7 +1116,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Code coverage measurement for python"; homepage = http://nedbatchelder.com/code/coverage/; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; }; }; @@ -1284,7 +1293,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "9c0b8efe9d43b460f8cf049fa46ce14d"; }; - buildInputs = [ pkgs.unzip pytest ]; + buildInputs = [ pytest ]; propagatedBuildInputs = [ execnet ]; meta = { @@ -1311,7 +1320,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp"; }; - buildInputs = [ pkgs.unzip pythonPackages.mock ]; + buildInputs = [ pythonPackages.mock ]; # couple of failing tests doCheck = false; @@ -1495,6 +1504,49 @@ pythonPackages = modules // import ./python-packages-generated.nix { platforms = stdenv.lib.platforms.all; }; }; + + urllib3 = buildPythonPackage rec { + name = "urllib3-1.8"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/u/urllib3/${name}.tar.gz"; + sha256 = "0pdigfxkq8mhzxxsn6isx8c4h9azqywr1k18yanwyxyj8cdzm28s"; + }; + + preConfigure = '' + substituteInPlace test-requirements.txt --replace 'nose==1.3' 'nose' + ''; + + checkPhase = '' + nosetests --cover-min-percentage 70 + ''; + + buildInputs = [ coverage tornado mock nose ]; + + meta = with stdenv.lib; { + description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs"; + homepage = https://www.dropbox.com/developers/core/docs; + license = licenses.mit; + }; + }; + + + dropbox = buildPythonPackage rec { + name = "dropbox-2.0.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/d/dropbox/${name}.zip"; + sha256 = "1bi2z1lql6ryylfflmizhqn98ab55777vn7n5krhqz40pdcjilkx"; + }; + + propagatedBuildInputs = [ urllib3 mock setuptools ]; + + meta = with stdenv.lib; { + description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs"; + homepage = https://www.dropbox.com/developers/core/docs; + license = licenses.mit; + }; + }; evdev = buildPythonPackage rec { @@ -1564,8 +1616,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "be885ccd9612966bb81839670d2da099"; }; - buildInputs = [ pkgs.unzip ]; - meta = { description = "rapid multi-Python deployment"; license = stdenv.lib.licenses.gpl2; @@ -1933,7 +1983,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "a6728117cad24749ddb39d2827cd9033"; }; - buildInputs = [ pkgs.unzip webtest ]; + buildInputs = [ webtest ]; propagatedBuildInputs = [ jinja2 pyramid ]; meta = { @@ -2068,7 +2118,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "36aa2c96dec4cfeea57f54da2b733eb9"; }; - buildInputs = [ pkgs.unzip zope_interface zope_location zope_schema ]; + buildInputs = [ zope_interface zope_location zope_schema ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2345,7 +2395,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; propagatedBuildInputs = with pkgs; [ - pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl + pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl modules.curses ]; postInstall = '' @@ -2745,7 +2795,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "code checking using pep8 and pyflakes."; homepage = http://pypi.python.org/pypi/flake8; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -2975,7 +3025,32 @@ pythonPackages = modules // import ./python-packages-generated.nix { maintainers = [ maintainers.bjornfor ]; }; }; + + + gevent-socketio = buildPythonPackage rec { + name = "gevent-socketio-0.3.6"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/g/gevent-socketio/${name}.tar.gz"; + sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak"; + }; + + buildInputs = [ versiontools gevent-websocket mock pytest ]; + propagatedBuildInputs = [ gevent ]; + + }; + + gevent-websocket = buildPythonPackage rec { + name = "gevent-websocket-0.9.3"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/g/gevent-websocket/${name}.tar.gz"; + sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4"; + }; + + propagatedBuildInputs = [ gevent ]; + + }; genzshcomp = buildPythonPackage { name = "genzshcomp-0.5.1"; @@ -3037,7 +3112,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { src = fetchurl { url = "https://github.com/nicolargo/glances/archive/v${meta.version}.tar.gz"; - sha256 = "0g2yg9qf7qgjwv13x0rx51rzhn99pcmjpb3vk0g3gmmdsqyqi0d6"; + sha256 = "19pin04whc1z4gmwv2rqa7mh08d6007r8dyrhihnxj0v35ghp5i0"; }; buildInputs = [ pkgs.hddtemp ]; @@ -3051,7 +3126,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { ''; meta = { - version = "1.7.1"; + version = "1.7.4"; homepage = "http://nicolargo.github.io/glances/"; description = "Cross-platform curses-based monitoring tool"; }; @@ -3137,12 +3212,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { hetzner = buildPythonPackage rec { name = "hetzner-${version}"; - version = "0.6.0"; + version = "0.7.0"; src = fetchurl { url = "https://github.com/RedMoonStudios/hetzner/archive/" + "v${version}.tar.gz"; - sha256 = "1cgi77f453ahw3ad6hvqwbyp6fwnh90rlzfgl9cp79wg58wyar4w"; + sha256 = "1ldbhwy6yk18frv6n9znvdsrqfnpch4mfvc70jrpq3f9fw236src"; }; # not there yet, but coming soon. @@ -3223,7 +3298,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://code.google.com/p/httplib2; description = "A comprehensive HTTP client library"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -3285,7 +3360,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Google's IP address manipulation library"; homepage = http://code.google.com/p/ipaddr-py/; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }; @@ -3319,7 +3394,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://github.com/davidhalter/jedi"; description = "An autocompletion tool for Python that can be used for text editors."; - license = pkgs.lib.licenses.lgpl3Plus; + license = licenses.lgpl3Plus; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -3381,7 +3456,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; buildInputs = - [ pkgs.unzip fs gdata python_keyczar mock pyasn1 pycrypto pytest ]; + [ fs gdata python_keyczar mock pyasn1 pycrypto pytest ]; }; kitchen = buildPythonPackage (rec { @@ -3409,7 +3484,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://code.google.com/p/pylast/; description = "A python interface to last.fm (and compatibles)"; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }; @@ -3694,7 +3769,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "McCabe checker, plugin for flake8"; homepage = "https://github.com/flintwork/mccabe"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -3797,7 +3872,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { version = "0.9"; description = ''Man-in-the-middle proxy''; homepage = "http://mitmproxy.org/"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -3875,8 +3950,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { export LC_ALL="en_US.UTF-8" ''; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ argparse jinja2 six modules.readline ] ++ (optionals isPy26 [ importlib ordereddict ]); @@ -3901,7 +3974,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://bmc.github.com/munkres/; description = "Munkres algorithm for the Assignment Problem"; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; @@ -3918,7 +3991,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://alastair/python-musicbrainz-ngs; description = "Python bindings for musicbrainz NGS webservice"; - license = pkgs.lib.licenses.bsd2; + license = licenses.bsd2; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; @@ -4087,7 +4160,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { version = "0.9"; description = ''Man-in-the-middle proxy''; homepage = "https://github.com/cortesi/netlib"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -4133,12 +4206,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { }); nose = buildPythonPackage rec { - version = "1.3.0"; + version = "1.3.1"; name = "nose-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz"; - sha256 = "0q2j9zz39h3liwbp6lb94kl3sxb9z9rbwh5dzyccyxfy4lrwqqsf"; + sha256 = "1fmn5b7v183ym793ghrbh76b27aww9qv0lhl7dz31f9xmf3kn9w5"; }; buildInputs = [ coverage ]; @@ -4147,7 +4220,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { checkPhase = if python.is_py3k or false then '' ${python}/bin/${python.executable} setup.py build_tests '' else "" + '' - rm functional_tests/test_multiprocessing/test_concurrent_shared.py # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062 + rm functional_tests/test_multiprocessing/test_concurrent_shared.py* # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062 ${python}/bin/${python.executable} selftest.py ''; @@ -4165,7 +4238,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0lgrfgp3sq8xi8d9grrg0z8jsyk0wl8a3rxw31hb7vdncin5b7n5"; }; - buildInputs = [ pkgs.unzip ]; propagatedBuildInputs = [ nose ]; meta = { @@ -4233,7 +4305,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx"; }; - patches = pkgs.lib.singleton (fetchurl { + patches = singleton (fetchurl { name = "libnotify07.patch"; url = "http://pkgs.fedoraproject.org/cgit/notify-python.git/plain/" + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c"; @@ -4346,7 +4418,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://github.com/simplegeo/python-oauth2"; description = "library for OAuth version 1.0"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; }; @@ -4611,7 +4683,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://pep8.readthedocs.org/"; description = "Python style guide checker"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -4660,8 +4732,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0kdc4rg47k1qkq22inghd50xlxjdkfcilym8mxff8wy4h091xykw"; }; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ pytz ]; meta = { @@ -4704,7 +4774,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "56b6614499aacb7d6b5983c4914daea7"; }; - buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib pkgs.libtiff pkgs.libwebp ]; + buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp ]; # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp. preConfigure = '' @@ -4763,7 +4833,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A library to manipulate gettext files (po and mo files)"; homepage = "http://bitbucket.org/izi/polib/"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -4887,7 +4957,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Allows to get the public suffix of a domain name"; homepage = "http://pypi.python.org/pypi/publicsuffix/"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -5140,7 +5210,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://launchpad.net/pyflakes"; description = "A simple program which checks Python source files for errors."; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -5155,7 +5225,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { patchPhase = let libs = [ pkgs.mesa pkgs.xlibs.libX11 pkgs.freetype pkgs.fontconfig ]; - paths = pkgs.lib.concatStringsSep "," (map (l: "\"${l}/lib\"") libs); + paths = concatStringsSep "," (map (l: "\"${l}/lib\"") libs); in "sed -i -e 's|directories\.extend.*lib[^]]*|&,${paths}|' pyglet/lib.py"; doCheck = false; @@ -5200,7 +5270,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://launchpad.net/pygpgme"; description = "A Python wrapper for the GPGME library."; - license = pkgs.lib.licenses.lgpl21; + license = licenses.lgpl21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -5225,7 +5295,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = https://github.com/seb-m/pyinotify/wiki; description = "Monitor filesystems events on Linux platforms with inotify"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -5255,7 +5325,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://fedoraproject.org/wiki/Pykickstart"; description = "Read and write Fedora kickstart files"; - license = pkgs.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; }; }; @@ -5268,7 +5338,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0ldkm8xws91j7zbvpqb413hvdz8r66bslr451q3qc0xi8cnmydfq"; }; - buildInputs = [ pkgs.unzip pkgs.libiodbc ]; + buildInputs = [ pkgs.libiodbc ]; meta = with stdenv.lib; { description = "Python ODBC module to connect to almost any database"; @@ -5312,7 +5382,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sed -i -e ' s|e\.path\.startswith("/tmp/temp-device-")|"temp-device-" in e.path| ' tests/test__ped_ped.py - '' + pkgs.lib.optionalString stdenv.isi686 '' + '' + optionalString stdenv.isi686 '' # remove some integers in this test case which overflow on 32bit systems sed -i -r -e '/class *UnitGetSizeTestCase/,/^$/{/[0-9]{11}/d}' \ tests/test__ped_ped.py @@ -5582,11 +5652,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { pyserial = buildPythonPackage rec { - name = "pyserial-2.6"; + name = "pyserial-2.7"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pyserial/${name}.tar.gz"; - md5 = "cde799970b7c1ce1f7d6e9ceebe64c98"; + sha256 = "3542ec0838793e61d6224e27ff05e8ce4ba5a5c5cc4ec5c6a3e8d49247985477"; }; doCheck = false; @@ -5606,7 +5676,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "c57cba33626ac4b1e3d1974923d59232"; }; - buildInputs = [ pkgs.unzip ]; meta = { homepage = "https://code.google.com/p/pysphere/"; license = "BSD"; @@ -5811,7 +5880,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "1r127fa354ppb667f4acxlzwxixap1jgzjrr790bw8mcpxv2hqaa"; }; - buildInputs = [ pkgs.unzip pkgs.pyrex ]; + buildInputs = [ pkgs.pyrex ]; propagatedBuildInputs = [ pkgs.libyaml ]; meta = { @@ -5838,7 +5907,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { reportlab = - let freetype = pkgs.lib.overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); + let freetype = overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); in buildPythonPackage rec { name = "reportlab-2.5"; @@ -6044,7 +6113,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { # error: invalid command 'test' #doCheck = false; - buildInputs = [ unittest2 pkgs.unzip ]; + buildInputs = [ unittest2 ]; propagatedBuildInputs = [ robotframework lxml ]; meta = with stdenv.lib; { @@ -6636,7 +6705,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Joyent SmartDataCenter CloudAPI connector using http-signature authentication via Requests"; homepage = https://github.com/atl/py-smartdc; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -6753,46 +6822,44 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }); - - sqlalchemy = buildPythonPackage rec { - name = "sqlalchemy-${version}"; - version = "0.7.10"; - + sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { + name = "SQLAlchemy-0.7.10"; src = fetchurl { - url = "http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-${version}.tar.gz"; + url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp"; }; - patches = [ # see https://groups.google.com/forum/#!searchin/sqlalchemy/module$20logging$20handlers/sqlalchemy/ukuGhmQ2p6g/2_dOpBEYdDYJ # waiting for 0.7.11 release ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch ]; + }); - buildInputs = [ nose ]; - propagatedBuildInputs = [ modules.sqlite3 ]; - - meta = { - homepage = http://www.sqlalchemy.org/; - description = "A Python SQL toolkit and Object Relational Mapper"; + sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { + name = "SQLAlchemy-0.8.5"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; + md5 = "ecf0738eaf1229bae27ad2be0f9978a8"; }; - }; - - - sqlalchemy8 = buildPythonPackage rec { - name = "SQLAlchemy-${version}"; - version = "0.8.2"; + }); + + sqlalchemy9 = buildPythonPackage rec { + name = "SQLAlchemy-0.9.3"; src = fetchurl { url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; - md5 = "5a33fb43dea93468dbb2a6562ee80b54"; + md5 = "a27989b9d4b3f14ea0b1600aa45559c4"; }; buildInputs = [ nose mock ]; propagatedBuildInputs = [ modules.sqlite3 ]; + checkPhase = '' + ${python.executable} sqla_nose.py + ''; + meta = { homepage = http://www.sqlalchemy.org/; description = "A Python SQL toolkit and Object Relational Mapper"; @@ -6824,7 +6891,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = https://github.com/crosspop/sqlalchemy-imageattach; description = "SQLAlchemy extension for attaching images to entity objects"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -6870,7 +6937,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A client for Etsy's node-js statsd server"; homepage = https://github.com/WoLpH/python-statsd; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; }; }; @@ -6890,7 +6957,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Lightweight and extensible STOMP messaging client"; homepage = http://bitbucket.org/hozn/stompclient; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }); @@ -6909,7 +6976,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A streaming protocol for test results"; homepage = https://launchpad.net/subunit; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }; @@ -7027,7 +7094,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A set of extensions to the Python standard library's unit testing framework"; homepage = http://pypi.python.org/pypi/testtools; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -7047,7 +7114,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges."; homepage = https://code.google.com/p/mimeparse/; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -7067,7 +7134,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges."; homepage = https://code.google.com/p/mimeparse/; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -7178,7 +7245,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://github.com/alejandrogomez/turses"; description = "A Twitter client for the console."; - license = pkgs.lib.licenses.gpl3; + license = licenses.gpl3; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; }; @@ -7195,7 +7262,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://github.com/tweepy/tweepy"; description = "Twitter library for python"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; }; @@ -7229,7 +7296,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { and licensed under the MIT license. ''; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ ]; }; @@ -7298,7 +7365,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { description = "A full-featured console (xterm et al.) user interface library"; homepage = http://excess.org/urwid; repositories.git = git://github.com/wardi/urwid.git; - license = pkgs.lib.licenses.lgpl21; + license = licenses.lgpl21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -7457,7 +7524,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { # XXX: skipping two tests fails in python2.6 doCheck = ! isPy26; - buildInputs = [ pkgs.unzip ] ++ optionals isPy26 [ pythonPackages.ordereddict unittest2 ]; + buildInputs = optionals isPy26 [ pythonPackages.ordereddict unittest2 ]; propagatedBuildInputs = [ nose @@ -7498,7 +7565,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { wokkel = buildPythonPackage (rec { url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz"; - name = pkgs.lib.nameFromURL url ".tar"; + name = nameFromURL url ".tar"; src = fetchurl { inherit url; sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml"; @@ -7721,7 +7788,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "eff24d7918099a3e899ee63a9c31bee6"; }; - buildInputs = [ pkgs.unzip zope_interface ]; + buildInputs = [ zope_interface ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -7737,8 +7804,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "4ff0ddbf64c45bfcc3189e35f4214ded"; }; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ zope_interface ]; meta = { @@ -7813,8 +7878,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "c6ac80e6887de4108a383f349fbdf332"; }; - buildInputs = [ pkgs.unzip ]; - meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; @@ -8050,7 +8113,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "8b317b41244fc2e67f2f286890ba59a0"; }; - buildInputs = [ pkgs.unzip sqlalchemy zope_testing zope_interface setuptools ]; + buildInputs = [ sqlalchemy zope_testing zope_interface setuptools ]; propagatedBuildInputs = [ sqlalchemy transaction ]; meta = { @@ -8072,7 +8135,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "01c30c342c6a18002a762bd5d320a6e9"; }; - buildInputs = [ pkgs.unzip ]; propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ]; meta = { @@ -8093,8 +8155,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "1d689abad000419891494b30dd7d8190"; }; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; # a test is failing @@ -8117,8 +8177,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "eaad8fc7bbef126f9f8616b074ec00aa"; }; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ zope_location zope_security zope_publisher ]; meta = { @@ -8207,7 +8265,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0ri6gj883k042xaxa2d5ymmhbw2bfcxdzhh4bz7700ibxwxxj62h"; }; - buildInputs = [ pkgs.unzip unittest2 nose mock ]; + buildInputs = [ unittest2 nose mock ]; propagatedBuildInputs = [ modules.curses libarchive ]; # tests are still failing @@ -8234,7 +8292,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/p/pyzmq/pyzmq-13.0.0.zip"; md5 = "fa2199022e54a393052d380c6e1a0934"; }; - buildInputs = [ pkgs.unzip pkgs.zeromq3 ]; + buildInputs = [ pkgs.zeromq3 ]; propagatedBuildInputs = [ ]; doCheck = false; }; @@ -8417,7 +8475,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://pypi.python.org/pypi/Unidecode/; description = "ASCII transliterations of Unicode text"; - license = pkgs.lib.licenses.gpl2; + license = licenses.gpl2; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; @@ -8439,6 +8497,16 @@ pythonPackages = modules // import ./python-packages-generated.nix { maintainers = [ stdenv.lib.maintainers.rickynils ]; }; }; + + versiontools = buildPythonPackage rec { + name = "versiontools-1.9.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/v/versiontools/${name}.tar.gz"; + sha256 = "1xhl6kl7f4srgnw6zw4lr8j2z5vmrbaa83nzn2c9r2m1hwl36sd9"; + }; + + }; graphite_web = buildPythonPackage rec { name = "graphite-web-${version}"; @@ -8579,7 +8647,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = https://code.google.com/p/gdata-python-client/; description = "Python client library for Google data APIs"; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }; @@ -8599,7 +8667,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://imapclient.freshfoo.com/; description = "Easy-to-use, Pythonic and complete IMAP client library"; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; }; }; @@ -8616,17 +8684,17 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://pythonhosted.org/Logbook/; description = "A logging replacement for Python"; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; }; }; libvirt = pkgs.stdenv.mkDerivation rec { name = "libvirt-python-${version}"; - version = "1.2.0"; + version = "1.2.2"; src = fetchurl { url = "http://libvirt.org/sources/python/${name}.tar.gz"; - sha256 = "0azml1yv9iqnpj4sdg1wwsa70q7kb06lv85p63qwyd8vrd0y7rrg"; + sha256 = "0fccpyppz79kbbnzwdgsiza3cxq7jlnnp1dqi33gc4305dk9vmwl"; }; buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ]; @@ -8638,7 +8706,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://www.libvirt.org/; description = "libvirt Python bindings"; - license = "LGPLv2"; + license = pkgs.lib.licenses.lgpl2; }; }; @@ -8713,8 +8781,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; -# python2.7 specific eggs -} // pkgs.lib.optionalAttrs (python.majorVersion == "2.7") { +# python2.7 specific packages +} // optionalAttrs isPy27 ( + with pythonPackages; + +{ pypi2nix = pythonPackages.buildPythonPackage rec { rev = "04a68d8577acbceb88bdf51b1231a9dbdead7003"; @@ -8735,4 +8806,4 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; -}; in pythonPackages +}); in pythonPackages