diff --git a/.gitignore b/.gitignore index 105e621d702..d43399383a0 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 633b6fc05b2..bcaadc7fd97 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 bb5a95ebc84..991b5b16cc6 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 f1028a479df..956215d9a97 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 f4f1abba4de..3bce68670fc 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 e457db22333..b91bd98047e 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 2ff1db48757..80c3e83fe81 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 f4af04247fe..3bd58218c99 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 4ef48df9831..2521e356bf3 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 386dfe98bd2..c28c2729576 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 f7b25c18787..3bf765c6f99 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 480e35a1156..c92c8113570 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 00000000000..84435f92c11 --- /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 2eeddf78250..97d153153a5 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 6efdefcd37d..00000000000 --- 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 3a4c269e257..00000000000 --- 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 e729ea77675..00000000000 --- 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 2669be54d3d..00000000000 --- 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 0d604850d42..eeae11dc4ff 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 ee94c91716c..51ebca7dd43 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 e80762a170c..e56549149cb 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 378318fbf85..cd30b5b3084 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 5439ba9e4d6..d8bbb83c4e5 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 776a817fc49..e52011547c7 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 3f974423fd7..0dea1a13977 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 00000000000..3a492dc0c7f --- /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 87ea7ee6854..4166bc1e9e3 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 6a212a7a931..ee8543f7039 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 00000000000..80d8dd801a9 --- /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 00000000000..70f3855c3d6 --- /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 fda89f1cd3d..9c57fbd19a7 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 378e32c0afb..438a53b4f8a 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 3ae4f2a7483..a139531b19a 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 28603daa9c6..8f169180dd5 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 f4164b4f6bc..00000000000 --- 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 0e5a6afcdc5..d9b3627507e 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 5b311956da9..f0f7d801d8f 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 2ea916052a3..648d59ac01c 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 96e4631889c..482866969a1 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 72f00bbad2e..8c2ee6a4944 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 ce134490620..f95b5a493a6 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 6f2fe890cfa..239fa87d32c 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 00000000000..2dcb13e5db5 --- /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 98ba7a8e137..ce8bbde2ecd 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 ebdc7b143c3..17a287f8aae 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 3574f3b7539..bd1d8b5c1af 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 eb3b8a105cd..8417499cd00 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 00000000000..76255ab3674 --- /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 a9c60a2afbd..e66b348d082 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 57d52e7cf94..969ca579f5a 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 2535398380b..edcd868b2f3 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 3df5ab40eaf..5e53a7e86cb 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 1222f03d66e..4e472514348 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 554b09a1e59..d468e06d429 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 e5f6a0aa9b8..1875c1491f9 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 070f39199d7..4e9acc822e7 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 eb2324c9c0f..0aed2e7a410 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 49154aa9221..49514b3dbe4 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 5ea470bfc87..29e95863921 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 011086164ad..229f68fd841 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 e7b8a55a29a..5a417f8151b 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 00000000000..f37e6c4990e --- /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 00000000000..b9178d5e61c --- /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 00000000000..705cb6e5c28 --- /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 00000000000..c3335ea6d22 --- /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 e1de4c53de5..579d5ec11eb 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 00000000000..231853fe51a --- /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 00000000000..d9fb32aa43e --- /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 00000000000..be45230c8a7 --- /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 00000000000..68d44612bfe --- /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 00000000000..1793273a76f --- /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 00000000000..6a144a7f780 --- /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 95120a4d9a2..86782117097 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 99f18c175c3..b692e4d8a99 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 0ff5466e5c4..6609da5ac82 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 f2c466009d4..62ae463b5fc 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 fb3a7d92c8e..4095c1ae2f4 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 f62289ea181..ddd0d87a551 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 eee977e9703..9631746691f 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 0ce294c2258..0d049c84850 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 dfaa69bca93..4ae0212d6ef 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 b6402f63abb..a37d4bc673b 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 d2bc6929542..9b51a3167f7 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 8256ff54e19..d151128213e 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 6a888aa3277..00000000000 --- 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 9a75bd0cea5..364e81d9ee3 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 13e6fd8a2b2..edb44d45d1c 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 894d317336d..ebfff759595 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 14614b8ab00..a5681fe123e 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 00000000000..80458c808a8 --- /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 9147b724ba2..8f7dd0d8cdd 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 d563348c371..8cbd44b7dbc 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 eb52756ce3b..8c188bf6820 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 d32a5759780..f253d3a927b 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 9efbd285068..92f256ae811 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 5224bf11f29..e19eff2a631 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 80457756384..00000000000 --- 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 04545dda87e..f05bfedafcf 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 eaa41944a6b..032cb043fab 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 2a2324027d4..348847e6e9a 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 7156b889789..4b5a7973c52 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 4109fc89a2c..c3fd7a357fb 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 8694d2399b2..a62fe8d0c8b 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 78e7da44061..1d6f5934ba7 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 a325c9e8664..f15391ec5e1 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 398d3a1dfb8..02f63cbf9a1 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 f07e0f54b9b..deb7b65beba 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 00000000000..37383792de1 --- /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 a37fb044bc0..7f021e82ad6 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 00000000000..30c3ce4b105 --- /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 338e2c4693f..5f694b45d98 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 83a82ac80ce..00617f51728 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 bfc38fb07e8..1f6cf569b56 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 39fbeebd33c..17cb5039a64 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 00000000000..f97512c7f7f --- /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 0bccb38d381..b223f6b3655 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 4d14ed4582a..334b7fcfe39 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 4b73fc5cf5a..6783993f718 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 c6d440a5d47..8badc0d9c51 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 725567ff16b..bac5d880ba3 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 d54e8351d4f..45d4177305a 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 00000000000..4af61ece80a --- /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 683885cb712..2ec9847e8ef 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 a54c714e979..ae3c3cd8a00 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 145df1e625f..30a75724e0e 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 7ea674aa0d9..45bcf97f942 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 4309df0e4c4..0c045be968a 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 44b14758623..d1a3b6ab63e 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 82c218d67b3..0dd99605b33 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 993993cecd0..7b502822a18 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 38cde3bfd70..159b8e6e838 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 92fbe81a32e..3ef43baca5e 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 088eb1b9493..0938e2a17a7 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 055a491f460..dcfaafc2b7d 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 9f900e4f50a..94eec40d51f 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 00000000000..d3edf54788a --- /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 fdf3aa91e2b..cb9974580d8 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 f47902cd0bf..3dd3d4bc731 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 ec2b57e222a..8367e6ea72a 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 00000000000..5596c0ebcf2 --- /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 5955543f8e1..1ed13c2e450 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 62a3cfa631e..87e8fa5b074 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 ac2ba611386..a08ad5ea53d 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 33bed4213b4..7d5ff606eb9 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 d84cec235ce..00000000000 --- 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 8675c529bde..4fbca05501d 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 d5fd820cac0..80b9ff614d6 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 165baf0a17f..8308340f3f5 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 541384a8c11..bafac2fc58d 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 c0cca64967c..eb4d7a100be 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 b196098b7df..00000000000 --- 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 40946931c80..00000000000 --- 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 1f487f042f8..00000000000 --- 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 e74d0f0ef75..944fb6ff554 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 ba7ccc7348e..d3ed285ccfe 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 f89d38f72ac..00000000000 --- 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 f8f3c9ed316..aec95832d16 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 34136016376..00000000000 --- 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 cc75011c7da..ebbbc994d02 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 894bf395ce8..00000000000 --- 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 00000000000..1fb21f2b8ab --- /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 00000000000..e9fd4a50d3e --- /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 00000000000..627c1ff0cf9 --- /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 00000000000..d0529db37a2 --- /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 4bf3d59685b..cf64ba2d3c6 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 dba063bb106..5af759db1c9 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 6fc27153617..cec4c4942b5 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 c466813b23b..3420003c641 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 00000000000..b1570d96c7b --- /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 00000000000..8518ceed916 --- /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 274fc89f94d..40b41c8f9d3 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 00000000000..d4da74b5476 --- /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 d0f7f5ef3e5..1df9f6a440f 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 124d01df7d4..61e106a136b 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 a4a349843de..fb159520fc2 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 37ffb09288e..704527d28c7 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 6c485173f85..92d8a22fa47 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 5a09ec2a80b..1c843a66636 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 83c9b157793..51dcc2a9c80 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 6d1ce21f318..7db7ebf96d6 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 01820aaf778..a7d03d1335f 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 7a369744525..51ab3478ac9 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 d7210b2f616..84439136d49 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 f242c3f323a..9b8d33b6b69 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 362ec3a25bb..a25ae35b6cc 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 b4c2d7f1c1f..ab46af5a1cd 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 cbffd8648d4..9102482d3d6 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 5880de7a735..e056af26877 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 06e15d07ff0..34221d80366 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 6bbf1a9a8c7..e70dfaedddf 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 8a5eb6ad759..fd7551e234e 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 00000000000..c7729ac676f --- /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 ead1f173b05..af563f266cd 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 beeee5663dc..a770cbdda8f 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 08b7c875c90..5681ecbe2f1 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 8a01151bd77..39ea219cf64 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 3e7267166b5..f21bf4f4df9 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} <