diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 14f60b936f8..b77ca7eefb9 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -15,7 +15,7 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license. * Format the commits in the following way: ``` - (pkg-name | service-name): (from -> to | init at version | refactor | etc) + (pkg-name | nixos/): (from -> to | init at version | refactor | etc) (Motivation for change. Additional information.) ``` @@ -24,10 +24,10 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license. * nginx: init at 2.0.1 * firefox: 3.0 -> 3.1.1 - * hydra service: add bazBaz option + * nixos/hydra: add bazBaz option Dual baz behavior is needed to do foo. - * nginx service: refactor config generation + * nixos/nginx: refactor config generation The old config generation system used impure shell scripts and could break in specific circumstances (see #1234). diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4b9345b087e..3247b158342 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,6 +3,8 @@ ###### Things done +Please check what applies. Note that these are not hard requirements but mereley serve as information for reviewers. + - [ ] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `build-use-sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) diff --git a/README.md b/README.md index 1d5fbd218e2..1a0fb5014de 100644 --- a/README.md +++ b/README.md @@ -38,5 +38,5 @@ For pull-requests, please rebase onto nixpkgs `master`. Communication: -* [Mailing list](http://lists.science.uu.nl/mailman/listinfo/nix-dev) +* [Mailing list](https://groups.google.com/forum/#!forum/nix-devel) * [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos) diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md index 2ae3e39bb65..ce2889f744f 100644 --- a/doc/languages-frameworks/haskell.md +++ b/doc/languages-frameworks/haskell.md @@ -912,14 +912,14 @@ nix-build -A haskell.packages.integer-simple.ghc802.scientific - The *Journey into the Haskell NG infrastructure* series of postings describe the new Haskell infrastructure in great detail: - - [Part 1](http://lists.science.uu.nl/pipermail/nix-dev/2015-January/015591.html) + - [Part 1](https://nixos.org/nix-dev/2015-January/015591.html) explains the differences between the old and the new code and gives instructions how to migrate to the new setup. - - [Part 2](http://lists.science.uu.nl/pipermail/nix-dev/2015-January/015608.html) + - [Part 2](https://nixos.org/nix-dev/2015-January/015608.html) looks in-depth at how to tweak and configure your setup by means of overrides. - - [Part 3](http://lists.science.uu.nl/pipermail/nix-dev/2015-April/016912.html) + - [Part 3](https://nixos.org/nix-dev/2015-April/016912.html) describes the infrastructure that keeps the Haskell package set in Nixpkgs up-to-date. diff --git a/doc/quick-start.xml b/doc/quick-start.xml index 5ed959abace..ca86e6c9519 100644 --- a/doc/quick-start.xml +++ b/doc/quick-start.xml @@ -212,7 +212,7 @@ $ nix-env -f . -iA libfoo Optionally commit the new package and open a pull request, or send a patch to - nix-dev@cs.uu.nl. + https://groups.google.com/forum/#!forum/nix-devel. diff --git a/lib/maintainers.nix b/lib/maintainers.nix index e716c4f97db..e10136bf070 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -172,6 +172,7 @@ ekleog = "Leo Gaspard "; elasticdog = "Aaron Bull Schaefer "; eleanor = "Dejan Lukan "; + elijahcaine = "Elijah Caine "; elitak = "Eric Litak "; ellis = "Ellis Whitehead "; eperuffo = "Emanuele Peruffo "; @@ -565,6 +566,7 @@ tohl = "Tomas Hlavaty "; tokudan = "Daniel Frank "; tomberek = "Thomas Bereknyei "; + tomsmeets = "Tom Smeets "; travisbhartwell = "Travis B. Hartwell "; trevorj = "Trevor Joynson "; trino = "Hubert Mühlhans "; diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml index 2c28dd44801..9aa332f026d 100644 --- a/nixos/doc/manual/manual.xml +++ b/nixos/doc/manual/manual.xml @@ -18,7 +18,7 @@ If you encounter problems, please report them on the nix-dev@lists.science.uu.nl + xlink:href="https://groups.google.com/forum/#!forum/nix-devel">nix-devel mailing list or on the #nixos channel on Freenode. Bugs should diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml index 967fbcf869d..6c1c46844cc 100644 --- a/nixos/doc/manual/release-notes/rl-1509.xml +++ b/nixos/doc/manual/release-notes/rl-1509.xml @@ -28,7 +28,7 @@ has the following highlights: since version 0.0 as well as the most recent Stackage Nightly snapshot. The announcement "Full + xlink:href="https://nixos.org/nix-dev/2015-September/018138.html">"Full Stackage Support in Nixpkgs" gives additional details. diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml index ade7d5581ce..3abafac9737 100644 --- a/nixos/doc/manual/release-notes/rl-1609.xml +++ b/nixos/doc/manual/release-notes/rl-1609.xml @@ -78,13 +78,13 @@ following incompatible changes: our package set it loosely based on the latest available LTS release, i.e. LTS 7.x at the time of this writing. New releases of NixOS and Nixpkgs will drop those old names entirely. The + xlink:href="https://nixos.org/nix-dev/2016-June/020585.html">The motivation for this change has been discussed at length on the nix-dev mailing list and in Github issue #14897. Development strategies for Haskell hackers who want to rely on Nix and NixOS have been described in another + xlink:href="https://nixos.org/nix-dev/2016-June/020642.html">another nix-dev article. diff --git a/nixos/modules/config/ldap.nix b/nixos/modules/config/ldap.nix index da875d6e482..710dfdd01af 100644 --- a/nixos/modules/config/ldap.nix +++ b/nixos/modules/config/ldap.nix @@ -19,7 +19,6 @@ let bind_policy ${config.users.ldap.bind.policy} ${optionalString config.users.ldap.useTLS '' ssl start_tls - tls_checkpeer no ''} ${optionalString (config.users.ldap.bind.distinguishedName != "") '' binddn ${config.users.ldap.bind.distinguishedName} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 726c5553919..b97c3b0d816 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -287,6 +287,7 @@ ./services/misc/emby.nix ./services/misc/errbot.nix ./services/misc/etcd.nix + ./services/misc/exhibitor.nix ./services/misc/felix.nix ./services/misc/folding-at-home.nix ./services/misc/fstrim.nix @@ -567,6 +568,7 @@ ./services/system/earlyoom.nix ./services/system/kerberos.nix ./services/system/nscd.nix + ./services/system/saslauthd.nix ./services/system/uptimed.nix ./services/torrent/deluge.nix ./services/torrent/flexget.nix diff --git a/nixos/modules/programs/zsh/oh-my-zsh.nix b/nixos/modules/programs/zsh/oh-my-zsh.nix index aa5844cdc4d..9077643c444 100644 --- a/nixos/modules/programs/zsh/oh-my-zsh.nix +++ b/nixos/modules/programs/zsh/oh-my-zsh.nix @@ -15,6 +15,16 @@ in ''; }; + package = mkOption { + default = pkgs.oh-my-zsh; + defaultText = "pkgs.oh-my-zsh"; + description = '' + Package to install for `oh-my-zsh` usage. + ''; + + type = types.package; + }; + plugins = mkOption { default = []; type = types.listOf(types.str); @@ -46,11 +56,11 @@ in # Prevent zsh from overwriting oh-my-zsh's prompt programs.zsh.promptInit = mkDefault ""; - environment.systemPackages = with pkgs; [ oh-my-zsh ]; + environment.systemPackages = [ cfg.package ]; - programs.zsh.interactiveShellInit = with pkgs; with builtins; '' + programs.zsh.interactiveShellInit = with builtins; '' # oh-my-zsh configuration generated by NixOS - export ZSH=${oh-my-zsh}/share/oh-my-zsh + export ZSH=${cfg.package}/share/oh-my-zsh ${optionalString (length(cfg.plugins) > 0) "plugins=(${concatStringsSep " " cfg.plugins})" diff --git a/nixos/modules/services/games/factorio.nix b/nixos/modules/services/games/factorio.nix index e7f070d0877..1dc8ce93a0e 100644 --- a/nixos/modules/services/games/factorio.nix +++ b/nixos/modules/services/games/factorio.nix @@ -39,7 +39,7 @@ let admins = []; }; serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings)); - modDir = pkgs.factorio-mkModDirDrv cfg.mods; + modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods; in { options = { diff --git a/nixos/modules/services/misc/exhibitor.nix b/nixos/modules/services/misc/exhibitor.nix new file mode 100644 index 00000000000..1db42275867 --- /dev/null +++ b/nixos/modules/services/misc/exhibitor.nix @@ -0,0 +1,415 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.exhibitor; + exhibitor = cfg.package; + exhibitorConfig = '' + zookeeper-install-directory=${cfg.baseDir}/zookeeper + zookeeper-data-directory=${cfg.zkDataDir} + zookeeper-log-directory=${cfg.zkLogDir} + zoo-cfg-extra=${cfg.zkExtraCfg} + client-port=${toString cfg.zkClientPort} + connect-port=${toString cfg.zkConnectPort} + election-port=${toString cfg.zkElectionPort} + cleanup-period-ms=${toString cfg.zkCleanupPeriod} + servers-spec=${concatStringsSep "," cfg.zkServersSpec} + auto-manage-instances=${lib.boolToString cfg.autoManageInstances} + ${cfg.extraConf} + ''; + configDir = pkgs.writeTextDir "exhibitor.properties" exhibitorConfig; + cliOptionsCommon = { + configtype = cfg.configType; + defaultconfig = "${configDir}/exhibitor.properties"; + port = toString cfg.port; + hostname = cfg.hostname; + headingtext = if (cfg.headingText != null) then (lib.escapeShellArg cfg.headingText) else null; + nodemodification = lib.boolToString cfg.nodeModification; + configcheckms = toString cfg.configCheckMs; + jquerystyle = cfg.jqueryStyle; + loglines = toString cfg.logLines; + servo = lib.boolToString cfg.servo; + timeout = toString cfg.timeout; + }; + s3CommonOptions = { s3region = cfg.s3Region; s3credentials = cfg.s3Credentials; }; + cliOptionsPerConfig = { + s3 = { + s3config = "${cfg.s3Config.bucketName}:${cfg.s3Config.objectKey}"; + s3configprefix = cfg.s3Config.configPrefix; + }; + zookeeper = { + zkconfigconnect = concatStringsSep "," cfg.zkConfigConnect; + zkconfigexhibitorpath = cfg.zkConfigExhibitorPath; + zkconfigpollms = toString cfg.zkConfigPollMs; + zkconfigretry = "${toString cfg.zkConfigRetry.sleepMs}:${toString cfg.zkConfigRetry.retryQuantity}"; + zkconfigzpath = cfg.zkConfigZPath; + zkconfigexhibitorport = toString cfg.zkConfigExhibitorPort; # NB: This might be null + }; + file = { + fsconfigdir = cfg.fsConfigDir; + fsconfiglockprefix = cfg.fsConfigLockPrefix; + fsConfigName = fsConfigName; + }; + none = { + noneconfigdir = configDir; + }; + }; + cliOptions = concatStringsSep " " (mapAttrsToList (k: v: "--${k} ${v}") (filterAttrs (k: v: v != null && v != "") (cliOptionsCommon // + cliOptionsPerConfig."${cfg.configType}" // + s3CommonOptions // + optionalAttrs cfg.s3Backup { s3backup = "true"; } // + optionalAttrs cfg.fileSystemBackup { filesystembackup = "true"; } + ))); +in +{ + options = { + services.exhibitor = { + enable = mkOption { + type = types.bool; + default = false; + description = " + Whether to enable the exhibitor server. + "; + }; + # See https://github.com/soabase/exhibitor/wiki/Running-Exhibitor for what these mean + # General options for any type of config + port = mkOption { + type = types.int; + default = 8080; + description = '' + The port for exhibitor to listen on and communicate with other exhibitors. + ''; + }; + baseDir = mkOption { + type = types.str; + default = "/var/exhibitor"; + description = '' + Baseline directory for exhibitor runtime config. + ''; + }; + configType = mkOption { + type = types.enum [ "file" "s3" "zookeeper" "none" ]; + description = '' + Which configuration type you want to use. Additional config will be + required depending on which type you are using. + ''; + }; + hostname = mkOption { + type = types.nullOr types.str; + description = '' + Hostname to use and advertise + ''; + default = null; + }; + nodeModification = mkOption { + type = types.bool; + description = '' + Whether the Explorer UI will allow nodes to be modified (use with caution). + ''; + default = true; + }; + configCheckMs = mkOption { + type = types.int; + description = '' + Period (ms) to check for shared config updates. + ''; + default = 30000; + }; + headingText = mkOption { + type = types.nullOr types.str; + description = '' + Extra text to display in UI header + ''; + default = null; + }; + jqueryStyle = mkOption { + type = types.enum [ "red" "black" "custom" ]; + description = '' + Styling used for the JQuery-based UI. + ''; + default = "red"; + }; + logLines = mkOption { + type = types.int; + description = '' + Max lines of logging to keep in memory for display. + ''; + default = 1000; + }; + servo = mkOption { + type = types.bool; + description = '' + ZooKeeper will be queried once a minute for its state via the 'mntr' four + letter word (this requires ZooKeeper 3.4.x+). Servo will be used to publish + this data via JMX. + ''; + default = false; + }; + timeout = mkOption { + type = types.int; + description = '' + Connection timeout (ms) for ZK connections. + ''; + default = 30000; + }; + autoManageInstances = mkOption { + type = types.bool; + description = '' + Automatically manage ZooKeeper instances in the ensemble + ''; + default = false; + }; + zkDataDir = mkOption { + type = types.str; + default = "${cfg.baseDir}/zkData"; + description = '' + The Zookeeper data directory + ''; + }; + zkLogDir = mkOption { + type = types.path; + default = "${cfg.baseDir}/zkLogs"; + description = '' + The Zookeeper logs directory + ''; + }; + extraConf = mkOption { + type = types.str; + default = ""; + description = '' + Extra Exhibitor configuration to put in the ZooKeeper config file. + ''; + }; + zkExtraCfg = mkOption { + type = types.str; + default = ''initLimit=5&syncLimit=2&tickTime=2000''; + description = '' + Extra options to pass into Zookeeper + ''; + }; + zkClientPort = mkOption { + type = types.int; + default = 2181; + description = '' + Zookeeper client port + ''; + }; + zkConnectPort = mkOption { + type = types.int; + default = 2888; + description = '' + The port to use for followers to talk to each other. + ''; + }; + zkElectionPort = mkOption { + type = types.int; + default = 3888; + description = '' + The port for Zookeepers to use for leader election. + ''; + }; + zkCleanupPeriod = mkOption { + type = types.int; + default = 0; + description = '' + How often (in milliseconds) to run the Zookeeper log cleanup task. + ''; + }; + zkServersSpec = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Zookeeper server spec for all servers in the ensemble. + ''; + example = [ "S:1:zk1.example.com" "S:2:zk2.example.com" "S:3:zk3.example.com" "O:4:zk-observer.example.com" ]; + }; + + # Backup options + s3Backup = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable backups to S3 + ''; + }; + fileSystemBackup = mkOption { + type = types.bool; + default = false; + description = '' + Enables file system backup of ZooKeeper log files + ''; + }; + + # Options for using zookeeper configType + zkConfigConnect = mkOption { + type = types.listOf types.str; + description = '' + The initial connection string for ZooKeeper shared config storage + ''; + example = ["host1:2181" "host2:2181"]; + }; + zkConfigExhibitorPath = mkOption { + type = types.string; + description = '' + If the ZooKeeper shared config is also running Exhibitor, the URI path for the REST call + ''; + default = "/"; + }; + zkConfigExhibitorPort = mkOption { + type = types.nullOr types.int; + description = '' + If the ZooKeeper shared config is also running Exhibitor, the port that + Exhibitor is listening on. IMPORTANT: if this value is not set it implies + that Exhibitor is not being used on the ZooKeeper shared config. + ''; + }; + zkConfigPollMs = mkOption { + type = types.int; + description = '' + The period in ms to check for changes in the config ensemble + ''; + default = 10000; + }; + zkConfigRetry = { + sleepMs = mkOption { + type = types.int; + default = 1000; + description = '' + Retry sleep time connecting to the ZooKeeper config + ''; + }; + retryQuantity = mkOption { + type = types.int; + default = 3; + description = '' + Retries connecting to the ZooKeeper config + ''; + }; + }; + zkConfigZPath = mkOption { + type = types.str; + description = '' + The base ZPath that Exhibitor should use + ''; + example = "/exhibitor/config"; + }; + + # Config options for s3 configType + s3Config = { + bucketName = mkOption { + type = types.str; + description = '' + Bucket name to store config + ''; + }; + objectKey = mkOption { + type = types.str; + description = '' + S3 key name to store the config + ''; + }; + configPrefix = mkOption { + type = types.str; + description = '' + When using AWS S3 shared config files, the prefix to use for values such as locks + ''; + default = "exhibitor-"; + }; + }; + + # The next two are used for either s3backup or s3 configType + s3Credentials = mkOption { + type = types.nullOr types.path; + description = '' + Optional credentials to use for s3backup or s3config. Argument is the path + to an AWS credential properties file with two properties: + com.netflix.exhibitor.s3.access-key-id and com.netflix.exhibitor.s3.access-secret-key + ''; + default = null; + }; + s3Region = mkOption { + type = types.nullOr types.str; + description = '' + Optional region for S3 calls + ''; + default = null; + }; + + # Config options for file config type + fsConfigDir = mkOption { + type = types.path; + description = '' + Directory to store Exhibitor properties (cannot be used with s3config). + Exhibitor uses file system locks so you can specify a shared location + so as to enable complete ensemble management. + ''; + }; + fsConfigLockPrefix = mkOption { + type = types.str; + description = '' + A prefix for a locking mechanism used in conjunction with fsconfigdir + ''; + default = "exhibitor-lock-"; + }; + fsConfigName = mkOption { + type = types.str; + description = '' + The name of the file to store config in + ''; + default = "exhibitor.properties"; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.exhibitor = { + description = "Exhibitor Daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + environment = { + ZOO_LOG_DIR = cfg.baseDir; + }; + serviceConfig = { + /*** + Exhibitor is a bit un-nixy. It wants to present to you a user interface in order to + mutate the configuration of both itself and ZooKeeper, and to coordinate changes + among the members of the Zookeeper ensemble. I'm going for a different approach here, + which is to manage all the configuration via nix and have it write out the configuration + files that exhibitor will use, and to reduce the amount of inter-exhibitor orchestration. + ***/ + ExecStart = '' + ${pkgs.exhibitor}/bin/startExhibitor.sh ${cliOptions} + ''; + User = "zookeeper"; + PermissionsStartOnly = true; + }; + # This is a bit wonky, but the reason for this is that Exhibitor tries to write to + # ${cfg.baseDir}/zookeeper/bin/../conf/zoo.cfg + # I want everything but the conf directory to be in the immutable nix store, and I want defaults + # from the nix store + # If I symlink the bin directory in, then bin/../ will resolve to the parent of the symlink in the + # immutable nix store. Bind mounting a writable conf over the existing conf might work, but it gets very + # messy with trying to copy the existing out into a mutable store. + # Another option is to try to patch upstream exhibitor, but the current package just pulls down the + # prebuild JARs off of Maven, rather than building them ourselves, as Maven support in Nix isn't + # very mature. So, it seems like a reasonable compromise is to just copy out of the immutable store + # just before starting the service, so we're running binaries from the immutable store, but we work around + # Exhibitor's desire to mutate its current installation. + preStart = '' + mkdir -m 0700 -p ${cfg.baseDir}/zookeeper + # Not doing a chown -R to keep the base ZK files owned by root + chown zookeeper ${cfg.baseDir} ${cfg.baseDir}/zookeeper + cp -Rf ${pkgs.zookeeper}/* ${cfg.baseDir}/zookeeper + chown -R zookeeper ${cfg.baseDir}/zookeeper/conf + chmod -R u+w ${cfg.baseDir}/zookeeper/conf + ''; + }; + users.extraUsers = singleton { + name = "zookeeper"; + uid = config.ids.uids.zookeeper; + description = "Zookeeper daemon user"; + home = cfg.baseDir; + }; + }; +} diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index 0ed5a539e7d..ccc1854d254 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -439,6 +439,8 @@ in { environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH; path = with pkgs; [ gitAndTools.git + gnutar + gzip openssh gitlab-workhorse ]; diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index ba9f99e6a8f..855c8930384 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -37,7 +37,7 @@ let [ cups.out additionalBackends cups-filters pkgs.ghostscript ] ++ optional cfg.gutenprint gutenprint ++ cfg.drivers; - pathsToLink = [ "/lib/cups" "/share/cups" "/bin" ]; + pathsToLink = [ "/lib" "/share/cups" "/bin" ]; postBuild = cfg.bindirCmds; ignoreCollisions = true; }; diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix index e292fd9851e..3e5087766b1 100644 --- a/nixos/modules/services/security/oauth2_proxy.nix +++ b/nixos/modules/services/security/oauth2_proxy.nix @@ -21,21 +21,20 @@ let ''; github = cfg: '' - $(optionalString (!isNull cfg.github.org) "--github-org=${cfg.github.org}") \ - $(optionalString (!isNull cfg.github.team) "--github-org=${cfg.github.team}") \ + ${optionalString (!isNull cfg.github.org) "--github-org=${cfg.github.org}"} \ + ${optionalString (!isNull cfg.github.team) "--github-org=${cfg.github.team}"} \ ''; google = cfg: '' --google-admin-email=${cfg.google.adminEmail} \ --google-service-account=${cfg.google.serviceAccountJSON} \ - $(repeatedArgs (group: "--google-group=${group}") cfg.google.groups) \ + ${repeatedArgs (group: "--google-group=${group}") cfg.google.groups} \ ''; }; authenticatedEmailsFile = pkgs.writeText "authenticated-emails" cfg.email.addresses; - getProviderOptions = cfg: provider: - if providerSpecificOptions ? provider then providerSpecificOptions.provider cfg else ""; + getProviderOptions = cfg: provider: providerSpecificOptions.${provider} or (_: "") cfg; mkCommandLine = cfg: '' --provider='${cfg.provider}' \ diff --git a/nixos/modules/services/system/saslauthd.nix b/nixos/modules/services/system/saslauthd.nix new file mode 100644 index 00000000000..281716cf186 --- /dev/null +++ b/nixos/modules/services/system/saslauthd.nix @@ -0,0 +1,63 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + nssModulesPath = config.system.nssModules.path; + cfg = config.services.saslauthd; + +in + +{ + + ###### interface + + options = { + + services.saslauthd = { + + enable = mkEnableOption "Whether to enable the Cyrus SASL authentication daemon."; + + package = mkOption { + default = pkgs.cyrus_sasl.bin; + defaultText = "pkgs.cyrus_sasl.bin"; + type = types.package; + description = "Cyrus SASL package to use."; + }; + + mechanism = mkOption { + type = types.str; + default = "pam"; + description = "Auth mechanism to use"; + }; + + config = mkOption { + type = types.lines; + default = ""; + description = "Configuration to use for Cyrus SASL authentication daemon."; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.saslauthd = { + description = "Cyrus SASL authentication daemon"; + + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + ExecStart = "@${cfg.package}/sbin/saslauthd saslauthd -a ${cfg.mechanism} -O ${pkgs.writeText "saslauthd.conf" cfg.config}"; + Type = "forking"; + PIDFile = "/run/saslauthd/saslauthd.pid"; + Restart = "always"; + }; + }; + }; +} diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix index c26cae06cd1..5a8a0e27436 100644 --- a/nixos/modules/virtualisation/docker.nix +++ b/nixos/modules/virtualisation/docker.nix @@ -94,6 +94,38 @@ in docker daemon. ''; }; + + autoPrune = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to periodically prune Docker resources. If enabled, a + systemd timer will run docker system prune -f + as specified by the dates option. + ''; + }; + + flags = mkOption { + type = types.listOf types.str; + default = []; + example = [ "--all" ]; + description = '' + Any additional flags passed to docker system prune. + ''; + }; + + dates = mkOption { + default = "weekly"; + type = types.str; + description = '' + Specification (in the format described by + systemd.time + 7) of the time at + which the prune will occur. + ''; + }; + }; }; ###### implementation @@ -137,6 +169,22 @@ in SocketGroup = "docker"; }; }; + + + systemd.services.docker-prune = { + description = "Prune docker resources"; + + restartIfChanged = false; + unitConfig.X-StopOnRemoval = false; + + serviceConfig.Type = "oneshot"; + + script = '' + ${pkgs.docker}/bin/docker system prune -f ${toString cfg.autoPrune.flags} + ''; + + startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates; + }; } ]); diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix index 3943a62f8a4..4a8dadaa281 100644 --- a/nixos/modules/virtualisation/google-compute-image.nix +++ b/nixos/modules/virtualisation/google-compute-image.nix @@ -3,13 +3,11 @@ with lib; let diskSize = 1024; # MB + gce = pkgs.google-compute-engine; in { imports = [ ../profiles/headless.nix ../profiles/qemu-guest.nix ./grow-partition.nix ]; - # https://cloud.google.com/compute/docs/tutorials/building-images - networking.firewall.enable = mkDefault false; - system.build.googleComputeImage = import ../../lib/make-disk-image.nix { name = "google-compute-image"; postVM = '' @@ -49,12 +47,18 @@ in services.openssh.permitRootLogin = "prohibit-password"; services.openssh.passwordAuthentication = mkDefault false; + # Use GCE udev rules for dynamic disk volumes + services.udev.packages = [ gce ]; + # Force getting the hostname from Google Compute. networking.hostName = mkDefault ""; # Always include cryptsetup so that NixOps can use it. environment.systemPackages = [ pkgs.cryptsetup ]; + # Rely on GCP's firewall instead + networking.firewall.enable = mkDefault false; + # Configure default metadata hostnames networking.extraHosts = '' 169.254.169.254 metadata.google.internal metadata @@ -64,6 +68,132 @@ in networking.usePredictableInterfaceNames = false; + # allow the google-accounts-daemon to manage users + users.mutableUsers = true; + # and allow users to sudo without password + security.sudo.enable = true; + security.sudo.extraConfig = '' + %google-sudoers ALL=(ALL:ALL) NOPASSWD:ALL + ''; + + # NOTE: google-accounts tries to write to /etc/sudoers.d but the folder doesn't exist + # FIXME: not such file or directory on dynamic SSH provisioning + systemd.services.google-accounts-daemon = { + description = "Google Compute Engine Accounts Daemon"; + # This daemon creates dynamic users + enable = config.users.mutableUsers; + after = [ + "network.target" + "google-instance-setup.service" + "google-network-setup.service" + ]; + wantedBy = [ "multi-user.target" ]; + requires = ["network.target"]; + path = with pkgs; [ shadow ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${gce}/bin/google_accounts_daemon --debug"; + }; + }; + + systemd.services.google-clock-skew-daemon = { + description = "Google Compute Engine Clock Skew Daemon"; + after = [ + "network.target" + "google-instance-setup.service" + "google-network-setup.service" + ]; + requires = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${gce}/bin/google_clock_skew_daemon --debug"; + }; + }; + + systemd.services.google-instance-setup = { + description = "Google Compute Engine Instance Setup"; + after = ["fs.target" "network-online.target" "network.target" "rsyslog.service"]; + before = ["sshd.service"]; + wants = ["local-fs.target" "network-online.target" "network.target"]; + wantedBy = [ "sshd.service" "multi-user.target" ]; + path = with pkgs; [ ethtool ]; + serviceConfig = { + ExecStart = "${gce}/bin/google_instance_setup --debug"; + Type = "oneshot"; + }; + }; + + systemd.services.google-ip-forwarding-daemon = { + description = "Google Compute Engine IP Forwarding Daemon"; + after = ["network.target" "google-instance-setup.service" "google-network-setup.service"]; + requires = ["network.target"]; + wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ iproute ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${gce}/bin/google_ip_forwarding_daemon --debug"; + }; + }; + + systemd.services.google-shutdown-scripts = { + description = "Google Compute Engine Shutdown Scripts"; + after = [ + "local-fs.target" + "network-online.target" + "network.target" + "rsyslog.service" + "google-instance-setup.service" + "google-network-setup.service" + ]; + wants = [ "local-fs.target" "network-online.target" "network.target"]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${pkgs.coreutils}/bin/true"; + ExecStop = "${gce}/bin/google_metadata_script_runner --debug --script-type shutdown"; + Type = "oneshot"; + RemainAfterExit = true; + TimeoutStopSec = 0; + }; + }; + + systemd.services.google-network-setup = { + description = "Google Compute Engine Network Setup"; + after = [ + "local-fs.target" + "network-online.target" + "network.target" + "rsyslog.service" + ]; + wants = [ "local-fs.target" "network-online.target" "network.target"]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${gce}/bin/google_network_setup --debug"; + KillMode = "process"; + Type = "oneshot"; + }; + }; + + systemd.services.google-startup-scripts = { + description = "Google Compute Engine Startup Scripts"; + after = [ + "local-fs.target" + "network-online.target" + "network.target" + "rsyslog.service" + "google-instance-setup.service" + "google-network-setup.service" + ]; + wants = [ "local-fs.target" "network-online.target" "network.target"]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${gce}/bin/google_metadata_script_runner --debug --script-type startup"; + KillMode = "process"; + Type = "oneshot"; + }; + }; + + # TODO: remove this systemd.services.fetch-ssh-keys = { description = "Fetch host keys and authorized_keys for root user"; @@ -113,9 +243,13 @@ in serviceConfig.StandardOutput = "journal+console"; }; - # Setings taken from https://cloud.google.com/compute/docs/tutorials/building-images#providedkernel + # Settings taken from https://github.com/GoogleCloudPlatform/compute-image-packages/blob/master/google_config/sysctl/11-gce-network-security.conf boot.kernel.sysctl = { - # enables syn flood protection + # Turn on SYN-flood protections. Starting with 2.6.26, there is no loss + # of TCP functionality/features under normal conditions. When flood + # protections kick in under high unanswered-SYN load, the system + # should remain more stable, with a trade off of some loss of TCP + # functionality/features (e.g. TCP Window scaling). "net.ipv4.tcp_syncookies" = mkDefault "1"; # ignores source-routed packets @@ -169,6 +303,11 @@ in # randomizes addresses of mmap base, heap, stack and VDSO page "kernel.randomize_va_space" = mkDefault "2"; + # Reboot the machine soon after a kernel panic. + "kernel.panic" = mkDefault "10"; + + ## Not part of the original config + # provides protection from ToCToU races "fs.protected_hardlinks" = mkDefault "1"; diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 1f4f43a2666..0ce37b55bb7 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -13,8 +13,10 @@ let INSERT INTO sth (id) VALUES (1); INSERT INTO sth (id) VALUES (1); INSERT INTO sth (id) VALUES (1); + CREATE TABLE xmltest ( doc xml ); + INSERT INTO xmltest (doc) VALUES ('ok'); -- check if libxml2 enabled ''; - make-postgresql-test = postgresql-name: postgresql-package: { + make-postgresql-test = postgresql-name: postgresql-package: makeTest { name = postgresql-name; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ zagy ]; @@ -27,17 +29,23 @@ let }; testScript = '' + sub check_count { + my ($select, $nlines) = @_; + return 'test $(sudo -u postgres psql postgres -tAc "' . $select . '"|wc -l) -eq ' . $nlines; + } + $machine->start; $machine->waitForUnit("postgresql"); # postgresql should be available just after unit start - $machine->succeed("cat ${test-sql} | psql postgres"); + $machine->succeed("cat ${test-sql} | sudo -u postgres psql"); $machine->shutdown; # make sure that postgresql survive restart (bug #1735) sleep(2); $machine->start; $machine->waitForUnit("postgresql"); - $machine->fail('test $(psql postgres -tAc "SELECT * FROM sth;"|wc -l) -eq 3'); - $machine->succeed('test $(psql postgres -tAc "SELECT * FROM sth;"|wc -l) -eq 5'); - $machine->fail('test $(psql postgres -tAc "SELECT * FROM sth;"|wc -l) -eq 4'); + $machine->fail(check_count("SELECT * FROM sth;", 3)); + $machine->succeed(check_count("SELECT * FROM sth;", 5)); + $machine->fail(check_count("SELECT * FROM sth;", 4)); + $machine->succeed(check_count("SELECT xpath(\'/test/text()\', doc) FROM xmltest;", 1)); $machine->shutdown; ''; diff --git a/pkgs/applications/altcoins/dapp.nix b/pkgs/applications/altcoins/dapp.nix index e80dd6429fe..51de4d202e8 100644 --- a/pkgs/applications/altcoins/dapp.nix +++ b/pkgs/applications/altcoins/dapp.nix @@ -3,18 +3,18 @@ stdenv.mkDerivation rec { name = "dapp"; - version = "0.5.2"; + version = "0.5.3"; src = fetchFromGitHub { owner = "dapphub"; repo = "dapp"; rev = "v${version}"; - sha256 = "1529ml5r1l5g6xcak7k3h3ih214mgnk87jsxyk0rvk245jkard1y"; + sha256 = "13b2krd02py8jnzjis44lay5i31d95z0myrsy5afzw7fa25giird"; }; nativeBuildInputs = [makeWrapper shellcheck]; buildPhase = "true"; - doCheck = false; + doCheck = true; checkPhase = "make test"; makeFlags = ["prefix=$(out)"]; postInstall = let path = lib.makeBinPath [ diff --git a/pkgs/applications/audio/flac123/default.nix b/pkgs/applications/audio/flac123/default.nix new file mode 100644 index 00000000000..f0863bfc50b --- /dev/null +++ b/pkgs/applications/audio/flac123/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, autoreconfHook, flac, libao, libogg, popt }: + +stdenv.mkDerivation rec { + name = "flac123-${version}"; + version = "0.0.12"; + + src = fetchurl { + url = "mirror://sourceforge/flac-tools/${name}-release.tar.gz"; + sha256 = "0zg4ahkg7v81za518x32wldf42g0rrvlrcqhrg9sv3li9bayyxhr"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ flac libao libogg popt ]; + + meta = with stdenv.lib; { + homepage = http://flac-tools.sourceforge.net/; + description = "A command-line program for playing FLAC audio files"; + license = licenses.gpl2Plus; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/common.nix similarity index 72% rename from pkgs/applications/editors/android-studio/default.nix rename to pkgs/applications/editors/android-studio/common.nix index 0ba89099eb3..e74d04218f4 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -1,3 +1,4 @@ +{ pname, version, build, src, meta }: { bash , buildFHSUserEnv , coreutils @@ -32,12 +33,9 @@ }: let - - version = "2.3.3.0"; - build = "162.4069837"; - androidStudio = stdenv.mkDerivation { - name = "android-studio"; + inherit src meta; + name = "${pname}"; buildInputs = [ makeWrapper unzip @@ -96,32 +94,21 @@ let --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \ --set FONTCONFIG_FILE ${fontsConf} ''; - src = fetchurl { - url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip"; - sha256 = "0zzis9m2xp44xwkj0zvcqw5rh3iyd3finyi5nqhgira1fkacz0qk"; - }; - meta = with stdenv.lib; { - description = "The Official IDE for Android"; - homepage = https://developer.android.com/studio/index.html; - license = licenses.asl20; - platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ primeos ]; - }; }; # Android Studio downloads prebuilt binaries as part of the SDK. These tools # (e.g. `mksdcard`) have `/lib/ld-linux.so.2` set as the interpreter. An FHS # environment is used as a work around for that. fhsEnv = buildFHSUserEnv { - name = "android-studio-fhs-env"; + name = "${pname}-fhs-env"; }; in writeTextFile { - name = "android-studio-${version}"; - destination = "/bin/android-studio"; + name = "${pname}-${version}"; + destination = "/bin/${pname}"; executable = true; text = '' #!${bash}/bin/bash - ${fhsEnv}/bin/android-studio-fhs-env ${androidStudio}/bin/studio.sh + ${fhsEnv}/bin/${pname}-fhs-env ${androidStudio}/bin/studio.sh ''; } diff --git a/pkgs/applications/editors/android-studio/packages.nix b/pkgs/applications/editors/android-studio/packages.nix new file mode 100644 index 00000000000..860f1e53297 --- /dev/null +++ b/pkgs/applications/editors/android-studio/packages.nix @@ -0,0 +1,47 @@ +{ stdenv, callPackage, fetchurl, makeFontsConf }: +let + mkStudio = opts: callPackage (import ./common.nix opts); +in rec { + stable = mkStudio rec { + pname = "android-studio"; + version = "2.3.3.0"; + build = "162.4069837"; + + src = fetchurl { + url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip"; + sha256 = "0zzis9m2xp44xwkj0zvcqw5rh3iyd3finyi5nqhgira1fkacz0qk"; + }; + + meta = with stdenv.lib; { + description = "The Official IDE for Android"; + homepage = https://developer.android.com/studio/index.html; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ primeos ]; + }; + } { + fontsConf = makeFontsConf { + fontDirectories = []; + }; + }; + + preview = mkStudio rec { + pname = "android-studio-preview"; + version = "3.0.0.6"; + build = "171.4182969"; + + src = fetchurl { + url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip"; + sha256 = "0s26k5qr0qg6az77yw2mvnhavwi4aza4ifvd45ljank8aqr6sp5i"; + }; + + meta = stable.meta // { + homepage = https://developer.android.com/studio/preview/index.html; + maintainers = with stdenv.lib.maintainers; [ tomsmeets ]; + }; + } { + fontsConf = makeFontsConf { + fontDirectories = []; + }; + }; +} diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index 0f6d00ab40c..c0c96d9e1a4 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -194,12 +194,12 @@ rec { checkstyle = buildEclipseUpdateSite rec { name = "checkstyle-${version}"; - version = "7.3.0.201612142232"; + version = "8.0.0.201707161819"; src = fetchzip { stripRoot = false; - url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/7.3.0/net.sf.eclipsecs-updatesite_${version}.zip"; - sha256 = "1mbiszwnakfmjx5mnh9h2rrp9jzizkmz89p8z4spq2m9kwy1lkqj"; + url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/8.0.0/net.sf.eclipsecs-updatesite_${version}.zip"; + sha256 = "1p07xcf71qc99sh73vqm9xxxgi819m58frv0cpvsn06y6ljr0aj2"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 9bd002137c4..28a75befba8 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -50,6 +50,9 @@ let patchelf --set-interpreter $interp bin/gdb/bin/gdb patchelf --set-interpreter $interp bin/gdb/bin/gdbserver + patchelf --set-interpreter $interp \ + --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib zlib ]}:$lldbLibPath" \ + bin/clang/clang-tidy ) ''; }); @@ -213,12 +216,12 @@ in clion = buildClion rec { name = "clion-${version}"; - version = "2017.1.3"; + version = "2017.2"; /* updated by script */ description = "C/C++ IDE. New. Intelligent. Cross-platform"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz"; - sha256 = "045pkbbf4ypk9qkhldz08i7hbc6vaq68a8v9axnpndnvcrf0vf7g"; + sha256 = "de7f47ec959be9653aa4d2028fb27f8327800d8370daa0ab2d1093f3469f4b49"; /* updated by script */ }; wmClass = "jetbrains-clion"; update-channel = "CLion_Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml @@ -265,12 +268,12 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2017.1.5"; /* updated by script */ + version = "2017.2"; description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; - sha256 = "830c662c517e8d0131dc2df150d6f75adb3d8becaf9de96393730b0f4ae6ccf0"; /* updated by script */ + sha256 = "0z5abj41f5l9ilznr34lm4fsivrl2yjdxb2kdcis5abij6zl0g3f"; }; wmClass = "jetbrains-idea-ce"; update-channel = "IDEA_Release"; diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index 6a740bbf6f1..7b67610772e 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -20,11 +20,11 @@ let in stdenv.mkDerivation rec { name = "nano-${version}"; - version = "2.8.5"; + version = "2.8.6"; src = fetchurl { url = "mirror://gnu/nano/${name}.tar.xz"; - sha256 = "1hl9gni3qmblr062a7w6vz16gvxbswgc5c19c923ja0bk48vyhyb"; + sha256 = "0xjpm2ka56x5ycrgjh06v110na13xlbm42bs8qibk7g578m9cils"; }; patches = stdenv.lib.optional hostPlatform.isDarwin stdenv.secure-format-patch; diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix index e5b7d1c65ee..18eb1803fd6 100644 --- a/pkgs/applications/editors/vscode/default.nix +++ b/pkgs/applications/editors/vscode/default.nix @@ -2,7 +2,7 @@ makeWrapper, libXScrnSaver, libxkbfile }: let - version = "1.14.0"; + version = "1.14.2"; channel = "stable"; plat = { @@ -12,9 +12,9 @@ let }.${stdenv.system}; sha256 = { - "i686-linux" = "04xv9fr11j7k0yfb7aa2sdmq74hh43aarlvx8nxppzbn2k18dgb3"; - "x86_64-linux" = "1m252cpj4pck40rxnrbp1wapn5d4grn15x7d3s059xb965kga4k7"; - "x86_64-darwin" = "1hwjdrnrhvrmwbq935k4scgw68x817ms89gy471afbhpl65xmp8n"; + "i686-linux" = "0ladqwgy37imq957mmbdfslaxcnx8gcl9nb1q5p8r91vldvf31zd"; + "x86_64-linux" = "1nb9n6511v2p1nwcwh6kbpxgydfs66yn7q2nf1rmh42ha5yzqkja"; + "x86_64-darwin" = "0yk2yd8rzhmsh276xfgywp1gjjkvxypgnjhs8jaxvrgsj7aw1s39"; }.${stdenv.system}; archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz"; diff --git a/pkgs/applications/graphics/PythonMagick/default.nix b/pkgs/applications/graphics/PythonMagick/default.nix index 332bb8794e7..b1f64afd9ae 100644 --- a/pkgs/applications/graphics/PythonMagick/default.nix +++ b/pkgs/applications/graphics/PythonMagick/default.nix @@ -1,3 +1,5 @@ +# This expression provides Python bindings to ImageMagick. Python libraries are supposed to be called via `python-packages.nix`. + {stdenv, fetchurl, python, boost, pkgconfig, imagemagick}: stdenv.mkDerivation rec { diff --git a/pkgs/applications/graphics/graphicsmagick/cmyka-bounds.patch b/pkgs/applications/graphics/graphicsmagick/cmyka-bounds.patch deleted file mode 100644 index dd375143277..00000000000 --- a/pkgs/applications/graphics/graphicsmagick/cmyka-bounds.patch +++ /dev/null @@ -1,36 +0,0 @@ -# HG changeset patch -# User Bob Friesenhahn -# Date 1487905610 21600 -# Node ID 6156b4c2992d855ece6079653b3b93c3229fc4b8 -# Parent 0392c4305a4369984ec8069055acc470c0a73647 -Fix out of bounds access when reading CMYKA tiff which claims wrong samples/pixel. - -diff -r 0392c4305a43 -r 6156b4c2992d coders/tiff.c ---- a/coders/tiff.c Sun Jan 29 10:04:57 2017 -0600 -+++ b/coders/tiff.c Thu Feb 23 21:06:50 2017 -0600 -@@ -1230,8 +1230,8 @@ - case 0: - if (samples_per_pixel == 1) - *quantum_type=GrayQuantum; -- else -- *quantum_type=RedQuantum; -+ else -+ *quantum_type=RedQuantum; - break; - case 1: - *quantum_type=GreenQuantum; -@@ -1411,12 +1411,12 @@ - } - else - { -- if (image->matte) -+ if (image->matte && samples_per_pixel >= 5) - { - *quantum_type=CMYKAQuantum; - *quantum_samples=5; - } -- else -+ else if (samples_per_pixel >= 4) - { - *quantum_type=CMYKQuantum; - *quantum_samples=4; diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix index 0858dfba8b4..c8c9ac8f26e 100644 --- a/pkgs/applications/graphics/graphicsmagick/default.nix +++ b/pkgs/applications/graphics/graphicsmagick/default.nix @@ -2,47 +2,18 @@ , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11 , libwebp, quantumdepth ? 8, fixDarwinDylibNames }: -let version = "1.3.25"; in +let version = "1.3.26"; in stdenv.mkDerivation { name = "graphicsmagick-${version}"; src = fetchurl { url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz"; - sha256 = "17xcc7pfcmiwpfr1g8ys5a7bdnvqzka53vg3kkzhwwz0s99gljyn"; + sha256 = "122zgs96dqrys62mnh8x5yvfff6km4d3yrnvaxzg3mg5sprib87v"; }; patches = [ ./disable-popen.patch - (fetchpatch { - url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-7996_CVE-2016-7997.patch"; - sha256 = "0xsby2z8n7cnnln7szjznq7iaabq323wymvdjra59yb41aix74r2"; - }) - (fetchpatch { - url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-7800_part1.patch"; - sha256 = "02s0x9bkbnm5wrd0d2x9ld4d9z5xqpfk310lyylyr5zlnhqxmwgn"; - }) - (fetchpatch { - url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-7800_part2.patch"; - sha256 = "1h4xv3i1aq5avsd584rwa5sa7ca8f7w9ggmh7j2llqq5kymwsv5f"; - }) - (fetchpatch { - url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-8682.patch"; - sha256 = "1wfirw2yi5y72657kvnbgjs0f9b3rs9nvk8gjbwhb9a03z9ws0y5"; - }) - (fetchpatch { - url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-8683.patch"; - sha256 = "102252zb34nj6alk1nhh1wbn3apd2v9rzk7clmm237332yj72vif"; - }) - (fetchpatch { - url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-8684.patch"; - sha256 = "1p36gpz904wnmbz1n64x4pdpg8lp9zs3gx0awklxqdvgl8m82vvy"; - }) - (fetchpatch { - url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-7/debian/patches/CVE-2016-9830.patch"; - sha256 = "0qh15sd7nx7vf9sld4453iml951bwsx2fx84hxc7plhds2k3gjpa"; - }) - ./cmyka-bounds.patch ]; configureFlags = [ diff --git a/pkgs/applications/misc/houdini/default.nix b/pkgs/applications/misc/houdini/default.nix index 4e40230108b..0b679617243 100644 --- a/pkgs/applications/misc/houdini/default.nix +++ b/pkgs/applications/misc/houdini/default.nix @@ -1,10 +1,9 @@ { zsh, stdenv, callPackage, buildFHSUserEnv, undaemonize }: let - version = "16.0.633"; houdini-runtime = callPackage ./runtime.nix { }; in buildFHSUserEnv rec { - name = "houdini-${version}"; + name = "houdini-${houdini-runtime.version}"; extraBuildCommands = '' mkdir -p $out/usr/lib/sesi diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix index bfd53ef835d..3a91d27fc48 100644 --- a/pkgs/applications/misc/houdini/runtime.nix +++ b/pkgs/applications/misc/houdini/runtime.nix @@ -1,4 +1,4 @@ -{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, mesa_glu, bc }: +{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, mesa_glu, alsaLib, dbus, xkeyboardconfig, bc }: let ld_library_path = builtins.concatStringsSep ":" [ @@ -11,21 +11,29 @@ let xorg.libXext xorg.libX11 xorg.libXrender + xorg.libXcursor + xorg.libXfixes + xorg.libXrender + xorg.libXcomposite + xorg.libXdamage + xorg.libXtst + alsaLib fontconfig libSM libICE zlib libpng + dbus ]) ]; license_dir = "~/.config/houdini"; in stdenv.mkDerivation rec { - version = "16.0.633"; + version = "16.0.671"; name = "houdini-runtime-${version}"; src = requireFile rec { - name = "houdini-16.0.633-linux_x86_64_gcc4.8.tar.gz"; - sha256 = "1laxncwgsr4hj53bn4pn9ibv3pkrpliwxlx0558wgnhq42js3wvl"; + name = "houdini-${version}-linux_x86_64_gcc4.8.tar.gz"; + sha256 = "1d3c1a1128szlgaf3ilw5y20plz5azwp37v0ljawgm80y64hq15r"; message = '' This nix expression requires that ${name} is already part of the store. Download it from https://sidefx.com and add it to the nix store with: @@ -50,11 +58,13 @@ stdenv.mkDerivation rec { --no-root-check \ --accept-EULA \ $out - sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/Licensing.opt + echo -e "localValidatorDir = ${license_dir}\nlicensingMode = localValidator" > $out/houdini/Licensing.opt sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/sbin/sesinetd_safe sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/sbin/sesinetd.startup echo "export LD_LIBRARY_PATH=${ld_library_path}" >> $out/bin/app_init.sh + echo "export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"" >> $out/bin/app_init.sh echo "export LD_LIBRARY_PATH=${ld_library_path}" >> $out/houdini/sbin/app_init.sh + echo "export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"" >> $out/houdini/sbin/app_init.sh ''; postFixup = '' INTERPRETER="$(cat "$NIX_CC"/nix-support/dynamic-linker)" diff --git a/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix index 5e43486b075..e64632d529b 100644 --- a/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix +++ b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix @@ -1,14 +1,17 @@ { stdenv, buildEnv, fetchFromGitHub, mono }: let - version = "1.8.4.1"; + version = "1.8.4.2"; drv = stdenv.mkDerivation { name = "keepasshttp-${version}"; src = fetchFromGitHub { owner = "pfn"; repo = "keepasshttp"; - rev = "${version}"; - sha256 = "1074yv0pmzdwfwkx9fh7n2igdqwsyxypv55khkyng6synbv2p2fd"; + #rev = "${version}"; + # for 1.8.4.2 the tag is at the wrong commit (they fixed stuff + # afterwards and didn't move the tag), hence reference by commitid + rev = "c2c4eb5388a02169400cba7a67be325caabdcc37"; + sha256 = "0bkzxggbqx7sql3sp46bqham6r457in0vrgh3ai3lw2jrw79pwmh"; }; meta = { diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix index 57f6cfc4c4b..e36fbfa0f3f 100644 --- a/pkgs/applications/misc/keepass/default.nix +++ b/pkgs/applications/misc/keepass/default.nix @@ -8,11 +8,11 @@ # plugin derivations in the Nix store and nowhere else. with builtins; buildDotnetPackage rec { baseName = "keepass"; - version = "2.35"; + version = "2.36"; src = fetchurl { url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip"; - sha256 = "1pv3x1lr2kymjpm6z26fqx997jivzy0diqsysq4diygj38wdkajz"; + sha256 = "1j6qhy8h3z6higbpq3q9v04amvgbn90yj3kbsvj17azdkffkwzny"; }; sourceRoot = "."; diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix index 5d7a89060fa..787f97ac1b1 100644 --- a/pkgs/applications/misc/mediainfo-gui/default.nix +++ b/pkgs/applications/misc/mediainfo-gui/default.nix @@ -2,11 +2,11 @@ , desktop_file_utils, libSM, imagemagick }: stdenv.mkDerivation rec { - version = "0.7.95"; + version = "0.7.97"; name = "mediainfo-gui-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "0bil5hsjas585s83j0srxwlplzpw2wny2wklp8az8iayvxmmi20m"; + sha256 = "10hp23a9hdlqvrhskssd9g15f4n55yq48cmbpjwdqwzfrblj598n"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix index a2c52181757..38888b0ebdc 100644 --- a/pkgs/applications/misc/mediainfo/default.nix +++ b/pkgs/applications/misc/mediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }: stdenv.mkDerivation rec { - version = "0.7.95"; + version = "0.7.97"; name = "mediainfo-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "0bil5hsjas585s83j0srxwlplzpw2wny2wklp8az8iayvxmmi20m"; + sha256 = "10hp23a9hdlqvrhskssd9g15f4n55yq48cmbpjwdqwzfrblj598n"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/terminal-notifier/default.nix b/pkgs/applications/misc/terminal-notifier/default.nix index d9046c55e12..47cea34d4a5 100644 --- a/pkgs/applications/misc/terminal-notifier/default.nix +++ b/pkgs/applications/misc/terminal-notifier/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp -r terminal-notifier.app $out/Applications cat >$out/bin/terminal-notifier < +Date: 2017-06-25 +Initial Package Version: 57.0.2987.110 +Upstream Status: Not submitted +Origin: Gentoo: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-system-ffmpeg-r4.patch +Description: Allows building with system provided ffmpeg. Rediffed + for chromium-59.0.3071.109. + +diff -Naurp chromium-59.0.3071.109-orig/media/ffmpeg/ffmpeg_common.h chromium-59.0.3071.109/media/ffmpeg/ffmpeg_common.h +--- chromium-59.0.3071.109-orig/media/ffmpeg/ffmpeg_common.h 2017-06-20 17:03:19.000000000 -0500 ++++ chromium-59.0.3071.109/media/ffmpeg/ffmpeg_common.h 2017-06-23 00:21:10.551912699 -0500 +@@ -23,10 +23,6 @@ + + // Include FFmpeg header files. + extern "C" { +-// Disable deprecated features which result in spammy compile warnings. This +-// list of defines must mirror those in the 'defines' section of FFmpeg's +-// BUILD.gn file or the headers below will generate different structures! +-#define FF_API_CONVERGENCE_DURATION 0 + // Upstream libavcodec/utils.c still uses the deprecated + // av_dup_packet(), causing deprecation warnings. + // The normal fix for such things is to disable the feature as below, +@@ -40,7 +36,6 @@ extern "C" { + MSVC_PUSH_DISABLE_WARNING(4244); + #include + #include +-#include + #include + #include + #include +diff -Naurp chromium-59.0.3071.109-orig/media/filters/ffmpeg_demuxer.cc chromium-59.0.3071.109/media/filters/ffmpeg_demuxer.cc +--- chromium-59.0.3071.109-orig/media/filters/ffmpeg_demuxer.cc 2017-06-20 17:03:19.000000000 -0500 ++++ chromium-59.0.3071.109/media/filters/ffmpeg_demuxer.cc 2017-06-23 00:22:56.289311692 -0500 +@@ -1223,29 +1223,6 @@ void FFmpegDemuxer::OnFindStreamInfoDone + // If no estimate is found, the stream entry will be kInfiniteDuration. + std::vector start_time_estimates(format_context->nb_streams, + kInfiniteDuration); +- const AVFormatInternal* internal = format_context->internal; +- if (internal && internal->packet_buffer && +- format_context->start_time != static_cast(AV_NOPTS_VALUE)) { +- struct AVPacketList* packet_buffer = internal->packet_buffer; +- while (packet_buffer != internal->packet_buffer_end) { +- DCHECK_LT(static_cast(packet_buffer->pkt.stream_index), +- start_time_estimates.size()); +- const AVStream* stream = +- format_context->streams[packet_buffer->pkt.stream_index]; +- if (packet_buffer->pkt.pts != static_cast(AV_NOPTS_VALUE)) { +- const base::TimeDelta packet_pts = +- ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts); +- // We ignore kNoTimestamp here since -int64_t::min() is possible; see +- // https://crbug.com/700501. Technically this is a valid value, but in +- // practice shouldn't occur, so just ignore it when estimating. +- if (packet_pts != kNoTimestamp && packet_pts != kInfiniteDuration && +- packet_pts < start_time_estimates[stream->index]) { +- start_time_estimates[stream->index] = packet_pts; +- } +- } +- packet_buffer = packet_buffer->next; +- } +- } + + std::unique_ptr media_tracks(new MediaTracks()); + diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index bb4f9a1371b..708320e92a2 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { beta = { - sha256 = "1lr8yc1inj0r0znak4rq37c9r0jhmag0ny9dqxng2jpgqq7mkp2g"; - sha256bin64 = "1yyw7i50jkgkwrgp4by83m0xwsi44bkxsyw47lrqbfzask3zazbm"; - version = "60.0.3112.40"; + sha256 = "086j8s8wjwk26gfb7hdqn1lsmwgr9mmw93yfi6s4wia9ra0ccwj2"; + sha256bin64 = "0z1dshxzyn5zhr4xg5mvrq70jxsfkwv50achq802322y4jz52f7n"; + version = "60.0.3112.66"; }; dev = { - sha256 = "1xhv32bxiwz56gcbw47syl88a54x5gira4drh378zp8cwgh9pz4z"; - sha256bin64 = "18k3wml6yl2qghhnxb2w2d0k2397i0829nk0sqc38qz2sjbbvzna"; - version = "61.0.3135.4"; + sha256 = "1hbf7hv4934686dp0dbqy06vbwb2kq4wz5hjfdxrgafrzqac2j7g"; + sha256bin64 = "1gg1a3k80qncr7dpw9gycndv52396cqyq9zfmzf6c4njpn2khjfv"; + version = "61.0.3153.4"; }; stable = { - sha256 = "1naqlxz9w07nlnwxkmxwf9jnxvmagj88xcjqh9r873a26wsypyl3"; - sha256bin64 = "1h086irdsjs27n7ch54hy7zbiypc4swr8wnxjha1q39wc1bpc7hl"; - version = "59.0.3071.109"; + sha256 = "0w1i4q7w5lcajc18jrchrhhm00x0jzm846l5x7a5rcp3baawkjrp"; + sha256bin64 = "1naq20508qjm9hlwlpj686a0lawca58rnr35ws2gh2gsyxrxnmx1"; + version = "59.0.3071.115"; }; } diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix index 0594a8944f5..c8c13a242ff 100644 --- a/pkgs/applications/networking/instant-messengers/qtox/default.nix +++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix @@ -1,8 +1,9 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig, openal, opencv, - libtoxcore, libsodium, libXScrnSaver, glib, gdk_pixbuf, gtk2, cairo, xorg, - pango, atk, qrencode, ffmpeg, filter-audio, - qtbase, qtsvg, qttools, qttranslations, sqlcipher, - libvpx, libopus }: +{ mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig, + libtoxcore, + libpthreadstubs, libXdmcp, libXScrnSaver, + qtbase, qtsvg, qttools, qttranslations, + atk, cairo, ffmpeg, filter-audio, gdk_pixbuf, glib, gtk2, libsodium, libopus, + libvpx, openal, opencv, pango, pcre, qrencode, sqlcipher }: mkDerivation rec { name = "qtox-${version}"; @@ -16,14 +17,12 @@ mkDerivation rec { }; buildInputs = [ - libtoxcore openal opencv libsodium filter-audio - qtbase qttools qtsvg libXScrnSaver glib gtk2 cairo - pango atk qrencode ffmpeg qttranslations - sqlcipher - libopus libvpx - ] ++ (with xorg; [ - libpthreadstubs libXdmcp - ]); + libtoxcore + libpthreadstubs libXdmcp libXScrnSaver + qtbase qtsvg qttools qttranslations + atk cairo ffmpeg filter-audio gdk_pixbuf glib gtk2 libopus libsodium + libvpx openal opencv pango pcre qrencode sqlcipher + ]; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix index 207581ed29b..e0e8622e643 100644 --- a/pkgs/applications/networking/owncloud-client/default.nix +++ b/pkgs/applications/networking/owncloud-client/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "owncloud-client-${version}"; - version = "2.3.1"; + version = "2.3.2"; src = fetchurl { url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz"; - sha256 = "051rky4rpm73flxxkhfdxqq23ncnk4ixhscbg74w82sa4d93f54k"; + sha256 = "02az9wq0d1vsgcdipddipdjwj2faf7jag8hizwd0ha3sjlmrs6d1"; }; nativeBuildInputs = [ pkgconfig cmake ]; diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix index 93b4fc76467..0888e0207a6 100644 --- a/pkgs/applications/networking/sync/rclone/default.nix +++ b/pkgs/applications/networking/sync/rclone/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "rclone-${version}"; - version = "1.36"; + version = "1.37"; goPackagePath = "github.com/ncw/rclone"; @@ -10,9 +10,15 @@ buildGoPackage rec { owner = "ncw"; repo = "rclone"; rev = "v${version}"; - sha256 = "1vx75ihg2j0chml8hwvngjkjw647cai9gicfy8ss6xsrm46w59b3"; + sha256 = "0krmdwzl4c68vxpbycqy2xba8vvqbka7xh3k2q6ldxsd8y2rypym"; }; + outputs = [ "bin" "out" "man" ]; + + postInstall = '' + install -D -m644 $src/rclone.1 $man/share/man/man1/rclone.1 + ''; + meta = with stdenv.lib; { description = "Command line program to sync files and directories to and from major cloud storage"; homepage = "http://rclone.org"; diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index b24be07b8ee..1f5e9601ff2 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [libiconv zlib popt] ++ stdenv.lib.optional enableACLs acl; nativeBuildInputs = [perl]; - configureFlags = ["--with-nobody-group=nogroup" "--without-included-zlib"]; + configureFlags = ["--with-nobody-group=nogroup"]; meta = base.meta // { description = "A fast incremental file transfer utility"; diff --git a/pkgs/applications/science/logic/boolector/default.nix b/pkgs/applications/science/logic/boolector/default.nix index 37d25c9e947..2b40995b743 100644 --- a/pkgs/applications/science/logic/boolector/default.nix +++ b/pkgs/applications/science/logic/boolector/default.nix @@ -1,48 +1,23 @@ -{ stdenv, fetchurl, zlib, useV16 ? false }: +{ stdenv, fetchurl }: -let - v15 = rec { - name = "boolector-${version}"; - version = "1.5.118"; - src = fetchurl { - url = "http://fmv.jku.at/boolector/${name}-with-sat-solvers.tar.gz"; - sha256 = "17j7q02rryvfwgvglxnhx0kv8hxwy8wbhzawn48lw05i98vxlmk9"; - }; +stdenv.mkDerivation rec { + name = "boolector-${version}"; + version = "2.4.1"; + src = fetchurl { + url = "http://fmv.jku.at/boolector/boolector-${version}-with-lingeling-bbc.tar.bz2"; + sha256 = "0mdf7hwix237pvknvrpazcx6s3ininj5k7vhysqjqgxa7lxgq045"; }; - v16 = rec { - name = "boolector-${version}"; - version = "1.6.0"; - src = fetchurl { - url = "http://fmv.jku.at/boolector/${name}-with-sat-solvers.tar.gz"; - sha256 = "0jka4r6bc3i24axgdp6qbq6gjadwz9kvi11s2c5sbwmdnjd7cp85"; - }; - }; - - boolectorPkg = if useV16 then v16 else v15; - license = with stdenv.lib.licenses; if useV16 then unfreeRedistributable else gpl3; -in -stdenv.mkDerivation (boolectorPkg // { - buildInputs = [ - zlib zlib.static (stdenv.lib.getOutput "static" stdenv.cc.libc) - ]; - - enableParallelBuilding = false; - installPhase = '' - mkdir -p $out/bin $out/lib $out/include - cp boolector/boolector $out/bin - cp boolector/deltabtor $out/bin - cp boolector/synthebtor $out/bin - cp boolector/libboolector.a $out/lib - cp boolector/boolector.h $out/include + mkdir $out + mv boolector/bin $out ''; meta = { - inherit license; + license = stdenv.lib.licenses.unfreeRedistributable; description = "An extremely fast SMT solver for bit-vectors and arrays"; homepage = "http://fmv.jku.at/boolector"; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; -}) +} diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix new file mode 100644 index 00000000000..7cdacc1738b --- /dev/null +++ b/pkgs/applications/science/medicine/aliza/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, mesa }: + +with stdenv.lib; +stdenv.mkDerivation { + name = "aliza"; + src = fetchurl { + # Hosted on muoniurn's google drive + url = "https://drive.google.com/uc?export=download&id=0B0s_Yf4jjfZ4WUJaSERHN3FsNFE"; + sha256 = "1nfp3ghjnfxmxiclg76gcn7a3mhvi6h7s5wmd9v9l6w8lfq9vj5h"; + name = "aliza.rpm"; + }; + + buildInputs = [ rpmextract makeWrapper ]; + + unpackCmd = "rpmextract $curSrc"; + + patchPhase = '' + sed -i 's/^Exec.*$/Exec=aliza %F/' share/applications/aliza.desktop + ''; + + installPhase = '' + mkdir -p $out + cp -r bin share $out + + runHook postInstall + ''; + + postInstall = let + libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt mesa ]; + in '' + ${patchelf}/bin/patchelf \ + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $out/bin/aliza + + ${patchelf}/bin/patchelf \ + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $out/bin/aliza-vtkvol + + wrapProgram $out/bin/aliza \ + --prefix LD_LIBRARY_PATH : ${libs} + + wrapProgram $out/bin/aliza-vtkvol \ + --prefix LD_LIBRARY_PATH : ${libs} + ''; + + meta = { + description = "Medical imaging software with 2D, 3D and 4D capabilities"; + homepage = "http://www.aliza-dicom-viewer.com"; + license = licenses.unfreeRedistributable; + maintainers = with maintainers; [ mounium ]; + }; +} diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 8916a9fd167..c13169041aa 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "root-${version}"; - version = "6.10.00"; + version = "6.10.02"; src = fetchurl { url = "https://root.cern.ch/download/root_v${version}.source.tar.gz"; - sha256 = "1rxqcpqf1b3sxig5xbh3mkvarhg9lgj2f0gv0j48klfw8kgfwlsp"; + sha256 = "1ryp9397xpbnxha6s222c10pa50lf2qf5s35n31lc29s90p8s9kc"; }; buildInputs = [ cmake pcre pkgconfig python2 zlib libxml2 lzma gsl ] diff --git a/pkgs/applications/version-management/blackbox/default.nix b/pkgs/applications/version-management/blackbox/default.nix new file mode 100644 index 00000000000..569606d2fdb --- /dev/null +++ b/pkgs/applications/version-management/blackbox/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + version = "1.20170611"; + pname = "blackbox"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "stackexchange"; + repo = pname; + rev = "v${version}"; + sha256 = "1jnzhlj54c0szw9l9wib07i2375pbm402bx9wagspcmwc0qw43p6"; + }; + + installPhase = '' + mkdir -p $out/bin && cp -r bin/* $out/bin + ''; + + meta = with stdenv.lib; { + description = "Safely store secrets in a VCS repo"; + maintainers = with maintainers; [ ericsagnes ]; + license = licenses.mit; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix index 3b1837d16f1..b613898faaa 100644 --- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix +++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "diff-so-fancy-${version}"; - version = "0.11.4"; + version = "1.1.0"; src = fetchFromGitHub { owner = "so-fancy"; repo = "diff-so-fancy"; rev = "v${version}"; - sha256 = "1za2rm8jzcdc6bkpl198nrqf5bc05nw53vlkk15nmmb9snnb69ig"; + sha256 = "0wd9npcfp41ggvddrbif8qr25pm7jlzxzd3xn5rlq0y0frwx5akj"; }; # Perl is needed here for patchShebangs @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { # itself, so we are copying executable to lib, and only symlink it # from bin/ cp diff-so-fancy $out/lib/diff-so-fancy - cp -r libexec $out/lib/diff-so-fancy + cp -r lib $out/lib/diff-so-fancy ln -s $out/lib/diff-so-fancy/diff-so-fancy $out/bin # ncurses is needed for `tput` @@ -43,5 +43,6 @@ stdenv.mkDerivation rec { diff-so-fancy builds on the good-lookin' output of git contrib's diff-highlight to upgrade your diffs' appearances. ''; + maintainers = with maintainers; [ fpletz ]; }; } diff --git a/pkgs/applications/video/handbrake/handbrake-0.10.3-nolibav.patch b/pkgs/applications/video/handbrake/handbrake-0.10.3-nolibav.patch deleted file mode 100644 index 8539186aaa5..00000000000 --- a/pkgs/applications/video/handbrake/handbrake-0.10.3-nolibav.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 75549414927212d4d1666730133805b33447de79 Mon Sep 17 00:00:00 2001 -From: John Stebbins -Date: Tue, 3 Nov 2015 10:16:01 -0800 -Subject: [PATCH] muxavformat: add support for mp4 fallback audio signalling - ---- -diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c -index 0d70597..373c2ab 100644 ---- a/libhb/muxavformat.c -+++ b/libhb/muxavformat.c -@@ -121,7 +121,7 @@ static int avformatInit( hb_mux_object_t * m ) - hb_mux_data_t * track; - int meta_mux; - int max_tracks; -- int ii, ret; -+ int ii, jj, ret; - - int clock_min, clock_max, clock; - hb_video_framerate_get_limits(&clock_min, &clock_max, &clock); -@@ -589,6 +589,56 @@ static int avformatInit( hb_mux_object_t * m ) - } - } - -+ // Check for audio track associations -+ for (ii = 0; ii < hb_list_count(job->list_audio); ii++) -+ { -+ audio = hb_list_item(job->list_audio, ii); -+ switch (audio->config.out.codec & HB_ACODEC_MASK) -+ { -+ case HB_ACODEC_FFAAC: -+ case HB_ACODEC_CA_AAC: -+ case HB_ACODEC_CA_HAAC: -+ case HB_ACODEC_FDK_AAC: -+ case HB_ACODEC_FDK_HAAC: -+ break; -+ -+ default: -+ { -+ // Mark associated fallback audio tracks for any non-aac track -+ for(jj = 0; jj < hb_list_count( job->list_audio ); jj++ ) -+ { -+ hb_audio_t * fallback; -+ int codec; -+ -+ if (ii == jj) continue; -+ -+ fallback = hb_list_item( job->list_audio, jj ); -+ codec = fallback->config.out.codec & HB_ACODEC_MASK; -+ if (fallback->config.in.track == audio->config.in.track && -+ (codec == HB_ACODEC_FFAAC || -+ codec == HB_ACODEC_CA_AAC || -+ codec == HB_ACODEC_CA_HAAC || -+ codec == HB_ACODEC_FDK_AAC || -+ codec == HB_ACODEC_FDK_HAAC)) -+ { -+ hb_mux_data_t * fallback_track; -+ int * sd; -+ -+ track = audio->priv.mux_data; -+ fallback_track = fallback->priv.mux_data; -+ sd = (int*)av_stream_new_side_data(track->st, -+ AV_PKT_DATA_FALLBACK_TRACK, -+ sizeof(int)); -+ if (sd != NULL) -+ { -+ *sd = fallback_track->st->index; -+ } -+ } -+ } -+ } break; -+ } -+ } -+ - char * subidx_fmt = - "size: %dx%d\n" - "org: %d, %d\n" diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 674d6f46690..d21a8ab6dcc 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -33,6 +33,7 @@ , vaapiSupport ? true, libva ? null , drmSupport ? !stdenv.isDarwin, libdrm ? null , vapoursynthSupport ? false, vapoursynth ? null +, archiveSupport ? false, libarchive ? null , jackaudioSupport ? false, libjack2 ? null # scripts you want to be loaded by default @@ -65,6 +66,7 @@ assert libpngSupport -> available libpng; assert youtubeSupport -> available youtube-dl; assert vapoursynthSupport -> available vapoursynth; assert jackaudioSupport -> available libjack2; +assert archiveSupport -> available libarchive; assert vaapiSupport -> available libva; assert drmSupport -> available libdrm; @@ -79,13 +81,13 @@ let }; in stdenv.mkDerivation rec { name = "mpv-${version}"; - version = "0.25.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "mpv-player"; repo = "mpv"; rev = "v${version}"; - sha256 = "16r3fyq472hzxnh6g3gm520pmw1ybslaki3pqjm2d9jnd2md1pa5"; + sha256 = "0d9pvsknjqmxj907y85fxh9xcbb5dafw2bh7rpwhgs9x4wdrbvv0"; }; patchPhase = '' @@ -101,6 +103,9 @@ in stdenv.mkDerivation rec { "--disable-libmpv-static" "--disable-static-build" "--disable-build-date" # Purity + (enableFeature archiveSupport "libarchive") + (enableFeature dvdreadSupport "dvdread") + (enableFeature dvdnavSupport "dvdnav") (enableFeature vaapiSupport "vaapi") (enableFeature waylandSupport "wayland") ]; @@ -136,6 +141,7 @@ in stdenv.mkDerivation rec { ++ optional vaapiSupport libva ++ optional drmSupport libdrm ++ optional vapoursynthSupport vapoursynth + ++ optional archiveSupport libarchive ++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ] ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ] ++ optionals waylandSupport [ wayland libxkbcommon ]; @@ -154,7 +160,7 @@ in stdenv.mkDerivation rec { ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf # Ensure youtube-dl is available in $PATH for MPV wrapProgram $out/bin/mpv \ - --add-flags "--script=${concatStringsSep "," scripts}" \ + --add-flags "--scripts=${concatStringsSep "," scripts}" \ '' + optionalString youtubeSupport '' --prefix PATH : "${youtube-dl}/bin" \ '' + optionalString vapoursynthSupport '' diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix index dfd92685579..211bd2f39e0 100644 --- a/pkgs/applications/virtualization/bochs/default.nix +++ b/pkgs/applications/virtualization/bochs/default.nix @@ -1,11 +1,10 @@ -{ stdenv, fetchurl, config +{ stdenv, fetchurl , pkgconfig, libtool , gtk2, mesa, readline, libX11, libXpm , docbook_xml_dtd_45, docbook_xsl , sdlSupport ? true, SDL2 ? null -, termSupport ? true , ncurses ? null +, termSupport ? true, ncurses ? null , wxSupport ? true, wxGTK ? null -# Optional, undocumented dependencies , wgetSupport ? false, wget ? null , curlSupport ? false, curl ? null }: @@ -16,58 +15,17 @@ assert wxSupport -> (gtk2 != null && wxGTK != null); assert wgetSupport -> (wget != null); assert curlSupport -> (curl != null); +with stdenv.lib; stdenv.mkDerivation rec { name = "bochs-${version}"; - version = "2.6.8"; + version = "2.6.9"; src = fetchurl { url = "mirror://sourceforge/project/bochs/bochs/${version}/${name}.tar.gz"; - sha256 = "1kl5cmbz6qgg33j5vv9898nzdppp1rqgy24r5pv762aaj7q0ww3r"; + sha256 = "1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf"; }; - # The huge list of configurable options - # Blatantly based on ffmpeg expressions - - termSupport = config.bochs.termSupport or true; - sdlSupport = config.bochs.sdlSupport or true; - wxSupport = config.bochs.wxSupport or false; - largefile = config.bochs.largefile or true; - idleHack = config.bochs.idleHack or true; - plugins = config.bochs.plugins or false; # Warning! Broken - a20Pin = config.bochs.a20Pin or true; - emulate64Bits = config.bochs.emulate64Bits or false; - smp = config.bochs.smp or false; - largeRamfile = config.bochs.largeRamfile or true; - repeatSpeedups = config.bochs.repeatSpeedups or false; - handlersChaining = config.bochs.handlersChaining or false; - traceLinking = config.bochs.traceLinking or false; - configurableMSRegs = config.bochs.configurableMSRegs or false; - showIPS = config.bochs.showIPS or true; - debugger = config.bochs.debugger or false; - disasm = config.bochs.disasm or false; - debuggerGui = config.bochs.debuggerGui or false; - gdbStub = config.bochs.gdbStub or false; - IODebug = config.Bochs.IODebug or false; - fpu = config.bochs.fpu or true; - svm = config.bochs.svm or false; - avx = config.bochs.avx or false; - evex = config.bochs.evex or false; - x86Debugger = config.bochs.x86Debugger or false; - pci = config.bochs.pci or true; - uhci = config.bochs.uhci or false; - ohci = config.bochs.ohci or false; - ne2k = config.bochs.ne2k or true; - pNIC = config.bochs.pNIC or true; - e1000 = config.bochs.e1000 or true; - clgd54xx = config.bochs.clgd54xx or true; - voodoo = config.bochs.voodoo or true; - cdrom = config.bochs.cdrom or true; - sb16 = config.bochs.sb16 or true; - es1370 = config.bochs.es1370 or true; - gameport = config.bochs.gameport or true; - busMouse = config.bochs.busMouse or false; - buildInputs = with stdenv.lib; [ pkgconfig libtool gtk2 mesa readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ] ++ optionals termSupport [ ncurses ] @@ -83,7 +41,6 @@ stdenv.mkDerivation rec { "--with-rfb=no" "--with-vncsrv=no" "--with-svga=no" # it doesn't compile on NixOS - "--with-wx=no" # These will always be "yes" on NixOS "--enable-ltdl-install=yes" @@ -100,69 +57,69 @@ stdenv.mkDerivation rec { # Dangerous options - they are marked as "incomplete/experimental" on Bochs documentation "--enable-3dnow=no" - "--enable-usb-xhci=no" "--enable-monitor-mwait=no" "--enable-raw-serial=no" ] # Boolean flags - ++ stdenv.lib.optional termSupport "--with-term" - ++ stdenv.lib.optional sdlSupport "--with-sdl2" - ++ stdenv.lib.optional wxSupport "--with-wx" - ++ stdenv.lib.optional largefile "--enable-largefile" - ++ stdenv.lib.optional idleHack "--enable-idle-hack" - ++ stdenv.lib.optional plugins "--enable-plugins" - ++ stdenv.lib.optional a20Pin "--enable-a20-pin" - ++ stdenv.lib.optional emulate64Bits "--enable-x86-64" - ++ stdenv.lib.optional smp "--enable-smp" - ++ stdenv.lib.optional largeRamfile "--enable-large-ramfile" - ++ stdenv.lib.optional repeatSpeedups "--enable-repeat-speedups" - ++ stdenv.lib.optional handlersChaining "--enable-handlers-chaining" - ++ stdenv.lib.optional traceLinking "--enable-trace-linking" - ++ stdenv.lib.optional configurableMSRegs "--enable-configurable-msrs" - ++ stdenv.lib.optional showIPS "--enable-show-ips" - ++ stdenv.lib.optional debugger "--enable-debugger" - ++ stdenv.lib.optional disasm "--enable-disasm" - ++ stdenv.lib.optional debuggerGui "--enable-debugger-gui" - ++ stdenv.lib.optional gdbStub "--enable-gdb-stub" - ++ stdenv.lib.optional IODebug "--enable-iodebug" - ++ stdenv.lib.optional fpu "--enable-fpu" - ++ stdenv.lib.optional svm "--enable-svm" - ++ stdenv.lib.optional avx "--enable-avx" - ++ stdenv.lib.optional evex "--enable-evex" - ++ stdenv.lib.optional x86Debugger "--enable-x86-debugger" - ++ stdenv.lib.optional pci "--enable-pci" - ++ stdenv.lib.optional uhci "--enable-usb" - ++ stdenv.lib.optional ohci "--enable-usb-ohci" - ++ stdenv.lib.optional ne2k "--enable-ne2000" - ++ stdenv.lib.optional pNIC "--enable-pnic" - ++ stdenv.lib.optional e1000 "--enable-e1000" - ++ stdenv.lib.optional clgd54xx "--enable-clgd54xx" - ++ stdenv.lib.optional voodoo "--enable-voodoo" - ++ stdenv.lib.optional cdrom "--enable-cdrom" - ++ stdenv.lib.optional sb16 "--enable-sb16" - ++ stdenv.lib.optional es1370 "--enable-es1370" - ++ stdenv.lib.optional busMouse "--enable-busmouse" - ; + ++ optionals termSupport [ "--with-term" ] + ++ optionals sdlSupport [ "--with-sdl2" ] + ++ optionals wxSupport [ "--with-wx" ] + # These are completely configurable, and they don't depend of external tools + ++ [ "--enable-cpu-level=6" # from 3 to 6 + "--enable-largefile" + "--enable-idle-hack" + "--enable-plugins=no" # Plugins are a bit buggy in Bochs + "--enable-a20-pin" + "--enable-x86-64" + "--enable-smp" + "--enable-large-ramfile" + "--enable-repeat-speedups" + "--enable-handlers-chaining" + "--enable-trace-linking" + "--enable-configurable-msrs" + "--enable-show-ips" + "--enable-debugger" #conflicts with gdb-stub option + "--enable-disasm" + "--enable-debugger-gui" + "--enable-gdb-stub=no" # conflicts with debugger option + "--enable-iodebug" + "--enable-fpu" + "--enable-svm" + "--enable-avx" + "--enable-evex" + "--enable-x86-debugger" + "--enable-pci" + "--enable-usb" + "--enable-usb-ohci" + "--enable-usb-ehci" + "--enable-usb-xhci" + "--enable-ne2000" + "--enable-pnic" + "--enable-e1000" + "--enable-clgd54xx" + "--enable-voodoo" + "--enable-cdrom" + "--enable-sb16" + "--enable-es1370" + "--enable-busmouse" ]; NIX_CFLAGS_COMPILE="-I${gtk2.dev}/include/gtk-2.0/ -I${libtool}/include/"; NIX_LDFLAGS="-L${libtool.lib}/lib"; hardeningDisable = [ "format" ]; - meta = with stdenv.lib; { + meta = { description = "An open-source IA-32 (x86) PC emulator"; longDescription = '' - Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, - written in C++, that runs on most popular platforms. It includes - emulation of the Intel x86 CPU, common I/O devices, and a custom - BIOS. + Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written + in C++, that runs on most popular platforms. It includes emulation of the + Intel x86 CPU, common I/O devices, and a custom BIOS. ''; homepage = http://bochs.sourceforge.net/; license = licenses.lgpl2Plus; maintainers = [ maintainers.AndersonTorres ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } - -# TODO: study config.bochs.* implementation (like config.ffmpeg.* options) -# TODO: investigate the wxWidgets problem (maybe upstream devteam didn't update wxGTK GUI) -# TODO: investigate svga support - the Bochs sources explicitly cite /usr/include/svga.h +# TODO: plugins +# TODO: svga support - the Bochs sources explicitly cite /usr/include/vga.h +# TODO: a better way to organize the options diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index b811ab42ff2..c42b2a098f7 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -137,8 +137,8 @@ rec { echo "Generate man pages from cobra" cd ./components/cli mkdir -p ./man/man1 - go build -o /tmp/gen-manpages github.com/docker/cli/man - /tmp/gen-manpages --root . --target ./man/man1 + go build -o ./gen-manpages github.com/docker/cli/man + ./gen-manpages --root . --target ./man/man1 # Generate legacy pages from markdown echo "Generate legacy manpages" diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix index 1145d32ba02..751dba56930 100644 --- a/pkgs/build-support/fetchzip/default.nix +++ b/pkgs/build-support/fetchzip/default.nix @@ -23,7 +23,6 @@ lib.overrideDerivation (fetchurl ({ postFetch = '' export PATH=${unzip}/bin:$PATH - mkdir $out unpackDir="$TMPDIR/unpack" mkdir "$unpackDir" @@ -32,8 +31,6 @@ lib.overrideDerivation (fetchurl ({ renamed="$TMPDIR/${baseNameOf url}" mv "$downloadedFile" "$renamed" unpackFile "$renamed" - - shopt -s dotglob '' + (if stripRoot then '' if [ $(ls "$unpackDir" | wc -l) != 1 ]; then @@ -43,12 +40,11 @@ lib.overrideDerivation (fetchurl ({ fi fn=$(cd "$unpackDir" && echo *) if [ -f "$unpackDir/$fn" ]; then - mv "$unpackDir/$fn" "$out" - else - mv "$unpackDir/$fn"/* "$out/" + mkdir $out fi + mv "$unpackDir/$fn" "$out" '' else '' - mv "$unpackDir"/* "$out/" + mv "$unpackDir" "$out" '') #*/ + extraPostFetch; } // removeAttrs args [ "stripRoot" "extraPostFetch" ])) diff --git a/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix b/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix index eea190d0a88..4082d5949a3 100644 --- a/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix +++ b/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "emacs-all-the-icons-fonts-${version}"; - version = "2.6.4"; + version = "3.1.1"; src = fetchFromGitHub { owner = "domtronn"; repo = "all-the-icons.el"; rev = version; - sha256 = "0xwj8wyj0ywpy4rcqxz15hkr8jnffn7nrp5fnq56j360v8858q8x"; + sha256 = "0h8a2jvn2wfi3bqd35scmhm8wh20mlk09sy68m1whi9binzkm8rf"; }; installPhase = '' diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index 70bf0186f1c..082fa29fa9d 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "papirus-icon-theme-${version}"; - version = "20170616"; + version = "20170715"; src = fetchFromGitHub { owner = "PapirusDevelopmentTeam"; repo = "papirus-icon-theme"; rev = "${version}"; - sha256 = "008nkmxp3f9qqljif3v9ns3a8mflzffv2mm5zgjng9pmdl5x70j4"; + sha256 = "0mpmgpjwc7azhypvrlnxaa0c4jc6g7vgy242apxrn8jcv9ndmwyk"; }; dontBuild = true; diff --git a/pkgs/desktops/enlightenment/econnman.nix b/pkgs/desktops/enlightenment/econnman.nix index 60e63dc68ed..7739e2bd09e 100644 --- a/pkgs/desktops/enlightenment/econnman.nix +++ b/pkgs/desktops/enlightenment/econnman.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, efl, python2Packages, dbus, makeWrapper }: +{ stdenv, fetchurl, pkgconfig, efl, python2Packages, dbus, curl, makeWrapper }: stdenv.mkDerivation rec { name = "econnman-${version}"; @@ -11,12 +11,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper pkgconfig python2Packages.wrapPython ]; - buildInputs = [ efl python2Packages.python dbus ]; + buildInputs = [ efl python2Packages.python dbus curl ]; pythonPath = [ python2Packages.pythonefl python2Packages.dbus-python ]; postInstall = '' wrapPythonPrograms + wrapProgram $out/bin/econnman-bin --prefix LD_LIBRARY_PATH : ${curl.out}/lib ''; meta = { diff --git a/pkgs/desktops/enlightenment/ephoto.nix b/pkgs/desktops/enlightenment/ephoto.nix index b0606e95792..ee6013dae29 100644 --- a/pkgs/desktops/enlightenment/ephoto.nix +++ b/pkgs/desktops/enlightenment/ephoto.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, efl }: +{ stdenv, fetchurl, pkgconfig, efl, curl, makeWrapper }: stdenv.mkDerivation rec { name = "ephoto-${version}"; @@ -9,13 +9,9 @@ stdenv.mkDerivation rec { sha256 = "0l6zrk22fap6pylmzxwp6nycy8l5wdc7jza890h4zrwmpfag8w31"; }; - nativeBuildInputs = [ - pkgconfig - ]; + nativeBuildInputs = [ pkgconfig makeWrapper ]; - buildInputs = [ - efl - ]; + buildInputs = [ efl curl ]; NIX_CFLAGS_COMPILE = [ "-I${efl}/include/ecore-con-1" @@ -29,6 +25,10 @@ stdenv.mkDerivation rec { "-I${efl}/include/ethumb-client-1" ]; + postInstall = '' + wrapProgram $out/bin/ephoto --prefix LD_LIBRARY_PATH : ${curl.out}/lib + ''; + meta = { description = "Image viewer and editor written using the Enlightenment Foundation Libraries"; homepage = http://smhouston.us/ephoto/; diff --git a/pkgs/desktops/enlightenment/rage.nix b/pkgs/desktops/enlightenment/rage.nix index a9222105058..4d102b31e3b 100644 --- a/pkgs/desktops/enlightenment/rage.nix +++ b/pkgs/desktops/enlightenment/rage.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, efl, gst_all_1, wrapGAppsHook }: +{ stdenv, fetchurl, pkgconfig, efl, gst_all_1, curl, wrapGAppsHook }: stdenv.mkDerivation rec { name = "rage-${version}"; @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-libav + curl ]; NIX_CFLAGS_COMPILE = [ @@ -38,6 +39,10 @@ stdenv.mkDerivation rec { "-I${efl}/include/ethumb-client-1" ]; + postInstall = '' + wrapProgram $out/bin/rage --prefix LD_LIBRARY_PATH : ${curl.out}/lib + ''; + meta = { description = "Video + Audio player along the lines of mplayer"; homepage = http://enlightenment.org/; diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix index fc36a7e7a65..5f2db064af2 100644 --- a/pkgs/desktops/enlightenment/terminology.nix +++ b/pkgs/desktops/enlightenment/terminology.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, efl }: +{ stdenv, fetchurl, pkgconfig, efl, curl, makeWrapper }: stdenv.mkDerivation rec { name = "terminology-${version}"; @@ -9,9 +9,9 @@ stdenv.mkDerivation rec { sha256 = "1x4j2q4qqj10ckbka0zaq2r2zm66ff1x791kp8slv1ff7fw45vdz"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig makeWrapper ]; - buildInputs = [ efl ]; + buildInputs = [ efl curl ]; NIX_CFLAGS_COMPILE = [ "-I${efl}/include/ecore-con-1" @@ -22,6 +22,12 @@ stdenv.mkDerivation rec { "-I${efl}/include/ethumb-1" ]; + postInstall = '' + for f in $out/bin/*; do + wrapProgram $f --prefix LD_LIBRARY_PATH : ${curl.out}/lib + done + ''; + meta = { description = "The best terminal emulator written with the EFL"; homepage = http://enlightenment.org/; diff --git a/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix b/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix index 4612c35ad25..4aedc10e056 100644 --- a/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix +++ b/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "gnome-shell-extension-topicons-plus-${version}"; - version = "v20"; + version = "20"; src = fetchFromGitHub { owner = "phocean"; diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix index da1332127eb..7c50872ebe5 100644 --- a/pkgs/development/compilers/openjdk/8.nix +++ b/pkgs/development/compilers/openjdk/8.nix @@ -21,42 +21,42 @@ let else throw "openjdk requires i686-linux or x86_64 linux"; - update = "131"; - build = "11"; + update = "141"; + build = "15"; baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u"; repover = "jdk8u${update}-b${build}"; paxflags = if stdenv.isi686 then "msp" else "m"; jdk8 = fetchurl { url = "${baseurl}/archive/${repover}.tar.gz"; - sha256 = "1k401wsickbdy50yxjd26v8qm9519kxayaj3b103cr6ygp2rd9s6"; + sha256 = "0b2nf1x2wcjn0ijyxhnrhcap4vq43sbblh5kf0qcqmx83cs3z6yh"; }; langtools = fetchurl { url = "${baseurl}/langtools/archive/${repover}.tar.gz"; - sha256 = "1qj75bb17a9czvxz7rm246w97cavglrssx0l1mkbickx0i0wamm8"; + sha256 = "1mirjjywv7mnirrxj5sx3zg6j2864vjvphkn9mxx1pad49by7157"; }; hotspot = fetchurl { url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; - sha256 = "0kh8rk5y3n4g3hyjzflc8nwc0kyakjivpwlpj1bncsm1sykw8lr8"; + sha256 = "0hhvsrclx58i7ns2v7la2wncnndblppwjncniwcvhnhgl5zhpp31"; }; corba = fetchurl { url = "${baseurl}/corba/archive/${repover}.tar.gz"; - sha256 = "0gqa58mwwyf6mbgp48j1akv1y8yq55zpwfziqrbdbpkcsaf603n7"; + sha256 = "1brr72rlpaz70ihymdyp808vw433cr8b11l5qdc76aic2ywbwjyp"; }; jdk = fetchurl { url = "${baseurl}/jdk/archive/${repover}.tar.gz"; - sha256 = "0ymvvi7srr9qkss20s1yg3x2mjw178bscrnxa6s8y82gsw02y820"; + sha256 = "1d4q531jswzk00kdskzfkgr0f4qmxpc7pg9w8p1gq84yz93wz11k"; }; jaxws = fetchurl { url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; - sha256 = "0507mxvir4s536pdz45pvmahwa6s3h2yhg6rwdzrb568ab06asmi"; + sha256 = "0haw5095p45w33m8pafnp5r5j2lif8c1271chad5sp4gbbk40ai4"; }; jaxp = fetchurl { url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; - sha256 = "0igbg8axk028kqs9q11m8hb5bg2fa0qcwffbpfbhilyw5gmf7cy8"; + sha256 = "0pm2cccy31d9rnkgc2hcxbpjjhf4wbayx18qn736nncvwcwa76bj"; }; nashorn = fetchurl { url = "${baseurl}/nashorn/archive/${repover}.tar.gz"; - sha256 = "0l63zm5a7ql3xvfxy5kzazq2184mpx0zyqzinjmq7v0q573g8xak"; + sha256 = "1g05vfggjjg51dki28zby27pnd4z1b23fv9kyc3hdmc4bcj306x0"; }; openjdk8 = stdenv.mkDerivation { name = "openjdk-8u${update}b${build}"; diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix index 1c761d58603..bc556bdfcad 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix @@ -1,9 +1,9 @@ import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "131"; + patchVersion = "141"; downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; - sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; + sha256_i686 = "0jq8zq7hgjqbza1wmc1s8r4iz1r1s631snacn29wdsb5i2yg4qk5"; + sha256_x86_64 = "0kxs765dra47cw39xmifmxrib49j1lfya5cc3kldfv7azcc54784"; sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix index 1c761d58603..bc556bdfcad 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix @@ -1,9 +1,9 @@ import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "131"; + patchVersion = "141"; downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; - sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; + sha256_i686 = "0jq8zq7hgjqbza1wmc1s8r4iz1r1s631snacn29wdsb5i2yg4qk5"; + sha256_x86_64 = "0kxs765dra47cw39xmifmxrib49j1lfya5cc3kldfv7azcc54784"; sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; diff --git a/pkgs/development/compilers/owl-lisp/default.nix b/pkgs/development/compilers/owl-lisp/default.nix new file mode 100644 index 00000000000..b01914afc29 --- /dev/null +++ b/pkgs/development/compilers/owl-lisp/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, coreutils }: + +stdenv.mkDerivation rec { + name = "owl-lisp-${version}"; + version = "0.1.14"; + + src = fetchFromGitHub { + owner = "aoh"; + repo = "owl-lisp"; + rev = "v${version}"; + sha256 = "1rr0icprna3zs834q1pj4xy21cql3pcfknfkqipq01rhnl2893sz"; + }; + + prePatch = '' + substituteInPlace Makefile --replace /usr $out + + for f in tests/run tests/exec.sh ; do + substituteInPlace $f --replace /bin/echo ${coreutils}/bin/echo + done + ''; + + # tests are already run as part of the compilation process + doCheck = false; + + meta = with stdenv.lib; { + descripton = "A functional lisp"; + homepage = https://github.com/aoh/owl-lisp; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/development/coq-modules/CoLoR/default.nix b/pkgs/development/coq-modules/CoLoR/default.nix new file mode 100644 index 00000000000..c7aaf2a2e32 --- /dev/null +++ b/pkgs/development/coq-modules/CoLoR/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, coq }: + +stdenv.mkDerivation { + name = "coq${coq.coq-version}-CoLoR-1.3.0"; + + src = fetchurl { + url = https://gforge.inria.fr/frs/download.php/file/36399/color.1.3.0.tar.gz; + sha256 = "0n7431mc4a5bn9fsyk5167j2vnbxz4vgggjch4pm0x58lda8mxv1"; + }; + + buildInputs = [ coq ]; + enableParallelBuilding = true; + + installPhase = '' + make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install + ''; + + meta = with stdenv.lib; { + homepage = http://color.inria.fr/; + description = "CoLoR is a library of formal mathematical definitions and proofs of theorems on rewriting theory and termination whose correctness has been mechanically checked by the Coq proof assistant."; + maintainers = with maintainers; [ jwiegley ]; + platforms = coq.meta.platforms; + }; +} diff --git a/pkgs/development/coq-modules/math-classes/default.nix b/pkgs/development/coq-modules/math-classes/default.nix index e12327a347f..0e7549623e7 100644 --- a/pkgs/development/coq-modules/math-classes/default.nix +++ b/pkgs/development/coq-modules/math-classes/default.nix @@ -1,15 +1,20 @@ -{ stdenv, fetchFromGitHub, coq }: +{ stdenv, fetchurl, coq }: stdenv.mkDerivation { - name = "coq${coq.coq-version}-math-classes-2016-06-08"; + name = "coq${coq.coq-version}-math-classes-1.0.6"; - src = fetchFromGitHub { - owner = "math-classes"; - repo = "math-classes"; - rev = "751e63b260bd2f78b280f2566c08a18034bd40b3"; - sha256 = "0kjc2wzb6n9hcqb2ijx2pckn8jk5g09crrb87yb4s9m0mrw79smr"; + src = fetchurl { + url = https://github.com/math-classes/math-classes/archive/1.0.6.tar.gz; + sha256 = "071hgjk4bz2ybci7dp2mw7xqmxmm2zph7kj28xcdg28iy796lf02"; }; + # src = fetchFromGitHub { + # owner = "math-classes"; + # repo = "math-classes"; + # rev = "1d426a08c2fbfd68bd1b3622fe8f31dd03712e6c"; + # sha256 = "3kjc2wzb6n9hcqb2ijx2pckn8jk5g09crrb87yb4s9m0mrw79smr"; + # }; + buildInputs = [ coq ]; enableParallelBuilding = true; installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; @@ -17,7 +22,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { homepage = https://math-classes.github.io; description = "A library of abstract interfaces for mathematical structures in Coq."; - maintainers = with maintainers; [ siddharthist ]; + maintainers = with maintainers; [ siddharthist jwiegley ]; platforms = coq.meta.platforms; }; } diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 2833d5c4b87..8fa2cbcf713 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -274,7 +274,6 @@ self: super: { cabal-bounds = dontCheck super.cabal-bounds; # http://hydra.cryp.to/build/496935/nixlog/1/raw cabal-meta = dontCheck super.cabal-meta; # http://hydra.cryp.to/build/497892/log/raw camfort = dontCheck super.camfort; - cautious-file = dontCheck super.cautious-file; # http://hydra.cryp.to/build/499730/log/raw cjk = dontCheck super.cjk; CLI = dontCheck super.CLI; # Upstream has no issue tracker. command-qq = dontCheck super.command-qq; # http://hydra.cryp.to/build/499042/log/raw @@ -376,7 +375,6 @@ self: super: { static-resources = dontCheck super.static-resources; strive = dontCheck super.strive; # fails its own hlint test with tons of warnings svndump = dontCheck super.svndump; - symengine = dontCheck super.symengine; tar = dontCheck super.tar; #http://hydra.nixos.org/build/25088435/nixlog/2 (fails only on 32-bit) th-printf = dontCheck super.th-printf; thumbnail-plus = dontCheck super.thumbnail-plus; @@ -876,4 +874,7 @@ self: super: { # Needs a newer version of hsyslog than lts-8.x provides. logging-facade-syslog = super.logging-facade-syslog.override { hsyslog = self.hsyslog_5_0_1; }; + # Has a dependency on outdated versions of directory. + cautious-file = doJailbreak (dontCheck super.cautious-file); + } diff --git a/pkgs/development/interpreters/elixir/1.5.nix b/pkgs/development/interpreters/elixir/1.5.nix index add21c15a2d..0c3c0304a9b 100644 --- a/pkgs/development/interpreters/elixir/1.5.nix +++ b/pkgs/development/interpreters/elixir/1.5.nix @@ -1,7 +1,7 @@ { mkDerivation }: mkDerivation rec { - version = "1.5.0-rc.1"; - sha256 = "1aqbhyzwjqg57f99kwqzxkk4gjaqgwb7nmgpgdp7psa0ly742i9q"; + version = "1.5.0-rc.2"; + sha256 = "0wfxsfz1qbb6iapg8j1qskva6j4mccxqvv79xbz08fzzb6n1wvxa"; minimumOTPVersion = "18"; } diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix index 74203eca380..0ea1bf19231 100644 --- a/pkgs/development/interpreters/jruby/default.nix +++ b/pkgs/development/interpreters/jruby/default.nix @@ -1,6 +1,9 @@ -{ stdenv, fetchurl, makeWrapper, jre }: +{ stdenv, callPackage, fetchurl, makeWrapper, jre }: -stdenv.mkDerivation rec { +let +# The version number here is whatever is reported by the RUBY_VERSION string +rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" ""; +jruby = stdenv.mkDerivation rec { name = "jruby-${version}"; version = "9.1.12.0"; @@ -18,16 +21,42 @@ stdenv.mkDerivation rec { rm $out/bin/*.{bat,dll,exe,sh} mv $out/COPYING $out/LICENSE* $out/docs - for i in $out/bin/*; do + for i in $out/bin/jruby{,.bash}; do wrapProgram $i \ --set JAVA_HOME ${jre} done + + ln -s $out/bin/jruby $out/bin/ruby + + # Bundler tries to create this directory + mkdir -pv $out/${passthru.gemPath} + mkdir -p $out/nix-support + cat > $out/nix-support/setup-hook </dev/null | gsed -e "s/.* []) in - Klog.debug ~dkey "setting findlib path to %s" findlib_path; - Findlib.init ~env_ocamlpath:findlib_path (); - load_packages (List.rev !pkgs) ; +@@ -270,7 +270,8 @@ + load_path := + List.fold_right (add_dir ~user:true) path + (List.fold_right (add_dir ~user:false) Config.plugin_dir []); +- let findlib_path = String.concat ":" !load_path in ++ let findlib_path = String.concat ":" (!load_path @ ++ try [Sys.getenv "OCAMLPATH"] with Not_found -> []) in + Klog.debug ~dkey "setting findlib path to %s" findlib_path; + Findlib.init ~env_ocamlpath:findlib_path () + diff --git a/pkgs/development/tools/container-linux-config-transpiler/default.nix b/pkgs/development/tools/container-linux-config-transpiler/default.nix new file mode 100644 index 00000000000..eaae51f726b --- /dev/null +++ b/pkgs/development/tools/container-linux-config-transpiler/default.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, fetchFromGitHub, buildGoPackage }: + +with lib; + +buildGoPackage rec { + name = "ct-${version}"; + version = "0.4.1"; + + goPackagePath = "github.com/coreos/container-linux-config-transpiler"; + + src = fetchFromGitHub { + owner = "coreos"; + repo = "container-linux-config-transpiler"; + rev = "v${version}"; + sha256="1017xkinja30jcam8p1x2d9q4vkgkfn7gvkad004jkbbmd2216sa"; + }; + + buildFlagsArray = '' + -ldflags=-X ${goPackagePath}/internal/version.Raw=v${version} + ''; + + postInstall = '' + mv $bin/bin/{internal,ct} + rm $bin/bin/tools + ''; + + meta = { + description = "Convert a Container Linux Config into Ignition"; + license = licenses.asl20; + homepage = https://github.com/coreos/container-linux-config-transpiler; + maintainers = with maintainers; [elijahcaine]; + platforms = with platforms; unix; + }; +} + diff --git a/pkgs/development/tools/flamegraph/default.nix b/pkgs/development/tools/flamegraph/default.nix index 51bdf772adb..a351c325ea2 100644 --- a/pkgs/development/tools/flamegraph/default.nix +++ b/pkgs/development/tools/flamegraph/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchFromGitHub, perl }: stdenv.mkDerivation { - name = "FlameGraph-2017-05-11"; + name = "FlameGraph-2017-07-01"; src = fetchFromGitHub { owner = "brendangregg"; repo = "FlameGraph"; - rev = "6b2a446dfb5d8027a0adf14adf71748aa502c247"; - sha256 = "11j1776zsvhn9digqay1cbfhhxz01nv2hm44i4gnpqcxkada44l2"; + rev = "a93d905911c07c96a73b35ddbcb5ddb2f39da4b6"; + sha256 = "07z2ffnab41dz833wwgr875vjccqyh0238357g7ml1yg5445x2jy"; }; buildInputs = [ perl ]; diff --git a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix index 81707a6bfc3..ed6c7d73fdb 100644 --- a/pkgs/development/tools/haskell/multi-ghc-travis/default.nix +++ b/pkgs/development/tools/haskell/multi-ghc-travis/default.nix @@ -2,15 +2,15 @@ stdenv.mkDerivation rec { name = "multi-ghc-travis-${version}"; - version = "git-2017-05-24"; + version = "git-2017-07-26"; buildInputs = [ ghc ]; src = fetchFromGitHub { owner = "hvr"; repo = "multi-ghc-travis"; - rev = "c1dcbcbcd3eadcc63adeac65d63497885b422a44"; - sha256 = "12xss8wgsqs2fghrfl4h6g5wli6wn274zmdsq5zdcib2m7da5yw2"; + rev = "800980d76f7a74f3cdfd76b3dff351d52d2c84ee"; + sha256 = "03y8b4iz5ly9vkjc551c1bxalg1vl4k2sic327s3vh00jmjgvhz6"; }; installPhase = '' @@ -24,6 +24,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/hvr/multi-ghc-travis"; license = licenses.bsd3; platforms = ghc.meta.platforms; - maintainers = with maintainers; [ jb55 ]; + maintainers = with maintainers; [ jb55 peti ]; }; } diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix index d1cb4a8cd2e..b79d7e0670d 100644 --- a/pkgs/development/tools/rust/racer/default.nix +++ b/pkgs/development/tools/rust/racer/default.nix @@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec { installPhase = '' mkdir -p $out/bin cp -p target/release/racer $out/bin/ - wrapProgram $out/bin/racer --set RUST_SRC_PATH "${rustPlatform.rust.rustc.src}/src" + wrapProgram $out/bin/racer --set RUST_SRC_PATH "${rustPlatform.rustcSrc}" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/rust/racerd/default.nix b/pkgs/development/tools/rust/racerd/default.nix index 7aaa62fef59..166e3320d9c 100644 --- a/pkgs/development/tools/rust/racerd/default.nix +++ b/pkgs/development/tools/rust/racerd/default.nix @@ -18,7 +18,7 @@ buildRustPackage rec { buildInputs = [ makeWrapper ]; - RUST_SRC_PATH = ''${rustPlatform.rust.rustc.src}/src''; + RUST_SRC_PATH = rustPlatform.rustcSrc; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix index d32ea74cf7b..3caec9a75c1 100644 --- a/pkgs/development/tools/sauce-connect/default.nix +++ b/pkgs/development/tools/sauce-connect/default.nix @@ -4,18 +4,18 @@ with lib; stdenv.mkDerivation rec { name = "sauce-connect-${version}"; - version = "4.4.7"; + version = "4.4.8"; src = fetchurl ( if stdenv.system == "x86_64-linux" then { url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz"; - sha256 = "0n7x9mvv6sww0h77k3d8rms78vah0j48ndsv4vnxq9znwjiglmva"; + sha256 = "1y6jmz0kdaz1fq9sirwxznzw52if6ypd0dp9mk7dkpipy0bx7pz6"; } else if stdenv.system == "i686-linux" then { url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz"; - sha256 = "1vwp8iqc5sk5kf7r86dld4767w4sm36hympnh1n2qza57ni7vy0g"; + sha256 = "13nd2g1z4nvc3fa30xr3jnkqcy3fv4751s7ws4l93p7x6nc4aw1n"; } else { url = "https://saucelabs.com/downloads/sc-${version}-osx.zip"; - sha256 = "1dwjysj3kjydz096bm5x0s1g3jm4a7y0qkgbsc6bwl44vxz81f66"; + sha256 = "0f8kcx7qd6bqbd74y6n83lb52zban9k631qkv1vyddvs9pjsxmpg"; } ); diff --git a/pkgs/development/web/nodejs/v8.nix b/pkgs/development/web/nodejs/v8.nix index 49da505e439..593e9d1e562 100644 --- a/pkgs/development/web/nodejs/v8.nix +++ b/pkgs/development/web/nodejs/v8.nix @@ -10,11 +10,11 @@ let baseName = if enableNpm then "nodejs" else "nodejs-slim"; in stdenv.mkDerivation (nodejs // rec { - version = "8.1.4"; + version = "8.2.1"; name = "${baseName}-${version}"; src = fetchurl { url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.xz"; - sha256 = "00f38bif8f6ws6pcfpfy5cdvanry39l4wb2gzm39qx3rbx28cg58"; + sha256 = "12wcmm2g1zlihja41my5r06sla0s6ygvycxds1ryl3jl2j4nvi02"; }; patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ]; diff --git a/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix b/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix new file mode 100644 index 00000000000..0a0f5e3782f --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix @@ -0,0 +1,109 @@ +{ stdenv, lib, fetchzip, + autoconf, automake, libtool, + cups, popt, libtiff, libpng, + ghostscript }: + +/* this derivation is basically just a transcription of the rpm .spec + file included in the tarball */ + +stdenv.mkDerivation rec { + name = "cnijfilter-${version}"; + + /* important note about versions: cnijfilter packages seem to use + versions in a non-standard way. the version indicates which + printers are supported in the package. so this package should + not be "upgraded" in the usual way. + + instead, if you want to include another version supporting your + printer, you should try to abstract out the common things (which + should be pretty much everything except the version and the 'pr' + and 'pr_id' values to loop over). */ + version = "2.80"; + + src = fetchzip { + url = "http://gdlp01.c-wss.com/gds/1/0100000841/01/cnijfilter-common-2.80-1.tar.gz"; + sha256 = "06s9nl155yxmx56056y22kz1p5b2sb5fhr3gf4ddlczjkd1xch53"; + }; + + buildInputs = [ autoconf libtool automake + cups popt libtiff libpng + ghostscript ]; + + patches = [ ./patches/missing-include.patch + ./patches/libpng15.patch ]; + + postPatch = '' + sed -i "s|/usr/lib/cups/backend|$out/lib/cups/backend|" backend/src/Makefile.am; + sed -i "s|/usr|$out|" backend/src/cnij_backend_common.c; + sed -i "s|/usr/bin|${ghostscript}/bin|" pstocanonij/filter/pstocanonij.c; + sed -i "s|/usr/local|$out|" libs/bjexec/bjexec.c; + ''; + + configurePhase = '' + cd libs + ./autogen.sh --prefix=$out; + + cd ../cngpij + ./autogen.sh --prefix=$out --enable-progpath=$out/bin; + + cd ../pstocanonij + ./autogen.sh --prefix=$out --enable-progpath=$out/bin; + + cd ../backend + ./autogen.sh --prefix=$out; + cd ..; + ''; + + preInstall = '' + mkdir -p $out/bin $out/lib/cups/filter $out/share/cups/model; + ''; + + postInstall = '' + for pr in mp140 mp210 ip3500 mp520 ip4500 mp610; do + cd ppd; + ./autogen.sh --prefix=$out --program-suffix=$pr + make clean; + make; + make install; + + cd ../cnijfilter; + ./autogen.sh --prefix=$out --program-suffix=$pr --enable-libpath=/var/lib/cups/path/lib/bjlib --enable-binpath=$out/bin; + make clean; + make; + make install; + + cd ..; + done; + + mkdir -p $out/lib/bjlib; + for pr_id in 315 316 319 328 326 327; do + install -c -m 755 $pr_id/database/* $out/lib/bjlib; + install -c -s -m 755 $pr_id/libs_bin/*.so.* $out/lib; + done; + + pushd $out/lib; + for so_file in *.so.*; do + ln -s $so_file ''${so_file/.so.*/}.so; + patchelf --set-rpath $out/lib $so_file; + done; + popd; + ''; + + /* the tarball includes some pre-built shared libraries. we run + 'patchelf --set-rpath' on them just a few lines above, so that + they can find each other. but that's not quite enough. some of + those libraries load each other in non-standard ways -- they + don't list each other in the DT_NEEDED section. so, if the + standard 'patchelf --shrink-rpath' (from + pkgs/development/tools/misc/patchelf/setup-hook.sh) is run on + them, it undoes the --set-rpath. this prevents that. */ + dontPatchELF = true; + + meta = with lib; { + description = "Canon InkJet printer drivers for the iP5400, MP520, MP210, MP140, iP3500, and MP610 series. (MP520 drivers also work for MX700.)"; + homepage = "http://support-asia.canon-asia.com/content/EN/0100084101.html"; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ jerith666 ]; + }; +} diff --git a/pkgs/misc/cups/drivers/cnijfilter_2_80/patches/libpng15.patch b/pkgs/misc/cups/drivers/cnijfilter_2_80/patches/libpng15.patch new file mode 100644 index 00000000000..f5b3a1b13db --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_2_80/patches/libpng15.patch @@ -0,0 +1,23 @@ +diff -aur cnijfilter-source-3.20-1/cnijfilter/src/bjfimage.c cnijfilter-source-3.20-1.new/cnijfilter/src/bjfimage.c +--- cnijfilter-source-3.20-1/cnijfilter/src/bjfimage.c 2009-03-26 06:11:05.000000000 +0100 ++++ cnijfilter-source-3.20-1.new/cnijfilter/src/bjfimage.c 2012-02-10 09:33:52.512334139 +0100 +@@ -1520,8 +1520,8 @@ + short tmpformat; + short retbyte = 0; + short bpp = 3; +- long width = 0; +- long length = 0; ++ png_uint_32 width = 0; ++ png_uint_32 length = 0; + long rstep = 0; + long RasterLength = 0; + long i; +@@ -1574,7 +1574,7 @@ + goto onErr; + } + +- if (setjmp (png_p->jmpbuf)) ++ if (setjmp (png_jmpbuf(png_p))) + { + png_destroy_read_struct(&png_p, &info_p, (png_infopp)NULL); + goto onErr; diff --git a/pkgs/misc/cups/drivers/cnijfilter_2_80/patches/missing-include.patch b/pkgs/misc/cups/drivers/cnijfilter_2_80/patches/missing-include.patch new file mode 100644 index 00000000000..20c2d756d1e --- /dev/null +++ b/pkgs/misc/cups/drivers/cnijfilter_2_80/patches/missing-include.patch @@ -0,0 +1,20 @@ +--- a/backend/src/cnij_backend_common.c 2008-09-01 10:05:44.000000000 +0200 ++++ b/backend/src/cnij_backend_common.c 2012-05-06 17:38:40.000000000 +0200 +@@ -39,6 +39,7 @@ + // CUPS Header + #include + #include ++#include + + // Header file for CANON + #include "cnij_backend_common.h" +--- a/cngpijmon/src/bjcupsmon_cups.c 2008-09-02 12:28:24.000000000 +0200 ++++ b/cngpijmon/src/bjcupsmon_cups.c 2012-05-06 17:39:20.000000000 +0200 +@@ -21,6 +21,7 @@ + /*** Includes ***/ + #include + #include ++#include + #include + #include + #include diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix index 9557c54d456..e92c77462ca 100644 --- a/pkgs/misc/emulators/wine/sources.nix +++ b/pkgs/misc/emulators/wine/sources.nix @@ -6,9 +6,9 @@ let fetchurl = args@{url, sha256, ...}: in rec { stable = fetchurl rec { - version = "2.0.1"; + version = "2.0.2"; url = "https://dl.winehq.org/wine/source/2.0/wine-${version}.tar.xz"; - sha256 = "10qm0xxqzvl4y3mhvaxcaacrcs8d5kdz5wf0gbxpmp36wnm4xyvc"; + sha256 = "16iwf48cfi39aqyy8131jz4x7lr551c9yc0mnks7g24j77sq867p"; ## see http://wiki.winehq.org/Gecko gecko32 = fetchurl rec { @@ -24,9 +24,9 @@ in rec { ## see http://wiki.winehq.org/Mono mono = fetchurl rec { - version = "4.6.4"; + version = "4.7.0"; url = "http://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}.msi"; - sha256 = "0lj1rhp9s8aaxd6764mfvnyswwalafaanz80vxg3badrfy0xbdwi"; + sha256 = "18d5djnsb70740xs475jg1xsjsrq6zzjv0dmjq3vi7nbv56lg63n"; }; }; diff --git a/pkgs/misc/screensavers/alock/default.nix b/pkgs/misc/screensavers/alock/default.nix index 6f2ebbc5158..f05073469b7 100644 --- a/pkgs/misc/screensavers/alock/default.nix +++ b/pkgs/misc/screensavers/alock/default.nix @@ -2,27 +2,30 @@ , libX11, pam, libgcrypt, libXrender, imlib2 }: stdenv.mkDerivation rec { - date = "20150418"; + date = "20170720"; name = "alock-${date}"; src = fetchgit { url = https://github.com/Arkq/alock; - rev = "69b547602d965733d415f877eb59d05966bd158d"; - sha256 = "0lv2ng5qxzcq0vwbl61dbwigv79sin4zg90y9cgsz6ydvm4ncpas"; + rev = "2035e1d4a2293432f5503e82d10f899232eb0f38"; + sha256 = "1by954fjn0ryqda89zlmq3gclakg3gz7zy1wjrbgw4lzsk538va6"; }; + PAM_DEFAULT_SERVICE = "login"; + configureFlags = [ "--enable-pam" "--enable-hash" "--enable-xrender" "--enable-imlib2" ]; + buildInputs = [ pkgconfig autoreconfHook libX11 pam libgcrypt libXrender imlib2 ]; - meta = { + meta = with stdenv.lib; { homepage = https://github.com/Arkq/alock; description = "Simple screen lock application for X server"; longDescription = '' @@ -31,10 +34,10 @@ stdenv.mkDerivation rec { the X server is unlocked and the user can continue to work. alock does not provide any fancy animations like xlock or - xscreensaver and never will. Its just for locking the current + xscreensaver and never will. It's just for locking the current X session. ''; - platforms = with stdenv.lib.platforms; allBut cygwin; - maintainers = [ stdenv.lib.maintainers.ftrvxmtrx ]; + platforms = with platforms; allBut cygwin; + maintainers = with maintainers; [ ftrvxmtrx chris-martin ]; }; } diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index 2723e662b79..3143968d75c 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation { ./linux-4.8.patch # source: https://aur.archlinux.org/cgit/aur.git/tree/linux411.patch?h=broadcom-wl ./linux-4.11.patch + # source: https://aur.archlinux.org/cgit/aur.git/tree/linux412.patch?h=broadcom-wl + ./linux-4.12.patch ./null-pointer-fix.patch ./gcc.patch ]; diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch b/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch new file mode 100644 index 00000000000..8abc73db4db --- /dev/null +++ b/pkgs/os-specific/linux/broadcom-sta/linux-4.12.patch @@ -0,0 +1,68 @@ +diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c +index da36405..d3741eb 100644 +--- a/src/wl/sys/wl_cfg80211_hybrid.c ++++ b/src/wl/sys/wl_cfg80211_hybrid.c +@@ -53,7 +53,11 @@ u32 wl_dbg_level = WL_DBG_ERR; + #endif + + static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) ++ enum nl80211_iftype type, struct vif_params *params); ++#else + enum nl80211_iftype type, u32 *flags, struct vif_params *params); ++#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0) + static s32 + wl_cfg80211_scan(struct wiphy *wiphy, +@@ -466,7 +470,11 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len) + + static s32 + wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) ++ enum nl80211_iftype type, ++#else + enum nl80211_iftype type, u32 *flags, ++#endif + struct vif_params *params) + { + struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); +@@ -2361,6 +2369,20 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, + const wl_event_msg_t *e, void *data) + { + struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) ++ struct cfg80211_bss *bss; ++ struct wlc_ssid *ssid; ++ ssid = &wl->profile->ssid; ++ bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid, ++ ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS); ++ struct cfg80211_roam_info roam_info = { ++ .bss = bss, ++ .req_ie = conn_info->req_ie, ++ .req_ie_len = conn_info->req_ie_len, ++ .resp_ie = conn_info->resp_ie, ++ .resp_ie_len = conn_info->resp_ie_len, ++ }; ++#endif + s32 err = 0; + + wl_get_assoc_ies(wl); +@@ -2368,12 +2390,17 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev, + memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN); + wl_update_bss_info(wl); + cfg80211_roamed(ndev, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) ++ &roam_info, ++#else + #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39) + &wl->conf->channel, + #endif + (u8 *)&wl->bssid, + conn_info->req_ie, conn_info->req_ie_len, +- conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL); ++ conn_info->resp_ie, conn_info->resp_ie_len, ++#endif ++ GFP_KERNEL); + WL_DBG(("Report roaming result\n")); + + set_bit(WL_STATUS_CONNECTED, &wl->status); diff --git a/pkgs/os-specific/linux/kernel/linux-4.11.nix b/pkgs/os-specific/linux/kernel/linux-4.11.nix deleted file mode 100644 index 9bb4e85d3f9..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-4.11.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: - -import ./generic.nix (args // rec { - version = "4.11.11"; - extraMeta.branch = "4.11"; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1dvs1r3vq15akyv0yxvim6j09pqac5dagqbchvdlsw5yi4fnylc8"; - }; - - kernelPatches = args.kernelPatches; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.netfilterRPFilter = true; -} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.12.nix b/pkgs/os-specific/linux/kernel/linux-4.12.nix index 4cb408d33cb..9b8c99e1bc4 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.12.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.12.2"; + version = "4.12.3"; extraMeta.branch = "4.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1ql5y6bvb1bx9b2k5iksdzjgzxnq852rvq69kdnkwa98p8p8ayha"; + sha256 = "05mz5rza2cn7pnn0cgd4pxal4xyjk74bl6h742v0xxlf4aqrvgcr"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 76dc8f030cd..de98da0a48a 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.4.77"; + version = "4.4.78"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1s5l5b3hpm691w94a3ddliy4gcxi2s9xm3hsazdwgzqrqdv70ysy"; + sha256 = "14xnmcw0f2faizd6ylhgw929yyc30hglr82mc5c62yzgszsdngvw"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index 260b776999d..59f349078ee 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.9.38"; + version = "4.9.39"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0x4h2b6xapqyxgivj9ay5yclmyl434bjfmq9ikajy7fmgpc8kmvn"; + sha256 = "0cgs3kprx73qffzy0vwd3wz0jdsxbb8b9p881mrcxa3gjfxzg33f"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix index 878f69dbaa5..abec37a268c 100644 --- a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix +++ b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix @@ -1,9 +1,9 @@ { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: let - version = "4.12.2"; + version = "4.12.3"; revision = "a"; - sha256 = "0w3k5a30li2qz2msach9sg9qsvmjsc4mf9k3ad5dxd0667a0hygm"; + sha256 = "0nxzpkh2ca47g6qykkfhf8qynpx3kr9vdkm9wixky159zxfj6s85"; in import ./generic.nix (args // { diff --git a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix new file mode 100644 index 00000000000..5599e1325d9 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix @@ -0,0 +1,23 @@ +{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ncurses, ... } @ args: + +assert stdenv.is64bit; + +import ./generic.nix (args // rec { + version = "4.12.2"; + extraMeta.branch = "4.12-2"; + + src = + let upstream = fetchFromGitHub { + owner = "raphael"; + repo = "linux-samus"; + rev = "v${extraMeta.branch}"; + sha256 = "1dr74i79p8r13522w2ppi8gnjd9bhngc9d2hsn91ji6f5a8fbxx9"; + }; in "${upstream}/build/linux"; + + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.netfilterRPFilter = true; + + extraMeta.hydraPlatforms = []; +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index eb4d1ab0423..b7fa8e140e2 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -2,7 +2,7 @@ , thin-provisioning-tools, enable_dmeventd ? false }: let - version = "2.02.140"; + version = "2.02.173"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz"; - sha256 = "1jd46diyv7074fw8kxwq7imn4pl76g01d8y7z4scq0lkxf8jmpai"; + sha256 = "0r4dx87z7ggxmxligdzz43chgfrwn9lyj7vaz63z97h0gs61dfff"; }; configureFlags = [ @@ -27,10 +27,7 @@ stdenv.mkDerivation { preConfigure = '' - substituteInPlace scripts/lvmdump.sh \ - --replace /usr/bin/tr ${coreutils}/bin/tr substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \ - --replace /usr/sbin/lvm $out/sbin/lvm \ --replace /usr/bin/udevadm ${systemd.udev.bin}/bin/udevadm sed -i /DEFAULT_SYS_DIR/d Makefile.in diff --git a/pkgs/servers/exhibitor/default.nix b/pkgs/servers/exhibitor/default.nix new file mode 100644 index 00000000000..369ef5a7369 --- /dev/null +++ b/pkgs/servers/exhibitor/default.nix @@ -0,0 +1,54 @@ +{ fetchFromGitHub, buildMaven, maven, jdk, makeWrapper, stdenv, ... }: +stdenv.mkDerivation rec { + name = "exhibitor-${version}"; + version = "1.5.6"; + + src = fetchFromGitHub { + owner = "soabase"; + repo = "exhibitor"; + sha256 = "07vikhkldxy51jbpy3jgva6wz75jksch6bjd6dqkagfgqd6baw45"; + rev = "5fcdb411d06e8638c2380f7acb72a8a6909739cd"; + }; + mavenDependenciesSha256 = "00r69n9hwvrn5cbhxklx7w00sjmqvcxs7gvhbm150ggy7bc865qv"; + # This is adapted from https://github.com/volth/nixpkgs/blob/6aa470dfd57cae46758b62010a93c5ff115215d7/pkgs/applications/networking/cluster/hadoop/default.nix#L20-L32 + fetchedMavenDeps = stdenv.mkDerivation { + name = "exhibitor-${version}-maven-deps"; + inherit src nativeBuildInputs; + buildPhase = '' + cd ${pomFileDir}; + while timeout --kill-after=21m 20m mvn package -Dmaven.repo.local=$out/.m2; [ $? = 124 ]; do + echo "maven hangs while downloading :(" + done + ''; + installPhase = ''find $out/.m2 -type f \! -regex '.+\(pom\|jar\|xml\|sha1\)' -delete''; # delete files with lastModified timestamps inside + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = mavenDependenciesSha256; + }; + + # The purpose of this is to fetch the jar file out of public Maven and use Maven + # to build a monolithic, standalone jar, rather than build everything from source + # (given the state of Maven support in Nix). We're not actually building any java + # source here. + pomFileDir = "exhibitor-standalone/src/main/resources/buildscripts/standalone/maven"; + nativeBuildInputs = [ maven ]; + buildInputs = [ makeWrapper ]; + buildPhase = '' + cd ${pomFileDir} + mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 + ''; + meta = with stdenv.lib; { + homepage = "https://github.com/soabase/exhibitor"; + description = "ZooKeeper co-process for instance monitoring, backup/recovery, cleanup and visualization"; + license = licenses.asl20; + platforms = platforms.unix; + }; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/java + mv target/$name.jar $out/share/java/ + makeWrapper ${jdk}/bin/java $out/bin/startExhibitor.sh --add-flags "-jar $out/share/java/$name.jar" --suffix PATH : ${stdenv.lib.makeBinPath [ jdk ]} + ''; + +} diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix index 5e22cb11882..cc82e75a615 100644 --- a/pkgs/servers/nosql/rethinkdb/default.nix +++ b/pkgs/servers/nosql/rethinkdb/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "rethinkdb-${version}"; - version = "2.3.5"; + version = "2.3.6"; src = fetchurl { url = "https://download.rethinkdb.com/dist/${name}.tgz"; - sha256 = "047fz3r0rn95mqr5p1xfdprf0hq4avq2a1q8zsdifxxid7hyx2nx"; + sha256 = "0a6wlgqa2flf87jrp4fq4y9aihwyhgwclmss56z03b8hd5k5j8f4"; }; postPatch = stdenv.lib.optionalString stdenv.isDarwin '' diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix index 2362ee84329..b9c940a01cd 100644 --- a/pkgs/servers/sql/postgresql/default.nix +++ b/pkgs/servers/sql/postgresql/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, makeWrapper }: +{ lib, stdenv, glibc, fetchurl, zlib, readline, libossp_uuid, openssl, libxml2, makeWrapper }: let @@ -15,7 +15,7 @@ let setOutputFlags = false; # $out retains configureFlags :-/ buildInputs = - [ zlib readline openssl makeWrapper ] + [ zlib readline openssl libxml2 makeWrapper ] ++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ]; enableParallelBuilding = true; @@ -24,6 +24,7 @@ let configureFlags = [ "--with-openssl" + "--with-libxml" "--sysconfdir=/etc" "--libdir=$(lib)/lib" ] @@ -97,33 +98,33 @@ in { }; postgresql92 = common { - version = "9.2.20"; + version = "9.2.21"; psqlSchema = "9.2"; - sha256 = "09lgvl996py3mciybnlv0hycfwfxr41n0wksb2jvxjh0hjpbv2hb"; + sha256 = "0697e843523ee60c563f987f9c65bc4201294b18525d6e5e4b2c50c6d4058ef9"; }; postgresql93 = common { - version = "9.3.16"; + version = "9.3.17"; psqlSchema = "9.3"; - sha256 = "0wv8qsi0amdhcl1qvkvas3lm37w6zsi818f5fxm6n0ngr155wpw4"; + sha256 = "9c03e5f280cfe9bd202fa01af773eb146abd8ab3065f7279d574c568f6948dbe"; }; postgresql94 = common { - version = "9.4.11"; + version = "9.4.12"; psqlSchema = "9.4"; - sha256 = "08wxrk8wdhnz0756dsa8jkj0pqanjfpw7w715lyv10618p853sz3"; + sha256 = "fca055481875d1c49e31c28443f56472a1474b3fbe25b7ae64440c6118f82e64"; }; postgresql95 = common { - version = "9.5.6"; + version = "9.5.7"; psqlSchema = "9.5"; - sha256 = "0bz1b9r249ffjfvldaiah2g78ccwq30ddh8hdvlq61z26inmz7mv"; + sha256 = "8b1e936f82109325decc0f5575e846b93fb4fd384e8c4bde83ff5e7f87fc6cad"; }; postgresql96 = common { - version = "9.6.2"; + version = "9.6.3"; psqlSchema = "9.6"; - sha256 = "1jahzqqw5inyvmacic2ihhj5f8z50lapci2fwws91h719ccbb1q1"; + sha256 = "1645b3736901f6d854e695a937389e68ff2066ce0cde9d73919d6ab7c995b9c6"; }; } diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix index 16807a6571c..b3a9ad44484 100644 --- a/pkgs/servers/zookeeper/default.nix +++ b/pkgs/servers/zookeeper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, jre, makeWrapper, bash }: +{ stdenv, fetchurl, jre, makeWrapper, bash, coreutils }: stdenv.mkDerivation rec { name = "zookeeper-${version}"; @@ -17,12 +17,15 @@ stdenv.mkDerivation rec { mkdir -p $out cp -R conf docs lib ${name}.jar $out mkdir -p $out/bin - cp -R bin/{zkCli,zkCleanup,zkEnv}.sh $out/bin + cp -R bin/{zkCli,zkCleanup,zkEnv,zkServer}.sh $out/bin for i in $out/bin/{zkCli,zkCleanup}.sh; do wrapProgram $i \ --set JAVA_HOME "${jre}" \ --prefix PATH : "${bash}/bin" done + substituteInPlace $out/bin/zkServer.sh \ + --replace /bin/echo ${coreutils}/bin/echo \ + --replace "/usr/bin/env bash" ${bash}/bin/bash chmod -x $out/bin/zkEnv.sh mkdir -p $out/share/zooinspector diff --git a/pkgs/shells/bash-completion/default.nix b/pkgs/shells/bash-completion/default.nix index 3ac1ca2172d..1c1b83d67b9 100644 --- a/pkgs/shells/bash-completion/default.nix +++ b/pkgs/shells/bash-completion/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "bash-completion-${version}"; - version = "2.5"; + version = "2.7"; src = fetchurl { url = "https://github.com/scop/bash-completion/releases/download/${version}/${name}.tar.xz"; - sha256 = "1kwmii1z1ljx5i4z702ynsr8jgrq64bj9w9hl3n2aa2kcl659fdh"; + sha256 = "07j484vb3k90f4989xh1g1x99g01akrp69p3dml4lza27wnqkfj1"; }; doCheck = true; diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix index ed41470f600..eaea921c6f5 100644 --- a/pkgs/tools/filesystems/xfsprogs/default.nix +++ b/pkgs/tools/filesystems/xfsprogs/default.nix @@ -1,56 +1,59 @@ -{ stdenv, fetchurl, gettext, libuuid, readline }: +{ stdenv, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, readline, utillinux }: + +let + gentooPatch = name: sha256: fetchpatch { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=8293574ab30c85e2965fb2b7dd890b44841b8404"; + inherit sha256; + }; +in stdenv.mkDerivation rec { - name = "xfsprogs-4.5.0"; + name = "xfsprogs-${version}"; + version = "4.11.0"; - src = fetchurl { - urls = map (dir: "ftp://oss.sgi.com/projects/xfs/${dir}/${name}.tar.gz") - [ "cmd_tars" "previous" ]; - sha256 = "1y49rwvbbvqdq2a1x7p5i05bcfyv6xhmrfwafl6vvvw494qyp6z4"; + src = fetchgit { + url = "git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git"; + rev = "refs/tags/v${version}"; + sha256 = "0icliinacg6c3ziaqzyyxfz9jykn80njj9fdv3milhsf81yhnrpn"; }; - prePatch = '' - sed -i "s,/bin/bash,$(type -P bash),g" install-sh - sed -i "s,ldconfig,$(type -P ldconfig),g" configure m4/libtool.m4 + outputs = [ "bin" "dev" "out" "doc" ]; - # Fixes from gentoo 3.2.1 ebuild - sed -i "/^PKG_DOC_DIR/s:@pkg_name@:${name}:" include/builddefs.in - sed -i "/LLDFLAGS.*libtool-libs/d" $(find -name Makefile) - sed -i '/LIB_SUBDIRS/s:libdisk::' Makefile - ''; + nativeBuildInputs = [ autoconf automake libtool gettext ]; + propagatedBuildInputs = [ utillinux ]; # Dev headers include + buildInputs = [ readline ]; + enableParallelBuilding = true; + + # Why is all this garbage needed? Why? Why? patches = [ - # This patch fixes shared libs installation, still not fixed in 4.2.0 - ./4.3.0-sharedlibs.patch + (gentooPatch "xfsprogs-4.7.0-sharedlibs.patch" "1s83ihaccmjrw4zm0nbdwqk3jx4wc1rijpsqrg7ir71ln7qknwzz") + (gentooPatch "xfsprogs-4.7.0-libxcmd-link.patch" "1lvy1ajzml39a631a7jqficnzsd40bzkca7hkxv1ybiqyp8sf55s") + (gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7") ]; - propagatedBuildInputs = [ libuuid ]; - buildInputs = [ gettext readline ]; - - outputs = [ "bin" "dev" "out" ]; # TODO: review xfs - preConfigure = '' - NIX_LDFLAGS="$(echo $NIX_LDFLAGS | sed "s,$out,$lib,g")" + sed -i Makefile -e '/cp include.install-sh/d' + make configure ''; configureFlags = [ - "MAKE=make" - "MSGFMT=msgfmt" - "MSGMERGE=msgmerge" - "XGETTEXT=xgettext" "--disable-lib64" "--enable-readline" ]; installFlags = [ "install-dev" ]; - enableParallelBuilding = true; + # FIXME: forbidden rpath + postInstall = '' + find . -type d -name .libs | xargs rm -rf + ''; meta = with stdenv.lib; { homepage = http://xfs.org/; description = "SGI XFS utilities"; license = licenses.lgpl21; platforms = platforms.linux; - maintainers = with maintainers; [ wkennington ]; + maintainers = with maintainers; [ dezgeg ]; }; } diff --git a/pkgs/tools/graphics/maim/default.nix b/pkgs/tools/graphics/maim/default.nix index 2a8255e3744..39933e70e39 100644 --- a/pkgs/tools/graphics/maim/default.nix +++ b/pkgs/tools/graphics/maim/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "maim-${version}"; - version = "5.4.63"; + version = "5.4.64"; src = fetchFromGitHub { owner = "naelstrof"; repo = "maim"; rev = "v${version}"; - sha256 = "16jl62hzrq1kciqwr9s3bxgcf9yz42kiwc5abkay1yd0vfcx200i"; + sha256 = "16ipqs4s5hn7a7380n8w1ijj26d9n356bqwl1h8z5i1skbj4w7hj"; }; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix index 4f0a9ba12c1..9c0d51c4a85 100644 --- a/pkgs/tools/misc/diffoscope/default.nix +++ b/pkgs/tools/misc/diffoscope/default.nix @@ -29,12 +29,10 @@ python3.pkgs.buildPythonApplication rec { # Still missing these tools: enjarify, otool & lipo (maybe OS X only), showttf # Also these libraries: python3-guestfs # FIXME: move xxd into a separate package so we don't have to pull in all of vim. - buildInputs = - map lib.getBin ([ acl binutils bzip2 cbfstool cdrkit cpio diffutils e2fsprogs file gettext + pythonPath = with python3.pkgs; + [ debian libarchive-c python_magic tlsh rpm cdrkit acl binutils bzip2 cbfstool cpio diffutils e2fsprogs file gettext gzip libcaca poppler_utils sng sqlite squashfsTools unzip vim xz colordiff - ] ++ lib.optionals enableBloat [ colord fpc ghc gnupg1 jdk mono pdftk ]); - - pythonPath = with python3.pkgs; [ debian libarchive-c python_magic tlsh rpm ]; + ] ++ lib.optionals enableBloat [ colord fpc ghc gnupg1 jdk mono pdftk ]; doCheck = false; # Calls 'mknod' in squashfs tests, which needs root diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix index 9d40077e0d6..916ba99317e 100644 --- a/pkgs/tools/misc/fzf/default.nix +++ b/pkgs/tools/misc/fzf/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "fzf-${version}"; - version = "0.16.8"; + version = "0.16.10"; rev = "${version}"; goPackagePath = "github.com/junegunn/fzf"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "junegunn"; repo = "fzf"; - sha256 = "0d0fcv07pl2vvj9ql84rmy1kd0zg680chsfapm0iw3vssxqkm9zq"; + sha256 = "0c9c9x2pim5g2jwy6jkdws2s7b1mw2qlnba1q46a1izswm7ljfq7"; }; outputs = [ "bin" "out" "man" ]; diff --git a/pkgs/tools/misc/hid-listen/default.nix b/pkgs/tools/misc/hid-listen/default.nix new file mode 100644 index 00000000000..0ebad4f7117 --- /dev/null +++ b/pkgs/tools/misc/hid-listen/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchzip }: +stdenv.mkDerivation rec { + name = "hid-listen"; + version = "1.01"; + + src = fetchzip { + name = "hid_listen_${version}"; + url = "https://www.pjrc.com/teensy/hid_listen_${version}.zip"; + sha256 = "0sd4dvi39fl4vy880mg531ryks5zglfz5mdyyqr7x6qv056ffx9w"; + }; + + installPhase = '' + mkdir -p $out/bin + mv ./hid_listen $out/bin/hid_listen + ''; + + meta = with stdenv.lib; { + description = "A tool thats prints debugging information from usb HID devices"; + homepage = https://www.pjrc.com/teensy/hid_listen.html; + license = licenses.gpl3; + maintainers = with maintainers; [ tomsmeets ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix index b668b7af0d4..d2bf060edd0 100644 --- a/pkgs/tools/misc/slop/default.nix +++ b/pkgs/tools/misc/slop/default.nix @@ -1,19 +1,19 @@ { stdenv, fetchFromGitHub, cmake -, glm, mesa, gengetopt, libX11, libXext, libXrender, cppcheck}: +, glew, glm, mesa, libX11, libXext, libXrender, cppcheck, icu}: stdenv.mkDerivation rec { name = "slop-${version}"; - version = "6.3.41"; + version = "6.3.47"; src = fetchFromGitHub { owner = "naelstrof"; repo = "slop"; rev = "v${version}"; - sha256 = "051w2hcpz4qmvy7bmnzv7llxr2jbcpfxdadlzr2cidr323cann27"; + sha256 = "05saxp5z2saq6b5hslxdc5kd7ln00svr5pazabcnchzydfhnkmsd"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ glm mesa gengetopt libX11 libXext libXrender ] + buildInputs = [ glew glm mesa libX11 libXext libXrender icu ] ++ stdenv.lib.optional doCheck cppcheck; doCheck = false; diff --git a/pkgs/tools/misc/ttyrec/default.nix b/pkgs/tools/misc/ttyrec/default.nix index a836a2a0d0e..238d2d73d3b 100644 --- a/pkgs/tools/misc/ttyrec/default.nix +++ b/pkgs/tools/misc/ttyrec/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, buildPlatform }: stdenv.mkDerivation rec { name = "ttyrec-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { patches = [ ./clang-fixes.patch ]; - makeFlags = [ "CFLAGS=-DSVR4" ] + makeFlags = stdenv.lib.optional buildPlatform.isLinux "CFLAGS=-DSVR4" ++ stdenv.lib.optional stdenv.cc.isClang "CC=clang"; installPhase = '' diff --git a/pkgs/tools/misc/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix index 8da61ddc4af..7fc9589537f 100644 --- a/pkgs/tools/misc/yle-dl/default.nix +++ b/pkgs/tools/misc/yle-dl/default.nix @@ -1,28 +1,18 @@ { stdenv, fetchFromGitHub, rtmpdump, php, pythonPackages }: -stdenv.mkDerivation rec { +pythonPackages.buildPythonApplication rec { name = "yle-dl-${version}"; - version = "2.17"; + version = "2.20"; src = fetchFromGitHub { owner = "aajanki"; repo = "yle-dl"; rev = version; - sha256 = "06szrcm1xlz6i736qkxzhhvrzg63shxzy2bww91bgxfccmkapa14"; + sha256 = "06wzv230hfh3w9gs245kff8666bsfbax3ibr5zxj3h5z4qhhf9if"; }; - patchPhase = '' - substituteInPlace yle-dl --replace '/usr/local/share/' "$out/share/" - ''; - - buildInputs = [ pythonPackages.wrapPython ]; pythonPath = [ rtmpdump php ] ++ (with pythonPackages; [ pycrypto ]); - installPhase = '' - make install prefix=$out - wrapPythonPrograms - ''; - meta = with stdenv.lib; { description = "Downloads videos from Yle (Finnish Broadcasting Company) servers"; homepage = https://aajanki.github.io/yle-dl/; diff --git a/pkgs/tools/networking/hue-cli/Gemfile b/pkgs/tools/networking/hue-cli/Gemfile new file mode 100644 index 00000000000..7049659d503 --- /dev/null +++ b/pkgs/tools/networking/hue-cli/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'hue-cli' diff --git a/pkgs/tools/networking/hue-cli/Gemfile.lock b/pkgs/tools/networking/hue-cli/Gemfile.lock new file mode 100644 index 00000000000..3b1f6570700 --- /dev/null +++ b/pkgs/tools/networking/hue-cli/Gemfile.lock @@ -0,0 +1,18 @@ +GEM + remote: https://rubygems.org/ + specs: + hue-cli (0.1.4) + hue-lib (>= 0.7.4) + json + hue-lib (0.7.4) + json + json (2.1.0) + +PLATFORMS + ruby + +DEPENDENCIES + hue-cli + +BUNDLED WITH + 1.15.1 diff --git a/pkgs/tools/networking/hue-cli/default.nix b/pkgs/tools/networking/hue-cli/default.nix new file mode 100644 index 00000000000..4f8d1039e5e --- /dev/null +++ b/pkgs/tools/networking/hue-cli/default.nix @@ -0,0 +1,10 @@ +{ bundlerEnv, ruby }: + +bundlerEnv rec { + name = "hue-cli-${version}"; + + version = (import gemset).hue-cli.version; + inherit ruby; + gemdir = ./.; + gemset = ./gemset.nix; +} diff --git a/pkgs/tools/networking/hue-cli/gemset.nix b/pkgs/tools/networking/hue-cli/gemset.nix new file mode 100644 index 00000000000..d1af93ff154 --- /dev/null +++ b/pkgs/tools/networking/hue-cli/gemset.nix @@ -0,0 +1,28 @@ +{ + hue-cli = { + dependencies = ["hue-lib" "json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10gjf59pamfy2m17fs271d9ffrg1194b1m6vxzn6p7smzry52h9z"; + type = "gem"; + }; + version = "0.1.4"; + }; + hue-lib = { + dependencies = ["json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pyl8g8gisdhl79gbzvnddqrsbq0lmflzg7n6yi6xrp5b5290shz"; + type = "gem"; + }; + version = "0.7.4"; + }; + json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + type = "gem"; + }; + version = "2.1.0"; + }; +} \ No newline at end of file diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix index 715bc209e97..fc496b416ff 100644 --- a/pkgs/tools/networking/mitmproxy/default.nix +++ b/pkgs/tools/networking/mitmproxy/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchFromGitHub, python3Packages }: +{ stdenv, fetchpatch, fetchFromGitHub, python3Packages }: python3Packages.buildPythonPackage rec { baseName = "mitmproxy"; @@ -15,9 +15,9 @@ python3Packages.buildPythonPackage rec { patches = [ # Bump pyopenssl dependency # https://github.com/mitmproxy/mitmproxy/pull/2252 - (fetchurl { + (fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/mitmproxy/mitmproxy/pull/2252.patch"; - sha256 = "0s3a6lf0wjnxi1r70qlhh0siaxhk5j2cysnv4xfkji3f2v7hhri4"; + sha256 = "1smld21df79249qbh412w8gi2agcf4zjhxnlawy19yjl1fk2h67c"; }) ]; diff --git a/pkgs/tools/networking/network-manager/l2tp.nix b/pkgs/tools/networking/network-manager/l2tp.nix index 6a4f31e5e19..5d6be939887 100644 --- a/pkgs/tools/networking/network-manager/l2tp.nix +++ b/pkgs/tools/networking/network-manager/l2tp.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, automake, autoconf, libtool, intltool, pkgconfig +{ stdenv, fetchFromGitHub, autoreconfHook, libtool, intltool, pkgconfig , networkmanager, ppp, xl2tpd, strongswan, libsecret , withGnome ? true, gnome3, networkmanagerapplet }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ networkmanager ppp libsecret ] ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring networkmanagerapplet ]; - nativeBuildInputs = [ automake autoconf libtool intltool pkgconfig ]; + nativeBuildInputs = [ autoreconfHook libtool intltool pkgconfig ]; postPatch = '' sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-l2tp-service.c @@ -27,7 +27,9 @@ stdenv.mkDerivation rec { --replace /sbin/xl2tpd ${xl2tpd}/bin/xl2tpd ''; - preConfigure = "./autogen.sh"; + preConfigure = '' + intltoolize -f + ''; configureFlags = if withGnome then "--with-gnome" else "--without-gnome"; diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix index 2225df308ac..2c0352152d5 100644 --- a/pkgs/tools/networking/strongswan/default.nix +++ b/pkgs/tools/networking/strongswan/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, gmp, pkgconfig, python, autoreconfHook , curl, trousers, sqlite, iptables, libxml2, openresolv -, ldns, unbound, pcsclite, openssl, systemd +, ldns, unbound, pcsclite, openssl, systemd, pam , enableTNC ? false }: stdenv.mkDerivation rec { @@ -14,9 +14,11 @@ stdenv.mkDerivation rec { dontPatchELF = true; + nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = - [ gmp pkgconfig python autoreconfHook iptables ldns unbound openssl pcsclite systemd.dev ] - ++ stdenv.lib.optionals enableTNC [ curl trousers sqlite libxml2 ]; + [ gmp python iptables ldns unbound openssl pcsclite ] + ++ stdenv.lib.optionals enableTNC [ curl trousers sqlite libxml2 ] + ++ stdenv.lib.optionals stdenv.isLinux [ systemd.dev pam ]; patches = [ ./ext_auth-path.patch @@ -48,7 +50,7 @@ stdenv.mkDerivation rec { "--enable-eap-mschapv2" "--enable-xauth-eap" "--enable-ext-auth" "--enable-forecast" "--enable-connmark" "--enable-acert" "--enable-pkcs11" "--enable-eap-sim-pcsc" "--enable-dnscert" "--enable-unbound" - "--enable-af-alg" ] + "--enable-af-alg" "--enable-xauth-pam" "--enable-chapoly" ] ++ stdenv.lib.optional stdenv.isx86_64 [ "--enable-aesni" "--enable-rdrand" ] ++ stdenv.lib.optional (stdenv.system == "i686-linux") "--enable-padlock" ++ stdenv.lib.optionals enableTNC [ diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 910dc6de871..56324f4073d 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -161,12 +161,12 @@ in rec { nixUnstable = (lib.lowPrio (common rec { name = "nix-1.12${suffix}"; - suffix = "pre5413_b4b1f452"; + suffix = "pre5511_c94f3d55"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "b4b1f4525f8dc8f320d666c208bff5cb36777580"; - sha256 = "0qb18k2rp6bbg8g50754srl95dq0lr96i297856yhrx1hh1ja37z"; + rev = "c94f3d5575d7af5403274d1e9e2f3c9d72989751"; + sha256 = "1akfzzm4f07wj6l7za916xv5rnh71pk3vl8dphgradjfqb37bv18"; }; fromGit = true; })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; }; diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix index 92fd6cd1be0..4c3dfe4d07c 100644 --- a/pkgs/tools/security/afl/default.nix +++ b/pkgs/tools/security/afl/default.nix @@ -9,11 +9,11 @@ let in stdenv.mkDerivation rec { name = "afl-${version}"; - version = "2.44b"; + version = "2.48b"; src = fetchurl { url = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz"; - sha256 = "0wvx4ibr5hhav9mld1gncdvfzb4iky85gam3x8a43ispjddyya6m"; + sha256 = "00x7p8lqrpx60hwynl5dqwn6isr8yhl263avcwfw3dqc7v9lwhrz"; }; # Note: libcgroup isn't needed for building, just for the afl-cgroup diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix index baa53492d3e..331a75495ed 100644 --- a/pkgs/tools/security/pass/default.nix +++ b/pkgs/tools/security/pass/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl +{ stdenv, lib, fetchurl, fetchFromGitHub , coreutils, gnused, getopt, git, tree, gnupg, which, procps, qrencode , makeWrapper @@ -12,7 +12,17 @@ assert x11Support -> xclip != null && xdotool != null && dmenu != null; -stdenv.mkDerivation rec { +let + plugins = map (p: (fetchFromGitHub { + owner = "roddhjav"; + repo = "pass-${p.name}"; + inherit (p) rev sha256; + })) [ + { name = "import"; rev = "491935bd275f29ceac2b876b3a288011d1ce31e7"; sha256 = "02mbh05ab8h7kc30hz718d1d1vkjz43b96c7p0xnd92610d2q66q"; } + { name = "update"; rev = "cf576c9036fd18efb9ed29e0e9f811207b556fde"; sha256 = "1hhbrg6a2walrvla6q4cd3pgrqbcrf9brzjkb748735shxfn52hd"; } + ]; + +in stdenv.mkDerivation rec { version = "1.7.1"; name = "password-store-${version}"; @@ -29,6 +39,13 @@ stdenv.mkDerivation rec { installFlags = [ "PREFIX=$(out)" "WITH_ALLCOMP=yes" ]; postInstall = '' + # plugins + ${stdenv.lib.concatStringsSep "\n" (map (plugin: '' + pushd ${plugin} + PREFIX=$out make install + popd + '') plugins)} + # Install Emacs Mode. NOTE: We can't install the necessary # dependencies (s.el and f.el) here. The user has to do this # himself. diff --git a/pkgs/tools/security/vulnix/requirements.nix b/pkgs/tools/security/vulnix/requirements.nix index 280fc2279b4..11faca44ef9 100644 --- a/pkgs/tools/security/vulnix/requirements.nix +++ b/pkgs/tools/security/vulnix/requirements.nix @@ -10,8 +10,7 @@ rec { propagatedBuildInputs = [ persistent transaction - zope_interface - ] ++ (with pythonPackages; [ coverage ]); + ] ++ (with pythonPackages; [ zope_interface coverage ]); meta = with stdenv.lib; { homepage = ""; @@ -62,9 +61,7 @@ rec { url = "https://pypi.python.org/packages/3d/71/3302512282b606ec4d054e09be24c065915518903b29380b6573bff79c24/persistent-4.2.2.tar.gz"; sha256 = "52ececc6dbba5ef572d3435189318b4dff07675bafa9620e32f785e147c6563c"; }; - propagatedBuildInputs = [ - zope_interface - ] ++ (with pythonPackages; [ six wheel ]); + propagatedBuildInputs = with pythonPackages; [ zope_interface six wheel ]; meta = with stdenv.lib; { homepage = ""; license = licenses.zpt21; @@ -78,9 +75,7 @@ rec { url = "https://pypi.python.org/packages/8c/af/3ffafe85bcc93ecb09459f3f2bd8fbe142e9ab34048f9e2774543b470cbd/transaction-2.0.3.tar.gz"; sha256 = "67bfb81309ba9717edbb2ca2e5717c325b78beec0bf19f44e5b4b9410f82df7f"; }; - propagatedBuildInputs = [ - zope_interface - ] ++ (with pythonPackages; [ six wheel ]); + propagatedBuildInputs = with pythonPackages; [ zope_interface six wheel ]; meta = with stdenv.lib; { homepage = ""; license = licenses.zpt21; @@ -115,18 +110,4 @@ rec { description = "Fork of Python 3 pickle module."; }; }; - - zope_interface = pythonPackages.buildPythonPackage { - name = "zope.interface-4.3.3"; - src = fetchurl { - url = "https://pypi.python.org/packages/44/af/cea1e18bc0d3be0e0824762d3236f0e61088eeed75287e7b854d65ec9916/zope.interface-4.3.3.tar.gz"; - sha256 = "8780ef68ca8c3fe1abb30c058a59015129d6e04a6b02c2e56b9c7de6078dfa88"; - }; - propagatedBuildInputs = [ ]; - meta = with stdenv.lib; { - homepage = ""; - license = licenses.zpt21; - description = "Interfaces for Python"; - }; - }; } diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix index 3320f2abab3..7f05a7271bb 100644 --- a/pkgs/tools/system/fio/default.nix +++ b/pkgs/tools/system/fio/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchFromGitHub, libaio, python, zlib }: let - version = "2.21"; - sha256 = "0nvvnhmls9gbn093lzcgps1w8824ylgyz674af85768pw2bvczzy"; + version = "2.99"; + sha256 = "0fj8fk2w06ahcn35z8pj88sx12yrx1yfd38j6k5aigj4dfj3f3zy"; in stdenv.mkDerivation rec { diff --git a/pkgs/tools/virtualization/google-compute-engine/0001-allow-nologin-other-paths.patch b/pkgs/tools/virtualization/google-compute-engine/0001-allow-nologin-other-paths.patch new file mode 100644 index 00000000000..650e80c24fb --- /dev/null +++ b/pkgs/tools/virtualization/google-compute-engine/0001-allow-nologin-other-paths.patch @@ -0,0 +1,27 @@ +From 2e9ac201af238b742c7032962b9b12a8b66bab0c Mon Sep 17 00:00:00 2001 +From: zimbatm +Date: Mon, 29 May 2017 22:36:15 +0100 +Subject: [PATCH] allow nologin on other paths + +--- + google_compute_engine/accounts/accounts_utils.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/google_compute_engine/accounts/accounts_utils.py b/google_compute_engine/accounts/accounts_utils.py +index 57e62be..d7eda06 100644 +--- a/google_compute_engine/accounts/accounts_utils.py ++++ b/google_compute_engine/accounts/accounts_utils.py +@@ -295,8 +295,8 @@ class AccountsUtils(object): + # logins. This helps avoid problems caused by operator and root sharing + # a home directory in CentOS and RHEL. + pw_entry = self._GetUser(user) +- if pw_entry and pw_entry.pw_shell == '/sbin/nologin': +- message = 'Not updating user %s. User set /sbin/nologin as login shell.' ++ if pw_entry and os.path.basename(pw_entry.pw_shell) == 'nologin': ++ message = 'Not updating user %s. User set `nologin` as login shell.' + self.logger.debug(message, user) + return True + +-- +2.13.0 + diff --git a/pkgs/tools/virtualization/google-compute-engine/default.nix b/pkgs/tools/virtualization/google-compute-engine/default.nix new file mode 100644 index 00000000000..7a5350fe2eb --- /dev/null +++ b/pkgs/tools/virtualization/google-compute-engine/default.nix @@ -0,0 +1,55 @@ +{ lib +, fetchFromGitHub +, pythonPackages +, bash +, shadow +, systemd +, utillinux +}: +let + version = "20170523"; +in +pythonPackages.buildPythonApplication { + name = "google-compute-engine-${version}"; + namePrefix = ""; + + src = fetchFromGitHub { + owner = "GoogleCloudPlatform"; + repo = "compute-image-packages"; + rev = version; + sha256 = "1qxyj3lj9in6m8yi6y6wcmc3662h9z4qax07v97rdnay99mxdv68"; + }; + + patches = [ ./0001-allow-nologin-other-paths.patch ]; + + postPatch = '' + for file in $(find google_compute_engine -type f); do + substituteInPlace "$file" \ + --replace /bin/systemctl "${systemd}/bin/systemctl" \ + --replace /bin/bash "${bash}/bin/bash" \ + --replace /sbin/hwclock "${utillinux}/bin/hwclock" + + # SELinux tool ??? /sbin/restorecon + done + + substituteInPlace google_config/udev/64-gce-disk-removal.rules \ + --replace /bin/sh "${bash}/bin/sh" \ + --replace /bin/umount "${utillinux}/bin/umount" \ + --replace /usr/bin/logger "${utillinux}/bin/logger" + ''; + + postInstall = '' + # allows to install the package in `services.udev.packages` in NixOS + mkdir -p $out/lib/udev/rules.d + cp -r google_config/udev/*.rules $out/lib/udev/rules.d + ''; + + propagatedBuildInputs = with pythonPackages; [ boto setuptools ]; + + meta = with lib; { + description = "Google Compute Engine tools and services"; + homepage = https://github.com/GoogleCloudPlatform/compute-image-packages; + license = licenses.asl20; + maintainers = with maintainers; [ zimbatm ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 84873752ba9..08024b888ea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -480,6 +480,8 @@ with pkgs; as31 = callPackage ../development/compilers/as31 {}; + owl-lisp = callPackage ../development/compilers/owl-lisp {}; + ascii = callPackage ../tools/text/ascii { }; asciinema = callPackage ../tools/misc/asciinema {}; @@ -535,6 +537,8 @@ with pkgs; bonnie = callPackage ../tools/filesystems/bonnie { }; + container-linux-config-transpiler = callPackage ../development/tools/container-linux-config-transpiler { }; + djmount = callPackage ../tools/filesystems/djmount { }; dgsh = callPackage ../shells/dgsh { }; @@ -1047,6 +1051,8 @@ with pkgs; hexio = callPackage ../development/tools/hexio { }; + hid-listen = callPackage ../tools/misc/hid-listen { }; + hostsblock = callPackage ../tools/misc/hostsblock { }; hr = callPackage ../applications/misc/hr { }; @@ -1930,6 +1936,8 @@ with pkgs; fdk_aac = callPackage ../development/libraries/fdk-aac { }; + flac123 = callPackage ../applications/audio/flac123 { }; + flamegraph = callPackage ../development/tools/flamegraph { }; # Awkward historical capitalization for flamegraph. Remove eventually @@ -2195,6 +2203,8 @@ with pkgs; google-fonts = callPackage ../data/fonts/google-fonts { }; + google-compute-engine = callPackage ../tools/virtualization/google-compute-engine { }; + gource = callPackage ../applications/version-management/gource { }; gpart = callPackage ../tools/filesystems/gpart { }; @@ -4939,8 +4949,8 @@ with pkgs; gnome_python = gnome2.gnome_python; }; - xfsprogs = callPackage ../tools/filesystems/xfsprogs { }; - libxfs = xfsprogs.dev; # outputs TODO + xfsprogs = callPackage ../tools/filesystems/xfsprogs { utillinux = utillinuxMinimal; }; + libxfs = xfsprogs.dev; xml2 = callPackage ../tools/text/xml/xml2 { }; @@ -5046,6 +5056,7 @@ with pkgs; interactive = stdenv.isCygwin; # patch for cygwin requires readline support }); + # WARNING: this attribute is used by nix-shell so it shouldn't be removed/renamed bashInteractive = appendToName "interactive" (callPackage ../shells/bash/4.4.nix { interactive = true; }); @@ -5894,6 +5905,14 @@ with pkgs; buildRustPackage = callPackage ../build-support/rust { inherit rust; }; + + rustcSrc = stdenv.mkDerivation { + name = "rust-src"; + src = rust.rustc.src; + phases = ["unpackPhase" "installPhase"]; + installPhase = "mv src $out"; + }; + }); rainicorn = callPackage ../development/tools/rust/rainicorn { }; @@ -9621,14 +9640,11 @@ with pkgs; openslp = callPackage ../development/libraries/openslp {}; - libressl = libressl_2_5; - libressl_2_4 = callPackage ../development/libraries/libressl/2.4.nix { - fetchurl = fetchurlBoot; - }; - libressl_2_5 = callPackage ../development/libraries/libressl/2.5.nix { - fetchurl = fetchurlBoot; - }; + inherit (callPackages ../development/libraries/libressl { }) + libressl_2_5 + libressl_2_6; + libressl = libressl_2_5; boringssl = callPackage ../development/libraries/boringssl { }; @@ -11032,6 +11048,8 @@ with pkgs; ejabberd = callPackage ../servers/xmpp/ejabberd { }; + exhibitor = callPackage ../servers/exhibitor { }; + prosody = callPackage ../servers/xmpp/prosody { lua5 = lua5_1; inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luazlib; @@ -12054,22 +12072,6 @@ with pkgs; ]; }; - linux_4_11 = callPackage ../os-specific/linux/kernel/linux-4.11.nix { - kernelPatches = - [ kernelPatches.bridge_stp_helper - kernelPatches.p9_fixes - # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md - # when adding a new linux version - kernelPatches.cpu-cgroup-v2."4.11" - kernelPatches.modinst_arg_list_too_long - ] - ++ lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - linux_4_12 = callPackage ../os-specific/linux/kernel/linux-4.12.nix { kernelPatches = [ kernelPatches.bridge_stp_helper @@ -12098,6 +12100,20 @@ with pkgs; ]; }; + + linux_samus_4_12 = callPackage ../os-specific/linux/kernel/linux-samus-4.12.nix { + kernelPatches = + [ kernelPatches.bridge_stp_helper + kernelPatches.p9_fixes + # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md + # when adding a new linux version + kernelPatches.cpu-cgroup-v2."4.11" + kernelPatches.modinst_arg_list_too_long + ]; + }; + + linux_samus_latest = linux_samus_4_12; + linux_chromiumos_3_18 = callPackage ../os-specific/linux/kernel/linux-chromiumos-3.18.nix { kernelPatches = [ kernelPatches.chromiumos_Kconfig_fix_entries_3_18 kernelPatches.chromiumos_no_link_restrictions @@ -12266,7 +12282,6 @@ with pkgs; linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10); linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4); linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9); - linuxPackages_4_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_11); linuxPackages_4_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_12); # Don't forget to update linuxPackages_latest! @@ -12302,6 +12317,10 @@ with pkgs; linux_grsec_server_xen = linux_grsec_nixos; + # Samus kernels + linuxPackages_samus_4_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_samus_4_12); + linuxPackages_samus_latest = recurseIntoAttrs (linuxPackagesFor pkgs.linux_samus_latest); + # ChromiumOS kernels linuxPackages_chromiumos_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_3_18); linuxPackages_chromiumos_latest = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_latest); @@ -13280,11 +13299,9 @@ with pkgs; amsn = callPackage ../applications/networking/instant-messengers/amsn { }; - android-studio = callPackage ../applications/editors/android-studio { - fontsConf = makeFontsConf { - fontDirectories = []; - }; - }; + androidStudioPackages = callPackage ../applications/editors/android-studio/packages.nix {}; + android-studio = androidStudioPackages.stable; + android-studio-preview = androidStudioPackages.preview; antfs-cli = callPackage ../applications/misc/antfs-cli {}; @@ -13452,6 +13469,8 @@ with pkgs; inherit (gnome2) zenity; }; + blackbox = callPackage ../applications/version-management/blackbox { }; + bleachbit = callPackage ../applications/misc/bleachbit { }; blender = callPackage ../applications/misc/blender { @@ -14580,6 +14599,8 @@ with pkgs; ht = callPackage ../applications/editors/ht { }; + hue-cli = callPackage ../tools/networking/hue-cli { }; + hugin = callPackage ../applications/graphics/hugin { }; hugo = callPackage ../applications/misc/hugo { }; @@ -17972,6 +17993,10 @@ with pkgs; cmake = cmakeCurses; }); + ### SCIENCE/MEDICINE + + aliza = callPackage ../applications/science/medicine/aliza { }; + ### PHYSICS sacrifice = callPackage ../applications/science/physics/sacrifice {}; @@ -18081,6 +18106,8 @@ with pkgs; paco = callPackage ../development/coq-modules/paco {}; ssreflect = callPackage ../development/coq-modules/ssreflect { }; QuickChick = callPackage ../development/coq-modules/QuickChick {}; + CoLoR = callPackage ../development/coq-modules/CoLoR {}; + math-classes = callPackage ../development/coq-modules/math-classes { }; fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {}; }; @@ -18209,11 +18236,7 @@ with pkgs; z3 = callPackage ../applications/science/logic/z3 {}; z3_opt = callPackage ../applications/science/logic/z3_opt {}; - boolector = boolector15; - boolector15 = callPackage ../applications/science/logic/boolector {}; - boolector16 = lowPrio (callPackage ../applications/science/logic/boolector { - useV16 = true; - }); + boolector = callPackage ../applications/science/logic/boolector {}; ### SCIENCE / ELECTRONICS @@ -18470,6 +18493,9 @@ with pkgs; cups-bjnp = callPackage ../misc/cups/drivers/cups-bjnp { }; + # this driver ships with pre-compiled 32-bit binary libraries + cnijfilter_2_80 = callPackage_i686 ../misc/cups/drivers/cnijfilter_2_80 { }; + cnijfilter2 = callPackage ../misc/cups/drivers/cnijfilter2 { libusb = libusb1; }; @@ -19118,7 +19144,9 @@ with pkgs; tomb = callPackage ../os-specific/linux/tomb {}; - tomboy = callPackage ../applications/misc/tomboy {}; + tomboy = callPackage ../applications/misc/tomboy { + mono = mono46; + }; imatix_gsl = callPackage ../development/tools/imatix_gsl {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8d2238d4f19..c3239fc4c98 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -270,145 +270,15 @@ in { acme = callPackage ../development/python-modules/acme { }; - acme-tiny = buildPythonPackage rec { - name = "acme-tiny-${version}"; - version = "2016-03-26"; + acme-tiny = callPackage ../development/python-modules/acme-tiny { }; - src = pkgs.fetchFromGitHub { - sha256 = "0ngmr3kxcvlqa9mrv3gx0rg4r67xvdjplqfminxliri3ipak853g"; - rev = "7a5a2558c8d6e5ab2a59b9fec9633d9e63127971"; - repo = "acme-tiny"; - owner = "diafygi"; - }; + actdiag = callPackage ../development/python-modules/actdiag { }; - # source doesn't have any python "packaging" as such - configurePhase = " "; - buildPhase = " "; - # the tests are... complex - doCheck = false; + adal = callPackage ../development/python-modules/adal { }; - patchPhase = '' - substituteInPlace acme_tiny.py --replace "openssl" "${pkgs.openssl.bin}/bin/openssl" - ''; + afew = callPackage ../development/python-modules/afew { }; - installPhase = '' - mkdir -p $out/${python.sitePackages}/ - cp acme_tiny.py $out/${python.sitePackages}/ - mkdir -p $out/bin - ln -s $out/${python.sitePackages}/acme_tiny.py $out/bin/acme_tiny - chmod +x $out/bin/acme_tiny - ''; - - meta = { - description = "A tiny script to issue and renew TLS certs from Let's Encrypt"; - homepage = https://github.com/diafygi/acme-tiny; - license = licenses.mit; - }; - }; - - actdiag = buildPythonPackage rec { - name = "actdiag-0.5.3"; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/actdiag/${name}.tar.gz"; - sha256 = "1vr4hnkr0gcvvpaycd8q3vcx029b2f5yv8swhdr8kwspaqb0dvfa"; - }; - - buildInputs = with self; [ pep8 nose unittest2 docutils ]; - - propagatedBuildInputs = with self; [ blockdiag ]; - - # One test fails: - # UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042' in position 0: ordinal not in range(128) - doCheck = false; - - meta = { - description = "Generate activity-diagram image from spec-text file (similar to Graphviz)"; - homepage = http://blockdiag.com/; - license = licenses.asl20; - platforms = platforms.linux; - maintainers = with maintainers; [ bjornfor ]; - }; - }; - - adal = buildPythonPackage rec { - version = "0.1.0"; - name = "adal-${version}"; - - src = pkgs.fetchurl { - url = mirror://pypi/a/adal/adal-0.1.0.tar.gz; - sha256 = "1f32k18ck54adqlgvh6fjhy4yavcyrwy813prjyqppqqq4bn1a09"; - }; - - propagatedBuildInputs = with self; [ requests pyjwt ]; - - meta = { - description = "Library to make it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources"; - homepage = https://github.com/AzureAD/azure-activedirectory-library-for-python; - license = licenses.mit; - maintainers = with maintainers; [ phreedom ]; - }; - }; - - afew = buildPythonPackage rec { - name = "afew-git-2017-02-08"; - - src = pkgs.fetchFromGitHub { - owner = "afewmail"; - repo = "afew"; - rev = "889a3b966835c4d16aa1f24bb89f12945b9b2a67"; - sha256 = "01gwrx1m3ka13ps3vj04a3y8llli2j2vkd3gcggcvxdphhpysckm"; - }; - - buildInputs = with self; [ pkgs.dbacl ]; - - propagatedBuildInputs = with self; [ - self.notmuch - self.chardet - ] ++ optional (!isPy3k) self.subprocess32; - - doCheck = false; - - preConfigure = '' - substituteInPlace afew/DBACL.py --replace "'dbacl'" "'${pkgs.dbacl}/bin/dbacl'" - ''; - - postInstall = '' - wrapProgram $out/bin/afew \ - --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib - ''; - - meta = { - homepage = https://github.com/teythoon/afew; - description = "An initial tagging script for notmuch mail"; - maintainers = with maintainers; [ garbas ]; - }; - }; - - aiodns = buildPythonPackage rec { - name = "aiodns-${version}"; - version = "1.0.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/aiodns/${name}.tar.gz"; - sha256 = "595b78b8d54115d937cf60d778c02dad76b6f789fd527dab308f99e5601e7f3d"; - }; - - propagatedBuildInputs = with self; [ pycares ] ++ optional isPy33 asyncio ++ optional (isPy26 || isPy27 || isPyPy) trollius; - - checkPhase = '' - ${python.interpreter} tests.py - ''; - - # 'Could not contact DNS servers' - doCheck = false; - - meta = { - homepage = http://github.com/saghul/aiodns; - license = licenses.mit; - description = "Simple DNS resolver for asyncio"; - }; - }; + aiodns = callPackage ../development/python-modules/aiodns { }; aiofiles = callPackage ../development/python-modules/aiofiles { }; @@ -435,64 +305,13 @@ in { }; }; - alabaster = buildPythonPackage rec { - name = "alabaster-0.7.7"; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/alabaster/${name}.tar.gz"; - sha256 = "f416a84e0d0ddbc288f6b8f2c276d10b40ca1238562cd9ed5a751292ec647b71"; - }; - - propagatedBuildInputs = with self; [ pygments ]; - - # No tests included - doCheck = false; - - meta = { - homepage = https://github.com/bitprophet/alabaster; - description = "A Sphinx theme"; - license = licenses.bsd3; - }; - }; - + alabaster = callPackage ../development/python-modules/alabaster {}; alembic = callPackage ../development/python-modules/alembic {}; - ansicolors = buildPythonPackage rec { - name = "ansicolors-${version}"; - version = "1.0.2"; + ansicolors = callPackage ../development/python-modules/ansicolors {}; - src = self.fetchPypi { - pname = "ansicolors"; - inherit version; - sha256 = "02lmh2fbqcwr98cq13l9ql0fvyad1dcb3ap3c5xq9qwjp45m6r3n"; - }; - - meta = { - homepage = "https://github.com/verigak/colors/"; - description = "ANSI colors for Python"; - license = licenses.isc; - maintainers = with maintainers; [ copumpkin ]; - }; - }; - - aniso8601 = buildPythonPackage rec { - name = "aniso8601-${version}"; - version = "1.2.0"; - - meta = { - description = "Parses ISO 8601 strings."; - homepage = "https://bitbucket.org/nielsenb/aniso8601"; - license = licenses.bsd3; - }; - - propagatedBuildInputs = with self; [ dateutil ]; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/aniso8601/${name}.tar.gz"; - sha256 = "502400f82574afa804cc915d83f15c67533d364dcd594f8a6b9d2053f3404dd4"; - }; - }; + aniso8601 = callPackage ../development/python-modules/aniso8601 {}; asgiref = callPackage ../development/python-modules/asgiref { }; @@ -500,69 +319,11 @@ in { asgi_redis = callPackage ../development/python-modules/asgi_redis { }; - python-editor = buildPythonPackage rec { - name = "python-editor-${version}"; - version = "0.4"; + python-editor = callPackage ../development/python-modules/python-editor { }; - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-editor/${name}.tar.gz"; - sha256 = "1gykxn16anmsbcrwhx3rrhwjif95mmwvq9gjcrr9bbzkdc8sf8a4"; - }; + python-gnupg = callPackage ../development/python-modules/python-gnupg {}; - meta = with stdenv.lib; { - description = "`python-editor` is a library that provides the `editor` module for programmatically"; - homepage = "https://github.com/fmoo/python-editor"; - }; - }; - - python-gnupg = buildPythonPackage rec { - name = "python-gnupg-${version}"; - version = "0.4.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-gnupg/${name}.tar.gz"; - sha256 = "1yd88acafs9nwk6gzpbxjzpx0zd04qrvc6hmwhj1i89ghm2g7ap6"; - }; - - propagatedBuildInputs = [ pkgs.gnupg1 ]; - - # Let's make the library default to our gpg binary - patchPhase = '' - substituteInPlace gnupg.py \ - --replace "gpgbinary='gpg'" "gpgbinary='${pkgs.gnupg1}/bin/gpg'" - ''; - - doCheck = false; - - meta = { - description = "A wrapper for the Gnu Privacy Guard"; - homepage = "https://pypi.python.org/pypi/python-gnupg"; - license = licenses.bsd3; - maintainers = with maintainers; [ copumpkin ]; - platforms = platforms.unix; - }; - }; - - python-uinput = buildPythonPackage rec { - name = "python-uinput-${version}"; - version = "0.11.2"; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/python-uinput/${name}.tar.gz"; - sha256 = "033zqiypjz0nigav6vz0s57pbzikvds55mxphrdpkdbpdikjnfcr"; - }; - - buildInputs = [ pkgs.udev ]; - - NIX_CFLAGS_LINK = [ "-ludev" ]; - - meta = with stdenv.lib; { - description = "Pythonic API to Linux uinput kernel module"; - homepage = "http://tjjr.fi/sw/python-uinput/"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ abbradar ]; - }; - }; + python-uinput = callPackage ../development/python-modules/python-uinput {}; python-sybase = buildPythonPackage rec { name = "python-sybase-${version}"; @@ -1002,28 +763,7 @@ in { }; - arrow = buildPythonPackage rec { - name = "arrow-${version}"; - version = "0.7.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/arrow/${name}.tar.gz"; - sha256 = "0yx10dz3hp825fcq9w15zbp26v622npcjscb91da05zig8036lra"; - }; - - checkPhase = '' - nosetests - ''; - - buildInputs = with self; [ nose chai simplejson ]; - propagatedBuildInputs = with self; [ dateutil ]; - - meta = { - description = "Python library for date manipulation"; - license = "apache"; - maintainers = with maintainers; [ thoughtpolice ]; - }; - }; + arrow = callPackage ../development/python-modules/arrow { }; async = buildPythonPackage rec { name = "async-0.6.1"; @@ -9261,49 +9001,6 @@ in { }; }; - substanced = buildPythonPackage rec { - # no release yet - rev = "089818bc61c3dc5eca023254e37a280b041ea8cc"; - name = "substanced-${rev}"; - - src = pkgs.fetchgit { - inherit rev; - url = "https://github.com/Pylons/substanced.git"; - sha256 = "1fb8m5aylw8kig13fvldchgkxi4s2xlvwralrzinyma3imbznd3q"; - }; - - buildInputs = with self; [ mock ]; - patchPhase = '' - sed -i 's/assert_call(/assert_called_with(/' substanced/workflow/tests/test_workflow.py - ''; - - propagatedBuildInputs = with self; [ - pyramid - pytz - zodb - venusian - colander - deform - python_magic - pyyaml - cryptacular - hypatia - zope_copy - zope_component - zope_deprecation - statsd - pyramid_zodbconn - pyramid_mailer - pyramid_chameleon - ZEO - ]; - - meta = { - maintainers = with maintainers; [ domenkozar ]; - }; - }; - - svg-path = buildPythonPackage rec { name = "svg.path-${version}"; version = "2.0b1"; @@ -14276,6 +13973,8 @@ in { substituteInPlace ./test/asizeof/test_asizeof.py --replace "self.assert_(not e" "#self.assert_(not e" ''; + doCheck = stdenv.hostPlatform.isLinux; + meta = { description = "Tool to measure, monitor and analyze memory behavior"; homepage = http://pythonhosted.org/Pympler/; @@ -18595,12 +18294,12 @@ in { pyelftools = buildPythonPackage rec { pname = "pyelftools"; - version = "0.23"; + version = "0.24"; name = "${pname}-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/p/${pname}/${name}.tar.gz"; - sha256 = "1pi1mdzfffgl5qcz0prsa7hlbriycy7mgagi0fdrp3vf17fslmzw"; + sha256 = "17259kf6hwwsmizr5myp9jv3k9g5i3dvmnl8m646pfd5hpb9gpg9"; }; checkPhase = '' @@ -25365,24 +25064,8 @@ EOF }; }); - zconfig = buildPythonPackage rec { - name = "zconfig-${version}"; - version = "3.0.3"; - src = pkgs.fetchurl { - url = "mirror://pypi/Z/ZConfig/ZConfig-${version}.tar.gz"; - sha256 = "6577da957511d8c2f805fefd2e31cacc4117bb5c54aec03ad8ce374020c021f3"; - }; - - propagatedBuildInputs = with self; [ zope_testrunner ]; - - meta = { - description = "Structured Configuration Library"; - homepage = http://pypi.python.org/pypi/ZConfig; - license = licenses.zpt20; - maintainers = with maintainers; [ goibhniu ]; - }; - }; + zconfig = callPackage ../development/python-modules/zconfig { }; zc_lockfile = buildPythonPackage rec { @@ -25982,25 +25665,7 @@ EOF }; - zope_testrunner = buildPythonPackage rec { - name = "zope.testrunner-${version}"; - version = "4.4.10"; - - src = pkgs.fetchurl { - url = "mirror://pypi/z/zope.testrunner/${name}.zip"; - sha256 = "1w09wbqiqmq6hvrammi4fzc7fr129v63gdnzlk4qi2b1xy5qpqab"; - }; - - propagatedBuildInputs = with self; [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; - - meta = { - description = "A flexible test runner with layer support"; - homepage = http://pypi.python.org/pypi/zope.testrunner; - license = licenses.zpt20; - maintainers = with maintainers; [ goibhniu ]; - }; - }; - + zope_testrunner = callPackage ../development/python-modules/zope_testrunner { }; zope_traversing = buildPythonPackage rec { name = "zope.traversing-4.0.0"; @@ -26021,23 +25686,8 @@ EOF }; - zope_interface = buildPythonPackage rec { - name = "zope.interface-4.1.3"; + zope_interface = callPackage ../development/python-modules/zope_interface { }; - src = pkgs.fetchurl { - url = "mirror://pypi/z/zope.interface/${name}.tar.gz"; - sha256 = "0ks8h73b2g4bkad821qbv0wzjppdrwys33i7ka45ik3wxjg1l8if"; - }; - - propagatedBuildInputs = with self; [ zope_event ]; - - meta = { - description = "Zope.Interface"; - homepage = http://zope.org/Products/ZopeInterface; - license = licenses.zpt20; - maintainers = with maintainers; [ goibhniu ]; - }; - }; hgsvn = buildPythonPackage rec { name = "hgsvn-0.3.11"; @@ -27075,13 +26725,13 @@ EOF }; libvirt = let - version = "3.1.0"; + version = "3.5.0"; in assert version == pkgs.libvirt.version; pkgs.stdenv.mkDerivation rec { name = "libvirt-python-${version}"; src = pkgs.fetchurl { url = "http://libvirt.org/sources/python/${name}.tar.gz"; - sha256 = "06524dhm27fjfnmr5bqdxlmm1g9ixvzaaq572hgyy5dqwfn64spk"; + sha256 = "06mc0cm4k90z8vxaslk3ifpajg8w8dvm0m2mxwcd6fdzps8fwpsw"; }; buildInputs = with self; [ python pkgs.pkgconfig pkgs.libvirt lxml ]; @@ -29717,11 +29367,11 @@ EOF pwntools = buildPythonPackage rec { name = "pwntools-${version}"; - version = "3.7.0"; + version = "3.7.1"; src = pkgs.fetchurl { url = "mirror://pypi/p/pwntools/${name}.tar.gz"; - sha256 = "1d2q42cmgh7l2k6l2gy4zllgj9a5qc59af3skp2b80hmv88h6vij"; + sha256 = "1c0n97cf3nql3n6sxpbp43x1byhkgfbpbl2b22h8nllgb8n0z9l0"; }; propagatedBuildInputs = with self; [ Mako packaging pysocks pygments ROPGadget capstone paramiko pip psutil pyelftools pypandoc pyserial dateutil requests tox pkgs.pandoc unicorn intervaltree ];