diff --git a/.gitignore b/.gitignore index 105e621d7021..d43399383a09 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,9 @@ .*.swp .*.swo result -doc/NEWS.html -doc/NEWS.txt -doc/manual.html -doc/manual.pdf +result-* +/doc/NEWS.html +/doc/NEWS.txt +/doc/manual.html +/doc/manual.pdf .version-suffix diff --git a/lib/modules.nix b/lib/modules.nix index 633b6fc05b26..bcaadc7fd977 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -194,7 +194,7 @@ rec { is transformed into - [ { boot = set1; } { boot = mkIf cond set2; services mkIf cond set3; } ]. + [ { boot = set1; } { boot = mkIf cond set2; services = mkIf cond set3; } ]. This transform is the critical step that allows mkIf conditions to refer to the full configuration without creating an infinite diff --git a/nixos/modules/config/krb5.nix b/nixos/modules/config/krb5.nix index bb5a95ebc844..991b5b16cc68 100644 --- a/nixos/modules/config/krb5.nix +++ b/nixos/modules/config/krb5.nix @@ -32,12 +32,12 @@ in kdc = mkOption { default = "kerberos.mit.edu"; - description = "Kerberos Domain Controller"; + description = "Kerberos Domain Controller."; }; kerberosAdminServer = mkOption { default = "kerberos.mit.edu"; - description = "Kerberos Admin Server"; + description = "Kerberos Admin Server."; }; }; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index f1028a479dff..956215d9a97a 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -134,6 +134,7 @@ teamspeak = 124; influxdb = 125; nsd = 126; + gitolite = 127; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index f4f1abba4de4..3bce68670fc7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -101,7 +101,7 @@ ./services/databases/virtuoso.nix ./services/databases/monetdb.nix ./services/databases/influxdb.nix - ./services/desktops/accountservice.nix + ./services/desktops/accountsservice.nix ./services/desktops/geoclue2.nix ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix @@ -147,6 +147,7 @@ ./services/misc/felix.nix ./services/misc/folding-at-home.nix ./services/misc/gpsd.nix + ./services/misc/gitolite.nix ./services/misc/nix-daemon.nix ./services/misc/nix-gc.nix ./services/misc/nix-ssh-serve.nix @@ -160,7 +161,7 @@ ./services/monitoring/graphite.nix ./services/monitoring/monit.nix ./services/monitoring/munin.nix - ./services/monitoring/nagios/default.nix + ./services/monitoring/nagios.nix ./services/monitoring/smartd.nix ./services/monitoring/statsd.nix ./services/monitoring/systemhealth.nix diff --git a/nixos/modules/programs/atop.nix b/nixos/modules/programs/atop.nix index e457db22333b..b91bd98047ee 100644 --- a/nixos/modules/programs/atop.nix +++ b/nixos/modules/programs/atop.nix @@ -22,7 +22,7 @@ in interval = 5; }; description = '' - Parameters to be written to /etc/atoprc + Parameters to be written to /etc/atoprc. ''; }; diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 2ff1db48757d..80c3e83fe812 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -19,8 +19,8 @@ in environment.variables = { LOCATE_PATH = "/var/cache/locatedb"; NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix"; - PAGER = "less -R"; - EDITOR = "nano"; + PAGER = mkDefault "less -R"; + EDITOR = mkDefault "nano"; }; environment.sessionVariables = diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index f4af04247fe9..3bd58218c99d 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -6,12 +6,10 @@ let cfg = config.security.grsecurity; customGrsecPkg = - (import ../../../pkgs/build-support/grsecurity - { - inherit lib pkgs; - grsecOptions = cfg; - } - ).grsecPackage; + (import ../../../pkgs/build-support/grsecurity { + grsecOptions = cfg; + inherit pkgs lib; + }).grsecPackage; in { options = { @@ -36,14 +34,6 @@ in ''; }; - vserver = mkOption { - type = types.bool; - default = false; - description = '' - Enable the stable grsecurity/vserver patches, based on Linux 3.2. - ''; - }; - testing = mkOption { type = types.bool; default = false; @@ -246,9 +236,6 @@ in both. ''; } - { assertion = (cfg.testing -> !cfg.vserver); - message = "The vserver patches are only supported in the stable kernel."; - } { assertion = (cfg.config.restrictProc -> !cfg.config.restrictProcWithGroup) || (cfg.config.restrictProcWithGroup -> !cfg.config.restrictProc); message = "You cannot enable both restrictProc and restrictProcWithGroup"; diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index 4ef48df9831c..2521e356bf39 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -50,7 +50,7 @@ in user = mkOption { default = "redis"; - description = "User account under which Redis runs"; + description = "User account under which Redis runs."; }; pidFile = mkOption { @@ -60,26 +60,26 @@ in port = mkOption { default = 6379; - description = "The port for Redis to listen to"; + description = "The port for Redis to listen to."; type = with types; int; }; bind = mkOption { default = null; # All interfaces - description = "The IP interface to bind to"; + description = "The IP interface to bind to."; example = "127.0.0.1"; }; unixSocket = mkOption { default = null; - description = "The path to the socket to bind to"; + description = "The path to the socket to bind to."; example = "/var/run/redis.sock"; }; logLevel = mkOption { default = "notice"; # debug, verbose, notice, warning example = "debug"; - description = "Specify the server verbosity level, options: debug, verbose, notice, warning"; + description = "Specify the server verbosity level, options: debug, verbose, notice, warning."; type = with types; string; }; @@ -110,19 +110,19 @@ in dbFilename = mkOption { default = "dump.rdb"; - description = "The filename where to dump the DB"; + description = "The filename where to dump the DB."; type = with types; string; }; dbpath = mkOption { default = "/var/lib/redis"; - description = "The DB will be written inside this directory, with the filename specified using the 'dbFilename' configuration"; + description = "The DB will be written inside this directory, with the filename specified using the 'dbFilename' configuration."; type = with types; string; }; slaveOf = mkOption { default = null; # { ip, port } - description = "An attribute set with two attributes: ip and port to which this redis instance acts as a slave"; + description = "An attribute set with two attributes: ip and port to which this redis instance acts as a slave."; example = { ip = "192.168.1.100"; port = 6379; }; }; @@ -154,26 +154,26 @@ in appendFsync = mkOption { default = "everysec"; # no, always, everysec - description = "How often to fsync the append-only log, options: no, always, everysec"; + description = "How often to fsync the append-only log, options: no, always, everysec."; type = with types; string; }; slowLogLogSlowerThan = mkOption { default = 10000; - description = "Log queries whose execution take longer than X in milliseconds"; + description = "Log queries whose execution take longer than X in milliseconds."; example = 1000; type = with types; int; }; slowLogMaxLen = mkOption { default = 128; - description = "Maximum number of items to keep in slow log"; + description = "Maximum number of items to keep in slow log."; type = with types; int; }; extraConfig = mkOption { default = ""; - description = "Extra configuration options for redis.conf"; + description = "Extra configuration options for redis.conf."; type = with types; string; }; }; diff --git a/nixos/modules/services/desktops/accountservice.nix b/nixos/modules/services/desktops/accountsservice.nix similarity index 76% rename from nixos/modules/services/desktops/accountservice.nix rename to nixos/modules/services/desktops/accountsservice.nix index 386dfe98bd23..c28c27295761 100644 --- a/nixos/modules/services/desktops/accountservice.nix +++ b/nixos/modules/services/desktops/accountsservice.nix @@ -30,11 +30,11 @@ with lib; config = mkIf config.services.accounts-daemon.enable { - environment.systemPackages = [ pkgs.accountservice ]; + environment.systemPackages = [ pkgs.accountsservice ]; - services.dbus.packages = [ pkgs.accountservice ]; + services.dbus.packages = [ pkgs.accountsservice ]; - systemd.packages = [ pkgs.accountservice ]; + systemd.packages = [ pkgs.accountsservice ]; }; } diff --git a/nixos/modules/services/hardware/sane.nix b/nixos/modules/services/hardware/sane.nix index f7b25c187877..3bf765c6f991 100644 --- a/nixos/modules/services/hardware/sane.nix +++ b/nixos/modules/services/hardware/sane.nix @@ -34,6 +34,12 @@ in description = "Packages providing extra SANE backends to enable."; }; + hardware.sane.configDir = mkOption { + type = types.string; + default = "${saneConfig}/etc/sane.d"; + description = "The value of SANE_CONFIG_DIR."; + }; + }; @@ -42,8 +48,8 @@ in config = mkIf config.hardware.sane.enable { environment.systemPackages = backends; - environment.variables = { - SANE_CONFIG_DIR = mkDefault "${saneConfig}/etc/sane.d"; + environment.sessionVariables = { + SANE_CONFIG_DIR = config.hardware.sane.configDir; LD_LIBRARY_PATH = [ "${saneConfig}/lib/sane" ]; }; services.udev.packages = backends; diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix index 480e35a1156d..c92c81135704 100644 --- a/nixos/modules/services/logging/logstash.nix +++ b/nixos/modules/services/logging/logstash.nix @@ -17,6 +17,11 @@ in description = "Enable logstash"; }; + enableWeb = mkOption { + default = false; + description = "Enable logstash web interface"; + }; + inputConfig = mkOption { default = ''stdin { type => "example" }''; description = "Logstash input configuration"; @@ -62,7 +67,7 @@ in config = mkIf cfg.enable { systemd.services.logstash = with pkgs; { - description = "Logstash daemon"; + description = "Logstash Daemon"; wantedBy = [ "multi-user.target" ]; serviceConfig = { @@ -78,7 +83,7 @@ in output { ${cfg.outputConfig} } - ''}"; + ''} ${optionalString cfg.enableWeb "-- web"}"; }; }; }; diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix new file mode 100644 index 000000000000..84435f92c11d --- /dev/null +++ b/nixos/modules/services/misc/gitolite.nix @@ -0,0 +1,66 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.gitolite; + pubkeyFile = pkgs.writeText "gitolite-admin.pub" cfg.adminPubkey; +in +{ + options = { + services.gitolite = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable gitolite management under the + gitolite user. The Gitolite home + directory is /var/lib/gitolite. After + switching to a configuration with Gitolite enabled, you can + then run git clone + gitolite@host:gitolite-admin.git to manage it further. + ''; + }; + + adminPubkey = mkOption { + type = types.str; + description = '' + Initial administrative public key for Gitolite. This should + be an SSH Public Key. Note that this key will only be used + once, upon the first initialization of the Gitolite user. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers.gitolite = { + description = "Gitolite user"; + home = "/var/lib/gitolite"; + createHome = true; + uid = config.ids.uids.gitolite; + useDefaultShell = true; + }; + + systemd.services."gitolite-init" = { + description = "Gitolite initialization"; + wantedBy = [ "multi-user.target" ]; + + serviceConfig.User = "gitolite"; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + + path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.openssh ]; + script = '' + cd /var/lib/gitolite + mkdir -p .gitolite/logs + if [ ! -d repositories ]; then + gitolite setup -pk ${pubkeyFile} + fi + gitolite setup # Upgrade if needed + ''; + }; + + environment.systemPackages = [ pkgs.gitolite pkgs.git ]; + }; +} diff --git a/nixos/modules/services/monitoring/nagios/default.nix b/nixos/modules/services/monitoring/nagios.nix similarity index 64% rename from nixos/modules/services/monitoring/nagios/default.nix rename to nixos/modules/services/monitoring/nagios.nix index 2eeddf782501..97d153153a55 100644 --- a/nixos/modules/services/monitoring/nagios/default.nix +++ b/nixos/modules/services/monitoring/nagios.nix @@ -4,21 +4,12 @@ with lib; let - cfg = config.services.nagios; - nagiosUser = "nagios"; - nagiosGroup = "nogroup"; - nagiosState = "/var/lib/nagios"; nagiosLogDir = "/var/log/nagios"; - nagiosObjectDefs = - [ ./timeperiods.cfg - ./host-templates.cfg - ./service-templates.cfg - ./commands.cfg - ] ++ cfg.objectDefs; + nagiosObjectDefs = cfg.objectDefs; nagiosObjectDefsDir = pkgs.runCommand "nagios-objects" {inherit nagiosObjectDefs;} "ensureDir $out; ln -s $nagiosObjectDefs $out/"; @@ -30,19 +21,20 @@ let log_archive_path=${nagiosLogDir}/archive status_file=${nagiosState}/status.dat object_cache_file=${nagiosState}/objects.cache - comment_file=${nagiosState}/comment.dat - downtime_file=${nagiosState}/downtime.dat temp_file=${nagiosState}/nagios.tmp lock_file=/var/run/nagios.lock # Not used I think. state_retention_file=${nagiosState}/retention.dat + query_socket=${nagiosState}/nagios.qh + check_result_path=${nagiosState} + command_file=${nagiosState}/nagios.cmd # Configuration files. #resource_file=resource.cfg cfg_dir=${nagiosObjectDefsDir} # Uid/gid that the daemon runs under. - nagios_user=${nagiosUser} - nagios_group=${nagiosGroup} + nagios_user=nagios + nagios_group=nogroup # Misc. options. illegal_macro_output_chars=`~$&|'"<> @@ -53,26 +45,24 @@ let # authentication. nagiosCGICfgFile = pkgs.writeText "nagios.cgi.conf" '' - main_config_file=${nagiosCfgFile} + main_config_file=${cfg.mainConfigFile} use_authentication=0 - url_html_path=/nagios + url_html_path=${cfg.urlPath} ''; - urlPath = cfg.urlPath; - extraHttpdConfig = '' - ScriptAlias ${urlPath}/cgi-bin ${pkgs.nagios}/sbin + ScriptAlias ${cfg.urlPath}/cgi-bin ${pkgs.nagios}/sbin Options ExecCGI AllowOverride None Order allow,deny Allow from all - SetEnv NAGIOS_CGI_CONFIG ${nagiosCGICfgFile} + SetEnv NAGIOS_CGI_CONFIG ${cfg.cgiConfigFile} - Alias ${urlPath} ${pkgs.nagios}/share + Alias ${cfg.urlPath} ${pkgs.nagios}/share Options None @@ -83,14 +73,9 @@ let ''; in - { - ###### interface - options = { - services.nagios = { - enable = mkOption { default = false; description = " @@ -116,6 +101,21 @@ in "; }; + mainConfigFile = mkOption { + default = nagiosCfgFile; + description = " + Derivation for the main configuration file of Nagios. + "; + }; + + cgiConfigFile = mkOption { + default = nagiosCGICfgFile; + description = " + Derivation for the configuration file of Nagios CGI scripts + that can be used in web servers for running the Nagios web interface. + "; + }; + enableWebInterface = mkOption { default = false; description = " @@ -132,55 +132,53 @@ in http://server/urlPath. "; }; - }; - }; - ###### implementation - config = mkIf cfg.enable { - - users.extraUsers = singleton - { name = nagiosUser; - uid = config.ids.uids.nagios; - description = "Nagios monitoring daemon"; - home = nagiosState; - }; + users.extraUsers.nagios = { + description = "Nagios user "; + uid = config.ids.uids.nagios; + home = nagiosState; + createHome = true; + }; # This isn't needed, it's just so that the user can type "nagiostats # -c /etc/nagios.cfg". - environment.etc = singleton - { source = nagiosCfgFile; + environment.etc = [ + { source = cfg.mainConfigFile; target = "nagios.cfg"; - }; + } + ]; environment.systemPackages = [ pkgs.nagios ]; + systemd.services.nagios = { + description = "Nagios monitoring daemon"; + path = [ pkgs.nagios ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; - jobs.nagios = - { description = "Nagios monitoring daemon"; - - startOn = "started network-interfaces"; - stopOn = "stopping network-interfaces"; - - preStart = - '' - mkdir -m 0755 -p ${nagiosState} ${nagiosLogDir} - chown ${nagiosUser} ${nagiosState} ${nagiosLogDir} - ''; - - script = - '' - for i in ${toString config.services.nagios.plugins}; do - export PATH=$i/bin:$i/sbin:$i/libexec:$PATH - done - exec ${pkgs.nagios}/bin/nagios ${nagiosCfgFile} - ''; + serviceConfig = { + User = "nagios"; + Restart = "always"; + RestartSec = 2; + PermissionsStartOnly = true; }; + preStart = '' + mkdir -m 0755 -p ${nagiosState} ${nagiosLogDir} + chown nagios ${nagiosState} ${nagiosLogDir} + ''; + + script = '' + for i in ${toString cfg.plugins}; do + export PATH=$i/bin:$i/sbin:$i/libexec:$PATH + done + exec ${pkgs.nagios}/bin/nagios ${cfg.mainConfigFile} + ''; + }; + services.httpd.extraConfig = optionalString cfg.enableWebInterface extraHttpdConfig; - }; - } diff --git a/nixos/modules/services/monitoring/nagios/commands.cfg b/nixos/modules/services/monitoring/nagios/commands.cfg deleted file mode 100644 index 6efdefcd37dc..000000000000 --- a/nixos/modules/services/monitoring/nagios/commands.cfg +++ /dev/null @@ -1,34 +0,0 @@ -define command { - command_name host-notify-by-email - command_line printf "%b" "To: $CONTACTEMAIL$\nSubject: [Nagios] Host $HOSTSTATE$ alert for $HOSTNAME$\n\n***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | sendmail $CONTACTEMAIL$ -} - - -define command { - command_name notify-by-email - command_line printf "%b" "To: $CONTACTEMAIL$\nSubject: [Nagios] $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$\n\n***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | sendmail $CONTACTEMAIL$ -} - - -define command { - command_name dummy-ok - command_line true -} - - -define command { - command_name check-host-alive - command_line check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1 -} - - -define command { - command_name check_local_disk - command_line check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ -} - - -define command { - command_name check_ssh - command_line check_ssh $HOSTADDRESS$ -} diff --git a/nixos/modules/services/monitoring/nagios/host-templates.cfg b/nixos/modules/services/monitoring/nagios/host-templates.cfg deleted file mode 100644 index 3a4c269e2572..000000000000 --- a/nixos/modules/services/monitoring/nagios/host-templates.cfg +++ /dev/null @@ -1,27 +0,0 @@ -define host { - name generic-host - notifications_enabled 1 - event_handler_enabled 1 - flap_detection_enabled 1 - failure_prediction_enabled 1 - process_perf_data 1 - retain_status_information 1 - retain_nonstatus_information 1 - notification_period 24x7 - register 0 -} - - -define host { - name generic-server - use generic-host - check_period 24x7 - max_check_attempts 10 - check_command check-host-alive - notification_period 24x7 - notification_interval 120 - notification_options d,u,r - contact_groups admins - register 0 - #check_interval 1 -} diff --git a/nixos/modules/services/monitoring/nagios/service-templates.cfg b/nixos/modules/services/monitoring/nagios/service-templates.cfg deleted file mode 100644 index e729ea77675d..000000000000 --- a/nixos/modules/services/monitoring/nagios/service-templates.cfg +++ /dev/null @@ -1,32 +0,0 @@ -define service { - name generic-service - active_checks_enabled 1 - passive_checks_enabled 1 - parallelize_check 1 - obsess_over_service 1 - check_freshness 0 - notifications_enabled 1 - event_handler_enabled 1 - flap_detection_enabled 1 - failure_prediction_enabled 1 - process_perf_data 1 - retain_status_information 1 - retain_nonstatus_information 1 - is_volatile 0 - register 0 -} - - -define service { - name local-service - use generic-service - check_period 24x7 - max_check_attempts 4 - normal_check_interval 5 - retry_check_interval 1 - contact_groups admins - notification_options w,u,c,r - notification_interval 0 # notify only once - notification_period 24x7 - register 0 -} diff --git a/nixos/modules/services/monitoring/nagios/timeperiods.cfg b/nixos/modules/services/monitoring/nagios/timeperiods.cfg deleted file mode 100644 index 2669be54d3db..000000000000 --- a/nixos/modules/services/monitoring/nagios/timeperiods.cfg +++ /dev/null @@ -1,11 +0,0 @@ -define timeperiod { - timeperiod_name 24x7 - alias 24 Hours A Day, 7 Days A Week - sunday 00:00-24:00 - monday 00:00-24:00 - tuesday 00:00-24:00 - wednesday 00:00-24:00 - thursday 00:00-24:00 - friday 00:00-24:00 - saturday 00:00-24:00 -} diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index 0d604850d42b..eeae11dc4ff3 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -27,37 +27,37 @@ in { options.services.elasticsearch = { enable = mkOption { - description = "Whether to enable elasticsearch"; + description = "Whether to enable elasticsearch."; default = false; type = types.uniq types.bool; }; host = mkOption { - description = "Elasticsearch listen address"; + description = "Elasticsearch listen address."; default = "127.0.0.1"; type = types.str; }; port = mkOption { - description = "Elasticsearch port to listen for HTTP traffic"; + description = "Elasticsearch port to listen for HTTP traffic."; default = 9200; type = types.int; }; tcp_port = mkOption { - description = "Elasticsearch port for the node to node communication"; + description = "Elasticsearch port for the node to node communication."; default = 9300; type = types.int; }; cluster_name = mkOption { - description = "Elasticsearch name that identifies your cluster for auto-discovery"; + description = "Elasticsearch name that identifies your cluster for auto-discovery."; default = "elasticsearch"; type = types.str; }; extraConf = mkOption { - description = "Extra configuration for elasticsearch"; + description = "Extra configuration for elasticsearch."; default = ""; type = types.str; example = '' @@ -70,7 +70,7 @@ in { }; logging = mkOption { - description = "Elasticsearch logging configuration"; + description = "Elasticsearch logging configuration."; default = '' rootLogger: INFO, console logger: @@ -93,18 +93,26 @@ in { Data directory for elasticsearch. ''; }; + + extraCmdLineOptions = mkOption { + description = "Extra command line options for the elasticsearch launcher."; + default = []; + type = types.listOf types.string; + example = [ "-Djava.net.preferIPv4Stack=true" ]; + }; + }; ###### implementation config = mkIf cfg.enable { systemd.services.elasticsearch = { - description = "Elasticsearch daemon"; + description = "Elasticsearch Daemon"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; environment = { ES_HOME = cfg.dataDir; }; serviceConfig = { - ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir}"; + ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}"; User = "elasticsearch"; PermissionsStartOnly = true; }; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index ee94c91716cf..51ebca7dd43c 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -683,6 +683,13 @@ in description = "Definition of systemd per-user service units."; }; + systemd.user.sockets = mkOption { + default = {}; + type = types.attrsOf types.optionSet; + options = [ socketOptions unitConfig ]; + description = "Definition of systemd per-user socket units."; + }; + }; @@ -767,7 +774,8 @@ in in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts); systemd.user.units = - mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services; + mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services + // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.user.sockets; system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled [ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET" diff --git a/nixos/modules/tasks/encrypted-devices.nix b/nixos/modules/tasks/encrypted-devices.nix index e80762a170c4..e56549149cb8 100644 --- a/nixos/modules/tasks/encrypted-devices.nix +++ b/nixos/modules/tasks/encrypted-devices.nix @@ -16,28 +16,28 @@ let enable = mkOption { default = false; type = types.bool; - description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry"; + description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry."; }; blkDev = mkOption { default = null; example = "/dev/sda1"; type = types.uniq (types.nullOr types.string); - description = "Location of the backing encrypted device"; + description = "Location of the backing encrypted device."; }; label = mkOption { default = null; example = "rootfs"; type = types.uniq (types.nullOr types.string); - description = "Label of the backing encrypted device"; + description = "Label of the backing encrypted device."; }; keyFile = mkOption { default = null; example = "/root/.swapkey"; type = types.uniq (types.nullOr types.string); - description = "File system location of keyfile"; + description = "File system location of keyfile."; }; }; }; diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix index 378318fbf855..cd30b5b30847 100644 --- a/pkgs/applications/audio/zynaddsubfx/default.nix +++ b/pkgs/applications/audio/zynaddsubfx/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig ]; meta = with stdenv.lib; { - description = "high quality software synthesizer"; + description = "High quality software synthesizer"; homepage = http://zynaddsubfx.sourceforge.net; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/applications/editors/emacs-modes/emms/default.nix b/pkgs/applications/editors/emacs-modes/emms/default.nix index 5439ba9e4d6e..d8bbb83c4e58 100644 --- a/pkgs/applications/editors/emacs-modes/emms/default.nix +++ b/pkgs/applications/editors/emacs-modes/emms/default.nix @@ -67,6 +67,6 @@ stdenv.mkDerivation rec { license = "GPLv3+"; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.gnu; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix index 776a817fc49d..e52011547c7a 100644 --- a/pkgs/applications/editors/emacs-modes/org/default.nix +++ b/pkgs/applications/editors/emacs-modes/org/default.nix @@ -45,6 +45,6 @@ stdenv.mkDerivation rec { license = "GPLv3+"; maintainers = with stdenv.lib.maintainers; [ chaoflow pSub ]; - platforms = stdenv.lib.platforms.gnu; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix similarity index 96% rename from pkgs/applications/editors/emacs-modes/proofgeneral/default.nix rename to pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix index 3f974423fd70..0dea1a13977e 100644 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix @@ -49,6 +49,6 @@ stdenv.mkDerivation (rec { ''; homepage = http://proofgeneral.inf.ed.ac.uk; license = "GPLv2+"; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice + platforms = stdenv.lib.platforms.unix; # arbitrary choice }; }) diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix new file mode 100644 index 000000000000..3a492dc0c7f4 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }: + +stdenv.mkDerivation (rec { + name = "ProofGeneral-4.3pre131011"; + + src = fetchurl { + url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.3pre131011.tgz; + sha256 = "0104iy2xik5npkdg9p2ir6zqyrmdc93azrgm3ayvg0z76vmnb816"; + }; + + sourceRoot = name; + + buildInputs = [ emacs texinfo texLive perl which ]; + + prePatch = + '' sed -i "Makefile" \ + -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \ + s|/sbin/install-info|install-info|g" + + + sed -i "bin/proofgeneral" -e's/which/type -p/g' + + # @image{ProofGeneral} fails, so remove it. + sed -i '94d' doc/PG-adapting.texi + sed -i '96d' doc/ProofGeneral.texi + ''; + + preBuild = '' + make clean; + ''; + + installPhase = + # Copy `texinfo.tex' in the right place so that `texi2pdf' works. + '' cp -v "${automake}/share/"automake-*/texinfo.tex doc + make install install-doc + ''; + + meta = { + description = "Proof General, an Emacs front-end for proof assistants"; + longDescription = '' + Proof General is a generic front-end for proof assistants (also known as + interactive theorem provers), based on the customizable text editor Emacs. + ''; + homepage = http://proofgeneral.inf.ed.ac.uk; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.unix; # arbitrary choice + }; +}) diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix index 87ea7ee6854e..4166bc1e9e3e 100644 --- a/pkgs/applications/editors/zile/default.nix +++ b/pkgs/applications/editors/zile/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { preConfigure = "export gl_cv_func_fstatat_zero_flag=yes"; meta = { - description = "GNU Zile, a lightweight Emacs clone"; + description = "Lightweight Emacs clone"; longDescription = '' GNU Zile, which is a lightweight Emacs clone. Zile is short diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix index 6a212a7a931d..ee8543f7039a 100644 --- a/pkgs/applications/graphics/alchemy/default.nix +++ b/pkgs/applications/graphics/alchemy/default.nix @@ -22,6 +22,14 @@ stdenv.mkDerivation { meta = { description = "Drawing application"; + longDescription = '' + Alchemy is an open drawing project aimed at exploring how we can sketch, + draw, and create on computers in new ways. Alchemy isn’t software for + creating finished artwork, but rather a sketching environment that + focuses on the absolute initial stage of the creation process. + Experimental in nature, Alchemy lets you brainstorm visually to explore + an expanded range of ideas and possibilities in a serendipitous way. + ''; homepage = http://al.chemy.org/; license = stdenv.lib.licenses.gpl3Plus; maintainers = [stdenv.lib.maintainers.marcweber]; diff --git a/pkgs/applications/misc/camlistore/default.nix b/pkgs/applications/misc/camlistore/default.nix new file mode 100644 index 000000000000..80d8dd801a9b --- /dev/null +++ b/pkgs/applications/misc/camlistore/default.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, go, fetchurl }: + +stdenv.mkDerivation rec { + version = "0.7"; + name = "camlistore-${version}"; + + src = fetchurl { + url = "https://github.com/bradfitz/camlistore/archive/0.7.tar.gz"; + sha256 = "0lc35x2b9llrnma0m5czivly0c3l4lh3ldw9hwn83lkh8n0bzn11"; + }; + + buildInputs = [ go ]; + + buildPhase = '' + go run make.go + rm bin/README + ''; + + installPhase = '' + ensureDir $out/bin + cp bin/* $out/bin + ''; + + meta = with stdenv.lib; { + description = "Camlistore is a way of storing, syncing, sharing, modelling and backing up content"; + homepage = https://camlistore.org; + license = licenses.asl20; + maintainers = with maintainers; [ cstrahan ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix new file mode 100644 index 000000000000..70f3855c3d66 --- /dev/null +++ b/pkgs/applications/misc/kdeconnect/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, gettext, kdelibs, makeWrapper, qca2, qca2_ossl, qjson }: + +stdenv.mkDerivation rec { + name = "kdeconnect-${version}"; + version = "0.5.2.1"; + + src = fetchurl { + url = "http://download.kde.org/unstable/kdeconnect/0.5.2/src/kdeconnect-kde-${version}.tar.xz"; + sha256 = "0g632ha7xcqf839c4h0dz5637bz6gnn2gz76dc0qq09zbrq49i08"; + }; + + buildInputs = [ gettext kdelibs makeWrapper qca2 qca2_ossl qjson ]; + + postInstall = '' + wrapProgram $out/lib/kde4/libexec/kdeconnectd --prefix QT_PLUGIN_PATH : ${qca2_ossl}/lib/qt4/plugins + ''; + + meta = with stdenv.lib; { + description = "A tool to connect and sync your devices with KDE"; + longDescription = '' + The corresponding Android app, "KDE Connect", is available in + F-Droid and Google play and has the following features: + + - Share files and URLs to KDE from any app + - Clipboard share: copy from or to your desktop + - Notifications sync (4.3+): Read your Android notifications from KDE + - Multimedia remote control: Use your phone as a remote control + - WiFi connection: no usb wire or bluetooth needed + - RSA Encryption: your information is safe + ''; + license = licenses.gpl2; + homepage = https://projects.kde.org/projects/playground/base/kdeconnect-kde; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu ]; + }; +} diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix index fda89f1cd3dd..9c57fbd19a77 100644 --- a/pkgs/applications/misc/st/default.nix +++ b/pkgs/applications/misc/st/default.nix @@ -4,11 +4,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "st-0.4.1"; + name = "st-0.5"; src = fetchurl { url = "http://dl.suckless.org/st/${name}.tar.gz"; - sha256 = "0cdzwbm5fxrwz8ryxkh90d3vwx54wjyywgj28ymsb5fdv3396bzf"; + sha256 = "0knxpzaa86pprng6hak8hx8bw22yw22rpz1ffxjpcvqlz3xdv05f"; }; configFile = optionalString (conf!=null) (writeText "config.def.h" conf); 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 378e32c0afb4..438a53b4f8a3 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.359"; + version = "11.2.202.378"; 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 = "13myq6f999qy1jbgm73gxnadrxdvasi2jiffdyxmwpbwglhhrpka"; + sha256 = "08aw532k8y27s64ffdghz2k4zf0jsz65crvn3i9vxan29064la9c"; } 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 = "04wh18jbscp7m3drvsxxhp2vjnhww69vw0pgr23hx81ry0ccvb8m"; + sha256 = "1njy2pnhgr2hjz6kp9vl4cgxxszw2k6gmhjz88hx92aijv7s93wz"; } else throw "Flash Player is not supported on this platform"; diff --git a/pkgs/applications/networking/p2p/retroshare/default.nix b/pkgs/applications/networking/p2p/retroshare/default.nix index 3ae4f2a74838..a139531b19a6 100644 --- a/pkgs/applications/networking/p2p/retroshare/default.nix +++ b/pkgs/applications/networking/p2p/retroshare/default.nix @@ -11,7 +11,16 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2"; - patchPhase = "sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' libretroshare/src/upnp/UPnPBase.cpp"; + patchPhase = '' + sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' \ + libretroshare/src/upnp/UPnPBase.cpp + # Extensions get installed + sed -i "s,/usr/lib/retroshare/extensions/,$out/share/retroshare," \ + libretroshare/src/rsserver/rsinit.cc + # For bdboot.txt + sed -i "s,/usr/share/RetroShare,$out/share/retroshare," \ + libretroshare/src/rsserver/rsinit.cc + ''; buildInputs = [ speex qt libupnp gpgme gnome3.libgnome_keyring glib libssh pkgconfig protobuf bzip2 libXScrnSaver curl libxml2 libxslt ]; @@ -24,8 +33,15 @@ stdenv.mkDerivation { postInstall = '' mkdir -p $out/bin - ln -s $out/retroshare-nogui $out/bin - ln -s $out/RetroShare $out/bin + mv $out/retroshare-nogui $out/bin + mv $out/RetroShare $out/bin + + # plugins + mkdir -p $out/share/retroshare + mv $out/lib* $out/share/retroshare + + # BT DHT bootstrap + cp libbitdht/src/bitdht/bdboot.txt $out/share/retroshare ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 28603daa9c67..8f169180dd5e 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -2,18 +2,16 @@ stdenv.mkDerivation rec { name = "syncthing-${version}"; - version = "0.8.11"; + version = "0.8.15"; src = fetchgit { url = "git://github.com/calmh/syncthing.git"; rev = "refs/tags/v${version}"; - sha256 = "16dl9sqwhv0n1602pmi10d5j7z2196ijhvz4rfx7732210qbkpnn"; + sha256 = "0xv8kaji60zqxws72srh5hdi9fyvaipdcsawp6gcyahhr3cz0ddq"; }; buildInputs = [ go ]; - patches = [ ./upnp.patch ]; - buildPhase = '' mkdir -p "./dependencies/src/github.com/calmh/syncthing" diff --git a/pkgs/applications/networking/syncthing/upnp.patch b/pkgs/applications/networking/syncthing/upnp.patch deleted file mode 100644 index f4164b4f6bc3..000000000000 --- a/pkgs/applications/networking/syncthing/upnp.patch +++ /dev/null @@ -1,28 +0,0 @@ -Trying to fix upnp for miniupnpd: -https://github.com/calmh/syncthing/issues/211 - -diff --git a/upnp/upnp.go b/upnp/upnp.go -index 9de719a..9c85b23 100644 ---- a/upnp/upnp.go -+++ b/upnp/upnp.go -@@ -60,14 +60,12 @@ func Discover() (*IGD, error) { - return nil, err - } - -- search := []byte(` --M-SEARCH * HTTP/1.1 --Host: 239.255.255.250:1900 --St: urn:schemas-upnp-org:device:InternetGatewayDevice:1 --Man: "ssdp:discover" --Mx: 3 -- --`) -+ search := []byte("M-SEARCH * HTTP/1.1\r\n" + -+"Host: 239.255.255.250:1900\r\n" + -+"St: urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\n" + -+"Man: \"ssdp:discover\"\r\n" + -+"Mx: 3\r\n" + -+"\r\n") - - _, err = socket.WriteTo(search, ssdp) - if err != nil { diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix index 0e5a6afcdc5f..d9b3627507eb 100644 --- a/pkgs/applications/office/abiword/default.nix +++ b/pkgs/applications/office/abiword/default.nix @@ -27,7 +27,10 @@ stdenv.mkDerivation { libgsf enchant wv libjpeg ]; - meta = { - description = "Word processing program, similar to Microsof Word"; + meta = with stdenv.lib; { + description = "Word processing program, similar to Microsoft Word"; + homepage = http://www.abisource.com/; + license = licenses.gpl3; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 5b311956da9e..f0f7d801d8fd 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -3,7 +3,7 @@ assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"); let - version = "4.0.20"; + version = "4.0.21.1"; arch = if stdenv.system == "x86_64-linux" then "linux-x86_64" else "linux-i686"; @@ -14,8 +14,8 @@ stdenv.mkDerivation { src = fetchurl { url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2"; sha256 = if stdenv.system == "x86_64-linux" - then "0d7813k3h60fpxabdwiw83g5zfy9knxc9irgxxz60z31vd14zi0x" - else "0nj4mj22bkn2nwbkfs40kg4br6h6gcf718v9lfnvs13cyhx0wapc"; + then "1d6ih9q0daxxqqbr134la5y39648hpd53srf43lljjs8wr71wbn8" + else "121myzwxw3frps77lpzza82glyz9qgwbl5bh3zngfx9vwx3n8q0v"; }; # Strip the bundled xulrunner diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix index 2ea916052a38..648d59ac01c2 100644 --- a/pkgs/applications/version-management/bazaar/default.nix +++ b/pkgs/applications/version-management/bazaar/default.nix @@ -31,6 +31,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://bazaar-vcs.org/; description = "A distributed version control system that Just Works"; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 96e4631889c7..482866969a11 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -69,7 +69,7 @@ rec { }; tig = import ./tig { - inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl docbook_xml_dtd_45; + inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl docbook_xml_dtd_45 readline; }; hub = import ./hub { 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 72f00bbad2ef..8c2ee6a49448 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 @@ -11,6 +11,7 @@ , tastyHunit, tastyQuickcheck, tastyRerun, text, time, transformers , unixCompat, utf8String, uuid, wai, waiExtra, warp, warpTls, which , xmlTypes, yesod, yesodCore, yesodDefault, yesodForm, yesodStatic +, fsnotify }: cabal.mkDerivation (self: { @@ -21,9 +22,9 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ aeson async blazeBuilder bloomfilter byteable caseInsensitive - clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus - dlist dns editDistance exceptions extensibleExceptions fdoNotify - feed filepath gnutls hamlet hinotify hS3 hslogger HTTP httpClient + clientsession cryptoApi cryptohash dataDefault dataenc DAV + dlist dns editDistance exceptions extensibleExceptions + feed filepath gnutls hamlet hS3 hslogger HTTP httpClient httpConduit httpTypes IfElse json liftedBase MissingH monadControl mtl network networkConduit networkInfo networkMulticast networkProtocolXmpp optparseApplicative QuickCheck random regexTdfa @@ -31,19 +32,13 @@ cabal.mkDerivation (self: { tastyQuickcheck tastyRerun text time transformers unixCompat utf8String uuid wai waiExtra warp warpTls xmlTypes yesod yesodCore yesodDefault yesodForm yesodStatic - ]; + ] ++ (if (!self.stdenv.isDarwin) then [ + dbus fdoNotify hinotify + ] else [ + fsnotify + ]); buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ]; - configureFlags = "-fS3 - -fWebDAV - -fInotify - -fDbus - -fAssistant - -fWebapp - -fPairing - -fXMPP - -fDNS - -fProduction - -fTDFA"; + configureFlags = "-fAssistant -fProduction"; preConfigure = '' export HOME="$NIX_BUILD_TOP/tmp" mkdir "$HOME" 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 ce1344906208..f95b5a493a65 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -82,10 +82,6 @@ stdenv.mkDerivation { # gitweb.cgi, need to patch so that it's found sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \ $out/share/gitweb/gitweb.cgi - - wrapProgram $out/bin/git \ - --set GIT_SSL_CAINFO "\$OPENSSL_X509_CERT_FILE" - '' + (if svnSupport then diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix index 6f2fe890cfa5..239fa87d32c5 100644 --- a/pkgs/applications/version-management/git-and-tools/tig/default.nix +++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45 }: +{ stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45 +, readline +}: stdenv.mkDerivation rec { name = "tig-2.0.2"; @@ -8,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r"; }; - buildInputs = [ ncurses asciidoc xmlto docbook_xsl ]; + buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline ]; preConfigure = '' export XML_CATALOG_FILES='${docbook_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml' diff --git a/pkgs/applications/version-management/gitolite/default.nix b/pkgs/applications/version-management/gitolite/default.nix new file mode 100644 index 000000000000..2dcb13e5db5e --- /dev/null +++ b/pkgs/applications/version-management/gitolite/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, perl, git, fetchgit }: + +stdenv.mkDerivation rec { + name = "gitolite-${version}"; + version = "3.6.1"; + + src = fetchgit { + url = "git://github.com/sitaramc/gitolite"; + rev = "refs/tags/v${version}"; + sha256 = "47e0e9c3137b05af96c091494ba918d61d1d3396749a04d63e7949ebcc6c6dca"; + leaveDotGit = true; + }; + + buildInputs = [ perl git ]; + buildPhase = "true"; + + patchPhase = '' + substituteInPlace ./install --replace " 2>/dev/null" "" + substituteInPlace src/lib/Gitolite/Hooks/PostUpdate.pm \ + --replace /usr/bin/perl "/usr/bin/env perl" + substituteInPlace src/lib/Gitolite/Hooks/Update.pm \ + --replace /usr/bin/perl "/usr/bin/env perl" + ''; + installPhase = '' + mkdir -p $out/bin + git tag v${version} # Gitolite requires a tag for the version information :/ + perl ./install -to $out/bin + ''; + + meta = { + description = "Finely-grained git repository hosting"; + homepage = "http://gitolite.com/gitolite/index.html"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/video/cinelerra/default.nix b/pkgs/applications/video/cinelerra/default.nix index 98ba7a8e137e..ce8bbde2ecd1 100644 --- a/pkgs/applications/video/cinelerra/default.nix +++ b/pkgs/applications/video/cinelerra/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation { ]; meta = { - description = "Cinelerra - Video Editor"; + description = "Video Editor"; homepage = http://www.cinelerra.org; maintainers = [ stdenv.lib.maintainers.marcweber ]; license = "GPLv2"; diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index ebdc7b143c37..17a287f8aae2 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "i3-${version}"; - version = "4.7.2"; + version = "4.8"; src = fetchurl { url = "http://i3wm.org/downloads/${name}.tar.bz2"; - sha256 = "14zkn5jgm0b7ablvxcxh9gdzq6mjdd6i1kl9dbmifl2a6rg5dr3g"; + sha256 = "0sqvd8yqf9vwqrrvbpbf8k93b3qfa3q9289m82xq15r31wlk8b2h"; }; buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index 3574f3b7539b..bd1d8b5c1af0 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -217,7 +217,9 @@ clone_user_rev() { fi;; esac - echo "git revision is $(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1)" + local full_revision=$(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1) + echo "git revision is $full_revision" + echo "git human-readable version is $(cd $dir && (git describe $full_revision 2> /dev/null || git describe --tags $full_revision 2> /dev/null || echo -- none --))" # Allow doing additional processing before .git removal eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK" diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index eb3b8a105cdb..8417499cd00d 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -373,4 +373,10 @@ rec { http://lib.stat.cmu.edu/ ]; + # Hackage mirrors + hackage = [ + http://hackage.haskell.org/package/ + http://hdiff.luite.com/packages/archive/package/ + ]; + } diff --git a/pkgs/build-support/fetchzip/nix-prefetch-zip b/pkgs/build-support/fetchzip/nix-prefetch-zip new file mode 100755 index 000000000000..76255ab36747 --- /dev/null +++ b/pkgs/build-support/fetchzip/nix-prefetch-zip @@ -0,0 +1,153 @@ +#! /bin/sh -e + +usage(){ + echo >&2 "syntax: nix-prefetch-zip [OPTIONS] [URL [EXPECTED-HASH]] + +Options: + --url url The url of the archive to fetch. + --name name The name to use for the store path (defaults to \`basename \$url\`). + --hash hash The hash of unpacked archive. + --hash-type type Use the specified cryptographic hash algorithm, which can be one of md5, sha1, and sha256. + --leave-root Keep the root directory of the archive. + --help Show this help text. +" + exit 1 +} + + +argi=0 +argfun="" +for arg; do + if test -z "$argfun"; then + case $arg in + --url) argfun=set_url;; + --name) argfun=set_name;; + --hash) argfun=set_expHash;; + --hash-type) argfun=set_hashType;; + --leave-root) leaveRoot=true;; + --help) usage;; + *) argi=$(($argi + 1)) + case $argi in + 1) url=$arg;; + 2) rev=$arg;; + 3) expHash=$arg;; + *) echo "Unexpected argument: $arg" >&2 + usage + ;; + esac + ;; + esac + else + case $argfun in + set_*) + var=$(echo $argfun | sed 's,^set_,,') + eval "$var=\$arg" + ;; + esac + argfun="" + fi +done + +if [ -z "$url" ]; then + echo "Error: No --url flag given" >&2 + usage +fi + +if [ -z "$name" ]; then + name=$(basename "$url") +fi + +if test -z "$hashType"; then + hashType=sha256 +fi + +hashFormat="--base32" + +tmp=$(mktemp -d 2>/dev/null || mktemp -d -t "$$") +trap "rm -rf '$tmp'" EXIT + +unpackDir=$tmp/unpacked/$name +mkdir -p $unpackDir +downloadedFile=$tmp/$name + +unpackFile() { + local curSrc="$1" + + case "$curSrc" in + *.tar.xz | *.tar.lzma) + # Don't rely on tar knowing about .xz. + xz -d < $curSrc | tar xf - + ;; + *.tar | *.tar.* | *.tgz | *.tbz2) + # GNU tar can automatically select the decompression method + # (info "(tar) gzip"). + tar xf $curSrc + ;; + *.zip) + unzip -qq $curSrc + ;; + *) + echo "source archive $curSrc has unknown type" >&2 + exit 1 + ;; + esac +} + +# If the hash was given, a file with that hash may already be in the +# store. +if test -n "$expHash"; then + finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" "$name") + if ! nix-store --check-validity "$finalPath" 2> /dev/null; then + finalPath= + fi + hash=$expHash +fi + +# If we don't know the hash or a path with that hash doesn't exist, +# download the file and add it to the store. +if test -z "$finalPath"; then + curl="curl \ + --location --max-redirs 20 \ + --disable-epsv \ + --insecure" + + if ! $curl --fail "$url" --output "$downloadedFile"; then + echo "error: could not download $url" >&2 + exit 1 + fi + + cd $unpackDir + unpackFile "$downloadedFile" + + # FIXME: handle zip files that contain a single regular file. + if [ -z "$leaveRoot" ]; then + shopt -s dotglob + if [ $(ls -d $unpackDir/* | wc -l) != 1 ]; then + echo "error: zip file must contain a single directory." + exit 1 + fi + fn=$(cd "$unpackDir" && echo *) + mv $unpackDir/$fn/* "$unpackDir/" + rmdir "$unpackDir/$fn" + fi + + # Compute the hash. + hash=$(nix-hash --type $hashType $hashFormat $unpackDir) + if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi + + # Add the downloaded file to the Nix store. + finalPath=$(nix-store --add-fixed --recursive "$hashType" $unpackDir) + + if test -n "$expHash" -a "$expHash" != "$hash"; then + echo "hash mismatch for URL \`$url'" + exit 1 + fi +fi + +if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi + +echo $hash + +if test -n "$PRINT_PATH"; then + echo $finalPath +fi diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix index a9c60a2afbd0..e66b348d082a 100644 --- a/pkgs/build-support/grsecurity/default.nix +++ b/pkgs/build-support/grsecurity/default.nix @@ -5,7 +5,6 @@ with lib; let cfg = { stable = grsecOptions.stable or false; - vserver = grsecOptions.vserver or false; testing = grsecOptions.testing or false; config = { mode = "auto"; @@ -29,12 +28,11 @@ let }; test-patch = with pkgs.kernelPatches; grsecurity_unstable; - stable-patch = with pkgs.kernelPatches; - if cfg.vserver then grsecurity_vserver else grsecurity_stable; + stable-patch = with pkgs.kernelPatches; grsecurity_stable; - grKernel = if (cfg.stable || cfg.vserver) - then mkKernel pkgs.linux_3_2 stable-patch - else mkKernel pkgs.linux_3_14 test-patch; + grKernel = if cfg.stable + then mkKernel pkgs.linux_3_14 stable-patch + else mkKernel pkgs.linux_3_15 test-patch; ## -- grsecurity configuration --------------------------------------------- diff --git a/pkgs/build-support/grsecurity/flavors.nix b/pkgs/build-support/grsecurity/flavors.nix index 57d52e7cf943..969ca579f5a6 100644 --- a/pkgs/build-support/grsecurity/flavors.nix +++ b/pkgs/build-support/grsecurity/flavors.nix @@ -16,12 +16,6 @@ in linux_grsec_stable_server_xen = mkOpts "stable" "security" "server" "guest" "xen" true; - # Stable+vserver kernels - server versions only - linux_grsec_vserver_server = - mkOpts "vserver" "security" "server" "host" "kvm" true; - linux_grsec_vserver_server_xen = - mkOpts "vserver" "security" "server" "guest" "xen" true; - # Testing kernels linux_grsec_testing_desktop = mkOpts "testing" "performance" "desktop" "host" "kvm" true; @@ -29,4 +23,4 @@ in mkOpts "testing" "security" "server" "host" "kvm" true; linux_grsec_testing_server_xen = mkOpts "testing" "security" "server" "guest" "xen" true; -} \ No newline at end of file +} diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix index 2535398380b6..edcd868b2f31 100644 --- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurlGnome, pkgconfig, glib, popt, zlib, libcanberra -, intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool}: +, intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool, libogg +}: stdenv.mkDerivation rec { name = src.pkgname; @@ -14,5 +15,5 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ]; - propagatedBuildInputs = [ glib libbonobo ]; + propagatedBuildInputs = [ glib libbonobo libogg ]; } diff --git a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix index 3df5ab40eaf8..5e53a7e86cbb 100644 --- a/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11 +{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11 , gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }: stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl"; }; - buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice + buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix index 1222f03d66e3..4e472514348c 100644 --- a/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper -, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig +, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig , gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk , cracklib, python, krb5, networkmanagerapplet, networkmanager @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality - accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile + accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile shared_mime_info icu libtool docbook_xsl docbook_xsl_ns networkmanager modemmanager makeWrapper ]; diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix index 554b09a1e592..d468e06d429f 100644 --- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix @@ -2,7 +2,7 @@ , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper -, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }: +, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }: # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { }; buildInputs = with gnome3; - [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountservice + [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-shell" \ --prefix PATH : "${unzip}/bin" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \ + --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" diff --git a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix index e5f6a0aa9b8b..1875c1491f96 100644 --- a/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix @@ -13,6 +13,6 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libxml2 glib ]; meta = with stdenv.lib; { - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix index 070f39199d79..4e9acc822e74 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11 +{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11 , gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, dconf }: stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "cc91fff5afd2a7c3e712c960a0b60744774167dcfc16f486372e1eb3c0aa1cc4"; }; - buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice dconf + buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice dconf gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix index eb2324c9c0f2..0aed2e7a410a 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper -, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig +, libcanberra, accountsservice, libpwquality, pulseaudio, fontconfig , gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify , libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk , cracklib, python, krb5, networkmanagerapplet, networkmanager @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality - accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile + accountsservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile shared_mime_info icu libtool docbook_xsl docbook_xsl_ns gnome3.grilo gdk_pixbuf gnome3.gnome_icon_theme librsvg clutter clutter_gtk hicolor_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.vino diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix index 49154aa92218..49514b3dbe44 100644 --- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix @@ -2,7 +2,7 @@ , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper -, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }: +, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }: # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { }; buildInputs = with gnome3; - [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountservice + [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-shell" \ --prefix PATH : "${unzip}/bin" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \ + --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" diff --git a/pkgs/development/compilers/aliceml/default.nix b/pkgs/development/compilers/aliceml/default.nix index 5ea470bfc870..29e95863921c 100644 --- a/pkgs/development/compilers/aliceml/default.nix +++ b/pkgs/development/compilers/aliceml/default.nix @@ -63,8 +63,13 @@ stdenv.mkDerivation { builder = ./builder.sh; meta = { + description = "Functional programming language based on Standard ML"; + longDescription = '' + Alice ML is a functional programming language based on Standard ML, + extended with rich support for concurrent, distributed, and constraint + programming. + ''; homepage = http://www.ps.uni-saarland.de/alice/; - description = "Alice ML is a functional programming language based on Standard ML, extended with rich support for concurrent, distributed, and constraint programming."; license = "BSD"; }; } diff --git a/pkgs/development/compilers/gcc/4.2-apple64/default.nix b/pkgs/development/compilers/gcc/4.2-apple64/default.nix index 011086164adf..229f68fd8411 100644 --- a/pkgs/development/compilers/gcc/4.2-apple64/default.nix +++ b/pkgs/development/compilers/gcc/4.2-apple64/default.nix @@ -12,7 +12,7 @@ let revision = "5666.3"; # Apple's fork revision number. in -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "gcc-apple-${version}.${revision}"; builder = ./builder.sh; @@ -33,8 +33,10 @@ stdenv.mkDerivation { sourceRoot = "gcc-${revision}/"; + # The floor_log2_patch is from a Gentoo fix for the same issue: + # https://bugs.gentoo.org/attachment.cgi?id=363174&action=diff patches = - [ ./pass-cxxcpp.patch ] + [ ./pass-cxxcpp.patch ./floor_log2_patch.diff ] ++ stdenv.lib.optional noSysDirs ./no-sys-dirs.patch ++ stdenv.lib.optional langCC ./fix-libstdc++-link.patch; diff --git a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch b/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch index e7b8a55a29af..5a417f8151b5 100644 --- a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch +++ b/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch @@ -3,6 +3,9 @@ Prevent our libstdc++.dylib from having a runtime dependency on passed by g++ when it links libstdc++.dylib. Adding "-nostdlib" to the g++ invocation prevents this. +jww (2014-06-21): I've added several more patches to this, for building on +Mavericks. + diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-39/libstdcxx/libstdc++-v3/src/Makefile.in --- x/libstdcxx/libstdc++-v3/src/Makefile.in 2006-10-16 21:08:22.000000000 +0200 +++ y/libstdcxx/libstdc++-v3/src/Makefile.in 2012-02-17 18:44:05.210570590 +0100 @@ -15,3 +18,54 @@ diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstd # Use special rules for the deprecated source files so that they find +--- x/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h ++++ y/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h +@@ -38,7 +38,7 @@ + #include + #include + #include +-#include "unwind.h" ++#include "unwind-generic.h" + + #pragma GCC visibility push(default) + +@@ -133,7 +133,7 @@ extern "C" void __cxa_bad_typeid (); + // throws, and if bad_exception needs to be thrown. Called from the + // compiler. + extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn)); +-extern "C" void __cxa_call_terminate (void*) __attribute__((noreturn)); ++extern "C" void __cxa_call_terminate(_Unwind_Exception* ue_header); + + #ifdef __ARM_EABI_UNWINDER__ + // Arm EABI specified routines. +--- x/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h ++++ y/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h +@@ -549,6 +549,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + */ + class free_list + { ++ public: + typedef size_t* value_type; + typedef __detail::__mini_vector vector_type; + typedef vector_type::iterator iterator; +--- x/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h ++++ y/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h +@@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + { + size_t __old_len = __r->_M_size; + _CharT* __new_data = (_CharT*) +- _Data_allocate(_S_rounded_up_size(__old_len + __len)); ++ _Base::_Data_allocate(_S_rounded_up_size(__old_len + __len)); + _RopeLeaf* __result; + + uninitialized_copy_n(__r->_M_data, __old_len, __new_data); +@@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + if (__result_len > __lazy_threshold) + goto lazy; + __section = (_CharT*) +- _Data_allocate(_S_rounded_up_size(__result_len)); ++ _Base::_Data_allocate(_S_rounded_up_size(__result_len)); + try + { (*(__f->_M_fn))(__start, __result_len, __section); } + catch(...) + diff --git a/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff b/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff new file mode 100644 index 000000000000..f37e6c4990e2 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff @@ -0,0 +1,62 @@ +--- gcc-5666.3/gcc/toplev.h ++++ gcc-5666.3/gcc/toplev.h +@@ -151,6 +151,8 @@ + /* Return true iff flags are set as if -ffast-math. */ + extern bool fast_math_flags_set_p (void); + ++#if GCC_VERSION < 3004 ++ + /* Return log2, or -1 if not exact. */ + extern int exact_log2 (unsigned HOST_WIDE_INT); + +@@ -158,7 +160,7 @@ + extern int floor_log2 (unsigned HOST_WIDE_INT); + + /* Inline versions of the above for speed. */ +-#if GCC_VERSION >= 3004 ++#else /* GCC_VERSION < 3004 */ + # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG + # define CLZ_HWI __builtin_clzl + # define CTZ_HWI __builtin_ctzl +@@ -172,18 +172,18 @@ + # define CTZ_HWI __builtin_ctz + # endif + +-extern inline int ++static inline int + floor_log2 (unsigned HOST_WIDE_INT x) + { + return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1; + } + +-extern inline int ++static inline int + exact_log2 (unsigned HOST_WIDE_INT x) + { + return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1; + } +-#endif /* GCC_VERSION >= 3004 */ ++#endif /* GCC_VERSION < 3004 */ + + /* Functions used to get and set GCC's notion of in what directory + compilation was started. */ +--- gcc-5666.3/gcc/toplev.c ++++ gcc-5666.3/gcc/toplev.c +@@ -555,7 +555,7 @@ + for floor_log2 and exact_log2; see toplev.h. That construct, however, + conflicts with the ISO C++ One Definition Rule. */ + +-#if GCC_VERSION < 3004 || !defined (__cplusplus) ++#if GCC_VERSION < 3004 + + /* Given X, an unsigned number, return the largest int Y such that 2**Y <= X. + If X is 0, return -1. */ +@@ -607,7 +607,7 @@ + #endif + } + +-#endif /* GCC_VERSION < 3004 || !defined (__cplusplus) */ ++#endif /* GCC_VERSION < 3004 */ + + /* Handler for fatal signals, such as SIGSEGV. These are transformed + into ICE messages, which is much more user friendly. In case the diff --git a/pkgs/development/compilers/go/1.3.nix b/pkgs/development/compilers/go/1.3.nix new file mode 100644 index 000000000000..b9178d5e61c1 --- /dev/null +++ b/pkgs/development/compilers/go/1.3.nix @@ -0,0 +1,94 @@ +{ stdenv, lib, fetchurl, bison, glibc, bash, coreutils, makeWrapper, tzdata, iana_etc }: + +let + loader386 = "${glibc}/lib/ld-linux.so.2"; + loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2"; + loaderArm = "${glibc}/lib/ld-linux.so.3"; +in + +stdenv.mkDerivation { + name = "go-1.3"; + + src = fetchurl { + url = https://storage.googleapis.com/golang/go1.3.src.tar.gz; + sha256 = "10jkqgzlinzynciw3wr15c7n2vw5q4d2ni65hbs3i61bbdn3x67b"; + }; + + buildInputs = [ bison bash makeWrapper ] ++ lib.optionals stdenv.isLinux [ glibc ] ; + + # I'm not sure what go wants from its 'src', but the go installation manual + # describes an installation keeping the src. + preUnpack = '' + mkdir -p $out/share + cd $out/share + ''; + + prePatch = '' + # Ensure that the source directory is named go + cd .. + if [ ! -d go ]; then + mv * go + fi + cd go + patchShebangs ./ # replace /bin/bash + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go} + # !!! substituteInPlace does not seems to be effective. + # The os test wants to read files in an existing path. Just don't let it be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go + # Disable the unix socket test + sed -i '/TestShutdownUnix/areturn' src/pkg/net/net_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/pkg/os/os_test.go + sed -i 's,/etc/protocols,${iana_etc}/etc/protocols,' src/pkg/net/lookup_unix.go + '' + lib.optionalString stdenv.isLinux '' + sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go + sed -i 's,/lib/ld-linux.so.3,${loaderArm},' src/cmd/5l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c + sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c + ''; + + patches = [ ./cacert-1.2.patch ]; + + GOOS = if stdenv.isDarwin then "darwin" else "linux"; + GOARCH = if stdenv.isDarwin then "amd64" + else if stdenv.system == "i686-linux" then "386" + else if stdenv.system == "x86_64-linux" then "amd64" + else if stdenv.system == "armv5tel-linux" then "arm" + else throw "Unsupported system"; + GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + GO386 = 387; # from Arch: don't assume sse2 on i686 + CGO_ENABLED = 1; + + installPhase = '' + export CC=cc + + # http://lists.science.uu.nl/pipermail/nix-dev/2013-October/011891.html + # Fix for "libgcc_s.so.1 must be installed for pthread_cancel to work" + # during tests: + export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib*/libgcc_s.so))" + + mkdir -p "$out/bin" + export GOROOT="$(pwd)/" + export GOBIN="$out/bin" + export PATH="$GOBIN:$PATH" + cd ./src + ./all.bash + cd - + + # Copy the emacs configuration for Go files. + mkdir -p "$out/share/emacs/site-lisp" + cp ./misc/emacs/* $out/share/emacs/site-lisp/ + ''; + + meta = { + homepage = http://golang.org/; + description = "The Go Programming language"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [ cstrahan ]; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; +} diff --git a/pkgs/development/compilers/go/gox.nix b/pkgs/development/compilers/go/gox.nix new file mode 100644 index 000000000000..705cb6e5c28f --- /dev/null +++ b/pkgs/development/compilers/go/gox.nix @@ -0,0 +1,54 @@ +{ stdenv, lib, go, fetchFromGitHub }: + +let + goDeps = [ + { + root = "github.com/mitchellh/gox"; + src = fetchFromGitHub { + owner = "mitchellh"; + repo = "gox"; + rev = "c7329055e2aeb253a947e5cc876586ff4ca19199"; + sha256 = "0zhb88jjxqn3sdc4bpzvajqvgi9igp5gk03q12gaksaxhy2wl4jy"; + }; + } + { + root = "github.com/mitchellh/iochan"; + src = fetchFromGitHub { + owner = "mitchellh"; + repo = "iochan"; + rev = "b584a329b193e206025682ae6c10cdbe03b0cd77"; + sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b"; + }; + } + ]; + sources = stdenv.mkDerivation rec { + name = "go-deps"; + buildCommand = + lib.concatStrings + (map (dep: '' + mkdir -p $out/src/`dirname ${dep.root}` + ln -s ${dep.src} $out/src/${dep.root} + '') goDeps); + }; +in + +stdenv.mkDerivation rec { + name = "gox"; + + src = sources; + + propagatedBuildInputs = [ go ]; + + installPhase = '' + ensureDir $out/bin + export GOPATH=$src + go build -v -o $out/bin/gox github.com/mitchellh/gox + ''; + + meta = with lib; { + description = "A simple, no-frills tool for Go cross compilation that behaves a lot like standard go build"; + homepage = https://github.com/mitchellh/gox; + maintainers = with maintainers; [ cstrahan ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/development/compilers/sbcl/bootstrap.nix new file mode 100644 index 000000000000..c3335ea6d22b --- /dev/null +++ b/pkgs/development/compilers/sbcl/bootstrap.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "sbcl-bootstrap-${version}"; + version = "1.1.8"; + + src = if stdenv.isDarwin + then fetchurl { + url = mirror://sourceforge/project/sbcl/sbcl/1.1.8/sbcl-1.1.8-x86-64-darwin-binary.tar.bz2; + sha256 = "006pr88053wclvbjfjdypnbiw8wymbzdzi7a6kbkpdfn4zf5943j"; + } + else fetchurl { + url = mirror://sourceforge/project/sbcl/sbcl/1.1.8/sbcl-1.1.8-x86-64-linux-binary.tar.bz2; + sha256 = "0lh1jglxlfwk4cm6sgwk1jnb6ikhbrkx7p5aha2nbmkd6zl96prx"; + }; + + installPhase = '' + ensureDir $out/bin + cp -p src/runtime/sbcl $out/bin + ensureDir $out/share/sbcl + cp -p output/sbcl.core $out/share/sbcl + ''; + + meta = { + description = "Lisp compiler"; + homepage = "http://www.sbcl.org"; + license = "bsd"; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index e1de4c53de50..579d5ec11eb9 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -1,36 +1,18 @@ -a : -let - fetchurl = a.fetchurl; - s= # Generated upstream information - rec { - baseName="sbcl"; - version="1.2.0"; - name="${baseName}-${version}"; - hash="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2"; - url="mirror://sourceforge/project/sbcl/sbcl/1.2.0/sbcl-1.2.0-source.tar.bz2"; - sha256="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2"; +{ stdenv, fetchurl, sbclBootstrap, clisp}: + +stdenv.mkDerivation rec { + name = "sbcl-${version}"; + version = "1.2.0"; + + src = fetchurl { + url = mirror://sourceforge/project/sbcl/sbcl/1.2.0/sbcl-1.2.0-source.tar.bz2; + sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2"; }; - buildInputs = with a; [ - clisp makeWrapper - ]; -in -rec { - src = a.fetchUrlFromSrcInfo s; - inherit buildInputs; - configureFlags = []; + buildInputs = [ sbclBootstrap ] ++ stdenv.lib.optional stdenv.isLinux clisp; - /* doConfigure should be removed if not needed */ - phaseNames = ["setVars" "doFixNewer" "doFixTests" "setVersion" "doPatch" "doBuild" "doInstall" "doWrap"]; - - setVars = a.fullDepEntry ('' - export INSTALL_ROOT=$out - mkdir test-home - export HOME=$PWD/test-home - '') ["minInit"]; - - setVersion = a.fullDepEntry ('' - echo '"${s.version}.nixos"' > version.lisp-expr + patchPhase = '' + echo '"${version}.nixos"' > version.lisp-expr echo " (lambda (features) (flet ((enable (x) @@ -38,14 +20,11 @@ rec { (disable (x) (setf features (remove x features)))) (enable :sb-thread))) " > customize-target-features.lisp - '') ["minInit" "doUnpack"]; - /* SBCL checks whether files are up-to-date in many places.. Unfortunately, same timestamp - is not good enought - */ - doFixNewer = a.fullDepEntry('' pwd + # SBCL checks whether files are up-to-date in many places.. + # Unfortunately, same timestamp is not good enough sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp sed -i src/cold/slam.lisp -e \ @@ -56,13 +35,8 @@ rec { '/date defaulted-fasl/a)' sed -i src/code/target-load.lisp -e \ '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))' - '') ["minInit" "doUnpack"]; - doWrap = a.fullDepEntry ('' - wrapProgram "$out/bin/sbcl" --set "SBCL_HOME" "$out/lib/sbcl" - '') ["minInit" "addInputs"]; - - doFixTests = a.fullDepEntry ('' + # Fix the tests sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp @@ -70,24 +44,31 @@ rec { sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp - '') ["minInit" "doUnpack"]; + ''; - doBuild = a.fullDepEntry ('' - sh make.sh clisp - '') ["minInit" "doUnpack" "addInputs"]; + preBuild = '' + export INSTALL_ROOT=$out + ensureDir test-home + export HOME=$PWD/test-home + ''; - doInstall = a.fullDepEntry ('' - sh install.sh - '') ["doBuild" "minInit" "addInputs"]; + buildPhase = if stdenv.isLinux + then '' + sh make.sh clisp --prefix=$out + '' + else '' + sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --core ${sbclBootstrap}/share/sbcl/sbcl.core --disable-debugger --no-userinit --no-sysinit' + ''; + + installPhase = '' + INSTALL_ROOT=$out sh install.sh + ''; - inherit(s) name; - inherit(s) version; meta = { description = "Lisp compiler"; - homepage = "http://www.sbcl.org"; - license = "bsd"; - maintainers = [a.lib.maintainers.raskin]; - platforms = with a.lib.platforms; all; - inherit(s) version; + homepage = http://www.sbcl.org; + license = stdenv.lib.licenses.bsd3; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/interpreters/perl/5.20/cpp-precomp.patch b/pkgs/development/interpreters/perl/5.20/cpp-precomp.patch new file mode 100644 index 000000000000..231853fe51a6 --- /dev/null +++ b/pkgs/development/interpreters/perl/5.20/cpp-precomp.patch @@ -0,0 +1,11 @@ +--- a/hints/darwin.sh 2013-05-08 11:13:45.000000000 -0600 ++++ b/hints/darwin.sh 2013-05-08 11:15:04.000000000 -0600 +@@ -129,7 +129,7 @@ + + # Avoid Apple's cpp precompiler, better for extensions + if [ "X`echo | ${cc} -no-cpp-precomp -E - 2>&1 >/dev/null`" = "X" ]; then +- cppflags="${cppflags} -no-cpp-precomp" ++ #cppflags="${cppflags} -no-cpp-precomp" + + # This is necessary because perl's build system doesn't + # apply cppflags to cc compile lines as it should. diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix new file mode 100644 index 000000000000..d9fb32aa43ea --- /dev/null +++ b/pkgs/development/interpreters/perl/5.20/default.nix @@ -0,0 +1,68 @@ +{ stdenv, fetchurl }: + +let + + libc = if stdenv.gcc.libc or null != null then stdenv.gcc.libc else "/usr"; + +in + +with { + inherit (stdenv.lib) optional optionalString; +}; + +stdenv.mkDerivation rec { + name = "perl-5.20.0"; + + src = fetchurl { + url = "mirror://cpan/src/${name}.tar.gz"; + sha256 = "00ndpgw4bjing9gy2y6jvs3q46mv2ll6zrxjkhpr12fcdsnji32f"; + }; + + patches = + [ # Do not look in /usr etc. for dependencies. + ./no-sys-dirs.patch + ] + ++ optional stdenv.isSunOS ./ld-shared.patch + ++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ; + + # Build a thread-safe Perl with a dynamic libperls.o. We need the + # "installstyle" option to ensure that modules are put under + # $out/lib/perl5 - this is the general default, but because $out + # contains the string "perl", Configure would select $out/lib. + # Miniperl needs -lm. perl needs -lrt. + configureFlags = + [ "-de" + "-Dcc=gcc" + "-Uinstallusrbinperl" + "-Dinstallstyle=lib/perl5" + "-Duseshrplib" + "-Dlocincpth=${libc}/include" + "-Dloclibpth=${libc}/lib" + ] + ++ optional (stdenv ? glibc) "-Dusethreads"; + + configureScript = "${stdenv.shell} ./Configure"; + + dontAddPrefix = true; + + enableParallelBuilding = true; + + preConfigure = + '' + configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" + + ${optionalString stdenv.isArm '' + configureFlagsArray=(-Dldflags="-lm -lrt") + ''} + ''; + + preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools)) + '' + # Make Cwd work on NixOS (where we don't have a /bin/pwd). + substituteInPlace dist/PathTools/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" + ''; + + setupHook = ./setup-hook.sh; + + passthru.libPrefix = "lib/perl5/site_perl"; +} diff --git a/pkgs/development/interpreters/perl/5.20/ld-shared.patch b/pkgs/development/interpreters/perl/5.20/ld-shared.patch new file mode 100644 index 000000000000..be45230c8a73 --- /dev/null +++ b/pkgs/development/interpreters/perl/5.20/ld-shared.patch @@ -0,0 +1,11 @@ +--- perl-5.16.2/hints/solaris_2.sh.orig 2013-02-14 19:29:49.453988140 +0000 ++++ perl-5.16.2/hints/solaris_2.sh 2013-02-14 19:30:31.681631019 +0000 +@@ -568,7 +568,7 @@ + # ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" + # fi + ldflags="$ldflags -m64" +- lddlflags="$lddlflags -G -m64" ++ lddlflags="$lddlflags -shared -m64" + ;; + *) + getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" diff --git a/pkgs/development/interpreters/perl/5.20/no-libutil.patch b/pkgs/development/interpreters/perl/5.20/no-libutil.patch new file mode 100644 index 000000000000..68d44612bfe6 --- /dev/null +++ b/pkgs/development/interpreters/perl/5.20/no-libutil.patch @@ -0,0 +1,12 @@ +diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure +--- perl-5.14.2-orig/Configure 2011-09-26 11:44:34.000000000 +0200 ++++ perl-5.14.2/Configure 2012-02-16 17:24:50.779839039 +0100 +@@ -1368,7 +1368,7 @@ + : List of libraries we want. + : If anyone needs extra -lxxx, put those in a hint file. + libswanted="socket bind inet nsl nm ndbm gdbm dbm db malloc dl ld sun" +-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" ++libswanted="$libswanted m crypt sec c cposix posix ucb bsd BSD" + : We probably want to search /usr/shlib before most other libraries. + : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. + glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` diff --git a/pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch b/pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch new file mode 100644 index 000000000000..1793273a76f9 --- /dev/null +++ b/pkgs/development/interpreters/perl/5.20/no-sys-dirs.patch @@ -0,0 +1,250 @@ +diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure +--- perl-5.20.0-orig/Configure 2014-05-26 15:34:18.000000000 +0200 ++++ perl-5.20.0/Configure 2014-06-25 10:43:35.368285986 +0200 +@@ -106,15 +106,7 @@ + fi + + : Proper PATH setting +-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' +-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" +-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" +-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" +-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" +-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" +-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" +-paths="$paths /sbin /usr/sbin /usr/libexec" +-paths="$paths /system/gnu_library/bin" ++paths='' + + for p in $paths + do +@@ -1337,8 +1329,7 @@ + archname='' + : Possible local include directories to search. + : Set locincpth to "" in a hint file to defeat local include searches. +-locincpth="/usr/local/include /opt/local/include /usr/gnu/include" +-locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" ++locincpth="" + : + : no include file wanted by default + inclwanted='' +@@ -1349,17 +1340,12 @@ + + libnames='' + : change the next line if compiling for Xenix/286 on Xenix/386 +-xlibpth='/usr/lib/386 /lib/386' ++xlibpth='' + : Possible local library directories to search. +-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" +-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" ++loclibpth="" + + : general looking path for locating libraries +-glibpth="/lib /usr/lib $xlibpth" +-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" +-test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" +-test -f /shlib/libc.so && glibpth="/shlib $glibpth" +-test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64" ++glibpth="" + + : Private path used by Configure to find libraries. Its value + : is prepended to libpth. This variable takes care of special +@@ -1391,8 +1377,6 @@ + libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" + : We probably want to search /usr/shlib before most other libraries. + : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. +-glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` +-glibpth="/usr/shlib $glibpth" + : Do not use vfork unless overridden by a hint file. + usevfork=false + +@@ -2446,7 +2430,6 @@ + zip + " + pth=`echo $PATH | sed -e "s/$p_/ /g"` +-pth="$pth $sysroot/lib $sysroot/usr/lib" + for file in $loclist; do + eval xxx=\$$file + case "$xxx" in +@@ -4936,7 +4919,7 @@ + : Set private lib path + case "$plibpth" in + '') if ./mips; then +- plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib" ++ plibpth="$incpath/usr/lib" + fi;; + esac + case "$libpth" in +@@ -8600,13 +8583,8 @@ + echo " " + case "$sysman" in + '') +- syspath='/usr/share/man/man1 /usr/man/man1' +- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1" +- syspath="$syspath /usr/man/u_man/man1" +- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" +- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" +- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" +- sysman=`./loc . /usr/man/man1 $syspath` ++ syspath='' ++ sysman='' + ;; + esac + if $test -d "$sysman"; then +@@ -19900,9 +19878,10 @@ + case "$full_ar" in + '') full_ar=$ar ;; + esac ++full_ar=ar + + : Store the full pathname to the sed program for use in the C program +-full_sed=$sed ++full_sed=sed + + : see what type gids are declared as in the kernel + echo " " +Only in perl-5.20.0/: Configure.orig +diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL +--- perl-5.20.0-orig/ext/Errno/Errno_pm.PL 2014-05-26 15:34:20.000000000 +0200 ++++ perl-5.20.0/ext/Errno/Errno_pm.PL 2014-06-25 10:31:24.317970047 +0200 +@@ -126,11 +126,7 @@ + if ($dep =~ /(\S+errno\.h)/) { + $file{$1} = 1; + } +- } elsif ($^O eq 'linux' && +- $Config{gccversion} ne '' && +- $Config{gccversion} !~ /intel/i +- # might be using, say, Intel's icc +- ) { ++ } elsif (0) { + # When cross-compiling we may store a path for gcc's "sysroot" option: + my $sysroot = $Config{sysroot} || ''; + # Some Linuxes have weird errno.hs which generate +Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig +diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh +--- perl-5.20.0-orig/hints/freebsd.sh 2014-01-31 22:55:51.000000000 +0100 ++++ perl-5.20.0/hints/freebsd.sh 2014-06-25 10:25:53.263964680 +0200 +@@ -119,21 +119,21 @@ + objformat=`/usr/bin/objformat` + if [ x$objformat = xaout ]; then + if [ -e /usr/lib/aout ]; then +- libpth="/usr/lib/aout /usr/local/lib /usr/lib" +- glibpth="/usr/lib/aout /usr/local/lib /usr/lib" ++ libpth="" ++ glibpth="" + fi + lddlflags='-Bshareable' + else +- libpth="/usr/lib /usr/local/lib" +- glibpth="/usr/lib /usr/local/lib" ++ libpth="" ++ glibpth="" + ldflags="-Wl,-E " + lddlflags="-shared " + fi + cccdlflags='-DPIC -fPIC' + ;; + *) +- libpth="/usr/lib /usr/local/lib" +- glibpth="/usr/lib /usr/local/lib" ++ libpth="" ++ glibpth="" + ldflags="-Wl,-E " + lddlflags="-shared " + cccdlflags='-DPIC -fPIC' +diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh +--- perl-5.20.0-orig/hints/linux.sh 2014-05-26 15:34:20.000000000 +0200 ++++ perl-5.20.0/hints/linux.sh 2014-06-25 10:33:47.354883843 +0200 +@@ -150,25 +150,6 @@ + ;; + esac + +-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries +-# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us +-# where to look. We don't want gcc's own libraries, however, so we +-# filter those out. +-# This could be conditional on Unbuntu, but other distributions may +-# follow suit, and this scheme seems to work even on rather old gcc's. +-# This unconditionally uses gcc because even if the user is using another +-# compiler, we still need to find the math library and friends, and I don't +-# know how other compilers will cope with that situation. +-# Morever, if the user has their own gcc earlier in $PATH than the system gcc, +-# we don't want its libraries. So we try to prefer the system gcc +-# Still, as an escape hatch, allow Configure command line overrides to +-# plibpth to bypass this check. +-if [ -x /usr/bin/gcc ] ; then +- gcc=/usr/bin/gcc +-else +- gcc=gcc +-fi +- + case "$plibpth" in + '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | + cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` +@@ -178,32 +159,6 @@ + ;; + esac + +-case "$libc" in +-'') +-# If you have glibc, then report the version for ./myconfig bug reporting. +-# (Configure doesn't need to know the specific version since it just uses +-# gcc to load the library for all tests.) +-# We don't use __GLIBC__ and __GLIBC_MINOR__ because they +-# are insufficiently precise to distinguish things like +-# libc-2.0.6 and libc-2.0.7. +- for p in $plibpth +- do +- for trylib in libc.so.6 libc.so +- do +- if $test -e $p/$trylib; then +- libc=`ls -l $p/$trylib | awk '{print $NF}'` +- if $test "X$libc" != X; then +- break +- fi +- fi +- done +- if $test "X$libc" != X; then +- break +- fi +- done +- ;; +-esac +- + # Are we using ELF? Thanks to Kenneth Albanowski + # for this test. + cat >try.c <<'EOM' +@@ -367,33 +322,6 @@ + ;; + esac + +-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than +-# true libraries. The scripts cause binding against static +-# version of -lgdbm which is a bad idea. So if we have 'nm' +-# make sure it can read the file +-# NI-S 2003/08/07 +-case "$nm" in +- '') ;; +- *) +- for p in $plibpth +- do +- if $test -r $p/libndbm.so; then +- if $nm $p/libndbm.so >/dev/null 2>&1 ; then +- echo 'Your shared -lndbm seems to be a real library.' +- _libndbm_real=1 +- break +- fi +- fi +- done +- if $test "X$_libndbm_real" = X; then +- echo 'Your shared -lndbm is not a real library.' +- set `echo X "$libswanted "| sed -e 's/ ndbm / /'` +- shift +- libswanted="$*" +- fi +- ;; +-esac +- + # Linux on Synology. + if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then + # Tested on Synology DS213 and DS413 diff --git a/pkgs/development/interpreters/perl/5.20/setup-hook.sh b/pkgs/development/interpreters/perl/5.20/setup-hook.sh new file mode 100644 index 000000000000..6a144a7f7804 --- /dev/null +++ b/pkgs/development/interpreters/perl/5.20/setup-hook.sh @@ -0,0 +1,5 @@ +addPerlLibPath () { + addToSearchPath PERL5LIB $1/lib/perl5/site_perl +} + +envHooks=(${envHooks[@]} addPerlLibPath) diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix index 95120a4d9a20..867821170974 100644 --- a/pkgs/development/interpreters/php/5.3.nix +++ b/pkgs/development/interpreters/php/5.3.nix @@ -228,7 +228,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) '' ); src = fetchurl { - url = "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror"; + url = "http://www.php.net/distributions/php-${version}.tar.bz2"; sha256 = "04w53nn6qacpkd1x381mzd41kqh6k8kjnbyg44yvnkqwcl69db0c"; name = "php-${version}.tar.bz2"; }; diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix index 99f18c175c3f..b692e4d8a991 100644 --- a/pkgs/development/interpreters/php/5.4.nix +++ b/pkgs/development/interpreters/php/5.4.nix @@ -9,7 +9,7 @@ in composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { - version = "5.4.27"; + version = "5.4.29"; name = "php-${version}"; @@ -171,7 +171,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) configureFlags = ["--enable-fpm"]; }; - mssql = { + mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) { configureFlags = ["--with-mssql=${freetds}"]; buildInputs = [freetds]; }; @@ -218,7 +218,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) zipSupport = config.php.zip or true; ftpSupport = config.php.ftp or true; fpmSupport = config.php.fpm or true; - mssqlSupport = config.php.mssql or true; + mssqlSupport = config.php.mssql or (!stdenv.isDarwin); }; configurePhase = '' @@ -242,12 +242,8 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) ''; src = fetchurl { - urls = [ - "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror" - "http://se1.php.net/get/php-${version}.tar.bz2/from/this/mirror" - ]; - md5 = "1c6e99187d25023411b663ea09f145ee"; - name = "php-${version}.tar.bz2"; + url = "http://www.php.net/distributions/php-${version}.tar.bz2"; + sha256 = "19z2n6h1fvj30n6hl2mwhw2f4i1vwhbj3j7abq3gc16gcfh3rkk2"; }; meta = { diff --git a/pkgs/development/libraries/accountservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix similarity index 90% rename from pkgs/development/libraries/accountservice/default.nix rename to pkgs/development/libraries/accountsservice/default.nix index 0ff5466e5c4f..6609da5ac822 100644 --- a/pkgs/development/libraries/accountservice/default.nix +++ b/pkgs/development/libraries/accountsservice/default.nix @@ -24,4 +24,7 @@ stdenv.mkDerivation rec { --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/icons" ''; + meta = { + description = "D-Bus interface for user account query and manipulation"; + }; } diff --git a/pkgs/development/libraries/accountservice/no-create-dirs.patch b/pkgs/development/libraries/accountsservice/no-create-dirs.patch similarity index 100% rename from pkgs/development/libraries/accountservice/no-create-dirs.patch rename to pkgs/development/libraries/accountsservice/no-create-dirs.patch diff --git a/pkgs/development/libraries/axis/default.nix b/pkgs/development/libraries/axis/default.nix index f2c466009d45..62ae463b5fc8 100644 --- a/pkgs/development/libraries/axis/default.nix +++ b/pkgs/development/libraries/axis/default.nix @@ -1,12 +1,16 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "axis-1.3"; - directory = "axis-1_3"; - builder = ./builder.sh; - src = fetchurl { - url = "http://apache.cs.uu.nl/dist/ws/axis/1_3/axis-bin-1_3.tar.gz"; - md5 = "dd8203f08c37872f4fd2bfb45c4bfe04"; - }; - inherit stdenv; + name = "axis-1.3"; + directory = "axis-1_3"; + builder = ./builder.sh; + src = fetchurl { + url = "http://archive.apache.org/dist/ws/axis/1_3/axis-bin-1_3.tar.gz"; + md5 = "dd8203f08c37872f4fd2bfb45c4bfe04"; + }; + inherit stdenv; + + meta = { + description = "Implementation of the SOAP (Simple Object Access Protocol) submission to W3C"; + }; } diff --git a/pkgs/development/libraries/clearsilver/default.nix b/pkgs/development/libraries/clearsilver/default.nix index fb3a7d92c8e5..4095c1ae2f4b 100644 --- a/pkgs/development/libraries/clearsilver/default.nix +++ b/pkgs/development/libraries/clearsilver/default.nix @@ -1,12 +1,19 @@ -{stdenv, fetchurl, python}: +{ stdenv, fetchurl, python }: stdenv.mkDerivation { name = "clearsilver-0.10.3"; + src = fetchurl { url = http://www.clearsilver.net/downloads/clearsilver-0.10.3.tar.gz; md5 = "ff4104b0e58bca1b61d528edbd902769"; }; + builder = ./builder.sh; inherit stdenv python; + + meta = { + description = "Fast, powerful, and language-neutral HTML template system"; + homepage = http://www.clearsilver.net/; + }; } diff --git a/pkgs/development/libraries/coredumper/default.nix b/pkgs/development/libraries/coredumper/default.nix index f62289ea1818..ddd0d87a5511 100644 --- a/pkgs/development/libraries/coredumper/default.nix +++ b/pkgs/development/libraries/coredumper/default.nix @@ -6,4 +6,13 @@ stdenv.mkDerivation { url = http://google-coredumper.googlecode.com/files/coredumper-1.1.tar.gz; sha256 = "1phl1zg2n17rp595dyzz9iw01gfdpsdh0l6wy2hfb5shi71h63rx"; }; + + # Doesn't build: + # + # src/elfcore.c: In function 'CreatePipeline': + # src/elfcore.c:1424:26: error: 'CLONE_VM' undeclared (first use in this function) + # CLONE_VM|CLONE_UNTRACED|SIGCHLD, &args, 0, 0, 0); + # ^ + # src/elfcore.c:1424:26: note: each undeclared identifier is reported only once for each function it appears in + meta.broken = true; } diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix index eee977e97037..9631746691f8 100644 --- a/pkgs/development/libraries/gsl/default.nix +++ b/pkgs/development/libraries/gsl/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "gsl-1.15"; + name = "gsl-1.16"; src = fetchurl { url = "mirror://gnu/gsl/${name}.tar.gz"; - sha256 = "18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5"; + sha256 = "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k"; }; # ToDo: there might be more impurities than FMA support check @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { meta = { description = "The GNU Scientific Library, a large numerical library"; + homepage = http://www.gnu.org/software/gsl/; + license = "GPLv3+"; longDescription = '' The GNU Scientific Library (GSL) is a numerical library for C @@ -27,10 +29,5 @@ stdenv.mkDerivation rec { fitting. There are over 1000 functions in total with an extensive test suite. ''; - - homepage = http://www.gnu.org/software/gsl/; - license = "GPLv3+"; - - maintainers = [ ]; }; } diff --git a/pkgs/development/libraries/haskell/BoundedChan/default.nix b/pkgs/development/libraries/haskell/BoundedChan/default.nix index 0ce294c2258c..0d049c848500 100644 --- a/pkgs/development/libraries/haskell/BoundedChan/default.nix +++ b/pkgs/development/libraries/haskell/BoundedChan/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "BoundedChan"; - version = "1.0.1.0"; - sha256 = "1v4lmp3j8lzk1m2pv5l90j80y0c6yxm6gb1ww9ffsz2jxfzz8vd8"; + version = "1.0.3.0"; + sha256 = "0vf4mlw08n056g5256cf46m5xsijng5gvjx7ccm4r132gznyl72k"; meta = { description = "Implementation of bounded channels"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix index dfaa69bca93f..4ae0212d6ef5 100644 --- a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix +++ b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.3.1.0"; sha256 = "0qarf73c8zq8dgvxdiwqybpjfy8gba9vf4k0skiwyk5iphilxhhq"; buildDepends = [ extensibleExceptions MonadCatchIOTransformers ]; + jailbreak = true; meta = { homepage = "http://darcsden.com/jcpetruzza/MonadCatchIO-mtl"; description = "Monad-transformer version of the Control.Exception module"; diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix index b6402f63abb5..a37d4bc673b1 100644 --- a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix +++ b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "MonadCatchIO-transformers"; - version = "0.3.1.0"; - sha256 = "1r5syyalk8a81byhk39yp0j7vdrvlrpppbg52dql1fx6kfhysaxn"; + version = "0.3.1.1"; + sha256 = "1kfq9py053zic69f25gcsm802dhk7y5k01ipsf2jvl8d4r5iw5kk"; buildDepends = [ extensibleExceptions monadsTf transformers ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix index d2bc69295421..9b51a3167f75 100644 --- a/pkgs/development/libraries/haskell/SHA/default.nix +++ b/pkgs/development/libraries/haskell/SHA/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "SHA"; - version = "1.6.4"; - sha256 = "13d7sg8r0qqs425banrwd15hahy8gnl4k81q0wfqld77xpb2vvbj"; + version = "1.6.4.1"; + sha256 = "03fwpl8hrl9q197w8v1glqi5g1d51c7hz4m8zi5s8x1yvpbwcfvl"; isLibrary = true; isExecutable = true; buildDepends = [ binary ]; diff --git a/pkgs/development/libraries/haskell/amqp/default.nix b/pkgs/development/libraries/haskell/amqp/default.nix index 8256ff54e191..d151128213e6 100644 --- a/pkgs/development/libraries/haskell/amqp/default.nix +++ b/pkgs/development/libraries/haskell/amqp/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "amqp"; - version = "0.8.3"; - sha256 = "0gl5vdhbic8llhbqmhnwj0wvykhbrci6zz53v5cayqfcwi1v1dw2"; + version = "0.9"; + sha256 = "10yacflzvf7y21yi6frs88gdbhf5g4j99ag8mwv6jrwfzwqszs5j"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch b/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch deleted file mode 100644 index 6a888aa32778..000000000000 --- a/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c401c2c585b5345243211e981c123a92b995b448 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Sat, 25 Jan 2014 13:35:52 +0300 -Subject: [PATCH] authenticate-oauth.cabal: allow RSA-2 - -The only cosmetic change is rename of 'ha_SHA1' to 'hashSHA1' - -Signed-off-by: Sergei Trofimovich ---- - authenticate-oauth/Web/Authenticate/OAuth.hs | 10 ++++++++-- - authenticate-oauth/authenticate-oauth.cabal | 2 +- - 2 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/authenticate-oauth/Web/Authenticate/OAuth.hs b/authenticate-oauth/Web/Authenticate/OAuth.hs -index 3f38c8c..eccd0f1 100644 ---- a/authenticate-oauth/Web/Authenticate/OAuth.hs -+++ b/authenticate-oauth/Web/Authenticate/OAuth.hs -@@ -21,7 +21,7 @@ module Web.Authenticate.OAuth - paramEncode, addScope, addMaybeProxy - ) where - import Blaze.ByteString.Builder (toByteString, Builder) --import Codec.Crypto.RSA (ha_SHA1, rsassa_pkcs1_v1_5_sign) -+import qualified Codec.Crypto.RSA as RSA - import Control.Exception - import Control.Monad - import Control.Monad.IO.Class (MonadIO, liftIO) -@@ -346,7 +346,13 @@ genSign oa tok req = - PLAINTEXT -> - return $ BS.intercalate "&" $ map paramEncode [oauthConsumerSecret oa, tokenSecret tok] - RSASHA1 pr -> -- liftM (encode . toStrict . rsassa_pkcs1_v1_5_sign ha_SHA1 pr) (getBaseString tok req) -+ liftM (encode . toStrict . RSA.rsassa_pkcs1_v1_5_sign -+#if MIN_VERSION_RSA(2, 0, 0) -+ RSA.hashSHA1 -+#else -+ RSA.ha_SHA1 -+#endif -+ pr) (getBaseString tok req) - - #if MIN_VERSION_http_conduit(2, 0, 0) - addAuthHeader :: BS.ByteString -> Credential -> Request -> Request -diff --git a/authenticate-oauth/authenticate-oauth.cabal b/authenticate-oauth/authenticate-oauth.cabal -index 00507da..e11c3bd 100644 ---- a/authenticate-oauth/authenticate-oauth.cabal -+++ b/authenticate-oauth/authenticate-oauth.cabal -@@ -19,7 +19,7 @@ library - , transformers >= 0.1 && < 0.4 - , bytestring >= 0.9 - , crypto-pubkey-types >= 0.1 && < 0.5 -- , RSA >= 1.2 && < 1.3 -+ , RSA >= 1.2 && < 2.1 - , time - , data-default - , base64-bytestring >= 0.1 && < 1.1 --- -1.9.1 - diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix index 9a75bd0cea50..364e81d9ee38 100644 --- a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix +++ b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix @@ -1,18 +1,15 @@ { cabal, base64Bytestring, blazeBuilder, blazeBuilderConduit -, conduit, cryptoPubkeyTypes, dataDefault, httpConduit, httpTypes -, monadControl, random, resourcet, RSA, SHA, time, transformers +, cryptoPubkeyTypes, dataDefault, httpClient, httpTypes, random +, RSA, SHA, time, transformers }: cabal.mkDerivation (self: { pname = "authenticate-oauth"; - version = "1.4.0.8"; - sha256 = "1mc36d6lkmqywzsxhzwv4445mmwdz0rr5ibd2a1nbgw5c5jw76fy"; - patches = [ ./RSA2.patch ]; - patchFlags = "-p2"; + version = "1.5"; + sha256 = "07y9zh4v9by588k86wlyj3czivj5jlb9jk6g4j9p8j1qgbv4hpk9"; buildDepends = [ - base64Bytestring blazeBuilder blazeBuilderConduit conduit - cryptoPubkeyTypes dataDefault httpConduit httpTypes monadControl - random resourcet RSA SHA time transformers + base64Bytestring blazeBuilder blazeBuilderConduit cryptoPubkeyTypes + dataDefault httpClient httpTypes random RSA SHA time transformers ]; meta = { homepage = "http://github.com/yesodweb/authenticate"; diff --git a/pkgs/development/libraries/haskell/compdata/default.nix b/pkgs/development/libraries/haskell/compdata/default.nix index 13e6fd8a2b21..edb44d45d1c8 100644 --- a/pkgs/development/libraries/haskell/compdata/default.nix +++ b/pkgs/development/libraries/haskell/compdata/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "compdata"; - version = "0.8.1.0"; - sha256 = "06bsdhf40b8111k0fmfc53i5kib9n431f07qyj83pq8isgkk33xc"; + version = "0.8.1.2"; + sha256 = "1jhfhinkn6klh68rzl5skh1rianjycc6cfkrglsi17j60a723v9x"; buildDepends = [ deepseq derive mtl QuickCheck thExpandSyns transformers treeView ]; diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix index 894d317336d2..ebfff759595e 100644 --- a/pkgs/development/libraries/haskell/cryptohash/default.nix +++ b/pkgs/development/libraries/haskell/cryptohash/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "cryptohash"; - version = "0.11.5"; - sha256 = "0vxnwnjch2r9d54q5f5bfz60npjc7s7x6a5233md7fa756822b9d"; + version = "0.11.6"; + sha256 = "0dyzcaxr8vhzqq9hj4240rxpi87h4ps87yz09klz723shls26f6s"; buildDepends = [ byteable ]; testDepends = [ byteable HUnit QuickCheck tasty tastyHunit tastyQuickcheck diff --git a/pkgs/development/libraries/haskell/data-lens-light/default.nix b/pkgs/development/libraries/haskell/data-lens-light/default.nix index 14614b8ab008..a5681fe123ef 100644 --- a/pkgs/development/libraries/haskell/data-lens-light/default.nix +++ b/pkgs/development/libraries/haskell/data-lens-light/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "data-lens-light"; - version = "0.1.1"; - sha256 = "03nsfwpcl7wmw2bgcb8z3w04krlbrbks7bjpnzfdz6cgdr5mnjrs"; + version = "0.1.2"; + sha256 = "1xxphcd36vw1ib48rfmrg207h0i1hlby01bm3xsxnq90ygizvxk7"; buildDepends = [ mtl ]; meta = { homepage = "https://github.com/feuerbach/data-lens-light"; diff --git a/pkgs/development/libraries/haskell/distributed-process/default.nix b/pkgs/development/libraries/haskell/distributed-process/default.nix new file mode 100644 index 000000000000..80458c808a8d --- /dev/null +++ b/pkgs/development/libraries/haskell/distributed-process/default.nix @@ -0,0 +1,20 @@ +{ cabal, binary, dataAccessor, deepseq, distributedStatic, hashable +, mtl, networkTransport, random, rank1dynamic, stm, syb, time +, transformers +}: + +cabal.mkDerivation (self: { + pname = "distributed-process"; + version = "0.5.0"; + sha256 = "16lfmkhc6jk2n46w39vf0q1ql426h5jrjgdi6cyjgwy1d5kaqcny"; + buildDepends = [ + binary dataAccessor deepseq distributedStatic hashable mtl + networkTransport random rank1dynamic stm syb time transformers + ]; + meta = { + homepage = "http://haskell-distributed.github.com/"; + description = "Cloud Haskell: Erlang-style concurrency in Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/distributed-static/default.nix b/pkgs/development/libraries/haskell/distributed-static/default.nix index 9147b724ba22..8f7dd0d8cddd 100644 --- a/pkgs/development/libraries/haskell/distributed-static/default.nix +++ b/pkgs/development/libraries/haskell/distributed-static/default.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: { pname = "distributed-static"; - version = "0.2.1.1"; - sha256 = "08y9554x6avjwdmbf33fw1pw1wl8qmgfngmgb6vgad88krnixq1h"; + version = "0.3.0.0"; + sha256 = "1g8jr01jxlfshsz3mrpzl21q290whwz4va3zjp1h0d1pnfwz6jcj"; buildDepends = [ binary rank1dynamic ]; meta = { - homepage = "http://www.github.com/haskell-distributed/distributed-process"; + homepage = "http://haskell-distributed.github.com"; description = "Compositional, type-safe, polymorphic static values and closures"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix index d563348c371a..8cbd44b7dbc0 100644 --- a/pkgs/development/libraries/haskell/dns/default.nix +++ b/pkgs/development/libraries/haskell/dns/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "dns"; - version = "1.3.0"; - sha256 = "1zd639d69ha3g1yz7ssvwarwiwyi975ps4i5y8vrarcq2jnnsb6n"; + version = "1.4.0"; + sha256 = "1r004wpq0z98f6n3rqqlkqmb799sdldj5087icksi6rxxr3plrs9"; buildDepends = [ attoparsec binary blazeBuilder conduit conduitExtra iproute mtl network random resourcet diff --git a/pkgs/development/libraries/haskell/extensible-effects/default.nix b/pkgs/development/libraries/haskell/extensible-effects/default.nix index eb52756ce3b4..8c188bf68203 100644 --- a/pkgs/development/libraries/haskell/extensible-effects/default.nix +++ b/pkgs/development/libraries/haskell/extensible-effects/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/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix index d32a57597802..f253d3a927be 100644 --- a/pkgs/development/libraries/haskell/fay/default.nix +++ b/pkgs/development/libraries/haskell/fay/default.nix @@ -1,22 +1,22 @@ { cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom , haskellNames, haskellPackages, haskellSrcExts, languageEcmascript , mtl, optparseApplicative, safe, sourcemap, split, spoon, syb -, tasty, tastyHunit, tastyTh, text, transformers, uniplate +, tasty, tastyHunit, tastyTh, text, time, transformers, uniplate , unorderedContainers, utf8String, vector }: cabal.mkDerivation (self: { pname = "fay"; - version = "0.20.0.4"; - sha256 = "0cxcd4nxnq8nl03xgxa1nb0932hq4dz1lxpp3gqqs5k5wvs62303"; + version = "0.20.1.1"; + sha256 = "0jcvq880xnkm8aqr69ihwf7by55fc1bbd8wk8152zqgkih74qzc4"; isLibrary = true; isExecutable = true; buildDepends = [ aeson attoparsec dataDefault filepath ghcPaths groom haskellNames haskellPackages haskellSrcExts languageEcmascript mtl optparseApplicative safe sourcemap split spoon syb tasty tastyHunit - tastyTh text transformers uniplate unorderedContainers utf8String - vector + tastyTh text time transformers uniplate unorderedContainers + utf8String vector ]; meta = { homepage = "http://fay-lang.org/"; diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix index 9efbd285068e..92f256ae811a 100644 --- a/pkgs/development/libraries/haskell/fb/default.nix +++ b/pkgs/development/libraries/haskell/fb/default.nix @@ -20,6 +20,7 @@ cabal.mkDerivation (self: { aeson conduit dataDefault hspec httpConduit HUnit liftedBase monadControl QuickCheck resourcet text time transformers ]; + jailbreak = true; doCheck = false; meta = { homepage = "https://github.com/meteficha/fb"; @@ -27,5 +28,4 @@ cabal.mkDerivation (self: { license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; - jailbreak = true; }) diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix index 5224bf11f291..e19eff2a631f 100644 --- a/pkgs/development/libraries/haskell/foldl/default.nix +++ b/pkgs/development/libraries/haskell/foldl/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "foldl"; - version = "1.0.4"; - sha256 = "0l5gyaw2rb0wfdm5q13vsxfr0z2y9ad5nsjh605p1jp8i0rgwgkv"; + version = "1.0.5"; + sha256 = "08yjzzplg715hzkhwbf8nv2zm7c5wd2kph4zx94iml0cnc6ip048"; buildDepends = [ primitive text transformers vector ]; meta = { description = "Composable, streaming, and efficient left folds"; diff --git a/pkgs/development/libraries/haskell/free-operational/default.nix b/pkgs/development/libraries/haskell/free-operational/default.nix deleted file mode 100644 index 804577563845..000000000000 --- a/pkgs/development/libraries/haskell/free-operational/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ cabal, comonadTransformers, free, kanExtensions, mtl, comonad -, transformers -}: - -cabal.mkDerivation (self: { - pname = "free-operational"; - version = "0.5.0.0"; - sha256 = "0gim4m0l76sxxg6a8av1gl6qjpwxwdzyviij86d06v1150r08dmb"; - jailbreak = true; # needs an old version of kan-extensions - buildDepends = [ - comonadTransformers free kanExtensions mtl transformers comonad - ]; - meta = { - description = "Operational Applicative, Alternative, Monad and MonadPlus from free types"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - }; -}) diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix index 04545dda87e4..f05bfedafcff 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 = "4.1.2"; - sha256 = "0xdpy61dc56zvpgr2z9cdyd85d65l426vnbfgsw6w494w0bp3sh7"; + version = "4.1.3"; + sha256 = "0n7nbjbiiphlasqfcxx15fa8axwd9csq2nh3r0wvkrgpsazdlw8c"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -26,6 +26,7 @@ cabal.mkDerivation (self: { cd .. ensureDir "$out/share/emacs" mv $pname-$version emacs/site-lisp + mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped cat - > $out/bin/ghc-mod < $out/bin/ghc-modi <=.*,|network,|' -e 's|network >=.*|network|' network-transport-tcp.cabal + ''; meta = { - homepage = "http://github.com/haskell-distributed/distributed-process"; + homepage = "http://haskell-distributed.github.com"; description = "TCP instantiation of Network.Transport"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/network-transport/default.nix b/pkgs/development/libraries/haskell/network-transport/default.nix index eaa41944a6bd..032cb043faba 100644 --- a/pkgs/development/libraries/haskell/network-transport/default.nix +++ b/pkgs/development/libraries/haskell/network-transport/default.nix @@ -1,12 +1,12 @@ -{ cabal, binary, transformers }: +{ cabal, binary, hashable, transformers }: cabal.mkDerivation (self: { pname = "network-transport"; - version = "0.3.0.1"; - sha256 = "1iijcd864znik83smk1bjidinm199wri5fdyrhnffj0n35knrvas"; - buildDepends = [ binary transformers ]; + version = "0.4.0.0"; + sha256 = "1485w86wzszlg4dvl0fkr7wa47snvpw825llrvdgrrkcxamhsmrz"; + buildDepends = [ binary hashable transformers ]; meta = { - homepage = "http://github.com/haskell-distributed/distributed-process"; + homepage = "http://haskell-distributed.github.com"; description = "Network abstraction layer"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix index 2a2324027d4b..348847e6e9ae 100644 --- a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix +++ b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix @@ -1,13 +1,11 @@ -{ cabal, pipes, pipesGroup, pipesParse, profunctors, transformers +{ cabal, pipes, pipesGroup, pipesParse, transformers }: cabal.mkDerivation (self: { pname = "pipes-bytestring"; - version = "2.0.1"; - sha256 = "1vsfqqkr5danb0n30av4vk8d4by9f50y5l8ywm1xjrmwrx999gvf"; - buildDepends = [ - pipes pipesGroup pipesParse profunctors transformers - ]; + version = "2.1.0"; + sha256 = "1q98444kpcdc817zbg121g2n1mhblrdfsmd0bs5rqq6ijxb213z0"; + buildDepends = [ pipes pipesGroup pipesParse transformers ]; meta = { description = "ByteString support for pipes"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/pipes-text/default.nix b/pkgs/development/libraries/haskell/pipes-text/default.nix index 7156b8897893..4b5a7973c525 100644 --- a/pkgs/development/libraries/haskell/pipes-text/default.nix +++ b/pkgs/development/libraries/haskell/pipes-text/default.nix @@ -10,6 +10,7 @@ cabal.mkDerivation (self: { pipes pipesBytestring pipesGroup pipesParse pipesSafe profunctors streamingCommons text transformers ]; + jailbreak = true; meta = { homepage = "https://github.com/michaelt/text-pipes"; description = "Text pipes"; diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix index 4109fc89a2c8..c3fd7a357fbd 100644 --- a/pkgs/development/libraries/haskell/purescript/default.nix +++ b/pkgs/development/libraries/haskell/purescript/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "purescript"; - version = "0.5.2.3"; - sha256 = "09z56gb3k1ya5c3yznm49sgd1g9i5wvn5ih4mycf5ys2wvy3v9sl"; + version = "0.5.2.4"; + sha256 = "19k8kggmmy75qgg9xcvvd194s1vf5qx15ljx82zdscvks2j1r1sd"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/rank1dynamic/default.nix b/pkgs/development/libraries/haskell/rank1dynamic/default.nix index 8694d2399b2b..a62fe8d0c8b8 100644 --- a/pkgs/development/libraries/haskell/rank1dynamic/default.nix +++ b/pkgs/development/libraries/haskell/rank1dynamic/default.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: { pname = "rank1dynamic"; - version = "0.1.0.2"; - sha256 = "1341hhbdm6y0mj0qjda0ckqsla51fxiy1yfpbwfvsmpi2bkzgxn6"; + version = "0.2.0.0"; + sha256 = "09p3lggnsn0355440d9cazwijv9qm4siw99gg2xkk2hamp2sj42h"; buildDepends = [ binary ]; meta = { - homepage = "http://github.com/haskell-distributed/distributed-process"; + homepage = "http://haskell-distributed.github.com"; description = "Like Data.Dynamic/Data.Typeable but with support for rank-1 polymorphic types"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/recursion-schemes/default.nix b/pkgs/development/libraries/haskell/recursion-schemes/default.nix index 78e7da44061a..1d6f5934ba70 100644 --- a/pkgs/development/libraries/haskell/recursion-schemes/default.nix +++ b/pkgs/development/libraries/haskell/recursion-schemes/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "recursion-schemes"; - version = "4.0"; - sha256 = "1xc1k04p3birxgv5h3ypw85w0cgq4d5rsmadx4pc3j409y6i5p06"; + version = "4.1"; + sha256 = "03rf65ak6bxsr204j6d8g5zyxva9vbmncycav3smqwfg5n3b3pwf"; buildDepends = [ comonad free transformers ]; meta = { homepage = "http://github.com/ekmett/recursion-schemes/"; diff --git a/pkgs/development/libraries/haskell/robots-txt/default.nix b/pkgs/development/libraries/haskell/robots-txt/default.nix index a325c9e86647..f15391ec5e15 100644 --- a/pkgs/development/libraries/haskell/robots-txt/default.nix +++ b/pkgs/development/libraries/haskell/robots-txt/default.nix @@ -1,10 +1,11 @@ -{ cabal, attoparsec, heredoc, hspec, QuickCheck, transformers }: +{ cabal, attoparsec, heredoc, hspec, QuickCheck, time, transformers +}: cabal.mkDerivation (self: { pname = "robots-txt"; - version = "0.4.0.0"; - sha256 = "1z0bn4v6fx0nx1hr4bbxi5k2c8bv6x3d4pywpav67m5pswxb2yp7"; - buildDepends = [ attoparsec ]; + version = "0.4.1.0"; + sha256 = "1q18pgilrwppmd8d7pby3p6qgk47alzmd8izqspk7n4h4agrscn4"; + buildDepends = [ attoparsec time ]; testDepends = [ attoparsec heredoc hspec QuickCheck transformers ]; meta = { homepage = "http://github.com/meanpath/robots"; diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix index 398d3a1dfb85..02f63cbf9a17 100644 --- a/pkgs/development/libraries/haskell/scotty/default.nix +++ b/pkgs/development/libraries/haskell/scotty/default.nix @@ -1,17 +1,18 @@ { cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault -, hspec, httpTypes, mtl, regexCompat, text, transformers, wai -, waiExtra, warp +, hspec, httpTypes, liftedBase, monadControl, mtl, regexCompat +, text, transformers, transformersBase, wai, waiExtra, warp }: cabal.mkDerivation (self: { pname = "scotty"; - version = "0.8.0"; - sha256 = "07198m8rsavdqr51abxsrmi8jail6h4ldzrr9s47il1djjba6lhh"; + version = "0.8.1"; + sha256 = "182iwsz5h7p08sqwfzb332gwj1wjx7fhhazm6gfdc0incab769m0"; buildDepends = [ aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes - mtl regexCompat text transformers wai waiExtra warp + monadControl mtl regexCompat text transformers transformersBase wai + waiExtra warp ]; - testDepends = [ hspec httpTypes wai waiExtra ]; + testDepends = [ hspec httpTypes liftedBase wai waiExtra ]; jailbreak = true; meta = { homepage = "https://github.com/scotty-web/scotty"; diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix index f07e0f54b9b8..deb7b65beba9 100644 --- a/pkgs/development/libraries/haskell/shake/default.nix +++ b/pkgs/development/libraries/haskell/shake/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "shake"; - version = "0.13.1"; - sha256 = "00dvf1ydfgpnkv09fywsvyn0sphjwdrqhvkc21axj580ykbqxrn7"; + version = "0.13.2"; + sha256 = "0ibq0y0dxxahfwgcvamjfhbl5mrqmj7ryzf8bfmqky843fg7dyna"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/shellmate/default.nix b/pkgs/development/libraries/haskell/shellmate/default.nix new file mode 100644 index 000000000000..37383792de1f --- /dev/null +++ b/pkgs/development/libraries/haskell/shellmate/default.nix @@ -0,0 +1,14 @@ +{ cabal, filepath, temporary, time, transformers }: + +cabal.mkDerivation (self: { + pname = "shellmate"; + version = "0.1.6"; + sha256 = "17fpl0h58cw5hp6jzrajkl629mw2c6x15cmlcbdxqk9xlxqrg4hr"; + buildDepends = [ filepath temporary time transformers ]; + meta = { + homepage = "http://github.com/valderman/shellmate"; + description = "Simple interface for shell scripting in Haskell"; + 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 a37fb044bc01..7f021e82ad6c 100644 --- a/pkgs/development/libraries/haskell/shelly/default.nix +++ b/pkgs/development/libraries/haskell/shelly/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "shelly"; - version = "1.5.4"; - sha256 = "1jxw3c25n7azvfyj9vark9149sk36d01pfij6lgamhjs28mb860d"; + version = "1.5.4.1"; + sha256 = "0h38j6vkdgaddj7xardyywibdj5w0wryqxwwpc62idgzlp7mgpb2"; buildDepends = [ async enclosedExceptions exceptions liftedAsync liftedBase monadControl mtl systemFileio systemFilepath text time transformers diff --git a/pkgs/development/libraries/haskell/simple-sql-parser/default.nix b/pkgs/development/libraries/haskell/simple-sql-parser/default.nix new file mode 100644 index 000000000000..30c3ce4b1053 --- /dev/null +++ b/pkgs/development/libraries/haskell/simple-sql-parser/default.nix @@ -0,0 +1,19 @@ +{ cabal, HUnit, mtl, parsec, testFramework, testFrameworkHunit }: + +cabal.mkDerivation (self: { + pname = "simple-sql-parser"; + version = "0.4.0"; + sha256 = "0mkc2x6x061qdcnaifig26jmq86rvdvp1xjmzn8g2qf0v3dw18hl"; + isLibrary = true; + isExecutable = true; + buildDepends = [ mtl parsec ]; + testDepends = [ + HUnit mtl parsec testFramework testFrameworkHunit + ]; + meta = { + homepage = "http://jakewheat.github.io/simple-sql-parser/"; + description = "A parser for SQL queries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/snap-cors/default.nix b/pkgs/development/libraries/haskell/snap-cors/default.nix index 338e2c4693f5..5f694b45d981 100644 --- a/pkgs/development/libraries/haskell/snap-cors/default.nix +++ b/pkgs/development/libraries/haskell/snap-cors/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "snap-cors"; - version = "1.2.4"; - sha256 = "0mg5sjvrcs60s8k28vgi49vbgfpswkcd7i7yyfi1n1649vqb69mb"; + version = "1.2.5"; + sha256 = "1zjvvi1prskkb26yp51j09gfkhpw0ggj69d89098yq0sl6d0vy1c"; buildDepends = [ attoparsec caseInsensitive hashable network snap text transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/snaplet-redis/default.nix b/pkgs/development/libraries/haskell/snaplet-redis/default.nix index 83a82ac80ce1..00617f517286 100644 --- a/pkgs/development/libraries/haskell/snaplet-redis/default.nix +++ b/pkgs/development/libraries/haskell/snaplet-redis/default.nix @@ -4,16 +4,16 @@ cabal.mkDerivation (self: { pname = "snaplet-redis"; - version = "0.1.3.1"; - sha256 = "1aprz9rxs01a86vfr8s7mjydafdfljg89grl7i43vmsw927izc6k"; + version = "0.1.3.2"; + sha256 = "0554farc76ncbynzks4ryi7a2nbahsgnjvazmw5n9b79cp207bjf"; buildDepends = [ configurator hedis lens mtl network snap transformers ]; + jailbreak = true; meta = { homepage = "https://github.com/dzhus/snaplet-redis/"; description = "Redis support for Snap Framework"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; - jailbreak = true; }) diff --git a/pkgs/development/libraries/haskell/string-combinators/default.nix b/pkgs/development/libraries/haskell/string-combinators/default.nix index bfc38fb07e89..1f6cf569b566 100644 --- a/pkgs/development/libraries/haskell/string-combinators/default.nix +++ b/pkgs/development/libraries/haskell/string-combinators/default.nix @@ -1,10 +1,9 @@ -{ cabal, baseUnicodeSymbols }: +{ cabal }: cabal.mkDerivation (self: { pname = "string-combinators"; - version = "0.6.0.4"; - sha256 = "0r1za5ypx9fz073h1yljjdkxmz0h77vg94bk827ndwkfgzgpzvh7"; - buildDepends = [ baseUnicodeSymbols ]; + version = "0.6.0.5"; + sha256 = "07ky2z5f1l5mb7r3rvyraak0bzciq4krkg5lv8g0a5vxpnzlm4cl"; meta = { homepage = "https://github.com/basvandijk/string-combinators"; description = "Polymorphic functions to build and combine stringlike values"; diff --git a/pkgs/development/libraries/haskell/syntactic/default.nix b/pkgs/development/libraries/haskell/syntactic/default.nix index 39fbeebd33c1..17cb5039a640 100644 --- a/pkgs/development/libraries/haskell/syntactic/default.nix +++ b/pkgs/development/libraries/haskell/syntactic/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "syntactic"; - version = "1.12.1"; - sha256 = "0p68jgfwzr9mvgrcjdj3235109nhpaichm5irj9m29076axrsb94"; + version = "1.13"; + sha256 = "1d5mb7ss6xr7rj93mwrdvkxkx1dlmywxx9sxsmqy7l6gaxs6gq8l"; buildDepends = [ constraints dataHash mtl transformers treeView tuple ]; diff --git a/pkgs/development/libraries/haskell/tables/default.nix b/pkgs/development/libraries/haskell/tables/default.nix new file mode 100644 index 000000000000..f97512c7f7f7 --- /dev/null +++ b/pkgs/development/libraries/haskell/tables/default.nix @@ -0,0 +1,23 @@ +{ cabal, binary, cereal, comonad, deepseq, doctest, filepath +, hashable, lens, profunctors, safecopy, transformers +, transformersCompat, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "tables"; + version = "0.4.1"; + sha256 = "131c97lgni0b9pmkdfd5y0lwrb9yh9qyahknhrim8dzpkkfynk49"; + buildDepends = [ + binary cereal comonad deepseq hashable lens profunctors safecopy + transformers transformersCompat unorderedContainers + ]; + testDepends = [ + doctest filepath lens transformers unorderedContainers + ]; + meta = { + homepage = "http://github.com/ekmett/tables/"; + description = "In-memory storage with multiple keys using lenses and traversals"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/tcache-AWS/default.nix b/pkgs/development/libraries/haskell/tcache-AWS/default.nix index 0bccb38d3817..b223f6b36555 100644 --- a/pkgs/development/libraries/haskell/tcache-AWS/default.nix +++ b/pkgs/development/libraries/haskell/tcache-AWS/default.nix @@ -9,6 +9,6 @@ cabal.mkDerivation (self: { description = "tcache using Amazon Web Services as default persistence mechanism"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.tomberek ]; }; - maintainers = [ self.stdenv.lib.maintainers.tomberek ]; }) diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix index 4d14ed4582af..334b7fcfe399 100644 --- a/pkgs/development/libraries/haskell/twitter-conduit/default.nix +++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix @@ -1,23 +1,28 @@ -{ cabal, aeson, attoparsec, attoparsecConduit, authenticateOauth -, conduit, dataDefault, doctest, failure, filepath, hlint -, httpClient, httpConduit, httpTypes, lens, liftedBase -, monadControl, monadLogger, resourcet, shakespeare, text, time +{ cabal, aeson, attoparsec, authenticateOauth, caseInsensitive +, conduit, conduitExtra, dataDefault, doctest, filepath, hlint +, hspec, httpClient, httpConduit, httpTypes, lens, monadControl +, monadLogger, network, resourcet, shakespeare, text, time , transformers, transformersBase, twitterTypes }: cabal.mkDerivation (self: { pname = "twitter-conduit"; - version = "0.0.2.1"; - sha256 = "1z0d8hwjrdw8gkww9zkn9cqv3g40my952li8pm3c164d7ywswszq"; + version = "0.0.4"; + sha256 = "0fv2m3sy1gklch4v3sarvq4xk9p7pdz1s3ssl52riy3mg076ab09"; isLibrary = true; isExecutable = true; buildDepends = [ - aeson attoparsec attoparsecConduit authenticateOauth conduit - dataDefault failure httpClient httpConduit httpTypes lens - liftedBase monadControl monadLogger resourcet shakespeare text time - transformers transformersBase twitterTypes + aeson attoparsec authenticateOauth conduit conduitExtra dataDefault + httpClient httpConduit httpTypes lens monadLogger resourcet + shakespeare text time transformers twitterTypes + ]; + testDepends = [ + aeson attoparsec authenticateOauth caseInsensitive conduit + conduitExtra dataDefault doctest filepath hlint hspec httpClient + httpConduit httpTypes lens monadControl monadLogger network + resourcet shakespeare text time transformers transformersBase + twitterTypes ]; - testDepends = [ doctest filepath hlint ]; meta = { homepage = "https://github.com/himura/twitter-conduit"; description = "Twitter API package with conduit interface and Streaming API support"; diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix index 4b73fc5cf5a5..6783993f7188 100644 --- a/pkgs/development/libraries/haskell/twitter-types/default.nix +++ b/pkgs/development/libraries/haskell/twitter-types/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "twitter-types"; - version = "0.3.20140601"; - sha256 = "1z8vdhyklgb4s3jxkavb8n62h9cn3y80qqzab3hswfv5xwri20ni"; + version = "0.3.20140620"; + sha256 = "02mwdgz1l1z5k5k78bjnnbabcr27xixli1gqk6rmqrarcylybvll"; buildDepends = [ aeson httpTypes text unorderedContainers ]; testDepends = [ aeson attoparsec httpTypes HUnit shakespeare testFramework diff --git a/pkgs/development/libraries/haskell/vector-space/default.nix b/pkgs/development/libraries/haskell/vector-space/default.nix index c6d440a5d471..8badc0d9c510 100644 --- a/pkgs/development/libraries/haskell/vector-space/default.nix +++ b/pkgs/development/libraries/haskell/vector-space/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "vector-space"; - version = "0.8.6"; - sha256 = "03kz2qhnynbgs4vk7348zjkkakzzwvxhbasl0lcazj1cx1ay7c4l"; + version = "0.8.7"; + sha256 = "1i3c34b3ngksmw4blhldap8fiw1jddm2h1qyr92csn3cllj6j1vm"; buildDepends = [ Boolean MemoTrie NumInstances ]; meta = { description = "Vector & affine spaces, linear maps, and derivatives"; diff --git a/pkgs/development/libraries/haskell/vinyl/default.nix b/pkgs/development/libraries/haskell/vinyl/default.nix index 725567ff16bb..bac5d880ba32 100644 --- a/pkgs/development/libraries/haskell/vinyl/default.nix +++ b/pkgs/development/libraries/haskell/vinyl/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "vinyl"; - version = "0.4.1"; - sha256 = "1x8kxb4z4nj7h6pbl0r37rr7k88ly64cn0bf7izyaqjrsf0kxdci"; + version = "0.4.2"; + sha256 = "17vh5yv9dzw6zq1xw22k7mljpha0rcngbk5k0kynh7hyh6xy4zxz"; testDepends = [ doctest lens singletons ]; meta = { description = "Extensible Records"; diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix index d54e8351d4fd..45d4177305ab 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 = "3.0.0"; - sha256 = "0spjyimqfj7hx8zgmal4laqy8p1inj8hl2402b5s6zqdn36lldfs"; + version = "3.0.0.1"; + sha256 = "0i28d3pwz2fskg94xlkapdw07zkq3acnqk21kpgm5ffbj6qvbvsg"; buildDepends = [ ansiTerminal base64Bytestring blazeBuilder caseInsensitive dataDefaultClass deepseq fastLogger httpTypes liftedBase network diff --git a/pkgs/development/libraries/haskell/webdriver/default.nix b/pkgs/development/libraries/haskell/webdriver/default.nix new file mode 100644 index 000000000000..4af61ece80a5 --- /dev/null +++ b/pkgs/development/libraries/haskell/webdriver/default.nix @@ -0,0 +1,27 @@ +{ cabal, aeson, attoparsec, base64Bytestring, cond, dataDefault +, directoryTree, exceptions, filepath, HTTP, liftedBase +, monadControl, mtl, network, parallel, scientific, temporary, text +, time, transformers, transformersBase, unorderedContainers, vector +, zipArchive +}: + +cabal.mkDerivation (self: { + pname = "webdriver"; + version = "0.5.4"; + sha256 = "0839vw7drjn5iray4ma17f0pfgwx44q10ad8m564jvjgcml4yhvq"; + buildDepends = [ + aeson attoparsec base64Bytestring cond dataDefault directoryTree + exceptions filepath HTTP liftedBase monadControl mtl network + scientific temporary text time transformers transformersBase + unorderedContainers vector zipArchive + ]; + testDepends = [ parallel text ]; + jailbreak = true; + doCheck = false; + meta = { + homepage = "https://github.com/kallisti-dev/hs-webdriver"; + description = "a Haskell client for the Selenium WebDriver protocol"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix index 683885cb7122..2ec9847e8ef6 100644 --- a/pkgs/development/libraries/haskell/websockets/default.nix +++ b/pkgs/development/libraries/haskell/websockets/default.nix @@ -17,6 +17,7 @@ cabal.mkDerivation (self: { entropy HUnit ioStreams mtl network QuickCheck random SHA testFramework testFrameworkHunit testFrameworkQuickcheck2 text ]; + jailbreak = true; meta = { homepage = "http://jaspervdj.be/websockets"; description = "A sensible and clean way to write WebSocket-capable servers in Haskell"; @@ -24,5 +25,4 @@ cabal.mkDerivation (self: { platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.ocharles ]; }; - jailbreak = true; }) diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix index a54c714e979a..ae3c3cd8a008 100644 --- a/pkgs/development/libraries/haskell/yesod-auth/default.nix +++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "yesod-auth"; - version = "1.3.1"; - sha256 = "1fv5z938rpiyhkl4zjb2ss496bgqvdvn7di5im089zmxvx1m81lz"; + version = "1.3.1.1"; + sha256 = "0mw04v8gnhv9gnv7kv2v1x5df63zjdmi52r5bv1fzqay1s5b83ir"; buildDepends = [ aeson attoparsecConduit authenticate base16Bytestring base64Bytestring binary blazeBuilder blazeHtml blazeMarkup byteable diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix index 145df1e625fe..30a75724e0ec 100644 --- a/pkgs/development/libraries/haskell/yesod-bin/default.nix +++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "yesod-bin"; - version = "1.2.10.2"; - sha256 = "18faylxjrd790xv6zr77wikkcy99l7824bb1sq1y225kd7a3alsm"; + version = "1.2.11"; + sha256 = "15bxl52ky0ihm7ak71g6cvb9bac4zvmb8sh74fbjkckmpgh8r3m2"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index 7ea674aa0d9d..45bcf97f942f 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -11,8 +11,8 @@ cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.2.16.1"; - sha256 = "1wr5labhp3wc23ki2wvaypanm54qw9vz3v77rxyj1za1y2n1cprw"; + version = "1.2.17"; + sha256 = "199zj9yz5nmk4h2dwz4zlix3wf1z5fl9a8jg8cr4z6ldgskcfis1"; buildDepends = [ aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit conduitExtra cookie diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix index 4309df0e4c4e..0c045be968a8 100644 --- a/pkgs/development/libraries/haskell/yesod-form/default.nix +++ b/pkgs/development/libraries/haskell/yesod-form/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "yesod-form"; - version = "1.3.10"; - sha256 = "1qq0r5phb6xygz4w5ysir3ky7bw0rmd1q4vz57dz1aza2pchb1ih"; + version = "1.3.11"; + sha256 = "15c4qyvz1mn56pl9add865lm351wjhdhrbzm87py2jliglm905n0"; buildDepends = [ aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable dataDefault emailValidate hamlet network persistent resourcet diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix index 44b147586236..d1a3b6ab63e9 100644 --- a/pkgs/development/libraries/haskell/yesod-test/default.nix +++ b/pkgs/development/libraries/haskell/yesod-test/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "yesod-test"; - version = "1.2.3"; - sha256 = "082zi53q1pw9xv4l6ld1y3xxnvq3iwgbrdnxjknhwsxph7glkn3p"; + version = "1.2.3.1"; + sha256 = "0q4w7q22d8hvsg939w686fb295v8cznnhqlfd1bh0v2lp9dih4ms"; buildDepends = [ attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive cookie hspec htmlConduit httpTypes HUnit monadControl network diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix index 82c218d67b39..0dd99605b336 100644 --- a/pkgs/development/libraries/libvorbis/default.nix +++ b/pkgs/development/libraries/libvorbis/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libogg }: +{ stdenv, fetchurl, libogg, pkgconfig }: let name = "libvorbis-1.3.4"; @@ -11,6 +11,8 @@ stdenv.mkDerivation { sha256 = "0wpk87jnhngcl3nc5i39flkycx1sjzilx8jjx4zc4p8r55ylj19g"; }; + buildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ libogg ]; doCheck = true; diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 993993cecd07..7b502822a180 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -18,7 +18,13 @@ stdenv.mkDerivation (rec { sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh"; }; - patches = [ ./patch-ac ]; + clangPatch = fetchurl { + # Patch referenced from https://github.com/Homebrew/homebrew-dupes/issues/43 + url = "http://lists.gnu.org/archive/html/bug-ncurses/2011-04/txtkWQqiQvcZe.txt"; + sha256 = "03lrwqvb0r2qgi8hz7ayd3g26d6xilr3c92j8li3b77kdc0w0rlv"; + }; + + patches = [ ./patch-ac ] ++ stdenv.lib.optional stdenv.isDarwin clangPatch; configureFlags = '' --with-shared --without-debug --enable-pc-files --enable-symlinks diff --git a/pkgs/development/libraries/szip/default.nix b/pkgs/development/libraries/szip/default.nix index 38cde3bfd707..159b8e6e8386 100644 --- a/pkgs/development/libraries/szip/default.nix +++ b/pkgs/development/libraries/szip/default.nix @@ -4,6 +4,6 @@ stdenv.mkDerivation { name = "szip-2.1"; src = fetchurl { url = ftp://ftp.hdfgroup.org/lib-external/szip/2.1/src/szip-2.1.tar.gz; - sha256 = "05707lrdhwp8mv0dgzh2b6m2mwamv1z6k29m2v1v7pz0c1w2gb6z"; + sha256 = "1vym7r4by02m0yqj10023xyps5b21ryymnxb4nb2gs32arfxj5m8"; }; -} \ No newline at end of file +} diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix index 92fbe81a32e9..3ef43baca5ed 100644 --- a/pkgs/development/libraries/zeitgeist/default.nix +++ b/pkgs/development/libraries/zeitgeist/default.nix @@ -29,8 +29,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { + description = "A service which logs the users's activities and events"; homepage = https://launchpad.net/zeitgeist; - description = "Zeitgeist is a service which logs the users's activities and events"; maintainers = with maintainers; [ lethalman ]; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 088eb1b94930..0938e2a17a79 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { # As zlib takes part in the stdenv building, we don't want references # to the bootstrap-tools libgcc (as uses to happen on arm/mips) - NIX_CFLAGS_COMPILE = "-static-libgcc"; + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-static-libgcc"; crossAttrs = { dontStrip = static; @@ -44,4 +44,9 @@ stdenv.mkDerivation rec { cygwinConfigureEnableShared = true; passthru.version = version; + + meta = with stdenv.lib; { + description = "Lossless data-compression library"; + license = licenses.zlib; + }; } diff --git a/pkgs/development/libraries/zziplib/default.nix b/pkgs/development/libraries/zziplib/default.nix index 055a491f4601..dcfaafc2b7d8 100644 --- a/pkgs/development/libraries/zziplib/default.nix +++ b/pkgs/development/libraries/zziplib/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { doCheck = true; meta = { - description = "Zziplib, a library to extract data from files archived in a zip file"; + description = "Library to extract data from files archived in a zip file"; longDescription = '' The zziplib library is intentionally lightweight, it offers the ability diff --git a/pkgs/development/python-modules/4suite/default.nix b/pkgs/development/python-modules/4suite/default.nix index 9f900e4f50ab..94eec40d51fb 100644 --- a/pkgs/development/python-modules/4suite/default.nix +++ b/pkgs/development/python-modules/4suite/default.nix @@ -10,4 +10,9 @@ stdenv.mkDerivation rec { buildInputs = [python]; buildPhase = "true"; installPhase = "python ./setup.py install --prefix=$out"; + + # None of the tools installed to bin/ work. They all throw an exception + # similar to this: + # ImportError: No module named Ft.Xml.XPath._4xpath + meta.broken = true; } diff --git a/pkgs/development/python-modules/tables/default.nix b/pkgs/development/python-modules/tables/default.nix new file mode 100644 index 000000000000..d3edf54788ab --- /dev/null +++ b/pkgs/development/python-modules/tables/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchurl, python, buildPythonPackage +, cython, bzip2, lzo, numpy, numexpr, hdf5 }: + +buildPythonPackage rec { + version = "3.1.1"; + name = "tables-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/pytables/${name}.tar.gz"; + sha256 = "18rdzv9xwiapb5c8y47rk2fi3fdm2dpjf68wfycma67ifrih7f9r"; + }; + + buildInputs = [ hdf5 cython bzip2 lzo ]; + propagatedBuildInputs = [ numpy numexpr ]; + + # The setup script complains about missing run-paths, but they are + # actually set. + setupPyBuildFlags = + [ "--hdf5=${hdf5}" + "--lzo=${lzo}" + "--bzip2=${bzip2}" + ]; + setupPyInstallFlags = setupPyBuildFlags; + + # Run the test suite. + # It requires the build path to be in the python search path. + # These tests take quite some time. + # If the hdf5 library is built with zlib then there is only one + # test-failure. That is the same failure as described in the following + # github issue: + # https://github.com/PyTables/PyTables/issues/269 + checkPhase = '' + ${python}/bin/${python.executable} < Makefile.local echo "USE_OPENAL_DLOPEN = 0" >> Makefile.local diff --git a/pkgs/games/zoom/default.nix b/pkgs/games/zoom/default.nix index fdf3aa91e2b0..cb9974580d87 100644 --- a/pkgs/games/zoom/default.nix +++ b/pkgs/games/zoom/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, perl, expat, x11, freetype}: +{ stdenv, fetchurl, perl, expat, x11, freetype }: # !!! assert freetype == xlibs.freetype @@ -10,8 +10,21 @@ stdenv.mkDerivation { sha256 = "1g6van7f7sg3zfcz80mncnnbccyg2hnm0hq4x558vpsm0lf7z5pj"; }; - buildInputs = [perl expat x11 freetype]; + buildInputs = [ perl expat x11 freetype ]; # Zoom doesn't add the right directory in the include path. - CFLAGS = ["-I" (freetype + "/include/freetype2")]; + CFLAGS = [ "-I" (freetype + "/include/freetype2") ]; + + meta = with stdenv.lib; { + description = "Player for Z-Code, TADS and HUGO stories or games, usually text adventures ('interactive fiction')"; + longDescription = '' + Zoom is a player for Z-Code, TADS and HUGO stories or games. These are + usually text adventures ('interactive fiction'), and were first created + by Infocom with the Zork series of games. Throughout the 80's, Infocom + released many interactive fiction stories before their ambitions to enter + the database market finally brought them low. + ''; + license = licenses.gpl3; + platforms = platforms.linux; + }; } diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix index f47902cd0bf1..3dd3d4bc7311 100644 --- a/pkgs/misc/emulators/wine/winetricks.nix +++ b/pkgs/misc/emulators/wine/winetricks.nix @@ -2,13 +2,13 @@ , cabextract, unzip, p7zip, gnused, gnugrep, bash } : stdenv.mkDerivation rec { - rev = "1083"; + rev = "1199"; name = "winetricks-${rev}"; src = fetchsvn { url = "http://winetricks.googlecode.com/svn/trunk"; inherit rev; - sha256 = "0zakwn7g2ni6xw92i1y3pngyaxsr93714s4jy11adf7rxdkj0a32"; + sha256 = "1kji1n6ps09g8xnl9m7vqk3vkl03abzwnc43c52i8p0adnv06khb"; }; buildInputs = [ perl which ]; @@ -28,4 +28,3 @@ stdenv.mkDerivation rec { maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; } - diff --git a/pkgs/misc/maven/default.nix b/pkgs/misc/maven/default.nix index ec2b57e222a0..8367e6ea72a1 100644 --- a/pkgs/misc/maven/default.nix +++ b/pkgs/misc/maven/default.nix @@ -1,15 +1,24 @@ -{stdenv, fetchurl, jdk, makeWrapper}: +{ stdenv, fetchurl, jdk, makeWrapper }: assert jdk != null; stdenv.mkDerivation { - name = "apache-maven-3.0.4"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://apache/maven/binaries/apache-maven-3.0.4-bin.tar.gz; - sha256 = "0bxa7x8ifm8590nxifhsh3sxzm6aicbczyx21vibg3606ih8fnnk"; - }; - - buildInputs = [makeWrapper]; - inherit jdk; + name = "apache-maven-3.0.4"; + + builder = ./builder.sh; + + src = fetchurl { + url = mirror://apache/maven/binaries/apache-maven-3.0.4-bin.tar.gz; + sha256 = "0bxa7x8ifm8590nxifhsh3sxzm6aicbczyx21vibg3606ih8fnnk"; + }; + + buildInputs = [ makeWrapper ]; + + inherit jdk; + + meta = with stdenv.lib; { + description = "Build automation tool (used primarily for Java projects)"; + homepage = http://maven.apache.org/; + license = licenses.asl20; + }; } diff --git a/pkgs/os-specific/linux/broadcom-sta/cfg80211_ibss_joined-channel-parameter.patch b/pkgs/os-specific/linux/broadcom-sta/cfg80211_ibss_joined-channel-parameter.patch new file mode 100644 index 000000000000..5596c0ebcf2e --- /dev/null +++ b/pkgs/os-specific/linux/broadcom-sta/cfg80211_ibss_joined-channel-parameter.patch @@ -0,0 +1,17 @@ +Add channel parameter to cfg80211_ibss_joined call + +--- a/src/wl/sys/wl_cfg80211_hybrid.c ++++ b/src/wl/sys/wl_cfg80211_hybrid.c +@@ -1841,7 +1841,12 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev, + wl_get_assoc_ies(wl); + memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN); + wl_update_bss_info(wl); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) + cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL); ++#else ++ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, ++ &wl->conf->channel, GFP_KERNEL); ++#endif + set_bit(WL_STATUS_CONNECTED, &wl->status); + wl->profile->active = true; + } diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index 5955543f8e1e..1ed13c2e4501 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation { patches = [ ./linux-recent.patch ./license.patch + ./cfg80211_ibss_joined-channel-parameter.patch ]; makeFlags = "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}"; diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix index 62a3cfa631e7..87e8fa5b074e 100644 --- a/pkgs/os-specific/linux/gradm/default.nix +++ b/pkgs/os-specific/linux/gradm/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "gradm-${version}"; - version = "3.0-201401291757"; + version = "3.0-201405281853"; src = fetchurl { url = "http://grsecurity.net/stable/${name}.tar.gz"; - sha256 = "19p7kaqbvf41scc63n69b5v5xzpw3mbf5zy691rply8hdm7736cw"; + sha256 = "0yjmbjhm71cik5j8h2prgk40wki3sflwbf2zqmc4pwaqlvis9s2f"; }; buildInputs = [ gcc coreutils findutils binutils pam flex bison bash ]; diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index ac2ba6113868..a08ad5ea53d1 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.41"; + version = "3.10.44"; extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0rpz2nxay0a4573dnnb8szq3ly3bhjd6wrz5z6iw3kpj19crs0r1"; + sha256 = "06brvvxkgx4im4jzyl08y8hifgqb8ndxlhdkczwlqx3cgs6769c0"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix index 33bed4213b41..7d5ff606eb98 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.12.22"; + version = "3.12.23"; extraMeta.branch = "3.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0c9rw11iihjimqb6mdmwn4q67ds7jg4qibj5ijj5pdmkdqzj7g54"; + sha256 = "0aa9vnyk4p6hg4fp4rm4a95cn4p16j2dfrhc3cfznpcdkpi5q9m7"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.13.nix b/pkgs/os-specific/linux/kernel/linux-3.13.nix deleted file mode 100644 index d84cec235cec..000000000000 --- a/pkgs/os-specific/linux/kernel/linux-3.13.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, fetchurl, ... } @ args: - -import ./generic.nix (args // rec { - version = "3.13.11"; - extraMeta.branch = "3.13"; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1nhi5m0nnrb7v2gqpa3181p32k5hm5jwkf647vs80r14750gxlpw"; - }; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.canDisableNetfilterConntrackHelpers = true; - features.netfilterRPFilter = true; -} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix index 8675c529bde7..4fbca05501d3 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.14.6"; + version = "3.14.8"; extraMeta.branch = "3.14"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1wk3zdka9n49ixl2s7djavbk0b2nd0772gbmiaxi9mljah9inlhw"; + sha256 = "0l2k7c8i3vzcs8mwdy3h1yzlqli6vr56wbn6bxp4nyvxkwxlhs5d"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix index d5fd820cac0b..80b9ff614d66 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.2.59"; + version = "3.2.60"; extraMeta.branch = "3.2"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0a62nmn90k3g48m8g3y27q6a0qwa3k2s6synss7378kdi4f938i4"; + sha256 = "10nigsr0i08ykmkbalsjm4v283iy42zxgxxl77h6484xxb52bw7s"; }; # We don't provide these patches if grsecurity is enabled, because diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index 165baf0a17f4..8308340f3f5e 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.91"; + version = "3.4.94"; extraMeta.branch = "3.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "003l9i14m5ci2232wl68nxbgi0ipkzq00yfgxfp9cmh2sipxy1dk"; + sha256 = "0kc1s38zij39z8mrk9x29wizhbn4i7c7gyd796s1ib4826p3k48k"; }; kernelPatches = args.kernelPatches ++ diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 541384a8c118..bafac2fc58df 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -2,13 +2,13 @@ import ./generic.nix (args // rec { # Reason to add: RTL8192EE - version = "3.16-rc1"; - modDirVersion = "3.16.0-rc1"; + version = "3.16-rc2"; + modDirVersion = "3.16.0-rc2"; extraMeta.branch = "3.16"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/testing/linux-${version}.tar.xz"; - sha256 = "1y2ssifw6db40mr4j6k9c0kjwb4ssrrps74pc38krq4d6yzinhmq"; + sha256 = "12bxf62qqsf471ak6rj4gbvvjsybsamgwj9p8bphr98dp14js27w"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index c0cca64967c4..eb4d7a100be9 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -60,24 +60,17 @@ rec { }; grsecurity_stable = grsecPatch - { kversion = "3.2.59"; - revision = "201406042136"; + { kversion = "3.14.8"; + revision = "201406222110"; branch = "stable"; - sha256 = "01frz80n7zl3yyl11d1i517n0rw8ivb46cl0swp3zgjx29adwc8s"; - }; - - grsecurity_vserver = grsecPatch - { kversion = "3.2.59"; - revision = "vs2.3.2.16-201406042138"; - branch = "vserver"; - sha256 = "1vlmcf2fshxvhsparmvwlbn3gpccc8zjc341sjwsmyc3i8csmysr"; + sha256 = "0jar710hqpjkp4g3ldrbcpgc170v9qp8ykajq5fi8mxx4j54gjwa"; }; grsecurity_unstable = grsecPatch - { kversion = "3.14.5"; - revision = "201406021708"; + { kversion = "3.15.1"; + revision = "201406222112"; branch = "test"; - sha256 = "002sbbcmvg6wa41a1q8vgf3zcjakns72dc885b6jml0v396hb5c6"; + sha256 = "04sbpmzgfgn7hjiln9baynpgr7k67lm0b5wn2z8i2jsjigfmv0r4"; }; grsec_fix_path = diff --git a/pkgs/os-specific/linux/spl/3_12-compat.patch b/pkgs/os-specific/linux/spl/3_12-compat.patch deleted file mode 100644 index b196098b7df2..000000000000 --- a/pkgs/os-specific/linux/spl/3_12-compat.patch +++ /dev/null @@ -1,429 +0,0 @@ -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 deleted file mode 100644 index 40946931c802..000000000000 --- a/pkgs/os-specific/linux/spl/3_13-compat-1.patch +++ /dev/null @@ -1,61 +0,0 @@ -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 deleted file mode 100644 index 1f487f042f81..000000000000 --- a/pkgs/os-specific/linux/spl/3_13-compat-2.patch +++ /dev/null @@ -1,168 +0,0 @@ -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 e74d0f0ef752..944fb6ff554c 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, kernel, perl, autoconf, automake, libtool, coreutils, gawk }: stdenv.mkDerivation { - name = "spl-0.6.2-${kernel.version}"; + name = "spl-0.6.3-${kernel.version}"; src = fetchurl { - url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.2.tar.gz; - sha256 = "196scl8q0bkkak6m0p1l1fz254cgsizqm73bf9wk3iynamq7qmrw"; + url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.3.tar.gz; + sha256 = "1qqzyj2if5wai4jiwml4i8s6v8k7hbi7jmiph800lhkk5j8s72l9"; }; - patches = [ ./install_prefix.patch ./3_12-compat.patch ./3_13-compat-1.patch ./3_13-compat-2.patch ./const.patch ]; + patches = [ ./install_prefix.patch ./const.patch ]; buildInputs = [ perl autoconf automake libtool ]; diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix index ba7ccc7348ee..d3ed285ccfef 100644 --- a/pkgs/os-specific/linux/spl/git.nix +++ b/pkgs/os-specific/linux/spl/git.nix @@ -1,14 +1,14 @@ { stdenv, fetchgit, kernel, perl, autoconf, automake, libtool, coreutils, gawk }: stdenv.mkDerivation { - name = "spl-0.6.3pre-${kernel.version}"; + name = "spl-0.6.3-${kernel.version}"; src = fetchgit { url = git://github.com/zfsonlinux/spl.git; - rev = "89aa97059d7ddad668a5118aef7914743162a5e8"; - sha256 = "1x4pba26zbyly8xd9q8s4av9v88ck0n9szxx72wzcn0s25rsyanx"; + rev = "31cb5383bff0fddc5058973e32a6f2c446d45e59"; + sha256 = "0mcivbddms8kbapbs9x6achqyvh5i6h1rd2b3jm8g5yjn0flc5gl"; }; - patches = [ ./install_prefix.patch ]; + patches = [ ./install_prefix.patch ./const.patch ]; buildInputs = [ perl autoconf automake libtool ]; diff --git a/pkgs/os-specific/linux/zfs/3.13-compat.patch b/pkgs/os-specific/linux/zfs/3.13-compat.patch deleted file mode 100644 index f89d38f72acc..000000000000 --- a/pkgs/os-specific/linux/zfs/3.13-compat.patch +++ /dev/null @@ -1,43 +0,0 @@ -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 f8f3c9ed3165..aec95832d16c 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, kernel, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }: stdenv.mkDerivation { - name = "zfs-0.6.2-${kernel.version}"; + name = "zfs-0.6.3-${kernel.version}"; src = fetchurl { - url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.2.tar.gz; - sha256 = "18b5f18k8mwb17r5ippsilmp1a2sqjw9fwn0z82159dkhsadg33b"; + url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.3.tar.gz; + sha256 = "06rrip9fxn13x6qnyp6br68r9pcygb95lld25hnnj88m2vagvg19"; }; - patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ./libblkid-1db7b9b.patch ./gcc-4.8.patch ./3.13-compat.patch ]; + patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ]; buildInputs = [ spl perl autoconf automake libtool zlib libuuid coreutils ]; @@ -28,9 +28,12 @@ stdenv.mkDerivation { ''; configureFlags = '' + --disable-systemd --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build --with-spl=${spl}/libexec/spl + --with-dracutdir=$$out/lib/dracut + --with-udevdir=$$out/lib/udev ''; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/zfs/gcc-4.8.patch b/pkgs/os-specific/linux/zfs/gcc-4.8.patch deleted file mode 100644 index 341360163761..000000000000 --- a/pkgs/os-specific/linux/zfs/gcc-4.8.patch +++ /dev/null @@ -1,114 +0,0 @@ -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/git.nix b/pkgs/os-specific/linux/zfs/git.nix index cc75011c7da9..ebbbc994d020 100644 --- a/pkgs/os-specific/linux/zfs/git.nix +++ b/pkgs/os-specific/linux/zfs/git.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, kernel, spl_git, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }: stdenv.mkDerivation { - name = "zfs-0.6.3pre-${kernel.version}"; + name = "zfs-0.6.3-${kernel.version}"; src = fetchgit { url = git://github.com/zfsonlinux/zfs.git; - rev = "de39ec11b885f97e6256324ee89eaf75af9852f6"; - sha256 = "02hrhka9hg0vn4z20x7xzwrkr340pv9qwvwj8phjdm5ln321jh33"; + rev = "07dabd234dd51a1e5adc5bd21cddf5b5fdc70732"; + sha256 = "1yqsfdhyzh33aisfvwqd692n5kfgnlz7yjixd2gqn8vx9bv0dz0b"; }; patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ]; @@ -33,6 +33,8 @@ stdenv.mkDerivation { --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build --with-spl=${spl_git}/libexec/spl + --with-dracutdir=$$out/lib/dracut + --with-udevdir=$$out/lib/udev ''; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch b/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch deleted file mode 100644 index 894bf395ce85..000000000000 --- a/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch +++ /dev/null @@ -1,118 +0,0 @@ -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/etcd/default.nix b/pkgs/servers/etcd/default.nix new file mode 100644 index 000000000000..1fb21f2b8ab6 --- /dev/null +++ b/pkgs/servers/etcd/default.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +stdenv.mkDerivation rec { + version = "0.4.3"; + name = "etcd-${version}"; + + src = import ./deps.nix { + inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; + }; + + buildInputs = [ go ]; + + buildPhase = '' + export GOPATH=$src + go build -v -o etcd github.com/coreos/etcd + ''; + + installPhase = '' + ensureDir $out/bin + mv etcd $out/bin/etcd + ''; + + meta = with stdenv.lib; { + description = "A highly-available key value store for shared configuration and service discovery"; + homepage = http://coreos.com/using-coreos/etcd/; + license = licenses.asl20; + maintainers = with maintainers; [ cstrahan ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/etcd/deps.nix b/pkgs/servers/etcd/deps.nix new file mode 100644 index 000000000000..e9fd4a50d3e0 --- /dev/null +++ b/pkgs/servers/etcd/deps.nix @@ -0,0 +1,54 @@ +{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +let + goDeps = [ + { + root = "github.com/coreos/etcd"; + src = fetchFromGitHub { + owner = "coreos"; + repo = "etcd"; + rev = "9970141f76241c909977af7bafe7b6f2c4923de8"; + sha256 = "1bva46gfy4rkfw8k8pb3lsfzfg16csds01f0nvfrkh99pr7sp0sy"; + }; + } + { + root = "github.com/stathat/go"; + src = fetchFromGitHub { + owner = "stathat"; + repo = "go"; + rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77"; + sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi"; + }; + } + { + root = "github.com/stretchr/objx"; + src = fetchFromGitHub { + owner = "stretchr"; + repo = "objx"; + rev = "cbeaeb16a013161a98496fad62933b1d21786672"; + sha256 = "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1"; + }; + } + { + root = "github.com/stretchr/testify"; + src = fetchFromGitHub { + owner = "stretchr"; + repo = "testify"; + rev = "3e03dde72495487a4deb74152ac205d0619fbc8d"; + sha256 = "1xd9sbi6y68cfwkxgybcz0dbfx4r6jmxq51wjj6six3wm9p7m8ls"; + }; + } + ]; + +in + +stdenv.mkDerivation rec { + name = "go-deps"; + + buildCommand = + lib.concatStrings + (map (dep: '' + mkdir -p $out/src/`dirname ${dep.root}` + ln -s ${dep.src} $out/src/${dep.root} + '') goDeps); +} diff --git a/pkgs/servers/fleet/default.nix b/pkgs/servers/fleet/default.nix new file mode 100644 index 000000000000..627c1ff0cf90 --- /dev/null +++ b/pkgs/servers/fleet/default.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +stdenv.mkDerivation rec { + version = "0.5.0"; + name = "fleet-${version}"; + + src = import ./deps.nix { + inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; + }; + + buildInputs = [ go ]; + + buildPhase = '' + export GOPATH=$src + go build -v -o fleet github.com/coreos/fleet + ''; + + installPhase = '' + ensureDir $out/bin + mv fleet $out/bin + ''; + + meta = with stdenv.lib; { + description = "A distributed init system"; + homepage = http://coreos.com/using-coreos/clustering/; + license = licenses.asl20; + maintainers = with maintainers; [ cstrahan ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/fleet/deps.nix b/pkgs/servers/fleet/deps.nix new file mode 100644 index 000000000000..d0529db37a2f --- /dev/null +++ b/pkgs/servers/fleet/deps.nix @@ -0,0 +1,81 @@ +{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +let + goDeps = [ + { + root = "code.google.com/p/gogoprotobuf"; + src = fetchgit { + url = "https://code.google.com/p/gogoprotobuf"; + rev = "7fd1620f09261338b6b1ca1289ace83aee0ec946"; + sha256 = "0f13y29zpxkv7b7kwnszygvg04fd5m9r8vpkl1wa3gxnc6az54i9"; + }; + } + { + root = "github.com/coreos/etcd"; + src = fetchFromGitHub { + owner = "coreos"; + repo = "etcd"; + rev = "1359d29fa451b059bb76b51260610d92853e7316"; + sha256 = "0iz3vmf3nfp1i5r8al207wm0jvj68i47a814w90b1jl8g4f2amp7"; + }; + } + { + root = "github.com/coreos/fleet"; + src = fetchFromGitHub { + owner = "coreos"; + repo = "fleet"; + rev = "da0a02ed3b07d83b0b542dcdee56e08d2457ab9c"; + sha256 = "0b8aq4ppyv1fjvf3f2qjq80mvjvf9r104bf4048wgsrs0pccs6s8"; + }; + } + { + root = "github.com/coreos/raft"; + src = fetchFromGitHub { + owner = "coreos"; + repo = "raft"; + rev = "67dca7288f1665b59860421673d46314f4348e45"; + sha256 = "1l27kjkwcxgx89d2m537plagbp1wh6qlzxirza6lliblrgxry6mw"; + }; + } + { + root = "github.com/stathat/go"; + src = fetchFromGitHub { + owner = "stathat"; + repo = "go"; + rev = "01d012b9ee2ecc107cb28b6dd32d9019ed5c1d77"; + sha256 = "0mrn70wjfcs4rfkmga3hbfqmbjk33skcsc8pyqxp02bzpwdpc4bi"; + }; + } + { + root = "github.com/stretchr/objx"; + src = fetchFromGitHub { + owner = "stretchr"; + repo = "objx"; + rev = "cbeaeb16a013161a98496fad62933b1d21786672"; + sha256 = "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1"; + }; + } + { + root = "github.com/stretchr/testify"; + src = fetchFromGitHub { + owner = "stretchr"; + repo = "testify"; + rev = "3e03dde72495487a4deb74152ac205d0619fbc8d"; + sha256 = "1xd9sbi6y68cfwkxgybcz0dbfx4r6jmxq51wjj6six3wm9p7m8ls"; + }; + } + ]; + +in + +stdenv.mkDerivation rec { + name = "go-deps"; + + buildCommand = + lib.concatStrings + (map (dep: '' + mkdir -p $out/src/`dirname ${dep.root}` + ln -s ${dep.src} $out/src/${dep.root} + '') goDeps); +} + diff --git a/pkgs/servers/http/tomcat/axis2/default.nix b/pkgs/servers/http/tomcat/axis2/default.nix index 4bf3d59685b0..cf64ba2d3c69 100644 --- a/pkgs/servers/http/tomcat/axis2/default.nix +++ b/pkgs/servers/http/tomcat/axis2/default.nix @@ -10,4 +10,8 @@ stdenv.mkDerivation { buildInputs = [ unzip apacheAnt jdk ]; builder = ./builder.sh; + + meta = { + description = "Web Services / SOAP / WSDL engine, the successor to the widely used Apache Axis SOAP stack"; + }; } diff --git a/pkgs/servers/monitoring/nagios/default.nix b/pkgs/servers/monitoring/nagios/default.nix index dba063bb1069..5af759db1c9d 100644 --- a/pkgs/servers/monitoring/nagios/default.nix +++ b/pkgs/servers/monitoring/nagios/default.nix @@ -1,23 +1,30 @@ -{ stdenv, fetchurl, perl, gdSupport ? false -, gd ? null, libpng ? null, zlib ? null -}: +{ stdenv, fetchurl, perl, php, gd, libpng, zlib }: stdenv.mkDerivation { - name = "nagios-2.10"; + name = "nagios-4.0.7"; src = fetchurl { - url = mirror://sourceforge/nagios/nagios-2.10.tar.gz; - md5 = "8c3a29e138f2ff8c8abbd3dd8a40c4b6"; + url = mirror://sourceforge/nagios/nagios-4.x/nagios-4.0.7/nagios-4.0.7.tar.gz; + sha256 = "1687qnbsag84r57y9745g2klypacfixd6gkzaj42lmzn0v8y27gg"; }; - patches = [./nagios.patch]; - buildInputs = [perl] ++ (if gdSupport then [gd libpng zlib] else []); + patches = [ ./nagios.patch ]; + buildInputs = [ php perl gd libpng zlib ]; + + configureFlags = [ "--localstatedir=/var/lib/nagios" ]; buildFlags = "all"; + + # Do not create /var directories + preInstall = '' + substituteInPlace Makefile --replace '$(MAKE) install-basic' "" + ''; installTargets = "install install-config"; meta = { description = "A host, service and network monitoring program"; - homepage = http://www.nagios.org/; - license = "GPL"; + homepage = http://www.nagios.org/; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice relrod ]; }; } diff --git a/pkgs/servers/monitoring/nagios/nagios.patch b/pkgs/servers/monitoring/nagios/nagios.patch index 6fc271536171..cec4c4942b53 100644 --- a/pkgs/servers/monitoring/nagios/nagios.patch +++ b/pkgs/servers/monitoring/nagios/nagios.patch @@ -1,7 +1,7 @@ -diff -ruN nagios-2.6/configure nagios-2.6.new/configure ---- nagios-2.6/configure 2006-11-28 03:29:04.000000000 +0100 -+++ nagios-2.6.new/configure 2006-12-28 01:22:56.000000000 +0100 -@@ -4810,7 +4810,8 @@ +diff -ruN nagios-4.0.7.orig/configure nagios-4.0.7/configure +--- nagios-4.0.7.orig/configure 2014-06-03 10:41:42.000000000 -0400 ++++ nagios-4.0.7/configure 2014-06-12 00:30:17.516468583 -0400 +@@ -6014,7 +6014,8 @@ #define DEFAULT_NAGIOS_GROUP "$nagios_grp" _ACEOF @@ -11,3 +11,13 @@ diff -ruN nagios-2.6/configure nagios-2.6.new/configure +@@ -6035,7 +6036,8 @@ + + + +-COMMAND_OPTS="-o $command_user -g $command_grp" ++#COMMAND_OPTS="-o $command_user -g $command_grp" ++COMMAND_OPTS="" + + + MAIL_PROG=no diff --git a/pkgs/servers/monitoring/nagios/plugins/official/default.nix b/pkgs/servers/monitoring/nagios/plugins/official-2.x.nix similarity index 50% rename from pkgs/servers/monitoring/nagios/plugins/official/default.nix rename to pkgs/servers/monitoring/nagios/plugins/official-2.x.nix index c466813b23b0..3420003c641c 100644 --- a/pkgs/servers/monitoring/nagios/plugins/official/default.nix +++ b/pkgs/servers/monitoring/nagios/plugins/official-2.x.nix @@ -1,11 +1,12 @@ -{stdenv, fetchurl, openssh}: +{ stdenv, fetchurl, openssh }: -stdenv.mkDerivation { - name = "nagios-plugins-1.4.10"; +stdenv.mkDerivation rec { + name = "nagios-plugins-${version}"; + version = "2.0"; src = fetchurl { - url = https://www.monitoring-plugins.org/download/nagios-plugins-1.4.10.tar.gz; - sha256 = "0vm7sjiygxbfc5vbsi1g0dakpvynfzi86fhqx4yxd61brn0g8ghr"; + url = "http://nagios-plugins.org/download/${name}.tar.gz"; + sha256 = "113nv9jqpbqpdjqilqbj1iyshxyvcmq8w94bq5ajz4dxi9j8045s"; }; # !!! Awful hack. Grrr... this of course only works on NixOS. @@ -22,11 +23,14 @@ stdenv.mkDerivation { postInstall = "ln -s libexec $out/bin"; - buildInputs = [openssh]; # !!! make openssh a runtime dependency only + # !!! make openssh a runtime dependency only + buildInputs = [ openssh ]; meta = { - description = "Plugins for Nagios"; - homepage = http://www.monitoring-plugins.org; - license = "GPL"; + description = "Official plugins for Nagios"; + homepage = http://www.nagios.org/download/plugins; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice relrod ]; }; } diff --git a/pkgs/servers/nsq/default.nix b/pkgs/servers/nsq/default.nix new file mode 100644 index 000000000000..b1570d96c7b6 --- /dev/null +++ b/pkgs/servers/nsq/default.nix @@ -0,0 +1,37 @@ +{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +stdenv.mkDerivation rec { + version = "0.2.28"; + name = "nsq-${version}"; + + src = import ./deps.nix { + inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; + }; + + buildInputs = [ go ]; + + buildPhase = '' + export GOPATH=$src + apps=(nsq_pubsub nsq_stat nsq_tail nsq_to_file nsq_to_http nsq_to_nsq nsqd nsqlookupd) + + mkdir build + + go build -v -o build/nsqadmin github.com/bitly/nsq/nsqadmin + for app in "''${apps[@]}"; do + go build -v -o build/$app github.com/bitly/nsq/apps/$app + done + ''; + + installPhase = '' + ensureDir $out/bin + mv build/* $out/bin + ''; + + meta = with stdenv.lib; { + description = "A realtime distributed messaging platform"; + homepage = http://nsq.io/; + license = licenses.mit; + maintainers = with maintainers; [ cstrahan ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/nsq/deps.nix b/pkgs/servers/nsq/deps.nix new file mode 100644 index 000000000000..8518ceed9169 --- /dev/null +++ b/pkgs/servers/nsq/deps.nix @@ -0,0 +1,134 @@ +{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +let + goDeps = [ + { + root = "code.google.com/p/snappy-go"; + src = fetchhg { + url = "http://code.google.com/p/snappy-go"; + tag = "14"; + sha256 = "0ywa52kcii8g2a9lbqcx8ghdf6y56lqq96sl5nl9p6h74rdvmjr7"; + }; + } + { + root = "github.com/BurntSushi/toml"; + src = fetchFromGitHub { + owner = "BurntSushi"; + repo = "toml"; + rev = "f87ce853111478914f0bcffa34d43a93643e6eda"; + sha256 = "0g8203y9ycf34j2q3ymxb8nh4habgwdrjn9vdgrginllx73yq565"; + }; + } + { + root = "github.com/bitly/go-hostpool"; + src = fetchFromGitHub { + owner = "bitly"; + repo = "go-hostpool"; + rev = "fed86fae5cacdc77e7399937e2f8836563620a2e"; + sha256 = "0nbssfp5ksj4hhc0d8lfq54afd9nqv6qzk3vi6rinxr3fgplrj44"; + }; + } + { + root = "github.com/bitly/go-nsq"; + src = fetchFromGitHub { + owner = "bitly"; + repo = "go-nsq"; + rev = "c79a282f05364e340eadc2ce2f862a3d44eea9c0"; + sha256 = "19jlwj5419p5xwjzfnzlddjnbh5g7ifnqhd00i5p0b6ww1gk011p"; + }; + } + { + root = "github.com/bitly/go-simplejson"; + src = fetchFromGitHub { + owner = "bitly"; + repo = "go-simplejson"; + rev = "1cfceb0e12f47ec02665ef480212d7b531d6f4c5"; + sha256 = "1d8x0himl58qn87lv418djy6mbs66p9ai3zpqq13nhkfl67fj3bi"; + }; + } + { + root = "github.com/bitly/nsq"; + src = fetchFromGitHub { + owner = "bitly"; + repo = "nsq"; + rev = "048691a8242c9ec224fc46bf7d05f321026b69f8"; + sha256 = "0drmf1j5w3q4l6f7xjy3y7d7cl50gcx0qwci6mahxsyaaclx60yx"; + }; + } + { + root = "github.com/bmizerany/assert"; + src = fetchFromGitHub { + owner = "bmizerany"; + repo = "assert"; + rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3"; + sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc"; + }; + } + { + root = "github.com/bmizerany/perks"; + src = fetchFromGitHub { + owner = "bmizerany"; + repo = "perks"; + rev = "aac9e2eab5a334037057336897fd10b0289a5ae8"; + sha256 = "1d027jgc327qz5xmal0hrpqvsj45i9yqmm9pxk3xp3hancvz3l3k"; + }; + } + { + root = "github.com/kr/pretty"; + src = fetchFromGitHub { + owner = "kr"; + repo = "pretty"; + rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f"; + sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl"; + }; + } + { + root = "github.com/kr/pty"; + src = fetchFromGitHub { + owner = "kr"; + repo = "pty"; + rev = "67e2db24c831afa6c64fc17b4a143390674365ef"; + sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d"; + }; + } + { + root = "github.com/kr/text"; + src = fetchFromGitHub { + owner = "kr"; + repo = "text"; + rev = "6807e777504f54ad073ecef66747de158294b639"; + sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698"; + }; + } + { + root = "github.com/mreiferson/go-options"; + src = fetchFromGitHub { + owner = "mreiferson"; + repo = "go-options"; + rev = "896a539cd709f4f39d787562d1583c016ce7517e"; + sha256 = "0hg0n5grcjcj5719rqchz0plp39wfk3znqxw8y354k4jwsqwmn17"; + }; + } + { + root = "github.com/mreiferson/go-snappystream"; + src = fetchFromGitHub { + owner = "mreiferson"; + repo = "go-snappystream"; + rev = "97c96e6648e99c2ce4fe7d169aa3f7368204e04d"; + sha256 = "08ylvx9r6b1fi76v6cqjvny4yqsvcqjfsg93jdrgs7hi4mxvxynn"; + }; + } + ]; + +in + +stdenv.mkDerivation rec { + name = "go-deps"; + + buildCommand = + lib.concatStrings + (map (dep: '' + mkdir -p $out/src/`dirname ${dep.root}` + ln -s ${dep.src} $out/src/${dep.root} + '') goDeps); +} diff --git a/pkgs/servers/serfdom/default.nix b/pkgs/servers/serfdom/default.nix index 274fc89f94d0..40b41c8f9d39 100644 --- a/pkgs/servers/serfdom/default.nix +++ b/pkgs/servers/serfdom/default.nix @@ -1,126 +1,30 @@ -{ stdenv, fetchurl, fetchgit, fetchhg, go, lib }: +{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: -let - goDeps = [ - { - dir = "github.com/hashicorp"; - name = "serf"; - rev = "c5b41a9d1d261135117a8d501d3293efade3cc74"; - sha256 = "a314d3c13fb370842a8f7c6650abfa907b51172a09c64f9184a240fab05b43df"; - fetcher = git; - } - { - dir = "github.com/armon"; - name = "go-metrics"; - rev = "e12c3591b520e819e8234bd585d592774f2b2ad5"; - sha256 = "79476efefb68876fcad7e71e76d95f4a7eece2cfcdc5a9c10f998af3178230ba"; - fetcher = git; - } - { - dir = "github.com/hashicorp"; - name = "logutils"; - rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8"; - sha256 = "184lnn7x1v3xvj6zz1rg9s0252wkkd59kij2iyrrm7y80bym2jys"; - fetcher = git; - } - { - dir = "github.com/hashicorp"; - name = "memberlist"; - rev = "d5be01d1f4d75b086eba4ae808f2767c08cbbf73"; - sha256 = "4ab2b610d439e96c169d9caf9ac0e009d71d3ef9a2fd2c812870b71eb6b27dfc"; - fetcher = git; - } - { - dir = "github.com/ugorji"; - name = "go"; - rev = "71c2886f5a673a35f909803f38ece5810165097b"; - sha256 = "128853bcc5f114c300772cbce316b55e84206fa56705c5b9cc94c1693b11ee94"; - fetcher = git; - } - { - dir = "github.com/mitchellh"; - name = "cli"; - rev = "69f0b65ce53b27f729b1b807b88dc88007f41dd3"; - sha256 = "0hnnqd8vg5ca2hglkrj141ba2akdh7crl2lsrgz8d6ipw6asszx3"; - fetcher = git; - } - { - dir = "github.com/armon"; - name = "mdns"; - rev = "8be7e3ac4e941555169a99d01abcabd3c982d87a"; - sha256 = "87cd3a0ada3b094ee8fc4c4742158e0d051cde893da1ea320158a47d6254f69d"; - fetcher = git; - } - { - dir = "github.com/miekg"; - name = "dns"; - rev = "7ebb4c59b39d5984952a355086606dd91f6cfe86"; - sha256 = "8418ad2d27e607cef1dc0003471416294443e467f2de9df135e3a2ab411e2512"; - fetcher = git; - } - { - 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 = 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.5.0"; - name = "serfdom-${version}"; +stdenv.mkDerivation rec { + version = "0.6.2"; + name = "serfdom-${version}"; - src = fetchurl { - url = "https://github.com/hashicorp/serf/archive/v${version}.tar.gz"; - sha256 = "1p2cpkdx0gck1ypxc98im7gsv3275avpkizhsif3nxvl1xd8g1qp"; - }; + src = import ./deps.nix { + inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub; + }; - buildInputs = [ go ]; + buildInputs = [ go ]; - buildPhase = '' - mkdir $TMPDIR/go - export GOPATH=$TMPDIR/go - ${createGoPathCmds} - go build -v -o bin/serf - ''; + buildPhase = '' + export GOPATH=$src + go build -v -o serf github.com/hashicorp/serf + ''; - installPhase = '' - ensureDir $out/bin - cp bin/serf $out/bin - ''; + installPhase = '' + ensureDir $out/bin + mv serf $out/bin/serf + ''; - meta = with stdenv.lib; { - description = "Serf is a service discovery and orchestration tool that is decentralized, highly available, and fault tolerant"; - homepage = http://www.serfdom.io/; - license = licenses.mpl20; - maintainers = [ maintainers.msackman ]; - platforms = platforms.linux; - }; - } + meta = with stdenv.lib; { + description = "Serf is a service discovery and orchestration tool that is decentralized, highly available, and fault tolerant"; + homepage = http://www.serfdom.io/; + license = licenses.mpl20; + maintainers = with maintainers; [ msackman cstrahan ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/servers/serfdom/deps.nix b/pkgs/servers/serfdom/deps.nix new file mode 100644 index 000000000000..d4da74b54767 --- /dev/null +++ b/pkgs/servers/serfdom/deps.nix @@ -0,0 +1,185 @@ +{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }: + +let + goDeps = [ + { + root = "code.google.com/p/go.net"; + src = fetchhg { + url = "http://code.google.com/p/go.net"; + tag = "134"; + sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv"; + }; + } + { + root = "code.google.com/p/go.text"; + src = fetchhg { + url = "http://code.google.com/p/go.text"; + tag = "85"; + sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr"; + }; + } + { + root = "github.com/armon/circbuf"; + src = fetchFromGitHub { + owner = "armon"; + repo = "circbuf"; + rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf"; + sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s"; + }; + } + { + root = "github.com/armon/go-metrics"; + src = fetchFromGitHub { + owner = "armon"; + repo = "go-metrics"; + rev = "02567bbc4f518a43853d262b651a3c8257c3f141"; + sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar"; + }; + } + { + root = "github.com/armon/mdns"; + src = fetchFromGitHub { + owner = "armon"; + repo = "mdns"; + rev = "70462deb060d44247356ee238ebafd7699ddcffe"; + sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5"; + }; + } + { + root = "github.com/hashicorp/go-syslog"; + src = fetchFromGitHub { + owner = "hashicorp"; + repo = "go-syslog"; + rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c"; + sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81"; + }; + } + { + root = "github.com/hashicorp/logutils"; + src = fetchFromGitHub { + owner = "hashicorp"; + repo = "logutils"; + rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8"; + sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz"; + }; + } + { + root = "github.com/hashicorp/memberlist"; + src = fetchFromGitHub { + owner = "hashicorp"; + repo = "memberlist"; + rev = "17d39b695094be943bfb98442a80b082e6b9ac47"; + sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g"; + }; + } + { + root = "github.com/hashicorp/serf"; + src = fetchFromGitHub { + owner = "hashicorp"; + repo = "serf"; + rev = "4232a3f7b52f755084caf6b2cc2789efa2948555"; + sha256 = "1hxxqrjz08882d205ylakhvvwciahiqdzkwi2a7zwrmx6sxna7sr"; + }; + } + { + root = "github.com/miekg/dns"; + src = fetchFromGitHub { + owner = "miekg"; + repo = "dns"; + rev = "fc67c4b981930a377f8a26a5a1f2c0ccd5dd1514"; + sha256 = "1csjmkx0gl34r4hmkhdbdxb0693f1p10yrjaj8f2jwli9p9sl4mg"; + }; + } + { + root = "github.com/mitchellh/cli"; + src = fetchFromGitHub { + owner = "mitchellh"; + repo = "cli"; + rev = "8262fe3f76f0da53b5674eb35c8c6436430794c3"; + sha256 = "0pqkxh1q49kkxihggrfjs8174d927g4c5qqx00ggw8sqqsgrw6vn"; + }; + } + { + root = "github.com/mitchellh/mapstructure"; + src = fetchFromGitHub { + owner = "mitchellh"; + repo = "mapstructure"; + rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07"; + sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw"; + }; + } + { + root = "github.com/ryanuber/columnize"; + src = fetchFromGitHub { + owner = "ryanuber"; + repo = "columnize"; + rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de"; + sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f"; + }; + } + { + root = "github.com/ugorji/go"; + src = fetchFromGitHub { + owner = "ugorji"; + repo = "go"; + rev = "71c2886f5a673a35f909803f38ece5810165097b"; + sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j"; + }; + } + { + root = "github.com/ugorji/go-msgpack"; + src = fetchFromGitHub { + owner = "ugorji"; + repo = "go-msgpack"; + rev = "75092644046c5e38257395b86ed26c702dc95b92"; + sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98"; + }; + } + { + root = "github.com/vmihailenco/bufio"; + src = fetchFromGitHub { + owner = "vmihailenco"; + repo = "bufio"; + rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66"; + sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983"; + }; + } + { + root = "github.com/vmihailenco/msgpack"; + src = fetchFromGitHub { + owner = "vmihailenco"; + repo = "msgpack"; + rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205"; + sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0"; + }; + } + { + root = "launchpad.net/gocheck"; + src = fetchbzr { + url = "https://launchpad.net/gocheck"; + revision = "87"; + sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0"; + }; + } + { + root = "launchpad.net/mgo"; + src = fetchbzr { + url = "https://launchpad.net/mgo"; + revision = "2"; + sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x"; + }; + } + ]; + +in + +stdenv.mkDerivation rec { + name = "go-deps"; + + buildCommand = + lib.concatStrings + (map (dep: '' + mkdir -p $out/src/`dirname ${dep.root}` + ln -s ${dep.src} $out/src/${dep.root} + '') goDeps); +} diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index d0f7f5ef3e52..1df9f6a440fd 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "10.0.11"; src = fetchurl { - url = "https://fossies.org/linux/misc/${name}.tar.gz"; + url = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz"; sha256 = "1p8h06kns30rlbnzw9ddmihs7r3jhp8xlrl4r6h5d107wkcw86v3"; }; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 124d01df7d49..61e106a136bc 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1869,6 +1869,16 @@ let buildInputs = [pkgconfig libX11 libxkbfile ]; })) // {inherit libX11 libxkbfile ;}; + xkbprint = (stdenv.mkDerivation ((if overrides ? xkbprint then overrides.xkbprint else x: x) { + name = "xkbprint-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xkbprint-1.0.3.tar.bz2; + sha256 = "1h4jb3gjrbjp79h5gcgkjvdxykcy2bmq03smpls820c8wnw6v17s"; + }; + buildInputs = [pkgconfig libX11 libxkbfile ]; + })) // {inherit libX11 libxkbfile ;}; + xkbutils = (stdenv.mkDerivation ((if overrides ? xkbutils then overrides.xkbutils else x: x) { name = "xkbutils-1.0.4"; builder = ./builder.sh; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index a4a349843def..fb159520fc23 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -185,3 +185,4 @@ mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2 mirror://xorg/individual/app/xwd-1.0.6.tar.bz2 mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2 +mirror://xorg/individual/app/xkbprint-1.0.3.tar.bz2 diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix index 37ffb09288e0..704527d28c7b 100644 --- a/pkgs/shells/zsh/default.nix +++ b/pkgs/shells/zsh/default.nix @@ -58,8 +58,15 @@ EOF # XXX: patch zsh to take zwc if newer _or equal_ meta = { - description = "the Z shell"; - longDescription = "Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. Zsh has command line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features."; + description = "The Z shell"; + longDescription = '' + Zsh is a UNIX command interpreter (shell) usable as an interactive login + shell and as a shell script command processor. Of the standard shells, + zsh most closely resembles ksh but includes many enhancements. Zsh has + command line editing, builtin spelling correction, programmable command + completion, shell functions (with autoloading), a history mechanism, and + a host of other features. + ''; license = "MIT-like"; homePage = "http://www.zsh.org/"; maintainers = with stdenv.lib.maintainers; [ chaoflow ]; diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix index 6c485173f858..92d8a22fa476 100644 --- a/pkgs/tools/archivers/zip/default.nix +++ b/pkgs/tools/archivers/zip/default.nix @@ -22,6 +22,7 @@ stdenv.mkDerivation { buildInputs = if enableNLS then [ libnatspec ] else []; meta = { + description = "Compressor/archiver for creating and modifying zipfiles"; homepage = http://www.info-zip.org; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.urkud ]; diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index 5a09ec2a80b9..1c843a666360 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -1,25 +1,36 @@ -{stdenv, fetchurl, fuse, bison, flex, openssl, python, ncurses, readline}: +{stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python, ncurses, readline, + autoconf, automake, libtool, pkgconfig, zlib, libaio}: let s = # Generated upstream information rec { baseName="glusterfs"; - version="3.4.3"; + version="3.5.0"; name="${baseName}-${version}"; - hash="1vzdihsy4da11jsa46n1n2xk6d40g7v0zrlqvs3pb9k07fql5kag"; - url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.3/glusterfs-3.4.3.tar.gz"; - sha256="0j1yvpdb1bydsh3pqlyr23mfvra5bap9rxba910s9cn61mpy99bj"; + url="http://download.gluster.org/pub/gluster/glusterfs/3.5/3.5.0/glusterfs-3.5.0.tar.gz"; + sha256="0d9jlgxg19f2ajf5i4yw4f91n161rsi8fm95442ckci3xnz21zir"; }; buildInputs = [ - fuse bison flex openssl python ncurses readline + fuse bison flex_2_5_35 openssl python ncurses readline + autoconf automake libtool pkgconfig zlib libaio ]; in stdenv.mkDerivation rec { inherit (s) name version; inherit buildInputs; + preConfigure = '' + ./autogen.sh + ''; configureFlags = [ ''--with-mountutildir="$out/sbin"'' ]; + preInstall = '' + substituteInPlace api/examples/Makefile --replace '$(DESTDIR)' $out + substituteInPlace geo-replication/syncdaemon/Makefile --replace '$(DESTDIR)' $out + substituteInPlace geo-replication/syncdaemon/Makefile --replace '$(DESTDIR)' $out + substituteInPlace xlators/features/glupy/examples/Makefile --replace '$(DESTDIR)' $out + substituteInPlace xlators/features/glupy/src/Makefile --replace '$(DESTDIR)' $out + ''; src = fetchurl { inherit (s) url sha256; }; diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix index 83c9b1577935..51dcc2a9c808 100644 --- a/pkgs/tools/graphics/zbar/default.nix +++ b/pkgs/tools/graphics/zbar/default.nix @@ -34,7 +34,14 @@ rec { configureFlags = ["--disable-video"]; meta = { - description = "Bar code toolset"; + description = "Bar code reader"; + longDescription = '' + ZBar is an open source software suite for reading bar codes from various + sources, such as video streams, image files and raw intensity sensors. It + supports many popular symbologies (types of bar codes) including + EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR + Code. + ''; maintainers = with a.lib.maintainers; [ raskin diff --git a/pkgs/tools/misc/convmv/default.nix b/pkgs/tools/misc/convmv/default.nix index 6d1ce21f318d..7db7ebf96d6d 100644 --- a/pkgs/tools/misc/convmv/default.nix +++ b/pkgs/tools/misc/convmv/default.nix @@ -23,6 +23,7 @@ stdenv.mkDerivation rec { buildInputs = [ perl ]; meta = with stdenv.lib; { + description = "Converts filenames from one encoding to another"; platforms = platforms.linux ++ platforms.freebsd ++ platforms.cygwin; maintainers = [ maintainers.urkud ]; }; diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index 01820aaf7780..a7d03d1335f0 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -1,14 +1,22 @@ { stdenv , fetchurl +, zlib ? null +, szip ? null }: -stdenv.mkDerivation { - name = "hdf5-1.8.10-patch1"; +stdenv.mkDerivation rec { + version = "1.8.13"; + name = "hdf5-${version}-patch1"; src = fetchurl { - url = http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.10-patch1.tar.gz; - sha256 = "08ad32fhnci6rdfn6mn3w9v1wcaxdcd326n3ljwkcq4dzhkh28qz"; + url = "http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-${version}.tar.gz"; + sha256 = "1h9qdl321gzm3ihdhlijbl9sh9qcdrw94j7izg64yfqhxj7b7xl2"; }; - buildInputs = [] ; + + buildInputs = [] + ++ stdenv.lib.optional (zlib != null) zlib + ++ stdenv.lib.optional (szip != null) szip; + + configureFlags = if szip != null then "--with-szlib=${szip}" else ""; patches = [./bin-mv.patch]; diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index 7a369744525c..51ab3478ac93 100644 --- a/pkgs/tools/networking/lftp/default.nix +++ b/pkgs/tools/networking/lftp/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, gnutls, pkgconfig, readline, zlib, xz }: +{ stdenv, fetchurl, gnutls, pkgconfig, readline, zlib }: stdenv.mkDerivation rec { - name = "lftp-4.4.16"; + name = "lftp-4.5.2"; src = fetchurl { url = "http://lftp.yar.ru/ftp/${name}.tar.gz"; - sha256 = "1wivcynm4pc18vj4x6r2saczk34ds3slagmz3y3b04rzklplf7s4"; + sha256 = "106llhq9lgvdxlf4r1p94r66fcy5ywfdfvins4dfn9irg0k5gzyv"; }; patches = [ ./no-gets.patch ]; diff --git a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix index d7210b2f616b..84439136d49e 100644 --- a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix +++ b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix @@ -1,4 +1,4 @@ -{ stdenv, makeWrapper, git, subversion, mercurial, bazaar, cvs }: +{ stdenv, makeWrapper, git, subversion, mercurial, bazaar, cvs, unzip, curl, gnused }: stdenv.mkDerivation { name = "nix-prefetch-scripts"; @@ -11,9 +11,13 @@ stdenv.mkDerivation { function copyScript { local name=nix-prefetch-$1; local src=$2; - local exe=$3/bin; + local wrapArgs="" cp $src $out/bin/$name; - wrapProgram $out/bin/$name --suffix PATH : "$exe" + for dep in ''${@:3}; do + wrapArgs="$wrapArgs --prefix PATH : $dep/bin" + done + wrapArgs="$wrapArgs --prefix PATH : ${gnused}/bin" + wrapProgram $out/bin/$name $wrapArgs } copyScript "hg" ${../../../build-support/fetchhg/nix-prefetch-hg} ${mercurial} @@ -21,6 +25,7 @@ stdenv.mkDerivation { copyScript "svn" ${../../../build-support/fetchsvn/nix-prefetch-svn} ${subversion} copyScript "bzr" ${../../../build-support/fetchbzr/nix-prefetch-bzr} ${bazaar} copyScript "cvs" ${../../../build-support/fetchcvs/nix-prefetch-cvs} ${cvs} + copyScript "zip" ${../../../build-support/fetchzip/nix-prefetch-zip} ${unzip} ${curl} ''; meta = with stdenv.lib; { @@ -30,4 +35,4 @@ stdenv.mkDerivation { # Quicker to build than to download, I hope hydraPlatforms = []; }; -} \ No newline at end of file +} diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index f242c3f323ae..9b8d33b6b696 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -13,11 +13,11 @@ assert useUsb -> (libusb != null); assert useCurl -> (curl != null); stdenv.mkDerivation rec { - name = "gnupg-2.0.22"; + name = "gnupg-2.0.24"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "0lg210acj2rxq291q4cwamg9gx6gh2prb1xa93y5jhw5b6r0lza3"; + sha256 = "0ch2hbindk832cy7ca00a7whw84ndm0nhqrl24a5fw4ldkca2x6r"; }; buildInputs diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix index 362ec3a25bbd..a25ae35b6cc9 100644 --- a/pkgs/tools/security/gnupg1/default.nix +++ b/pkgs/tools/security/gnupg1/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, readline, bzip2 }: stdenv.mkDerivation rec { - name = "gnupg-1.4.16"; + name = "gnupg-1.4.17"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "0bsa1yqa3ybhvmc4ys73amdpcmckrlq1fsxjl2980cxada778fvv"; + sha256 = "0nvv1bd8v13gh2m1429azws7ks0ix9y1yv87ak9k9i1dsqcrvpg6"; }; buildInputs = [ readline bzip2 ]; diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index b4c2d7f1c1fa..ab46af5a1cd9 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -11,39 +11,43 @@ stdenv.mkDerivation rec { sha256 = "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf"; }; - postConfigure = '' - cat >> pathnames.h <> pathnames.h <<'EOF' + #undef _PATH_MV + #define _PATH_MV "${coreutils}/bin/mv" + EOF makeFlags="install_uid=$(id -u) install_gid=$(id -g)" - installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc timedir=$TMPDIR/dummy" - ''; + installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc rundir=$TMPDIR/dummy vardir=$TMPDIR/dummy" + ''; buildInputs = [ coreutils pam groff ]; enableParallelBuilding = true; - postInstall = '' - rm $out/share/doc/sudo/ChangeLog - ''; + postInstall = + '' + rm -f $out/share/doc/sudo/ChangeLog + ''; meta = { description = "A command to run commands as root"; - longDescription = '' + longDescription = + '' Sudo (su "do") allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments. - ''; + ''; homepage = http://www.sudo.ws/; diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix index cbffd8648d47..9102482d3d63 100644 --- a/pkgs/tools/system/syslog-ng/default.nix +++ b/pkgs/tools/system/syslog-ng/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, eventlog, pkgconfig, glib, python }: +{ stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl }: stdenv.mkDerivation { name = "syslog-ng-3.5.4.1"; @@ -8,8 +8,13 @@ stdenv.mkDerivation { sha256 = "0rkgrmnyx1x6m3jw5n49k7r1dcg79lxh900g74rgvd3j86g9dilj"; }; - buildInputs = [ eventlog pkgconfig glib python ]; - configureFlags = "--enable-dynamic-linking"; + buildInputs = [ eventlog pkgconfig glib python systemd perl ]; + + configureFlags = [ + "--enable-dynamic-linking" + "--enable-systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + ]; meta = { homepage = "http://www.balabit.com/network-security/syslog-ng/"; diff --git a/pkgs/tools/text/catdoc/default.nix b/pkgs/tools/text/catdoc/default.nix index 5880de7a735c..e056af26877c 100644 --- a/pkgs/tools/text/catdoc/default.nix +++ b/pkgs/tools/text/catdoc/default.nix @@ -10,6 +10,7 @@ stdenv.mkDerivation rec { configureFlags = "--disable-wordview"; meta = with stdenv.lib; { + description = "MS-Word/Excel/PowerPoint to text converter"; platforms = platforms.all; license = "GPL2"; maintainers = [ maintainers.urkud ]; diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix index 06e15d07ff09..34221d803661 100644 --- a/pkgs/tools/text/colordiff/default.nix +++ b/pkgs/tools/text/colordiff/default.nix @@ -1,13 +1,23 @@ -{stdenv, fetchurl, perl /*, xmlto */}: +{ stdenv, fetchurl, perl /*, xmlto */}: stdenv.mkDerivation { - name = "colordiff-1.0.9"; + name = "colordiff-1.0.13"; + src = fetchurl { - url = http://colordiff.sourceforge.net/colordiff-1.0.9.tar.gz; - sha256 = "b2c25d81c10f22380798f146cc5b54ffc5aeb6e5ca1208be2b9508fec1d8e4a6"; + url = http://www.colordiff.org/colordiff-1.0.13.tar.gz; + sha256 = "0akcz1p3klsjnhwcqdfq4grs6paljc5c0jzr3mqla5f862hhaa6f"; }; buildInputs = [ perl /* xmlto */ ]; + dontBuild = 1; # do not build doc yet. + installPhase = ''make INSTALL_DIR=/bin MAN_DIR=/share/man/man1 DESTDIR="$out" install''; + + meta = with stdenv.lib; { + description = "Wrapper for 'diff' that produces the same output but with pretty 'syntax' highlighting"; + homepage = http://www.colordiff.org/; + license = licenses.gpl3; + platforms = platforms.linux; + }; } diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix index 6bbf1a9a8c7f..e70dfaedddf5 100644 --- a/pkgs/tools/text/diffstat/default.nix +++ b/pkgs/tools/text/diffstat/default.nix @@ -1,17 +1,23 @@ -{fetchurl, stdenv}: +{ fetchurl, stdenv }: stdenv.mkDerivation rec { name = "diffstat-1.58"; src = fetchurl { - url = "ftp://invisible-island.net/diffstat/"+ name +".tgz"; + url = "ftp://invisible-island.net/diffstat/${name}.tgz"; sha256 = "14rpf5c05ff30f6vn6pn6pzy0k4g4is5im656ahsxff3k58i7mgs"; }; - meta = { + meta = with stdenv.lib; { + description = "Read output of diff and display a histogram of the changes"; + longDescription = '' + diffstat reads the output of diff and displays a histogram of the + insertions, deletions, and modifications per-file. It is useful for + reviewing large, complex patch files. + ''; homepage = http://invisible-island.net/diffstat/; - longDescription = "diffstat reads the output of diff and displays a -istogram of the insertions, deletions, and modifications per-file. It -s useful for reviewing large, complex patch files."; + license = licenses.mit; + platforms = platforms.unix; + maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix index 8a5eb6ad759e..fd7551e234e1 100644 --- a/pkgs/tools/typesetting/asciidoc/default.nix +++ b/pkgs/tools/typesetting/asciidoc/default.nix @@ -244,7 +244,7 @@ stdenv.mkDerivation rec { preInstall = "mkdir -p $out/etc/vim"; meta = with stdenv.lib; { - description = "Text-based document generation system"; + description = "Text-based document generation system ${stdenv.lib.optionalString enableStandardFeatures "(full version)"}"; longDescription = '' AsciiDoc is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. diff --git a/pkgs/tools/typesetting/djvu2pdf/default.nix b/pkgs/tools/typesetting/djvu2pdf/default.nix new file mode 100644 index 000000000000..c7729ac676f8 --- /dev/null +++ b/pkgs/tools/typesetting/djvu2pdf/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, pkgconfig, djvulibre, ghostscript }: + +stdenv.mkDerivation rec { + version = "0.9.2"; + name = "djvu2pdf-${version}"; + + src = fetchurl { + url = "http://0x2a.at/site/projects/djvu2pdf/djvu2pdf-${version}.tar.gz"; + sha256 = "0v2ax30m7j1yi4m02nzn9rc4sn4vzqh5vywdh96r64j4pwvn5s5g"; + }; + + buildInputs = [ pkgconfig ]; + propagatedUserEnvPkgs = [ djvulibre ghostscript ]; + + installPhase = '' + ensureDir $out/bin + cp -p djvu2pdf $out/bin + ensureDir $out/man/man1 + cp -p djvu2pdf.1.gz $out/man/man1 + ''; + + meta = { + description = "Creates djvu files from PDF files"; + homepage = http://0x2a.at/s/projects/djvu2pdf; + license = stdenv.lib.licenses.gpl2; + inherit version; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ead1f173b05e..af563f266cd0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -329,6 +329,8 @@ let fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {}); + packer = callPackage ../development/tools/packer { }; + fetchpatch = callPackage ../build-support/fetchpatch { }; fetchsvn = import ../build-support/fetchsvn { @@ -661,7 +663,7 @@ let enableStandardFeatures = false; }; - asciidocFull = appendToName "full" (asciidoc.override { + asciidoc-full = appendToName "full" (asciidoc.override { inherit (pythonPackages) pygments; enableStandardFeatures = true; }); @@ -1254,7 +1256,9 @@ let hddtemp = callPackage ../tools/misc/hddtemp { }; - hdf5 = callPackage ../tools/misc/hdf5 { }; + hdf5 = callPackage ../tools/misc/hdf5 { + szip = null; + }; heimdall = callPackage ../tools/misc/heimdall { }; @@ -2974,7 +2978,11 @@ let go_1_2 = callPackage ../development/compilers/go/1.2.nix { }; - go = go_1_2; + go_1_3 = callPackage ../development/compilers/go/1.3.nix { }; + + go = go_1_3; + + gox = callPackage ../development/compilers/go/gox.nix { }; gprolog = callPackage ../development/compilers/gprolog { }; @@ -3017,7 +3025,7 @@ let jdk = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then pkgs.openjdk else pkgs.oraclejdk; - jre = if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" + jre = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then pkgs.openjre else pkgs.oraclejre; @@ -3283,8 +3291,8 @@ let rust = callPackage ../development/compilers/rust {}; - sbcl = builderDefsPackage (import ../development/compilers/sbcl) { - inherit makeWrapper; + sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {}; + sbcl = callPackage ../development/compilers/sbcl { clisp = clisp_2_44_1; }; @@ -3488,6 +3496,8 @@ let fetchurl = fetchurlBoot; }; + perl520 = callPackage ../development/interpreters/perl/5.20 { }; + perl = if system != "i686-cygwin" then perl516 else sysPerl; php = php54; @@ -3790,6 +3800,8 @@ let chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome.GConf; }; + chrpath = callPackage ../development/tools/misc/chrpath { }; + "cl-launch" = callPackage ../development/tools/misc/cl-launch {}; complexity = callPackage ../development/tools/misc/complexity { }; @@ -4161,7 +4173,7 @@ let aalib = callPackage ../development/libraries/aalib { }; - accountservice = callPackage ../development/libraries/accountservice { }; + accountsservice = callPackage ../development/libraries/accountsservice { }; acl = callPackage ../development/libraries/acl { }; @@ -4762,7 +4774,12 @@ let pangox_compat = callPackage ../development/libraries/pangox-compat { }; - gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { }; + gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { + # workaround signal 10 in gdk_pixbuf tests + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; gtk2 = callPackage ../development/libraries/gtk+/2.x.nix { cupsSupport = config.gtk2.cups or stdenv.isLinux; @@ -6629,12 +6646,16 @@ let dovecot_pigeonhole = callPackage ../servers/mail/dovecot-pigeonhole { }; + etcd = callPackage ../servers/etcd { }; + ejabberd = callPackage ../servers/xmpp/ejabberd { erlang = erlangR16; }; elasticmq = callPackage ../servers/elasticmq { }; + etcdctl = callPackage ../development/tools/etcdctl { }; + fcgiwrap = callPackage ../servers/fcgiwrap { }; felix = callPackage ../servers/felix { }; @@ -6646,6 +6667,8 @@ let firebird = callPackage ../servers/firebird { icu = null; }; firebirdSuper = callPackage ../servers/firebird { superServer = true; }; + fleet = callPackage ../servers/fleet { }; + freepops = callPackage ../servers/mail/freepops { }; freeswitch = callPackage ../servers/sip/freeswitch { }; @@ -6708,6 +6731,8 @@ let nsd = callPackage ../servers/dns/nsd { }; + nsq = callPackage ../servers/nsq { }; + opensmtpd = callPackage ../servers/mail/opensmtpd { }; petidomo = callPackage ../servers/mail/petidomo { }; @@ -6756,13 +6781,11 @@ let mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { }; - nagios = callPackage ../servers/monitoring/nagios { - gdSupport = true; - }; + nagios = callPackage ../servers/monitoring/nagios { }; munin = callPackage ../servers/monitoring/munin { }; - nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official { }; + nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official-2.x.nix { }; net_snmp = callPackage ../servers/monitoring/net-snmp { }; @@ -7215,15 +7238,6 @@ let ]; }; - linux_3_13 = makeOverridable (import ../os-specific/linux/kernel/linux-3.13.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - linux_3_14 = makeOverridable (import ../os-specific/linux/kernel/linux-3.14.nix) { inherit fetchurl stdenv perl buildLinux; kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") @@ -7280,10 +7294,6 @@ let linux_grsec_stable_server = grKernel grFlavors.linux_grsec_stable_server; linux_grsec_stable_server_xen = grKernel grFlavors.linux_grsec_stable_server_xen; - # Stable+vserver kernels - server versions only - #linux_grsec_vserver_server = grKernel grFlavors.linux_grsec_vserver_server; - #linux_grsec_vserver_server_xen = grKernel grFlavors.linux_grsec_vserver_server_xen; - # Testing kernels linux_grsec_testing_desktop = grKernel grFlavors.linux_grsec_testing_desktop; linux_grsec_testing_server = grKernel grFlavors.linux_grsec_testing_server; @@ -7392,7 +7402,6 @@ let linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); - linuxPackages_3_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_13 linuxPackages_3_13); linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14); linuxPackages_3_15 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_15 linuxPackages_3_15); linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing); @@ -7403,10 +7412,6 @@ let linuxPackages_grsec_stable_server = grPackage grFlavors.linux_grsec_stable_server; linuxPackages_grsec_stable_server_xen = grPackage grFlavors.linux_grsec_stable_server_xen; - # Stable+vserver kernels - server versions only - #linuxPackages_grsec_vserver_server = grPackage grFlavors.linux_grsec_vserver_server; - #linuxPackages_grsec_vserver_server_xen = grPackage grFlavors.linux_grsec_vserver_server_xen; - # Testing kernels linuxPackages_grsec_testing_desktop = grPackage grFlavors.linux_grsec_testing_desktop; linuxPackages_grsec_testing_server = grPackage grFlavors.linux_grsec_testing_server; @@ -7489,6 +7494,8 @@ let numactl = callPackage ../os-specific/linux/numactl { }; + gocode = callPackage ../development/tools/gocode { }; + gogoclient = callPackage ../os-specific/linux/gogoclient { }; nss_ldap = callPackage ../os-specific/linux/nss_ldap { }; @@ -8073,6 +8080,8 @@ let calibre = callPackage ../applications/misc/calibre { }; + camlistore = callPackage ../applications/misc/camlistore { }; + carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) { inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 openssl nss gtkspell aspell gettext ncurses avahi dbus dbus_glib python @@ -8196,6 +8205,8 @@ let djvulibre = callPackage ../applications/misc/djvulibre { }; + djvu2pdf = callPackage ../tools/typesetting/djvu2pdf { }; + djview = callPackage ../applications/graphics/djview { }; djview4 = pkgs.djview; @@ -8383,12 +8394,19 @@ let prologMode = callPackage ../applications/editors/emacs-modes/prolog { }; - proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral { + proofgeneral_4_2 = callPackage ../applications/editors/emacs-modes/proofgeneral/4.2.nix { texinfo = texinfo4 ; texLive = pkgs.texLiveAggregationFun { paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; }; }; + proofgeneral_4_3_pre = callPackage ../applications/editors/emacs-modes/proofgeneral/4.3pre.nix { + texinfo = texinfo4 ; + texLive = pkgs.texLiveAggregationFun { + paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; + }; + }; + proofgeneral = self.proofgeneral_4_2; quack = callPackage ../applications/editors/emacs-modes/quack { }; @@ -8608,6 +8626,8 @@ let python = python27; }; + gitolite = callPackage ../applications/version-management/gitolite { }; + inherit (gnome3) gitg; giv = callPackage ../applications/graphics/giv { @@ -10421,6 +10441,8 @@ let kde_wacomtablet = callPackage ../applications/misc/kde-wacomtablet { }; + kdeconnect = callPackage ../applications/misc/kdeconnect { }; + kdenlive = callPackage ../applications/video/kdenlive { }; kdesvn = callPackage ../applications/version-management/kdesvn { }; @@ -11047,6 +11069,8 @@ let streamripper = callPackage ../applications/audio/streamripper { }; + sqsh = callPackage ../development/tools/sqsh { }; + tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; }; tex4ht = callPackage ../tools/typesetting/tex/tex4ht { }; @@ -11233,6 +11257,7 @@ let # Attributes for backward compatibility. adobeReader = adobe-reader; + asciidocFull = asciidoc-full; # added 2014-06-22 }; in self; in pkgs diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index beeee5663dc0..a770cbdda8f7 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -44,6 +44,10 @@ haddock = self.haddock_2_13_2; modularArithmetic = null; # requires base >= 4.7 pipesBinary = super.pipesBinary.override { binary = self.binary_0_7_2_1; }; + rank1dynamic = super.rank1dynamic.override { binary = self.binary_0_7_2_1; }; + distributedStatic = super.distributedStatic.override { binary = self.binary_0_7_2_1; }; + networkTransport = super.networkTransport.override { binary = self.binary_0_7_2_1; }; + distributedProcess = super.distributedProcess.override { binary = self.binary_0_7_2_1; }; singletons = null; # requires base >= 4.7 vty_5_1_0 = super.vty_5_1_0.override { cabal = self.cabal.override { Cabal = self.Cabal_1_18_1_3; }; }; transformers = self.transformers_0_3_0_0; # core packagen in ghc > 7.6.x diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 08b7c875c909..5681ecbe2f1f 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -636,6 +636,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in directoryTree = callPackage ../development/libraries/haskell/directory-tree {}; distributedStatic = callPackage ../development/libraries/haskell/distributed-static {}; + + distributedProcess = callPackage ../development/libraries/haskell/distributed-process {}; distributive = callPackage ../development/libraries/haskell/distributive {}; @@ -801,8 +803,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in free = callPackage ../development/libraries/haskell/free {}; - freeOperational = callPackage ../development/libraries/haskell/free-operational {}; - freeGame_1_0_5 = callPackage ../development/libraries/haskell/free-game/1.0.5.nix { boundingboxes = self.boundingboxes_0_1_1; }; @@ -1066,6 +1066,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in HaXml = callPackage ../development/libraries/haskell/HaXml {}; + hdaemonize = callPackage ../development/libraries/haskell/hdaemonize {}; + HDBC = callPackage ../development/libraries/haskell/HDBC/HDBC.nix {}; HDBCOdbc = callPackage ../development/libraries/haskell/HDBC/HDBC-odbc.nix { @@ -1104,7 +1106,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in hmatrix = callPackage ../development/libraries/haskell/hmatrix {}; - hmatrix-special = callPackage ../development/libraries/haskell/hmatrix-special {}; + hmatrixSpecial = callPackage ../development/libraries/haskell/hmatrix-special {}; hoauth = callPackage ../development/libraries/haskell/hoauth {}; @@ -1208,6 +1210,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in HUnit_1_2_5_2 = callPackage ../development/libraries/haskell/HUnit/1.2.5.2.nix {}; HUnit = self.HUnit_1_2_5_2; + hweblib = callPackage ../development/libraries/haskell/hweblib/default.nix {}; + hxt = callPackage ../development/libraries/haskell/hxt {}; hxtCharproperties = callPackage ../development/libraries/haskell/hxt-charproperties {}; @@ -1278,6 +1282,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in preprocessorTools = self.preprocessorTools_0_1_3; }; + ixset = callPackage ../development/libraries/haskell/ixset {}; + ixShapable = callPackage ../development/libraries/haskell/ix-shapable {}; jack = callPackage ../development/libraries/haskell/jack {}; @@ -1958,6 +1964,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in setlocale = callPackage ../development/libraries/haskell/setlocale {}; + shellmate = callPackage ../development/libraries/haskell/shellmate {}; + shelly_0_15_4_1 = callPackage ../development/libraries/haskell/shelly/0.15.4.1.nix {}; shelly_1_5_3_1 = callPackage ../development/libraries/haskell/shelly {}; shelly = self.shelly_1_5_3_1; @@ -1966,6 +1974,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in simpleSendfile = callPackage ../development/libraries/haskell/simple-sendfile {}; + simpleSqlParser = callPackage ../development/libraries/haskell/simple-sql-parser {}; + silently = callPackage ../development/libraries/haskell/silently {}; sizedTypes = callPackage ../development/libraries/haskell/sized-types {}; @@ -2156,6 +2166,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in TableAlgebra = callPackage ../development/libraries/haskell/TableAlgebra {}; + tables = callPackage ../development/libraries/haskell/tables {}; + tabular = callPackage ../development/libraries/haskell/tabular {}; tagged = callPackage ../development/libraries/haskell/tagged {}; @@ -2458,6 +2470,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in wcwidth = callPackage ../development/libraries/haskell/wcwidth {}; + webdriver = callPackage ../development/libraries/haskell/webdriver {}; + webRoutes = callPackage ../development/libraries/haskell/web-routes {}; webRoutesBoomerang = callPackage ../development/libraries/haskell/web-routes-boomerang {}; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 8a01151bd77f..39ea219cf645 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -48,4 +48,18 @@ let self = with self; { sha256 = "1gcsh9iar5qa1yzpjki9bb5rivcb6yjp45lmjmp98wlyf83vmy2y"; }; }; + + zmq = buildPecl rec { + name = "zmq-1.1.2"; + src = pkgs.fetchurl { + url = "http://pecl.php.net/get/${name}.tgz"; + sha256 = "0ccz73p8pkda3y9p9qbr3m19m0yrf7k2bvqgbaly3ibgh9bazc69"; + }; + + configureFlags = [ + "--with-zmq=${pkgs.zeromq2}" + ]; + + buildInputs = [ pkgs.pkgconfig ]; + }; }; in self diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3e7267166b52..f21bf4f4df93 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -146,6 +146,12 @@ rec { inherit python; }; + tables = import ../development/python-modules/tables { + inherit (pkgs) stdenv fetchurl bzip2 lzo; + inherit python buildPythonPackage cython numpy numexpr; + hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; }; + }; + # packages defined here aafigure = buildPythonPackage rec { @@ -873,6 +879,7 @@ rec { # A patched version of buildout, useful for buildout based development on Nix zc_buildout_nix = callPackage ../development/python-modules/buildout-nix { }; + zc_recipe_egg = zc_recipe_egg_buildout171; zc_buildout = zc_buildout171; zc_buildout2 = zc_buildout221; zc_buildout221 = buildPythonPackage rec { @@ -927,6 +934,29 @@ rec { }; }; + zc_recipe_egg_fun = { buildout, version, md5 }: buildPythonPackage rec { + inherit version; + name = "zc.recipe.egg-${version}"; + + buildInputs = [ buildout ]; + doCheck = false; + + src = fetchurl { + inherit md5; + url = "https://pypi.python.org/packages/source/z/zc.recipe.egg/zc.recipe.egg-${version}.tar.gz"; + }; + }; + zc_recipe_egg_buildout171 = zc_recipe_egg_fun { + buildout = zc_buildout171; + version = "1.3.2"; + md5 = "1cb6af73f527490dde461d3614a36475"; + }; + zc_recipe_egg_buildout2 = zc_recipe_egg_fun { + buildout = zc_buildout2; + version = "2.0.1"; + md5 = "5e81e9d4cc6200f5b1abcf7c653dd9e3"; + }; + bunch = buildPythonPackage (rec { name = "bunch-1.0.1"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; @@ -3395,7 +3425,6 @@ rec { }; patches = optionals pkgs.stdenv.isDarwin [ - ../development/python-modules/gyp/no-xcode.patch ../development/python-modules/gyp/no-darwin-cflags.patch ]; @@ -4465,12 +4494,12 @@ rec { }); nose = buildPythonPackage rec { - version = "1.3.1"; + version = "1.3.3"; name = "nose-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz"; - sha256 = "1fmn5b7v183ym793ghrbh76b27aww9qv0lhl7dz31f9xmf3kn9w5"; + sha256 = "09h3a74hzw1cfx4ic19ibxq8kg6sl1n64px2mmb57f5yd3r2y35l"; }; buildInputs = [ coverage ]; @@ -4602,6 +4631,43 @@ rec { }; }; + numexpr = buildPythonPackage rec { + version = "2.4"; + name = "numexpr-${version}"; + + src = fetchgit { + url = https://github.com/pydata/numexpr.git; + rev = "606cc9a110711e947d35ac2770749c00dab184c8"; + sha256 = "1gxgkg7ncgjhnifn444iha5nrjhyr8sr6w5yp204186a1ysz858g"; + }; + + propagatedBuildInputs = with pkgs; [ numpy ]; + + # Run the test suite. + # It requires the build path to be in the python search path. + checkPhase = '' + ${python}/bin/${python.executable} <