diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md index 629db289ab1d..764fae3ce936 100644 --- a/doc/languages-frameworks/haskell.md +++ b/doc/languages-frameworks/haskell.md @@ -334,14 +334,10 @@ navigate there. Finally, you can run ```shell -hoogle server -p 8080 +hoogle server -p 8080 --local ``` and navigate to http://localhost:8080/ for your own local -[Hoogle](https://www.haskell.org/hoogle/). Note, however, that Firefox and -possibly other browsers disallow navigation from `http:` to `file:` URIs for -security reasons, which might be quite an inconvenience. See [this -page](http://kb.mozillazine.org/Links_to_local_pages_do_not_work) for -workarounds. +[Hoogle](https://www.haskell.org/hoogle/). ### How to build a Haskell project using Stack diff --git a/doc/package-notes.xml b/doc/package-notes.xml index b657f5809db9..2d6c87c3d07a 100644 --- a/doc/package-notes.xml +++ b/doc/package-notes.xml @@ -660,6 +660,32 @@ cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el passing -q to the Emacs command. + + Sometimes emacsWithPackages is not enough, as + this package set has some priorities imposed on packages (with + the lowest priority assigned to Melpa Unstable, and the highest for + packages manually defined in + pkgs/top-level/emacs-packages.nix). But you + can't control this priorities when some package is installed as a + dependency. You can override it on per-package-basis, providing all + the required dependencies manually - but it's tedious and there is + always a possibility that an unwanted dependency will sneak in + through some other package. To completely override such a package + you can use overrideScope. + + + +overrides = super: self: rec { + haskell-mode = self.melpaPackages.haskell-mode; + ... +}; +((emacsPackagesNgGen emacs).overrideScope overrides).emacsWithPackages (p: with p; [ + # here both these package will use haskell-mode of our own choice + ghc-mod + dante +]) + + diff --git a/lib/maintainers.nix b/lib/maintainers.nix index d2c62ef9bb8f..b5c9cf94b9bd 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -225,6 +225,7 @@ ertes = "Ertugrul Söylemez "; ethercrow = "Dmitry Ivanov "; etu = "Elis Hirwing "; + exfalso = "Andras Slemmer <0slemi0@gmail.com>"; exi = "Reno Reckling "; exlevan = "Alexey Levan "; expipiplus1 = "Joe Hermaszewski "; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index fd43ceaa0df2..282fb0994b58 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -479,6 +479,11 @@ rec { kernelPreferBuiltin = true; kernelTarget = "zImage"; kernelExtraConfig = '' + # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + # Fix broken sunxi-sid nvmem driver. TI_CPTS y diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 2ec8b28c3fc4..d9d80bcff818 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -417,7 +417,8 @@ ./services/network-filesystems/ipfs.nix ./services/network-filesystems/netatalk.nix ./services/network-filesystems/nfsd.nix - ./services/network-filesystems/openafs-client/default.nix + ./services/network-filesystems/openafs/client.nix + ./services/network-filesystems/openafs/server.nix ./services/network-filesystems/rsyncd.nix ./services/network-filesystems/samba.nix ./services/network-filesystems/tahoe.nix diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix index 5940f471883c..0736239ed2cf 100644 --- a/nixos/modules/security/acme.nix +++ b/nixos/modules/security/acme.nix @@ -6,10 +6,11 @@ let cfg = config.security.acme; - certOpts = { ... }: { + certOpts = { name, ... }: { options = { webroot = mkOption { type = types.str; + example = "/var/lib/acme/acme-challenges"; description = '' Where the webroot of the HTTP vhost is located. .well-known/acme-challenge/ directory @@ -20,8 +21,8 @@ let }; domain = mkOption { - type = types.nullOr types.str; - default = null; + type = types.str; + default = name; description = "Domain to fetch certificate for (defaults to the entry name)"; }; @@ -48,7 +49,7 @@ let default = false; description = '' Give read permissions to the specified group - () to read SSL private certificates. + () to read SSL private certificates. ''; }; @@ -87,7 +88,7 @@ let } ''; description = '' - Extra domain names for which certificates are to be issued, with their + A list of extra domain names, which are included in the one certificate to be issued, with their own server roots if needed. ''; }; @@ -193,10 +194,9 @@ in servicesLists = mapAttrsToList certToServices cfg.certs; certToServices = cert: data: let - domain = if data.domain != null then data.domain else cert; cpath = "${cfg.directory}/${cert}"; rights = if data.allowKeysForGroup then "750" else "700"; - cmdline = [ "-v" "-d" domain "--default_root" data.webroot "--valid_min" cfg.validMin "--tos_sha256" cfg.tosHash ] + cmdline = [ "-v" "-d" data.domain "--default_root" data.webroot "--valid_min" cfg.validMin "--tos_sha256" cfg.tosHash ] ++ optionals (data.email != null) [ "--email" data.email ] ++ concatMap (p: [ "-f" p ]) data.plugins ++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains) diff --git a/nixos/modules/services/network-filesystems/openafs-client/default.nix b/nixos/modules/services/network-filesystems/openafs-client/default.nix deleted file mode 100644 index 0946e379e796..000000000000 --- a/nixos/modules/services/network-filesystems/openafs-client/default.nix +++ /dev/null @@ -1,99 +0,0 @@ -{ config, pkgs, lib, ... }: - -let - inherit (lib) mkOption mkIf; - - cfg = config.services.openafsClient; - - cellServDB = pkgs.fetchurl { - url = http://dl.central.org/dl/cellservdb/CellServDB.2017-03-14; - sha256 = "1197z6c5xrijgf66rhaymnm5cvyg2yiy1i20y4ah4mrzmjx0m7sc"; - }; - - afsConfig = pkgs.runCommand "afsconfig" {} '' - mkdir -p $out - echo ${cfg.cellName} > $out/ThisCell - cp ${cellServDB} $out/CellServDB - echo "/afs:${cfg.cacheDirectory}:${cfg.cacheSize}" > $out/cacheinfo - ''; - - openafsPkgs = config.boot.kernelPackages.openafsClient; -in -{ - ###### interface - - options = { - - services.openafsClient = { - - enable = mkOption { - default = false; - description = "Whether to enable the OpenAFS client."; - }; - - cellName = mkOption { - default = "grand.central.org"; - description = "Cell name."; - }; - - cacheSize = mkOption { - default = "100000"; - description = "Cache size."; - }; - - cacheDirectory = mkOption { - default = "/var/cache/openafs"; - description = "Cache directory."; - }; - - crypt = mkOption { - default = false; - description = "Whether to enable (weak) protocol encryption."; - }; - - sparse = mkOption { - default = false; - description = "Minimal cell list in /afs."; - }; - - }; - }; - - - ###### implementation - - config = mkIf cfg.enable { - - environment.systemPackages = [ openafsPkgs ]; - - environment.etc = [ - { source = afsConfig; - target = "openafs"; - } - ]; - - systemd.services.afsd = { - description = "AFS client"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - serviceConfig = { RemainAfterExit = true; }; - - preStart = '' - mkdir -p -m 0755 /afs - mkdir -m 0700 -p ${cfg.cacheDirectory} - ${pkgs.kmod}/bin/insmod ${openafsPkgs}/lib/openafs/libafs-*.ko || true - ${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} -fakestat -afsdb - ${openafsPkgs}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"} - ''; - - # Doing this in preStop, because after these commands AFS is basically - # stopped, so systemd has nothing to do, just noticing it. If done in - # postStop, then we get a hang + kernel oops, because AFS can't be - # stopped simply by sending signals to processes. - preStop = '' - ${pkgs.utillinux}/bin/umount /afs - ${openafsPkgs}/sbin/afsd -shutdown - ''; - }; - }; -} diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix new file mode 100644 index 000000000000..3826fe3edfd0 --- /dev/null +++ b/nixos/modules/services/network-filesystems/openafs/client.nix @@ -0,0 +1,239 @@ +{ config, pkgs, lib, ... }: + +with import ./lib.nix { inherit lib; }; + +let + inherit (lib) getBin mkOption mkIf optionalString singleton types; + + cfg = config.services.openafsClient; + + cellServDB = pkgs.fetchurl { + url = http://dl.central.org/dl/cellservdb/CellServDB.2017-03-14; + sha256 = "1197z6c5xrijgf66rhaymnm5cvyg2yiy1i20y4ah4mrzmjx0m7sc"; + }; + + clientServDB = pkgs.writeText "client-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.cellServDB); + + afsConfig = pkgs.runCommand "afsconfig" {} '' + mkdir -p $out + echo ${cfg.cellName} > $out/ThisCell + cat ${cellServDB} ${clientServDB} > $out/CellServDB + echo "${cfg.mountPoint}:${cfg.cache.directory}:${toString cfg.cache.blocks}" > $out/cacheinfo + ''; + + openafsMod = config.boot.kernelPackages.openafs; + openafsBin = lib.getBin pkgs.openafs; +in +{ + ###### interface + + options = { + + services.openafsClient = { + + enable = mkOption { + default = false; + type = types.bool; + description = "Whether to enable the OpenAFS client."; + }; + + afsdb = mkOption { + default = true; + type = types.bool; + description = "Resolve cells via AFSDB DNS records."; + }; + + cellName = mkOption { + default = ""; + type = types.str; + description = "Cell name."; + example = "grand.central.org"; + }; + + cellServDB = mkOption { + default = []; + type = with types; listOf (submodule { options = cellServDBConfig; }); + description = '' + This cell's database server records, added to the global + CellServDB. See CellServDB(5) man page for syntax. Ignored when + afsdb is set to true. + ''; + example = '' + [ { ip = "1.2.3.4"; dnsname = "first.afsdb.server.dns.fqdn.org"; } + { ip = "2.3.4.5"; dnsname = "second.afsdb.server.dns.fqdn.org"; } + ] + ''; + }; + + cache = { + blocks = mkOption { + default = 100000; + type = types.int; + description = "Cache size in 1KB blocks."; + }; + + chunksize = mkOption { + default = 0; + type = types.ints.between 0 30; + description = '' + Size of each cache chunk given in powers of + 2. 0 resets the chunk size to its default + values (13 (8 KB) for memcache, 18-20 (256 KB to 1 MB) for + diskcache). Maximum value is 30. Important performance + parameter. Set to higher values when dealing with large files. + ''; + }; + + directory = mkOption { + default = "/var/cache/openafs"; + type = types.str; + description = "Cache directory."; + }; + + diskless = mkOption { + default = false; + type = types.bool; + description = '' + Use in-memory cache for diskless machines. Has no real + performance benefit anymore. + ''; + }; + }; + + crypt = mkOption { + default = true; + type = types.bool; + description = "Whether to enable (weak) protocol encryption."; + }; + + daemons = mkOption { + default = 2; + type = types.int; + description = '' + Number of daemons to serve user requests. Numbers higher than 6 + usually do no increase performance. Default is sufficient for up + to five concurrent users. + ''; + }; + + fakestat = mkOption { + default = false; + type = types.bool; + description = '' + Return fake data on stat() calls. If true, + always do so. If false, only do so for + cross-cell mounts (as these are potentially expensive). + ''; + }; + + inumcalc = mkOption { + default = "compat"; + type = types.strMatching "compat|md5"; + description = '' + Inode calculation method. compat is + computationally less expensive, but md5 greatly + reduces the likelihood of inode collisions in larger scenarios + involving multiple cells mounted into one AFS space. + ''; + }; + + mountPoint = mkOption { + default = "/afs"; + type = types.str; + description = '' + Mountpoint of the AFS file tree, conventionally + /afs. When set to a different value, only + cross-cells that use the same value can be accessed. + ''; + }; + + sparse = mkOption { + default = true; + type = types.bool; + description = "Minimal cell list in /afs."; + }; + + startDisconnected = mkOption { + default = false; + type = types.bool; + description = '' + Start up in disconnected mode. You need to execute + fs disco online (as root) to switch to + connected mode. Useful for roaming devices. + ''; + }; + + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + + assertions = [ + { assertion = cfg.afsdb || cfg.cellServDB != []; + message = "You should specify all cell-local database servers in config.services.openafsClient.cellServDB or set config.services.openafsClient.afsdb."; + } + { assertion = cfg.cellName != ""; + message = "You must specify the local cell name in config.services.openafsClient.cellName."; + } + ]; + + environment.systemPackages = [ pkgs.openafs ]; + + environment.etc = { + clientCellServDB = { + source = pkgs.runCommand "CellServDB" {} '' + cat ${cellServDB} ${clientServDB} > $out + ''; + target = "openafs/CellServDB"; + mode = "0644"; + }; + clientCell = { + text = '' + ${cfg.cellName} + ''; + target = "openafs/ThisCell"; + mode = "0644"; + }; + }; + + systemd.services.afsd = { + description = "AFS client"; + wantedBy = [ "multi-user.target" ]; + after = singleton (if cfg.startDisconnected then "network.target" else "network-online.target"); + serviceConfig = { RemainAfterExit = true; }; + restartIfChanged = false; + + preStart = '' + mkdir -p -m 0755 ${cfg.mountPoint} + mkdir -m 0700 -p ${cfg.cache.directory} + ${pkgs.kmod}/bin/insmod ${openafsMod}/lib/modules/*/extra/openafs/libafs.ko.xz + ${openafsBin}/sbin/afsd \ + -mountdir ${cfg.mountPoint} \ + -confdir ${afsConfig} \ + ${optionalString (!cfg.cache.diskless) "-cachedir ${cfg.cache.directory}"} \ + -blocks ${toString cfg.cache.blocks} \ + -chunksize ${toString cfg.cache.chunksize} \ + ${optionalString cfg.cache.diskless "-memcache"} \ + -inumcalc ${cfg.inumcalc} \ + ${if cfg.fakestat then "-fakestat-all" else "-fakestat"} \ + ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} \ + ${optionalString cfg.afsdb "-afsdb"} + ${openafsBin}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"} + ${optionalString cfg.startDisconnected "${openafsBin}/bin/fs discon offline"} + ''; + + # Doing this in preStop, because after these commands AFS is basically + # stopped, so systemd has nothing to do, just noticing it. If done in + # postStop, then we get a hang + kernel oops, because AFS can't be + # stopped simply by sending signals to processes. + preStop = '' + ${pkgs.utillinux}/bin/umount ${cfg.mountPoint} + ${openafsBin}/sbin/afsd -shutdown + ${pkgs.kmod}/sbin/rmmod libafs + ''; + }; + }; +} diff --git a/nixos/modules/services/network-filesystems/openafs/lib.nix b/nixos/modules/services/network-filesystems/openafs/lib.nix new file mode 100644 index 000000000000..ecfc72d2eaf9 --- /dev/null +++ b/nixos/modules/services/network-filesystems/openafs/lib.nix @@ -0,0 +1,28 @@ +{ lib, ...}: + +let + inherit (lib) concatStringsSep mkOption types; + +in rec { + + mkCellServDB = cellName: db: '' + >${cellName} + '' + (concatStringsSep "\n" (map (dbm: if (dbm.ip != "" && dbm.dnsname != "") then dbm.ip + " #" + dbm.dnsname else "") + db)); + + # CellServDB configuration type + cellServDBConfig = { + ip = mkOption { + type = types.str; + default = ""; + example = "1.2.3.4"; + description = "IP Address of a database server"; + }; + dnsname = mkOption { + type = types.str; + default = ""; + example = "afs.example.org"; + description = "DNS full-qualified domain name of a database server"; + }; + }; +} diff --git a/nixos/modules/services/network-filesystems/openafs/server.nix b/nixos/modules/services/network-filesystems/openafs/server.nix new file mode 100644 index 000000000000..429eb945ac9e --- /dev/null +++ b/nixos/modules/services/network-filesystems/openafs/server.nix @@ -0,0 +1,260 @@ +{ config, pkgs, lib, ... }: + +with import ./lib.nix { inherit lib; }; + +let + inherit (lib) concatStringsSep intersperse mapAttrsToList mkForce mkIf mkMerge mkOption optionalString types; + + bosConfig = pkgs.writeText "BosConfig" ('' + restrictmode 1 + restarttime 16 0 0 0 0 + checkbintime 3 0 5 0 0 + '' + (optionalString cfg.roles.database.enable '' + bnode simple vlserver 1 + parm ${openafsBin}/libexec/openafs/vlserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.vlserverArgs} + end + bnode simple ptserver 1 + parm ${openafsBin}/libexec/openafs/ptserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} ${cfg.roles.database.ptserverArgs} + end + '') + (optionalString cfg.roles.fileserver.enable '' + bnode dafs dafs 1 + parm ${openafsBin}/libexec/openafs/dafileserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.fileserverArgs} + parm ${openafsBin}/libexec/openafs/davolserver ${optionalString cfg.dottedPrincipals "-allow-dotted-principals"} -udpsize ${udpSizeStr} ${cfg.roles.fileserver.volserverArgs} + parm ${openafsBin}/libexec/openafs/salvageserver ${cfg.roles.fileserver.salvageserverArgs} + parm ${openafsBin}/libexec/openafs/dasalvager ${cfg.roles.fileserver.salvagerArgs} + end + '') + (optionalString (cfg.roles.database.enable && cfg.roles.backup.enable) '' + bnode simple buserver 1 + parm ${openafsBin}/libexec/openafs/buserver ${cfg.roles.backup.buserverArgs} ${optionalString (cfg.roles.backup.cellServDB != []) "-cellservdb /etc/openafs/backup/"} + end + '')); + + netInfo = if (cfg.advertisedAddresses != []) then + pkgs.writeText "NetInfo" ((concatStringsSep "\nf " cfg.advertisedAddresses) + "\n") + else null; + + buCellServDB = pkgs.writeText "backup-cellServDB-${cfg.cellName}" (mkCellServDB cfg.cellName cfg.roles.backup.cellServDB); + + cfg = config.services.openafsServer; + + udpSizeStr = toString cfg.udpPacketSize; + + openafsBin = lib.getBin pkgs.openafs; + +in { + + options = { + + services.openafsServer = { + + enable = mkOption { + default = false; + type = types.bool; + description = '' + Whether to enable the OpenAFS server. An OpenAFS server needs a + complex setup. So, be aware that enabling this service and setting + some options does not give you a turn-key-ready solution. You need + at least a running Kerberos 5 setup, as OpenAFS relies on it for + authentication. See the Guide "QuickStartUnix" coming with + pkgs.openafs.doc for complete setup + instructions. + ''; + }; + + advertisedAddresses = mkOption { + default = []; + description = "List of IP addresses this server is advertised under. See NetInfo(5)"; + }; + + cellName = mkOption { + default = ""; + type = types.str; + description = "Cell name, this server will serve."; + example = "grand.central.org"; + }; + + cellServDB = mkOption { + default = []; + type = with types; listOf (submodule [ { options = cellServDBConfig;} ]); + description = "Definition of all cell-local database server machines."; + }; + + roles = { + fileserver = { + enable = mkOption { + default = true; + type = types.bool; + description = "Fileserver role, serves files and volumes from its local storage."; + }; + + fileserverArgs = mkOption { + default = "-vattachpar 128 -vhashsize 11 -L -rxpck 400 -cb 1000000"; + type = types.str; + description = "Arguments to the dafileserver process. See its man page."; + }; + + volserverArgs = mkOption { + default = ""; + type = types.str; + description = "Arguments to the davolserver process. See its man page."; + example = "-sync never"; + }; + + salvageserverArgs = mkOption { + default = ""; + type = types.str; + description = "Arguments to the salvageserver process. See its man page."; + example = "-showlog"; + }; + + salvagerArgs = mkOption { + default = ""; + type = types.str; + description = "Arguments to the dasalvager process. See its man page."; + example = "-showlog -showmounts"; + }; + }; + + database = { + enable = mkOption { + default = true; + type = types.bool; + description = '' + Database server role, maintains the Volume Location Database, + Protection Database (and Backup Database, see + backup role). There can be multiple + servers in the database role for replication, which then need + reliable network connection to each other. + + Servers in this role appear in AFSDB DNS records or the + CellServDB. + ''; + }; + + vlserverArgs = mkOption { + default = ""; + type = types.str; + description = "Arguments to the vlserver process. See its man page."; + example = "-rxbind"; + }; + + ptserverArgs = mkOption { + default = ""; + type = types.str; + description = "Arguments to the ptserver process. See its man page."; + example = "-restricted -default_access S---- S-M---"; + }; + }; + + backup = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Backup server role. Use in conjunction with the + database role to maintain the Backup + Database. Normally only used in conjunction with tape storage + or IBM's Tivoli Storage Manager. + ''; + }; + + buserverArgs = mkOption { + default = ""; + type = types.str; + description = "Arguments to the buserver process. See its man page."; + example = "-p 8"; + }; + + cellServDB = mkOption { + default = []; + type = with types; listOf (submodule [ { options = cellServDBConfig;} ]); + description = '' + Definition of all cell-local backup database server machines. + Use this when your cell uses less backup database servers than + other database server machines. + ''; + }; + }; + }; + + dottedPrincipals= mkOption { + default = false; + type = types.bool; + description = '' + If enabled, allow principal names containing (.) dots. Enabling + this has security implications! + ''; + }; + + udpPacketSize = mkOption { + default = 1310720; + type = types.int; + description = '' + UDP packet size to use in Bytes. Higher values can speed up + communications. The default of 1 MB is a sufficient in most + cases. Make sure to increase the kernel's UDP buffer size + accordingly via net.core(w|r|opt)mem_max + sysctl. + ''; + }; + + }; + + }; + + config = mkIf cfg.enable { + + assertions = [ + { assertion = cfg.cellServDB != []; + message = "You must specify all cell-local database servers in config.services.openafsServer.cellServDB."; + } + { assertion = cfg.cellName != ""; + message = "You must specify the local cell name in config.services.openafsServer.cellName."; + } + ]; + + environment.systemPackages = [ pkgs.openafs ]; + + environment.etc = { + bosConfig = { + source = bosConfig; + target = "openafs/BosConfig"; + mode = "0644"; + }; + cellServDB = { + text = mkCellServDB cfg.cellName cfg.cellServDB; + target = "openafs/server/CellServDB"; + mode = "0644"; + }; + thisCell = { + text = cfg.cellName; + target = "openafs/server/ThisCell"; + mode = "0644"; + }; + buCellServDB = { + enable = (cfg.roles.backup.cellServDB != []); + text = mkCellServDB cfg.cellName cfg.roles.backup.cellServDB; + target = "openafs/backup/CellServDB"; + }; + }; + + systemd.services = { + openafs-server = { + description = "OpenAFS server"; + after = [ "syslog.target" "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartIfChanged = false; + unitConfig.ConditionPathExists = [ "/etc/openafs/server/rxkad.keytab" ]; + preStart = '' + mkdir -m 0755 -p /var/openafs + ${optionalString (netInfo != null) "cp ${netInfo} /var/openafs/netInfo"} + ${optionalString (cfg.roles.backup.cellServDB != []) "cp ${buCellServDB}"} + ''; + serviceConfig = { + ExecStart = "${openafsBin}/bin/bosserver -nofork"; + ExecStop = "${openafsBin}/bin/bos shutdown localhost -wait -localauth"; + }; + }; + }; + }; +} diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index b41ca92db086..cc1ab1d0e303 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -1,18 +1,39 @@ -;;; NixOS specific load-path -(setq load-path - (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) - (split-string (or (getenv "NIX_PROFILES") "")))) - load-path)) +(defun nix--profile-paths () + "Returns a list of all paths in the NIX_PROFILES environment +variable, ordered from more-specific (the user profile) to the +least specific (the system profile)" + (reverse (split-string (or (getenv "NIX_PROFILES") "")))) + +;;; Extend `load-path' to search for elisp files in subdirectories of +;;; all folders in `NIX_PROFILES'. Also search for one level of +;;; subdirectories in these directories to handle multi-file libraries +;;; like `mu4e'.' +(require 'seq) +(let* ((subdirectory-sites (lambda (site-lisp) + (when (file-exists-p site-lisp) + (seq-filter (lambda (f) (file-directory-p (file-truename f))) + ;; Returns all files in `site-lisp', excluding `.' and `..' + (directory-files site-lisp 'full "^\\([^.]\\|\\.[^.]\\|\\.\\..\\)"))))) + (paths (apply #'append + (mapcar (lambda (profile-dir) + (let ((site-lisp (concat profile-dir "/share/emacs/site-lisp/"))) + (cons site-lisp (funcall subdirectory-sites site-lisp)))) + (nix--profile-paths))))) + (setq load-path (append paths load-path))) + ;;; Make `woman' find the man pages (eval-after-load 'woman '(setq woman-manpath - (append (reverse (mapcar (lambda (x) (concat x "/share/man/")) - (split-string (or (getenv "NIX_PROFILES") "")))) + (append (mapcar (lambda (x) (concat x "/share/man/")) + (nix--profile-paths)) woman-manpath))) ;;; Make tramp work for remote NixOS machines (eval-after-load 'tramp + ;; TODO: We should also add the other `NIX_PROFILES' to this path. + ;; However, these are user-specific, so we would need to discover + ;; them dynamically after connecting via `tramp' '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin")) ;;; C source directory @@ -22,9 +43,9 @@ ;;; from: /nix/store/-emacs-/share/emacs/site-lisp/site-start.el ;;; to: /nix/store/-emacs-/share/emacs//src/ (let ((emacs - (file-name-directory ;; .../emacs/ - (directory-file-name ;; .../emacs/site-lisp - (file-name-directory load-file-name)))) ;; .../emacs/site-lisp/ + (file-name-directory ; .../emacs/ + (directory-file-name ; .../emacs/site-lisp + (file-name-directory load-file-name)))) ; .../emacs/site-lisp/ (version (file-name-as-directory (concat diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix index b7d9f4a81599..f9ea2b9aa84e 100644 --- a/pkgs/applications/graphics/antimony/default.nix +++ b/pkgs/applications/graphics/antimony/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchFromGitHub, libpng, python3, boost, mesa, qtbase, ncurses, cmake, flex, lemon }: let - gitRev = "e8480c718e8c49ae3cc2d7af10ea93ea4c2fff9a"; + gitRev = "020910c25614a3752383511ede5a1f5551a8bd39"; gitBranch = "master"; - gitTag = "0.9.2"; -in + gitTag = "0.9.3"; +in stdenv.mkDerivation rec { name = "antimony-${version}"; version = gitTag; @@ -13,7 +13,7 @@ in owner = "mkeeter"; repo = "antimony"; rev = gitTag; - sha256 = "0fpgy5cb4knz2z9q078206k8wzxfs8b9g76mf4bz1ic77931ykjz"; + sha256 = "1vm5h5py8l3b8h4pbmm8s3wlxvlw492xfwnlwx0nvl0cjs8ba6r4"; }; patches = [ ./paths-fix.patch ]; diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix index 80f893e7c3c9..d517306c1d61 100644 --- a/pkgs/applications/graphics/freecad/default.nix +++ b/pkgs/applications/graphics/freecad/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts -, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper }: +, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper, makeDesktopItem }: let pythonPackages = python27Packages; @@ -32,8 +32,40 @@ in stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \ --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1 + + mkdir -p $out/share/mime/packages + cat << EOF > $out/share/mime/packages/freecad.xml + + + + + FreeCAD Document + + + + EOF + + mkdir -p $out/share/applications + cp $desktopItem/share/applications/* $out/share/applications/ + for entry in $out/share/applications/*.desktop; do + substituteAllInPlace $entry + done ''; + desktopItem = makeDesktopItem { + name = "freecad"; + desktopName = "FreeCAD"; + genericName = "CAD Application"; + comment = meta.description; + exec = "@out@/bin/FreeCAD %F"; + categories = "Science;Education;Engineering;"; + startupNotify = "true"; + mimeType = "application/x-extension-fcstd;"; + extraEntries = '' + Path=@out@/share/freecad + ''; + }; + meta = with stdenv.lib; { description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler"; homepage = https://www.freecadweb.org/; diff --git a/pkgs/applications/misc/diff-pdf/default.nix b/pkgs/applications/misc/diff-pdf/default.nix new file mode 100644 index 000000000000..467c2b3c2d59 --- /dev/null +++ b/pkgs/applications/misc/diff-pdf/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, cairo, poppler, wxGTK ? null, wxmac ? null, darwin ? null }: + +let + wxInputs = + if stdenv.isDarwin then + [ wxmac darwin.apple_sdk.frameworks.Cocoa ] + else + [ wxGTK ]; +in +stdenv.mkDerivation rec { + name = "diff-pdf-${version}"; + version = "2017-12-30"; + + src = fetchFromGitHub { + owner = "vslavik"; + repo = "diff-pdf"; + rev = "c4d67226ec4c29b30a7399e75f80636ff8a6f9fc"; + sha256 = "1c3ig7ckrg37p5vzvgjnsfdzdad328wwsx0r31lbs1d8pkjkgq3m"; + }; + + nativeBuildInputs = [ autoconf automake pkgconfig ]; + buildInputs = [ cairo poppler ] ++ wxInputs; + + preConfigure = "./bootstrap"; + + meta = with stdenv.lib; { + homepage = http://vslavik.github.io/diff-pdf; + description = "Simple tool for visually comparing two PDF files"; + license = licenses.gpl2; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/applications/misc/dump1090/default.nix b/pkgs/applications/misc/dump1090/default.nix index 3e9fe133d93c..29f6c6085602 100644 --- a/pkgs/applications/misc/dump1090/default.nix +++ b/pkgs/applications/misc/dump1090/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { buildInputs = [ libusb rtl-sdr ]; - makeFlags = [ "PREFIX=$out" ]; + makeFlags = [ "PREFIX=$(out)" ]; installPhase = '' mkdir -p $out/bin $out/share - cp -v dump1090 $out/bin/dump1090 + cp -v dump1090 view1090 $out/bin cp -vr public_html $out/share/dump1090 ''; diff --git a/pkgs/applications/networking/cluster/terraform/providers/default.nix b/pkgs/applications/networking/cluster/terraform/providers/default.nix index 72da1dd77d57..40117b458550 100644 --- a/pkgs/applications/networking/cluster/terraform/providers/default.nix +++ b/pkgs/applications/networking/cluster/terraform/providers/default.nix @@ -11,6 +11,10 @@ let inherit owner repo sha256; rev = "v${version}"; }; + + # Terraform allow checking the provider versions, but this breaks + # if the versions are not provided via file paths. + postBuild = "mv go/bin/${repo}{,_v${version}}"; }; maybeDrv = name: data: diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix index 640f32671bbd..365057414e99 100644 --- a/pkgs/applications/science/biology/samtools/default.nix +++ b/pkgs/applications/science/biology/samtools/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "samtools"; - version = "1.6"; + version = "1.7"; src = fetchurl { url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2"; - sha256 = "17p4vdj2j2qr3b2c0v4100h6cg4jj3zrb4dmdnd9d9aqs74d4p7f"; + sha256 = "e7b09673176aa32937abd80f95f432809e722f141b5342186dfef6a53df64ca1"; }; nativeBuildInputs = [ perl ]; diff --git a/pkgs/applications/video/subdl/default.nix b/pkgs/applications/video/subdl/default.nix new file mode 100644 index 000000000000..32bd731f16e9 --- /dev/null +++ b/pkgs/applications/video/subdl/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, python3 }: + +stdenv.mkDerivation rec { + name = "subdl-0.0pre.2017.11.06"; + + src = fetchFromGitHub { + owner = "alexanderwink"; + repo = "subdl"; + rev = "4cf5789b11f0ff3f863b704b336190bf968cd471"; + sha256 = "0kmk5ck1j49q4ww0lvas2767kwnzhkq0vdwkmjypdx5zkxz73fn8"; + }; + + meta = { + homepage = https://github.com/alexanderwink/subdl; + description = "A command-line tool to download subtitles from opensubtitles.org"; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.exfalso ]; + }; + + buildInputs = [ python3 ]; + + installPhase = '' + install -vD subdl $out/bin/subdl + ''; +} diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix index 72eaae998779..3f9ee17ca279 100644 --- a/pkgs/development/compilers/binaryen/default.nix +++ b/pkgs/development/compilers/binaryen/default.nix @@ -1,14 +1,14 @@ { stdenv, cmake, fetchFromGitHub }: stdenv.mkDerivation rec { - version = "33"; + version = "42"; rev = "version_${version}"; name = "binaryen-${version}"; src = fetchFromGitHub { owner = "WebAssembly"; repo = "binaryen"; - sha256 = "0zijs2mcgfv0iynwdb0l4zykm0891b1zccf6r8w35ipxvcdwbsbp"; + sha256 = "0b8qc9cd7ncshgfjwv4hfapmwa81gmniaycnxmdkihq9bpm26x2k"; inherit rev; }; diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix index 49c8ac0d0050..ae51b82d3942 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -43,7 +43,861 @@ self: super: { xhtml = null; # GHC 8.4.x needs newer versions than LTS-10.x offers by default. - hspec = dontCheck super.hspec_2_4_7; # test suite causes an infinite loop - test-framework = self.test-framework_0_8_2_0; + ## haddock: panic! (the 'impossible' happened) + ## (GHC version 8.4.20180122 for x86_64-unknown-linux): + ## extractDecl + ## Ambiguous decl for Arg in class: + ## class Example e where + ## type Arg e :: * + ## {-# MINIMAL evaluateExample #-} + ## evaluateExample :: + ## e + ## -> Params + ## -> ActionWith Arg e -> IO () -> ProgressCallback -> IO Result + ## Matches: + ## [] + ## Call stack: + ## CallStack (from HasCallStack): + ## callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable + ## pprPanic, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1013:16 in main:Haddock.Interface.Create + ## Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug + hspec = dontHaddock (dontCheck super.hspec_2_4_7); # test suite causes an infinite loop + ## Setup: Encountered missing dependencies: + ## QuickCheck >=2.3 && <2.10 + ## builder for ‘/nix/store/d60y5jwn5bpgk2p8ps23c129dcw7whg6-test-framework-0.8.2.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/d60y5jwn5bpgk2p8ps23c129dcw7whg6-test-framework-0.8.2.0.drv’ failed + test-framework = dontCheck self.test-framework_0_8_2_0; + + # Undo the override in `configuration-common.nix`: GHC 8.4 bumps Cabal to 2.1: + # Distribution/Simple/CCompiler.hs:64:10: error: + # • No instance for (Semigroup CDialect) + # arising from the superclasses of an instance declaration + # • In the instance declaration for ‘Monoid CDialect’ + # | + # 64 | instance Monoid CDialect where + # | ^^^^^^^^^^^^^^^ + jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal; }; #pkgs.haskell.packages.ghc822.jailbreak-cabal; + + ## Shadowed: + + ## Needs bump to a versioned attribute + ## + ## • Could not deduce (Semigroup (Dict a)) + ## arising from the superclasses of an instance declaration + ## from the context: a + constraints = super.constraints_0_10; + + hspec-core = overrideCabal super.hspec-core_2_4_7 (drv: { + ## Needs bump to a versioned attribute + ## + ## • No instance for (Semigroup Summary) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid Summary’ + doCheck = false; + }); + + ## Needs bump to a versioned attribute + ## + ## breaks hspec: + ## Setup: Encountered missing dependencies: + ## hspec-discover ==2.4.7 + hspec-discover = super.hspec-discover_2_4_7; + + ## Needs bump to a versioned attribute + ## + ## • No instance for (Semigroup Metadatas) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid Metadatas’ + JuicyPixels = super.JuicyPixels_3_2_9_4; + + ## Needs bump to a versioned attribute + ## + ## • Could not deduce (Semigroup (a :->: b)) + ## arising from the superclasses of an instance declaration + ## from the context: (HasTrie a, Monoid b) + MemoTrie = super.MemoTrie_0_6_9; + + semigroupoids = overrideCabal super.semigroupoids_5_2_2 (drv: { + ## Needs bump to a versioned attribute + ## + ## • Variable not in scope: mappend :: Seq a -> Seq a -> Seq a + ## CABAL-MISSING-DEPS + ## Setup: Encountered missing dependencies: + ## ghc >=7.0 && <8.4 + ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed + doCheck = false; + }); + + ## Needs bump to a versioned attribute + ## + ## • Could not deduce (Semigroup (Traversal f)) + ## arising from the superclasses of an instance declaration + ## from the context: Applicative f + tasty = super.tasty_1_0_0_1; + + ## Needs bump to a versioned attribute + ## + ## Setup: Encountered missing dependencies: + ## template-haskell >=2.4 && <2.13 + ## builder for ‘/nix/store/sq6cc33h4zk1wns2fsyv8cj6clcf6hwi-th-lift-0.7.7.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/sq6cc33h4zk1wns2fsyv8cj6clcf6hwi-th-lift-0.7.7.drv’ failed + th-lift = super.th-lift_0_7_8; + + + ## On Hackage: + + happy = overrideCabal super.happy (drv: { + ## On Hackage, awaiting for import + ## + ## Ambiguous occurrence ‘<>’ + ## It could refer to either ‘Prelude.<>’, + ## imported from ‘Prelude’ at src/PrettyGrammar.hs:1:8-20 + version = "1.19.9"; + sha256 = "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"; + }); + + + ## Upstreamed + + free = overrideCabal super.free (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## • Could not deduce (Semigroup (IterT m a)) + ## arising from the superclasses of an instance declaration + ## from the context: (Monad m, Monoid a) + src = pkgs.fetchFromGitHub { + owner = "ekmett"; + repo = "free"; + rev = "fcefc71ed302f2eaf60f020046bad392338b3109"; + sha256 = "0mfrd7y97pgqmb2i66jn5xwjpcrgnfcqq8dzkxqgx1b5wjdydq70"; + }; + ## Setup: Encountered missing dependencies: + ## transformers-base <0.5 + ## builder for ‘/nix/store/3yvaqx5qcg1fb3nnyc273fkhgfh73pgv-free-4.12.4.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/3yvaqx5qcg1fb3nnyc273fkhgfh73pgv-free-4.12.4.drv’ failed + libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.transformers-base ]; + }); + + haskell-gi = overrideCabal super.haskell-gi (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## Setup: Encountered missing dependencies: + ## haskell-gi-base ==0.20.* + ## builder for ‘/nix/store/q0qkq2gzmdnkvdz6xl7svv5305chbr4b-haskell-gi-0.20.3.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/q0qkq2gzmdnkvdz6xl7svv5305chbr4b-haskell-gi-0.20.3.drv’ failed + src = pkgs.fetchFromGitHub { + owner = "haskell-gi"; + repo = "haskell-gi"; + rev = "30d2e6415c5b57760f8754cd3003eb07483d60e6"; + sha256 = "1l3qm97gcjih695hhj80rbpnd72prnc81lg5y373yj8jk9f6ypbr"; + }; + ## CABAL-MISSING-DEPS + ## Setup: Encountered missing dependencies: + ## ghc >=7.0 && <8.4 + ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed + doCheck = false; + }); + + haskell-gi-base = overrideCabal super.haskell-gi-base (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## breaks haskell-gi: + ## Setup: Encountered missing dependencies: + ## haskell-gi-base ==0.21.* + src = pkgs.fetchFromGitHub { + owner = "haskell-gi"; + repo = "haskell-gi"; + rev = "30d2e6415c5b57760f8754cd3003eb07483d60e6"; + sha256 = "1l3qm97gcjih695hhj80rbpnd72prnc81lg5y373yj8jk9f6ypbr"; + }; + ## Setup: Encountered missing dependencies: + ## attoparsec ==0.13.*, + ## doctest >=0.8, + ## haskell-gi-base ==0.21.*, + ## pretty-show -any, + ## regex-tdfa >=1.2, + prePatch = "cd base; "; + }); + + haskell-src-exts = overrideCabal super.haskell-src-exts (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## • Could not deduce (Semigroup (ParseResult m)) + ## arising from the superclasses of an instance declaration + ## from the context: Monoid m + src = pkgs.fetchFromGitHub { + owner = "haskell-suite"; + repo = "haskell-src-exts"; + rev = "935f6f0915e89c314b686bdbdc6980c72335ba3c"; + sha256 = "1v3c1bd5q07qncqfbikvs8h3r4dr500blm5xv3b4jqqv69f0iam9"; + }; + }); + + hedgehog = overrideCabal super.hedgehog (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: hedgehog: No such file or directory + src = pkgs.fetchFromGitHub { + owner = "hedgehogqa"; + repo = "haskell-hedgehog"; + rev = "7a4fab73670bc33838f2b5f25eb824ee550079ce"; + sha256 = "1l8maassmklf6wgairk7llxvlbwxngv0dzx0fwnqx6hsb32sms05"; + }; + ## jailbreak-cabal: dieVerbatim: user error (jailbreak-cabal: Error Parsing: file "hedgehog.cabal" doesn't exist. Cannot + prePatch = "cd hedgehog; "; + }); + + lambdacube-compiler = overrideCabal super.lambdacube-compiler (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## Setup: Encountered missing dependencies: + ## aeson >=0.9 && <0.12, + ## base >=4.7 && <4.10, + ## directory ==1.2.*, + ## megaparsec ==5.0.*, + ## vector ==0.11.* + src = pkgs.fetchFromGitHub { + owner = "lambdacube3d"; + repo = "lambdacube-compiler"; + rev = "ff6e3b136eede172f20ea8a0f7017ad1ecd029b8"; + sha256 = "0srzrq5s7pdbygn7vdipxl12a3gbyb6bpa7frbh8zwhb9fz0jx5m"; + }; + }); + + lambdacube-ir = overrideCabal super.lambdacube-ir (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: lambdacube-ir.haskell: No such file or directory + src = pkgs.fetchFromGitHub { + owner = "lambdacube3d"; + repo = "lambdacube-ir"; + rev = "b86318b510ef59606c5b7c882cad33af52ce257c"; + sha256 = "0j4r6b32lcm6jg653xzg9ijxkfjahlb4x026mv5dhs18kvgqhr8x"; + }; + ## Setup: No cabal file found. + prePatch = "cd lambdacube-ir.haskell; "; + }); + + lens = overrideCabal super.lens (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## • Could not deduce (Apply f) + ## arising from the superclasses of an instance declaration + ## from the context: (Contravariant f, Applicative f) + src = pkgs.fetchFromGitHub { + owner = "ekmett"; + repo = "lens"; + rev = "4ad49eaf2448d856f0433fe5a4232f1e8fa87eb0"; + sha256 = "0sd08v6syadplhk5d21yi7qffbjncn8z1bqlwz9nyyb0xja8s8wa"; + }; + ## CABAL-MISSING-DEPS + ## Setup: Encountered missing dependencies: + ## ghc >=7.0 && <8.4 + ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed + doCheck = false; + ## Setup: Encountered missing dependencies: + ## template-haskell >=2.4 && <2.13 + ## builder for ‘/nix/store/fvrc4s96ym33i74y794nap7xai9p69fa-lens-4.15.4.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/fvrc4s96ym33i74y794nap7xai9p69fa-lens-4.15.4.drv’ failed + jailbreak = true; + }); + + simple-reflect = overrideCabal super.simple-reflect (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## • No instance for (Semigroup Expr) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid Expr’ + src = pkgs.fetchFromGitHub { + owner = "twanvl"; + repo = "simple-reflect"; + rev = "c357e55da9a712dc5dbbfe6e36394e4ada2db310"; + sha256 = "15q41b00l8y51xzhbj5zhddyh3gi7gvml033w8mm2fih458jf6yq"; + }; + }); + + singletons = overrideCabal super.singletons (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## Setup: Encountered missing dependencies: + ## th-desugar ==1.7.* + ## builder for ‘/nix/store/g5jl22kpq8fnrg8ldphxndri759nxwzf-singletons-2.3.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/g5jl22kpq8fnrg8ldphxndri759nxwzf-singletons-2.3.1.drv’ failed + src = pkgs.fetchFromGitHub { + owner = "goldfirere"; + repo = "singletons"; + rev = "23aa4bdaf05ce025a2493b35ec3c26cc94e3fdce"; + sha256 = "0hw12v4z8jxmykc3j8z6g27swmfpxv40bgnx7nl0ialpwbz9mz27"; + }; + }); + + stringbuilder = overrideCabal super.stringbuilder (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## • No instance for (Semigroup Builder) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid Builder’ + src = pkgs.fetchFromGitHub { + owner = "sol"; + repo = "stringbuilder"; + rev = "4a1b689d3c8a462b28e0d21224b96165f622e6f7"; + sha256 = "0h3nva4mwxkdg7hh7b7a3v561wi1bvmj0pshhd3sl7dy3lpvnrah"; + }; + }); + + th-desugar = overrideCabal super.th-desugar (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## • Could not deduce (MonadIO (DsM q)) + ## arising from the 'deriving' clause of a data type declaration + ## from the context: Quasi q + src = pkgs.fetchFromGitHub { + owner = "goldfirere"; + repo = "th-desugar"; + rev = "4ca98c6492015e6ad063d3ad1a2ad6c4f0a56837"; + sha256 = "1n3myd3gia9qsgdvrwqa023d3g7wkrhyv0wc8czwzz0lj9xzh7lw"; + }; + }); + + unordered-containers = overrideCabal super.unordered-containers (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## Module ‘Data.Semigroup’ does not export ‘Monoid(..)’ + ## | + ## 80 | import Data.Semigroup (Semigroup(..), Monoid(..)) + src = pkgs.fetchFromGitHub { + owner = "tibbe"; + repo = "unordered-containers"; + rev = "0a6b84ec103e28b73458f385ef846a7e2d3ea42f"; + sha256 = "128q8k4py2wr1v0gmyvqvzikk6sksl9aqj0lxzf46763lis8x9my"; + }; + }); + + websockets = overrideCabal super.websockets (drv: { + ## Upstreamed, awaiting a Hackage release + ## + ## • No instance for (Semigroup SizeLimit) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid SizeLimit’ + src = pkgs.fetchFromGitHub { + owner = "jaspervdj"; + repo = "websockets"; + rev = "11ba6d15cf47bace1936b13a58192e37908b0300"; + sha256 = "1swphhnqvs5kh0wlqpjjgx9q91yxi6lasid8akdxp3gqll5ii2hf"; + }; + }); + + + ## Unmerged + + blaze-builder = overrideCabal super.blaze-builder (drv: { + ## Unmerged. PR: https://github.com/lpsmith/blaze-builder/pull/10 + ## + ## • No instance for (Semigroup Poke) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid Poke’ + src = pkgs.fetchFromGitHub { + owner = "bgamari"; + repo = "blaze-builder"; + rev = "b7195f160795a081adbb9013810d843f1ba5e062"; + sha256 = "1g351fdpsvn2lbqiy9bg2s0wwrdccb8q1zh7gvpsx5nnj24b1c00"; + }; + }); + + bytestring-trie = overrideCabal super.bytestring-trie (drv: { + ## Unmerged. PR: https://github.com/wrengr/bytestring-trie/pull/3 + ## + ## • Could not deduce (Semigroup (Trie a)) + ## arising from the superclasses of an instance declaration + ## from the context: Monoid a + src = pkgs.fetchFromGitHub { + owner = "RyanGlScott"; + repo = "bytestring-trie"; + rev = "e0ae0cb1ad40dedd560090d69cc36f9760797e29"; + sha256 = "1jkdchvrca7dgpij5k4h1dy4qr1rli3fzbsqajwxmx9865rgiksl"; + }; + ## Setup: Encountered missing dependencies: + ## HUnit >=1.3.1.1 && <1.7, + ## QuickCheck >=2.4.1 && <2.11, + ## lazysmallcheck ==0.6.*, + ## smallcheck >=1.1.1 && <1.2 + doCheck = false; + ## Setup: Encountered missing dependencies: + ## data-or ==1.0.* + ## builder for ‘/nix/store/iw3xsljnygsv9q2jglcv54mqd94fig7n-bytestring-trie-0.2.4.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/iw3xsljnygsv9q2jglcv54mqd94fig7n-bytestring-trie-0.2.4.1.drv’ failed + libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.data-or ]; + }); + + gtk2hs-buildtools = overrideCabal super.gtk2hs-buildtools (drv: { + ## Unmerged. PR: https://github.com/gtk2hs/gtk2hs/pull/233 + ## + ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: tools: No such file or directory + src = pkgs.fetchFromGitHub { + owner = "deepfire"; + repo = "gtk2hs"; + rev = "08c68d5afc22dd5761ec2c92ebf49c6d252e545b"; + sha256 = "06prn5wqq8x225n9wlbyk60f50jyjj8fm2hf181dyqjpf8wq75xa"; + }; + ## Setup: No cabal file found. + prePatch = "cd tools; "; + }); + + hashtables = overrideCabal super.hashtables (drv: { + ## Unmerged. PR: https://github.com/gregorycollins/hashtables/pull/46 + ## + ## • No instance for (Semigroup Slot) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid Slot’ + src = pkgs.fetchFromGitHub { + owner = "deepfire"; + repo = "hashtables"; + rev = "b9eb4b10a50bd6250330422afecc065339a32412"; + sha256 = "0l4nplpvnzzf397zyh7j2k6yiqb46k6bdy00m4zzvhlfp7p1xkaw"; + }; + }); + + language-c = overrideCabal super.language-c (drv: { + ## Unmerged. PR: https://github.com/visq/language-c/pull/45 + ## + ## Ambiguous occurrence ‘<>’ + ## It could refer to either ‘Prelude.<>’, + ## imported from ‘Prelude’ at src/Language/C/Pretty.hs:15:8-24 + src = pkgs.fetchFromGitHub { + owner = "deepfire"; + repo = "language-c"; + rev = "03b120c64c12946d134017f4922b55c6ab4f52f8"; + sha256 = "1mcv46fq37kkd20rhhdbn837han5knjdsgc7ckqp5r2r9m3vy89r"; + }; + ## /bin/sh: cabal: command not found + doCheck = false; + }); + + language-c_0_7_0 = overrideCabal super.language-c_0_7_0 (drv: { + ## Unmerged. PR: https://github.com/visq/language-c/pull/45 + ## + ## Ambiguous occurrence ‘<>’ + ## It could refer to either ‘Prelude.<>’, + ## imported from ‘Prelude’ at src/Language/C/Pretty.hs:15:8-24 + src = pkgs.fetchFromGitHub { + owner = "deepfire"; + repo = "language-c"; + rev = "03b120c64c12946d134017f4922b55c6ab4f52f8"; + sha256 = "1mcv46fq37kkd20rhhdbn837han5knjdsgc7ckqp5r2r9m3vy89r"; + }; + ## /bin/sh: cabal: command not found + doCheck = false; + }); + + monadplus = overrideCabal super.monadplus (drv: { + ## Unmerged. PR: https://github.com/hanshoglund/monadplus/pull/3 + ## + ## • No instance for (Semigroup (Partial a b)) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid (Partial a b)’ + src = pkgs.fetchFromGitHub { + owner = "asr"; + repo = "monadplus"; + rev = "aa09f2473e2c906f2707b8a3fdb0a087405fd6fb"; + sha256 = "0g37s3rih4i3vrn4kjwj12nq5lkpckmjw33xviva9gly2vg6p3xc"; + }; + }); + + reflex = overrideCabal super.reflex (drv: { + ## Unmerged. PR: https://github.com/reflex-frp/reflex/pull/158 + ## + ## • Could not deduce (Semigroup (Event t a)) + ## arising from the superclasses of an instance declaration + ## from the context: (Semigroup a, Reflex t) + src = pkgs.fetchFromGitHub { + owner = "deepfire"; + repo = "reflex"; + rev = "4fb50139db45a37493b91973eeaad9885b4c63ca"; + sha256 = "0i7pp6cw394m2vbwcqv9z5ngdarp01sabqr1jkkgchxdkkii94nx"; + }; + ## mergeIncrementalWithMove :: + ## GCompare k => + ## Incremental t (PatchDMapWithMove k (Event t)) + ## -> Event t (DMap k Identity) + ## currentIncremental :: + ## Patch p => Incremental t p -> Behavior t (PatchTarget p) + ## updatedIncremental :: Patch p => Incremental t p -> Event t p + ## incrementalToDynamic :: + ## Patch p => Incremental t p -> Dynamic t (PatchTarget p) + ## behaviorCoercion :: + ## Coercion a b -> Coercion (Behavior t a) (Behavior t b) + ## eventCoercion :: Coercion a b -> Coercion (Event t a) (Event t b) + ## dynamicCoercion :: + ## Coercion a b -> Coercion (Dynamic t a) (Dynamic t b) + ## mergeIntIncremental :: + ## Incremental t (PatchIntMap (Event t a)) -> Event t (IntMap a) + ## fanInt :: Event t (IntMap a) -> EventSelectorInt t a + ## {-# MINIMAL never, constant, push, pushCheap, pull, merge, fan, + ## switch, coincidence, current, updated, unsafeBuildDynamic, + ## unsafeBuildIncremental, mergeIncremental, mergeIncrementalWithMove, + ## currentIncremental, updatedIncremental, incrementalToDynamic, + ## behaviorCoercion, eventCoercion, dynamicCoercion, + ## mergeIntIncremental, fanInt #-} + ## Matches: + ## [] + ## Call stack: + ## CallStack (from HasCallStack): + ## callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable + ## pprPanic, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1013:16 in main:Haddock.Interface.Create + ## Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug + doHaddock = false; + ## Setup: Encountered missing dependencies: + ## base >=4.7 && <4.11, bifunctors >=5.2 && <5.5 + ## builder for ‘/nix/store/93ka24600m4mipsgn2cq8fwk124q97ca-reflex-0.4.0.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/93ka24600m4mipsgn2cq8fwk124q97ca-reflex-0.4.0.1.drv’ failed + jailbreak = true; + ## Setup: Encountered missing dependencies: + ## data-default -any, + ## lens -any, + ## monad-control -any, + ## prim-uniq -any, + ## reflection -any, + libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.data-default self.haskell-src-exts self.lens self.monad-control self.prim-uniq self.reflection self.split self.template-haskell self.unbounded-delays ]; + }); + + regex-tdfa = overrideCabal super.regex-tdfa (drv: { + ## Unmerged. PR: https://github.com/ChrisKuklewicz/regex-tdfa/pull/13 + ## + ## • No instance for (Semigroup (CharMap a)) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid (CharMap a)’ + src = pkgs.fetchFromGitHub { + owner = "bgamari"; + repo = "regex-tdfa"; + rev = "34f4593a520176a917b74b8c7fcbbfbd72fb8178"; + sha256 = "1aiklvf08w1hx2jn9n3sm61mfvdx4fkabszkjliapih2yjpmi3hq"; + }; + }); + + text-format = overrideCabal super.text-format (drv: { + ## Unmerged. PR: https://github.com/bos/text-format/pull/21 + ## + ## • No instance for (Semigroup Format) + ## arising from the superclasses of an instance declaration + ## • In the instance declaration for ‘Monoid Format’ + src = pkgs.fetchFromGitHub { + owner = "deepfire"; + repo = "text-format"; + rev = "a1cda87c222d422816f956c7272e752ea12dbe19"; + sha256 = "0lyrx4l57v15rvazrmw0nfka9iyxs4wyaasjj9y1525va9s1z4fr"; + }; + }); + + wl-pprint-text = overrideCabal super.wl-pprint-text (drv: { + ## Unmerged. PR: https://github.com/ivan-m/wl-pprint-text/pull/17 + ## + ## Ambiguous occurrence ‘<>’ + ## It could refer to either ‘PP.<>’, + ## imported from ‘Prelude.Compat’ at Text/PrettyPrint/Leijen/Text/Monadic.hs:73:1-36 + src = pkgs.fetchFromGitHub { + owner = "deepfire"; + repo = "wl-pprint-text"; + rev = "615b83d1e5be52d1448aa1ab2517b431a617027b"; + sha256 = "1p67v9s878br0r152h4n37smqhkg78v8zxhf4qm6d035s4rzj76i"; + }; + }); + + + ## Non-code, configuration-only change + + adjunctions = overrideCabal super.adjunctions (drv: { + ## Setup: Encountered missing dependencies: + ## free ==4.* + ## builder for ‘/nix/store/64pvqslahgby4jlg9rpz29n8w4njb670-adjunctions-4.3.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/64pvqslahgby4jlg9rpz29n8w4njb670-adjunctions-4.3.drv’ failed + jailbreak = true; + }); + + async = overrideCabal super.async (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.3 && <4.11 + ## builder for ‘/nix/store/2xf491hgsmckz2akrn765kvvy2k8crbd-async-2.1.1.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/2xf491hgsmckz2akrn765kvvy2k8crbd-async-2.1.1.1.drv’ failed + jailbreak = true; + }); + + bifunctors = overrideCabal super.bifunctors (drv: { + ## Setup: Encountered missing dependencies: + ## template-haskell >=2.4 && <2.13 + ## builder for ‘/nix/store/dy1hzdy14pz96cvx37yggbv6a88sgxq4-bifunctors-5.5.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/dy1hzdy14pz96cvx37yggbv6a88sgxq4-bifunctors-5.5.drv’ failed + jailbreak = true; + }); + + bindings-GLFW = overrideCabal super.bindings-GLFW (drv: { + ## Setup: Encountered missing dependencies: + ## template-haskell >=2.10 && <2.13 + ## builder for ‘/nix/store/ykc786r2bby5kkbpqjg0y10wb9jhmsa9-bindings-GLFW-3.1.2.3.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/ykc786r2bby5kkbpqjg0y10wb9jhmsa9-bindings-GLFW-3.1.2.3.drv’ failed + jailbreak = true; + }); + + bytes = overrideCabal super.bytes (drv: { + ## CABAL-MISSING-DEPS + ## Setup: Encountered missing dependencies: + ## ghc >=7.0 && <8.4 + ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed + doCheck = false; + }); + + cabal-doctest = overrideCabal super.cabal-doctest (drv: { + ## Setup: Encountered missing dependencies: + ## Cabal >=1.10 && <2.1, base >=4.3 && <4.11 + ## builder for ‘/nix/store/zy3l0ll0r9dq29lgxajv12rz1jzjdkrn-cabal-doctest-1.0.5.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/zy3l0ll0r9dq29lgxajv12rz1jzjdkrn-cabal-doctest-1.0.5.drv’ failed + jailbreak = true; + }); + + ChasingBottoms = overrideCabal super.ChasingBottoms (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.2 && <4.11 + ## builder for ‘/nix/store/wsyjjf4x6pmx84kxnjaka7zwakyrca03-ChasingBottoms-1.3.1.3.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/wsyjjf4x6pmx84kxnjaka7zwakyrca03-ChasingBottoms-1.3.1.3.drv’ failed + jailbreak = true; + }); + + comonad = overrideCabal super.comonad (drv: { + ## CABAL-MISSING-DEPS + ## Setup: Encountered missing dependencies: + ## ghc >=7.0 && <8.4 + ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed + doCheck = false; + }); + + distributive = overrideCabal super.distributive (drv: { + ## CABAL-MISSING-DEPS + ## Setup: Encountered missing dependencies: + ## ghc >=7.0 && <8.4 + ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed + doCheck = false; + }); + + exception-transformers = overrideCabal super.exception-transformers (drv: { + ## Setup: Encountered missing dependencies: + ## HUnit >=1.2 && <1.6 + ## builder for ‘/nix/store/qs4g7lzq1ixcgg5rw4xb5545g7r34md8-exception-transformers-0.4.0.5.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/qs4g7lzq1ixcgg5rw4xb5545g7r34md8-exception-transformers-0.4.0.5.drv’ failed + jailbreak = true; + }); + + hashable = overrideCabal super.hashable (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.4 && <4.11 + ## builder for ‘/nix/store/4qlxxypfhbwcv227cmsja1asgqnq37gf-hashable-1.2.6.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/4qlxxypfhbwcv227cmsja1asgqnq37gf-hashable-1.2.6.1.drv’ failed + jailbreak = true; + }); + + hashable-time = overrideCabal super.hashable-time (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.7 && <4.11 + ## builder for ‘/nix/store/38dllcgxpmkd2fgvs6wd7ji86py0wbnh-hashable-time-0.2.0.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/38dllcgxpmkd2fgvs6wd7ji86py0wbnh-hashable-time-0.2.0.1.drv’ failed + jailbreak = true; + }); + + haskell-src-meta = overrideCabal super.haskell-src-meta (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.6 && <4.11, template-haskell >=2.8 && <2.13 + ## builder for ‘/nix/store/g5wkb14sydvyv484agvaa7hxl84a0wr9-haskell-src-meta-0.8.0.2.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/g5wkb14sydvyv484agvaa7hxl84a0wr9-haskell-src-meta-0.8.0.2.drv’ failed + jailbreak = true; + }); + + hspec-meta = overrideCabal super.hspec-meta (drv: { + ## Linking dist/build/hspec-meta-discover/hspec-meta-discover ... + ## running tests + ## Package has no test suites. + ## haddockPhase + ## Running hscolour for hspec-meta-2.4.6... + ## Preprocessing library for hspec-meta-2.4.6.. + ## Preprocessing executable 'hspec-meta-discover' for hspec-meta-2.4.6.. + ## Preprocessing library for hspec-meta-2.4.6.. + ## Running Haddock on library for hspec-meta-2.4.6.. + ## Haddock coverage: + ## haddock: panic! (the 'impossible' happened) + ## (GHC version 8.4.20180122 for x86_64-unknown-linux): + ## extractDecl + ## Ambiguous decl for Arg in class: + ## class Example e where + ## type Arg e + ## type Arg e = () + ## evaluateExample :: + ## e + ## -> Params + ## -> (ActionWith (Arg e) -> IO ()) -> ProgressCallback -> IO Result + ## {-# MINIMAL evaluateExample #-} + ## Matches: + ## [] + ## Call stack: + ## CallStack (from HasCallStack): + ## callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable + ## pprPanic, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1013:16 in main:Haddock.Interface.Create + ## Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug + doHaddock = false; + }); + + integer-logarithms = overrideCabal super.integer-logarithms (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.3 && <4.11 + ## builder for ‘/nix/store/zdiicv0jmjsw6bprs8wxxaq5m0z0a75f-integer-logarithms-1.0.2.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/zdiicv0jmjsw6bprs8wxxaq5m0z0a75f-integer-logarithms-1.0.2.drv’ failed + jailbreak = true; + }); + + kan-extensions = overrideCabal super.kan-extensions (drv: { + ## Setup: Encountered missing dependencies: + ## free ==4.* + ## builder for ‘/nix/store/kvnlcj6zdqi2d2yq988l784hswjwkk4c-kan-extensions-5.0.2.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/kvnlcj6zdqi2d2yq988l784hswjwkk4c-kan-extensions-5.0.2.drv’ failed + jailbreak = true; + }); + + keys = overrideCabal super.keys (drv: { + ## Setup: Encountered missing dependencies: + ## free ==4.* + ## builder for ‘/nix/store/khkbn7wmjr10nyq0wwkmn888bj1l4fmh-keys-3.11.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/khkbn7wmjr10nyq0wwkmn888bj1l4fmh-keys-3.11.drv’ failed + jailbreak = true; + }); + + lambdacube-gl = overrideCabal super.lambdacube-gl (drv: { + ## Setup: Encountered missing dependencies: + ## vector ==0.11.* + ## builder for ‘/nix/store/a98830jm4yywfg1d6264p4yngbiyvssp-lambdacube-gl-0.5.2.4.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/a98830jm4yywfg1d6264p4yngbiyvssp-lambdacube-gl-0.5.2.4.drv’ failed + jailbreak = true; + }); + + lifted-async = overrideCabal super.lifted-async (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.5 && <4.11 + ## builder for ‘/nix/store/l3000vil24jyq66a5kfqvxfdmy7agwic-lifted-async-0.9.3.3.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/l3000vil24jyq66a5kfqvxfdmy7agwic-lifted-async-0.9.3.3.drv’ failed + jailbreak = true; + }); + + linear = overrideCabal super.linear (drv: { + ## CABAL-MISSING-DEPS + ## Setup: Encountered missing dependencies: + ## ghc >=7.0 && <8.4 + ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed + doCheck = false; + }); + + newtype-generics = overrideCabal super.newtype-generics (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.6 && <4.11 + ## builder for ‘/nix/store/l3rzsjbwys4rjrpv1703iv5zwbd4bwy6-newtype-generics-0.5.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/l3rzsjbwys4rjrpv1703iv5zwbd4bwy6-newtype-generics-0.5.1.drv’ failed + jailbreak = true; + }); + + parallel = overrideCabal super.parallel (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.3 && <4.11 + ## builder for ‘/nix/store/c16gcgn7d7gql8bbjqngx7wbw907hnwb-parallel-3.2.1.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/c16gcgn7d7gql8bbjqngx7wbw907hnwb-parallel-3.2.1.1.drv’ failed + jailbreak = true; + }); + + quickcheck-instances = overrideCabal super.quickcheck-instances (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.5 && <4.11 + ## builder for ‘/nix/store/r3fx9f7ksp41wfn6cp4id3mzgv04pwij-quickcheck-instances-0.3.16.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/r3fx9f7ksp41wfn6cp4id3mzgv04pwij-quickcheck-instances-0.3.16.1.drv’ failed + jailbreak = true; + }); + + tasty-ant-xml = overrideCabal super.tasty-ant-xml (drv: { + ## Setup: Encountered missing dependencies: + ## tasty >=0.10 && <1.0 + ## builder for ‘/nix/store/86dlb96cdw9jpq95xbndf4axj1z542d6-tasty-ant-xml-1.1.2.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/86dlb96cdw9jpq95xbndf4axj1z542d6-tasty-ant-xml-1.1.2.drv’ failed + jailbreak = true; + }); + + tasty-expected-failure = overrideCabal super.tasty-expected-failure (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.5 && <4.11 + ## builder for ‘/nix/store/gdm01qb8ppxgrl6dgzhlj8fzmk4x8dj3-tasty-expected-failure-0.11.0.4.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/gdm01qb8ppxgrl6dgzhlj8fzmk4x8dj3-tasty-expected-failure-0.11.0.4.drv’ failed + jailbreak = true; + }); + + tasty-hedgehog = overrideCabal super.tasty-hedgehog (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.8 && <4.11, tasty ==0.11.* + ## builder for ‘/nix/store/bpxyzzbmb03n88l4xz4k2rllj4227fwv-tasty-hedgehog-0.1.0.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/bpxyzzbmb03n88l4xz4k2rllj4227fwv-tasty-hedgehog-0.1.0.1.drv’ failed + jailbreak = true; + }); + + text-lens = overrideCabal super.text-lens (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.9.0.0 && <4.10, + ## extra >=1.4.10 && <1.5, + ## hspec >=2.2.4 && <2.3, + ## lens ==4.14.* + jailbreak = true; + }); + + th-abstraction = overrideCabal super.th-abstraction (drv: { + ## Setup: Encountered missing dependencies: + ## template-haskell >=2.5 && <2.13 + ## builder for ‘/nix/store/la3zdphp3nqzl590n25zyrgj62ga8cl6-th-abstraction-0.2.6.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/la3zdphp3nqzl590n25zyrgj62ga8cl6-th-abstraction-0.2.6.0.drv’ failed + jailbreak = true; + }); + + these = overrideCabal super.these (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.5 && <4.11 + ## builder for ‘/nix/store/1wwqq67pinjj95fgqg13bchh0kbyrb83-these-0.7.4.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/1wwqq67pinjj95fgqg13bchh0kbyrb83-these-0.7.4.drv’ failed + jailbreak = true; + }); + + trifecta = overrideCabal super.trifecta (drv: { + ## CABAL-MISSING-DEPS + ## Setup: Encountered missing dependencies: + ## ghc >=7.0 && <8.4 + ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed + doCheck = false; + }); + + unliftio-core = overrideCabal super.unliftio-core (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.5 && <4.11 + ## builder for ‘/nix/store/bn8w06wlq7zzli0858hfwlai7wbj6dmq-unliftio-core-0.1.1.0.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/bn8w06wlq7zzli0858hfwlai7wbj6dmq-unliftio-core-0.1.1.0.drv’ failed + jailbreak = true; + }); + + vector-algorithms = overrideCabal super.vector-algorithms (drv: { + ## • Ambiguous type variable ‘mv0’ + doCheck = false; + }); + + wavefront = overrideCabal super.wavefront (drv: { + ## Setup: Encountered missing dependencies: + ## base >=4.8 && <4.11 + ## builder for ‘/nix/store/iy6ccxh4dvp6plalx4ww81qrnhxm7jgr-wavefront-0.7.1.1.drv’ failed with exit code 1 + ## error: build of ‘/nix/store/iy6ccxh4dvp6plalx4ww81qrnhxm7jgr-wavefront-0.7.1.1.drv’ failed + jailbreak = true; + }); } diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix index b3c6d9f26d47..2144a7f78935 100644 --- a/pkgs/development/libraries/science/biology/htslib/default.nix +++ b/pkgs/development/libraries/science/biology/htslib/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "htslib"; - version = "1.6"; + version = "1.7"; src = fetchurl { url = "https://github.com/samtools/htslib/releases/download/${version}/${name}.tar.bz2"; - sha256 = "1jsca3hg4rbr6iqq6imkj4lsvgl8g9768bcmny3hlff2w25vx24m"; + sha256 = "be3d4e25c256acdd41bebb8a7ad55e89bb18e2fc7fc336124b1e2c82ae8886c6"; }; # perl is only used during the check phase. diff --git a/pkgs/development/python-modules/dateparser/default.nix b/pkgs/development/python-modules/dateparser/default.nix index b73a1e9ec7fc..21deadf146dc 100644 --- a/pkgs/development/python-modules/dateparser/default.nix +++ b/pkgs/development/python-modules/dateparser/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, buildPythonPackage, isPy3k , nose -, nose-parameterized +, parameterized , mock , glibcLocales , six @@ -23,10 +23,16 @@ buildPythonPackage rec { sha256 = "0q2vyzvlj46r6pr0s6m1a0md1cpg9nv1n3xw286l4x2cc7fj2g3y"; }; + # Replace nose-parameterized by parameterized + prePatch = '' + sed -i s/nose_parameterized/parameterized/g tests/*.py + sed -i s/nose-parameterized/parameterized/g tests/requirements.txt + ''; + # Upstream Issue: https://github.com/scrapinghub/dateparser/issues/364 disabled = isPy3k; - checkInputs = [ nose nose-parameterized mock glibcLocales ]; + checkInputs = [ nose parameterized mock glibcLocales ]; preCheck ='' # skip because of missing convertdate module, which is an extra requirement rm tests/test_jalali.py diff --git a/pkgs/development/python-modules/nose-parameterized/default.nix b/pkgs/development/python-modules/nose-parameterized/default.nix deleted file mode 100644 index 77b540fdef06..000000000000 --- a/pkgs/development/python-modules/nose-parameterized/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ fetchPypi, parameterized }: - -parameterized.overrideAttrs (o: rec { - pname = "nose-parameterized"; - version = "0.6.0"; - - src = fetchPypi { - inherit pname version; - sha256 = "1khlabgib4161vn6alxsjaa8javriywgx9vydddi659gp9x6fpnk"; - }; -}) diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix index 2bfec89aa660..6afec72de5fd 100644 --- a/pkgs/development/tools/build-managers/bear/default.nix +++ b/pkgs/development/tools/build-managers/bear/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "bear-${version}"; - version = "2.2.1"; + version = "2.3.11"; src = fetchFromGitHub { owner = "rizsotto"; repo = "Bear"; rev = version; - sha256 = "1rwar5nvvhfqws4nwyifaysqs3nxpphp48lx9mdg5n6l4z7drz0n"; + sha256 = "0r6ykvclq9ws055ssd8w33dicmk5l9pisv0fpzkks700n8d3z9f3"; }; nativeBuildInputs = [ cmake ]; @@ -31,4 +31,3 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.vcunat ]; }; } - diff --git a/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch b/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch index 16d7a9bfd3e4..f70e3811f654 100644 --- a/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch +++ b/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch @@ -1,31 +1,23 @@ ---- Bear-2.2.1-src/bear/main.py.in 1970-01-01 01:00:01.000000000 +0100 -+++ Bear-2.2.1-src-patch/bear/main.py.in 2016-11-02 20:23:38.050134984 +0100 -@@ -48,6 +48,7 @@ +--- Bear-2.3.11-src/bear/main.py.in 1970-01-01 01:00:01.000000000 +0100 ++++ Bear-2.3.11-src-patch/bear/main.py.in 1970-01-01 01:00:01.000000000 +0100 +@@ -49,6 +49,7 @@ import shutil import contextlib import logging +from distutils.spawn import find_executable - # Ignored compiler options map for compilation database creation. - # The map is used in `split_command` method. (Which does ignore and classify -@@ -447,7 +448,6 @@ - # do extra check on number of source files - return result if result.files else None + # Map of ignored compiler option for the creation of a compilation database. + # This map is used in _split_command method, which classifies the parameters +@@ -540,7 +541,11 @@ + any(pattern.match(cmd) for pattern in COMPILER_PATTERNS_CXX) -- - def split_compiler(command): - """ A predicate to decide the command is a compiler call or not. - -@@ -467,7 +467,11 @@ - for pattern in COMPILER_CPP_PATTERNS) - - if command: # not empty list will allow to index '0' and '1:' -- executable = os.path.basename(command[0]) -+ absolute_executable = os.path.realpath(find_executable(command[0])) -+ if 'wrapper' in absolute_executable: -+ return None + if command: # not empty list will allow to index '0' and '1:' +- executable = os.path.basename(command[0]) # type: str ++ absolute_executable = os.path.realpath(find_executable(command[0])) ++ if 'wrapper' in absolute_executable: ++ return None + -+ executable = os.path.basename(absolute_executable) - parameters = command[1:] - # 'wrapper' 'parameters' and - # 'wrapper' 'compiler' 'parameters' are valid. ++ executable = os.path.basename(absolute_executable) # type: str + parameters = command[1:] # type: List[str] + # 'wrapper' 'parameters' and + # 'wrapper' 'compiler' 'parameters' are valid. \ No newline at end of file diff --git a/pkgs/development/tools/misc/autoconf-archive/default.nix b/pkgs/development/tools/misc/autoconf-archive/default.nix index 1b19a1caff67..0225a3f81416 100644 --- a/pkgs/development/tools/misc/autoconf-archive/default.nix +++ b/pkgs/development/tools/misc/autoconf-archive/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "autoconf-archive-${version}"; - version = "2017.03.21"; + version = "2017.09.28"; src = fetchurl { url = "mirror://gnu/autoconf-archive/autoconf-archive-${version}.tar.xz"; - sha256 = "0rfpapadka2023qhy8294ca5awxpb8d4904js6kv7piby5ax8siq"; + sha256 = "00gsh9hkrgg291my98plkrwlcpxkfrpq64pglf18kciqbf2bb7sw"; }; buildInputs = [ xz ]; diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 5a5081e5efb1..ebd889d1a99e 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -55,7 +55,7 @@ let config = import ./common-config.nix { inherit stdenv version ; # append extraConfig for backwards compatibility but also means the user can't override the kernelExtraConfig part - extraConfig = extraConfig + lib.optionalString (hostPlatform ? kernelExtraConfig ) hostPlatform.kernelExtraConfig; + extraConfig = extraConfig + lib.optionalString (hostPlatform.platform ? kernelExtraConfig) hostPlatform.platform.kernelExtraConfig; features = kernelFeatures; # Ensure we know of all extra patches, etc. }; diff --git a/pkgs/servers/http/lwan/default.nix b/pkgs/servers/http/lwan/default.nix new file mode 100644 index 000000000000..878211ebf024 --- /dev/null +++ b/pkgs/servers/http/lwan/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, pkgconfig, zlib, cmake, jemalloc }: + +stdenv.mkDerivation rec { + pname = "lwan"; + version = "0.1"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "lpereira"; + repo = pname; + rev = "v${version}"; + sha256 = "1mckryzb06smky0bx2bkqwqzpnq4pb8vlgmmwsvqmwi4mmw9wmi1"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ jemalloc zlib ]; + + meta = with stdenv.lib; { + description = "Lightweight high-performance multi-threaded web server"; + longDescription = "A lightweight and speedy web server with a low memory + footprint (~500KiB for 10k idle connections), with minimal system calls and + memory allocation. Lwan contains a hand-crafted HTTP request parser. Files are + served using the most efficient way according to their size: no copies between + kernel and userland for files larger than 16KiB. Smaller files are sent using + vectored I/O of memory-mapped buffers. Header overhead is considered before + compressing small files. Features include: mustache templating engine and IPv6 + support. + "; + homepage = "https://lwan.ws/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/pkgs/servers/nosql/cassandra/2.1.nix b/pkgs/servers/nosql/cassandra/2.1.nix index 3514ae84350d..fd3b2d3aa286 100644 --- a/pkgs/servers/nosql/cassandra/2.1.nix +++ b/pkgs/servers/nosql/cassandra/2.1.nix @@ -1,6 +1,6 @@ { callPackage, ... } @ args: callPackage ./generic.nix (args // { - version = "2.1.15"; - sha256 = "1yc6r4gmxz9c4zghzn6bz5wswz7dz61w7p4x9s5gqnixfp2mlapp"; + version = "2.1.19"; + sha256 = "1qlc62j3hf5831yrrbydn3z19zrn6bpirarinys6bmhshr7mhpyr"; }) diff --git a/pkgs/servers/nosql/cassandra/2.2.nix b/pkgs/servers/nosql/cassandra/2.2.nix index b467fcfdff5b..3d276128c00d 100644 --- a/pkgs/servers/nosql/cassandra/2.2.nix +++ b/pkgs/servers/nosql/cassandra/2.2.nix @@ -1,6 +1,6 @@ { callPackage, ... } @ args: callPackage ./generic.nix (args // { - version = "2.2.9"; - sha256 = "1wc2l8l7i43r0yc6qqi3wj4pm0969kjkh2pgx80wglzxm7275hv5"; + version = "2.2.11"; + sha256 = "0r39mm5ibdn9dqv11n4x33vcb5247r6fl6r07l6frqp6i36ilvl6"; }) diff --git a/pkgs/servers/nosql/cassandra/3.0.nix b/pkgs/servers/nosql/cassandra/3.0.nix index 04348568bafc..b6621ec95485 100644 --- a/pkgs/servers/nosql/cassandra/3.0.nix +++ b/pkgs/servers/nosql/cassandra/3.0.nix @@ -1,6 +1,6 @@ { callPackage, ... } @ args: callPackage ./generic.nix (args // { - version = "3.0.9"; - sha256 = "16jdh20cr4h47ldjqlnp2cdnb9zshqvnll6995s2a75d8m030c0g"; + version = "3.0.15"; + sha256 = "1n92wpp5gm41r4agjwjw9ymnnn114pmaqf04c1dx3fksk100wd5g"; }) diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix deleted file mode 100644 index 232fb135bd80..000000000000 --- a/pkgs/servers/openafs-client/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ stdenv, fetchurl, fetchgit, which, autoconf, automake, flex, yacc, - kernel, glibc, ncurses, perl, kerberos, fetchpatch }: - -stdenv.mkDerivation rec { - name = "openafs-${version}-${kernel.version}"; - version = "1.6.22.1"; - - src = fetchurl { - url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2"; - sha256 = "19nfbksw7b34jc3mxjk7cbz26zg9k5myhzpv2jf0fnmznr47jqaw"; - }; - - nativeBuildInputs = [ autoconf automake flex yacc perl which ] ++ kernel.moduleBuildDependencies; - - buildInputs = [ ncurses ]; - - hardeningDisable = [ "pic" ]; - - preConfigure = '' - ln -s "${kernel.dev}/lib/modules/"*/build $TMP/linux - - patchShebangs . - for i in `grep -l -R '/usr/\(include\|src\)' .`; do - echo "Patch /usr/include and /usr/src in $i" - substituteInPlace $i \ - --replace "/usr/include" "${glibc.dev}/include" \ - --replace "/usr/src" "$TMP" - done - - ./regen.sh - - ${stdenv.lib.optionalString (kerberos != null) - "export KRB5_CONFIG=${kerberos.dev}/bin/krb5-config"} - - configureFlagsArray=( - "--with-linux-kernel-build=$TMP/linux" - ${stdenv.lib.optionalString (kerberos != null) "--with-krb5"} - "--sysconfdir=/etc/static" - "--disable-linux-d_splice-alias-extra-iput" - ) - ''; - - meta = with stdenv.lib; { - description = "Open AFS client"; - homepage = https://www.openafs.org; - license = licenses.ipl10; - platforms = platforms.linux; - maintainers = [ maintainers.z77z ]; - broken = versionOlder kernel.version "3.18"; - }; -} diff --git a/pkgs/servers/openafs/default.nix b/pkgs/servers/openafs/default.nix new file mode 100644 index 000000000000..3f92299c2a0a --- /dev/null +++ b/pkgs/servers/openafs/default.nix @@ -0,0 +1,89 @@ +{ stdenv, fetchurl, fetchgit, which, autoconf, automake, flex, yacc +, glibc, perl, kerberos, libxslt, docbook_xsl, docbook_xml_dtd_43 +, ncurses # Extra ncurses utilities. Only needed for debugging. +, tsmbac ? null # Tivoli Storage Manager Backup Client from IBM +}: + +with (import ./srcs.nix { inherit fetchurl; }); + +stdenv.mkDerivation rec { + name = "openafs-${version}"; + inherit version srcs; + + nativeBuildInputs = [ autoconf automake flex yacc perl which libxslt ]; + + buildInputs = [ ncurses ]; + + patches = stdenv.lib.optional (tsmbac != null) ./tsmbac.patch; + + outputs = [ "out" "dev" "man" "doc" ]; + + preConfigure = '' + + patchShebangs . + for i in `grep -l -R '/usr/\(include\|src\)' .`; do + echo "Patch /usr/include and /usr/src in $i" + substituteInPlace $i \ + --replace "/usr/include" "${glibc.dev}/include" \ + --replace "/usr/src" "$TMP" + done + + for i in ./doc/xml/{AdminGuide,QuickStartUnix,UserGuide}/*.xml; do + substituteInPlace "''${i}" --replace "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \ + "${docbook_xml_dtd_43}/xml/dtd/docbook/docbookx.dtd" + done + + ./regen.sh + + ${stdenv.lib.optionalString (kerberos != null) + "export KRB5_CONFIG=${kerberos.dev}/bin/krb5-config"} + + export AFS_SYSKVERS=26 + + configureFlagsArray=( + ${stdenv.lib.optionalString (kerberos != null) "--with-krb5"} + "--sysconfdir=/etc" + "--localstatedir=/var" + "--disable-kernel-module" + "--disable-fuse-client" + "--with-html-xsl=${docbook_xsl}/share/xml/docbook-xsl/html/chunk.xsl" + ${stdenv.lib.optionalString (tsmbac != null) "--enable-tivoli-tsm"} + ${stdenv.lib.optionalString (ncurses == null) "--disable-gtx"} + "--disable-linux-d_splice-alias-extra-iput" + ) + '' + stdenv.lib.optionalString (tsmbac != null) '' + export XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I${tsmbac}/lib64/sample -DXBSA_TSMLIB=\\\"${tsmbac}/lib64/libApiTSM64.so\\\"" + export XBSA_XLIBS="-ldl" + ''; + + buildFlags = [ "all_nolibafs" ]; + + postBuild = '' + for d in doc/xml/{AdminGuide,QuickStartUnix,UserGuide}; do + make -C "''${d}" html + done + ''; + + postInstall = '' + mkdir -p $doc/share/doc/openafs/{AdminGuide,QuickStartUnix,UserGuide} + cp -r doc/{arch,examples,pdf,protocol,txt} README NEWS $doc/share/doc/openafs + for d in AdminGuide QuickStartUnix UserGuide ; do + cp "doc/xml/''${d}"/*.html "$doc/share/doc/openafs/''${d}" + done + + rm -r $out/lib/{openafs,afs,*.a} + rm $out/bin/kpasswd + rm $out/sbin/{kas,kdb,ka-forwarder,kadb_check} + rm $out/libexec/openafs/kaserver + rm $man/share/man/man{1/kpasswd*,5/kaserver*,8/{ka*,kdb*}} + ''; + + meta = with stdenv.lib; { + outputsToInstall = [ "out" "doc" "man" ]; + description = "Open AFS client"; + homepage = https://www.openafs.org; + license = licenses.ipl10; + platforms = platforms.linux; + maintainers = [ maintainers.z77z maintainers.spacefrogg ]; + }; +} diff --git a/pkgs/servers/openafs/module.nix b/pkgs/servers/openafs/module.nix new file mode 100644 index 000000000000..8cd9287a7772 --- /dev/null +++ b/pkgs/servers/openafs/module.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchurl, which, autoconf, automake, flex, yacc +, kernel, glibc, perl }: + +with (import ./srcs.nix { inherit fetchurl; }); + +let + modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs"; + kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; + +in stdenv.mkDerivation rec { + name = "openafs-${version}-${kernel.version}"; + inherit version src; + + nativeBuildInputs = [ autoconf automake flex perl yacc which ] ++ kernel.moduleBuildDependencies; + + hardeningDisable = [ "pic" ]; + + configureFlags = [ + "--with-linux-kernel-build=${kernelBuildDir}" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--disable-linux-d_splice-alias-extra-iput" + ]; + + preConfigure = '' + patchShebangs . + for i in `grep -l -R '/usr/\(include\|src\)' .`; do + echo "Patch /usr/include and /usr/src in $i" + substituteInPlace $i \ + --replace "/usr/include" "${glibc.dev}/include" \ + --replace "/usr/src" "${kernelBuildDir}" + done + + ./regen.sh -q + + ''; + + buildPhase = '' + make V=1 only_libafs + ''; + + installPhase = '' + mkdir -p ${modDestDir} + cp src/libafs/MODLOAD-*/libafs-${kernel.version}.* ${modDestDir}/libafs.ko + xz -f ${modDestDir}/libafs.ko + ''; + + meta = with stdenv.lib; { + description = "Open AFS client kernel module"; + homepage = https://www.openafs.org; + license = licenses.ipl10; + platforms = platforms.linux; + maintainers = [ maintainers.z77z maintainers.spacefrogg ]; + broken = versionOlder kernel.version "3.18"; + }; + +} diff --git a/pkgs/servers/openafs/srcs.nix b/pkgs/servers/openafs/srcs.nix new file mode 100644 index 000000000000..9e9ff623e5cd --- /dev/null +++ b/pkgs/servers/openafs/srcs.nix @@ -0,0 +1,14 @@ +{ fetchurl }: +rec { + version = "1.6.22.2"; + src = fetchurl { + url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2"; + sha256 = "15j17igignsfzv5jb47ryczsrz3zsmiqwnj38dx9gzz95807rkyf"; + }; + + srcs = [ src + (fetchurl { + url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2"; + sha256 = "1lpydca95nx5pmqvplb9n3akmxbzvhhypswh0s589ywxpv3zynxm"; + })]; +} diff --git a/pkgs/servers/openafs/tsmbac.patch b/pkgs/servers/openafs/tsmbac.patch new file mode 100644 index 000000000000..412765fe8a5b --- /dev/null +++ b/pkgs/servers/openafs/tsmbac.patch @@ -0,0 +1,62 @@ +diff -ru3 openafs-1.6.18.1/acinclude.m4 openafs-1.6.18.1.new/acinclude.m4 +--- openafs-1.6.18.1/acinclude.m4 2016-06-21 17:13:39.000000000 +0200 ++++ openafs-1.6.18.1.new/acinclude.m4 2016-11-02 18:44:30.423039662 +0100 +@@ -1373,45 +1373,7 @@ + + dnl check for tivoli + AC_MSG_CHECKING(for tivoli tsm butc support) +-XBSA_CFLAGS="" +-if test "$enable_tivoli_tsm" = "yes"; then +- XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen +- XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen +- XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample +- XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample +- XBSADIR5=/usr/tivoli/tsm/client/api/bin64/sample +- XBSADIR6=/opt/tivoli/tsm/client/api/bin64/sample +- +- if test -r "$XBSADIR3/dsmapifp.h"; then +- XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3" +- XBSA_XLIBS="-ldl" +- AC_MSG_RESULT([yes, $XBSA_CFLAGS]) +- elif test -r "$XBSADIR4/dsmapifp.h"; then +- XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4" +- XBSA_XLIBS="-ldl" +- AC_MSG_RESULT([yes, $XBSA_CFLAGS]) +- elif test -r "$XBSADIR5/dsmapifp.h"; then +- XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR5" +- XBSA_XLIBS="-ldl" +- AC_MSG_RESULT([yes, $XBSA_CFLAGS]) +- elif test -r "$XBSADIR6/dsmapifp.h"; then +- XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR6" +- XBSA_XLIBS="-ldl" +- AC_MSG_RESULT([yes, $XBSA_CFLAGS]) +- elif test -r "$XBSADIR1/xbsa.h"; then +- XBSA_CFLAGS="-Dxbsa -I$XBSADIR1" +- XBSA_XLIBS="" +- AC_MSG_RESULT([yes, $XBSA_CFLAGS]) +- elif test -r "$XBSADIR2/xbsa.h"; then +- XBSA_CFLAGS="-Dxbsa -I$XBSADIR2" +- XBSA_XLIBS="" +- AC_MSG_RESULT([yes, $XBSA_CFLAGS]) +- else +- AC_MSG_RESULT([no, missing xbsa.h and dsmapifp.h header files]) +- fi +-else +- AC_MSG_RESULT([no]) +-fi ++AC_MSG_RESULT([yes]) + AC_SUBST(XBSA_CFLAGS) + AC_SUBST(XBSA_XLIBS) + +diff -ru3 openafs-1.6.18.1/src/butc/afsxbsa.c openafs-1.6.18.1.new/src/butc/afsxbsa.c +--- openafs-1.6.18.1/src/butc/afsxbsa.c 2016-06-21 17:13:39.000000000 +0200 ++++ openafs-1.6.18.1.new/src/butc/afsxbsa.c 2016-11-02 18:45:10.734662987 +0100 +@@ -651,7 +651,7 @@ + #if defined(AFS_AIX_ENV) + dynlib = dlopen("/usr/lib/libApiDS.a(dsmapish.o)", RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER); + #elif defined (AFS_AMD64_LINUX26_ENV) +- dynlib = dlopen("/usr/lib64/libApiTSM64.so", RTLD_NOW | RTLD_LOCAL); ++ dynlib = dlopen(XBSA_TSMLIB, RTLD_NOW | RTLD_LOCAL); + #elif defined(AFS_SUN5_ENV) || defined(AFS_LINUX26_ENV) + dynlib = dlopen("/usr/lib/libApiDS.so", RTLD_NOW | RTLD_LOCAL); + #else diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix index d4a0145e9b99..040a2ece303f 100644 --- a/pkgs/servers/unifi/default.nix +++ b/pkgs/servers/unifi/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "unifi-controller-${version}"; - version = "5.6.29"; + version = "5.6.30"; src = fetchurl { url = "https://dl.ubnt.com/unifi/${version}/unifi_sysvinit_all.deb"; - sha256 = "05na94mrd1dy95vnwd1ycqx4i38wf0lg67sjg263ilq5l1prdmz8"; + sha256 = "083bh29i7dpn0ajc6h584vhkybiavnln3xndpb670chfrbywxyj4"; }; buildInputs = [ dpkg ]; diff --git a/pkgs/tools/filesystems/archivemount/default.nix b/pkgs/tools/filesystems/archivemount/default.nix index f4133f12541f..72403bd3dc0c 100644 --- a/pkgs/tools/filesystems/archivemount/default.nix +++ b/pkgs/tools/filesystems/archivemount/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, fuse, libarchive }: let - name = "archivemount-0.8.3"; + name = "archivemount-0.8.7"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "http://www.cybernoia.de/software/archivemount/${name}.tar.gz"; - sha256 = "1zv1fvik76kpp1q5f2dz01f4fwg1m5a8rl168px47jy9nyl9k277"; + sha256 = "1diiw6pnlnrnikn6l5ld92dx59lhrxjlqms8885vwbynsjl5q127"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/tools/filesystems/cryfs/default.nix b/pkgs/tools/filesystems/cryfs/default.nix index 7bbfafef819d..dfd522f5a094 100644 --- a/pkgs/tools/filesystems/cryfs/default.nix +++ b/pkgs/tools/filesystems/cryfs/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "cryfs-${version}"; - version = "0.9.8"; + version = "0.9.9"; src = fetchFromGitHub { owner = "cryfs"; repo = "cryfs"; rev = "${version}"; - sha256 = "1lrzmzjakv08qjq09a3krllfw5vrgblfxzijpf3lm3yjgih63r1k"; + sha256 = "07f2k2b595m3vkwwlmlc0m7px0nwrrzrph3z6sss9354m0b0lcri"; }; prePatch = '' diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix index 405eb29f6bf9..b744e70a4e2f 100644 --- a/pkgs/tools/misc/autorandr/default.nix +++ b/pkgs/tools/misc/autorandr/default.nix @@ -8,7 +8,7 @@ let python = python3Packages.python; wrapPython = python3Packages.wrapPython; - version = "1.1"; + version = "1.4"; in stdenv.mkDerivation { name = "autorandr-${version}"; @@ -49,7 +49,7 @@ in owner = "phillipberndt"; repo = "autorandr"; rev = "${version}"; - sha256 = "05jlzxlrdyd4j90srr71fv91c2hf32diw40n9rmybgcdvy45kygd"; + sha256 = "08i71r221ilc8k1c59w89g3iq5m7zwhnjjzapavhqxlr8y9dcpf5"; }; meta = { diff --git a/pkgs/tools/misc/bcunit/default.nix b/pkgs/tools/misc/bcunit/default.nix index b1ca28a7ca9d..1c681d4986d7 100644 --- a/pkgs/tools/misc/bcunit/default.nix +++ b/pkgs/tools/misc/bcunit/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "${baseName}-${version}"; baseName = "bcunit"; - version = "3.0"; + version = "3.0.2"; buildInputs = [cmake]; src = fetchFromGitHub { owner = "BelledonneCommunications"; repo = "${baseName}"; rev = "${version}"; - sha256 = "1kdq9w8i3nypfz7d43rmv1csqrqpip9p8xfa7vyp52aqkmhrby9l"; + sha256 = "063yl7kxkix76r49qrj0h1qpz2p538d1yw8aih0x4i47g35k00y7"; }; meta = { diff --git a/pkgs/tools/misc/ddccontrol/default.nix b/pkgs/tools/misc/ddccontrol/default.nix index 45995f02c689..b03a286d2022 100644 --- a/pkgs/tools/misc/ddccontrol/default.nix +++ b/pkgs/tools/misc/ddccontrol/default.nix @@ -1,9 +1,10 @@ { stdenv, fetchurl, autoreconfHook, intltool, perl, perlPackages, libxml2 , pciutils, pkgconfig, gtk2, ddccontrol-db +, makeDesktopItem }: let version = "0.4.2"; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "ddccontrol-${version}"; src = fetchurl { @@ -32,6 +33,24 @@ stdenv.mkDerivation { sed -e "s/chmod 4711/chmod 0711/" -i src/ddcpci/Makefile* ''; + postInstall = '' + mkdir -p $out/share/applications/ + cp $desktopItem/share/applications/* $out/share/applications/ + for entry in $out/share/applications/*.desktop; do + substituteAllInPlace $entry + done + ''; + + desktopItem = makeDesktopItem { + name = "gddccontrol"; + desktopName = "gddccontrol"; + genericName = "DDC/CI control"; + comment = meta.description; + exec = "@out@/bin/gddccontrol"; + icon = "gddccontrol"; + categories = "Settings;HardwareSettings;"; + }; + meta = with stdenv.lib; { description = "A program used to control monitor parameters by software"; homepage = http://ddccontrol.sourceforge.net/; diff --git a/pkgs/tools/security/kbfs/default.nix b/pkgs/tools/security/kbfs/default.nix index ba024328ba5f..dbd372275bc3 100644 --- a/pkgs/tools/security/kbfs/default.nix +++ b/pkgs/tools/security/kbfs/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "kbfs-${version}"; - version = "20171004.40555d"; + version = "1.0.40"; goPackagePath = "github.com/keybase/kbfs"; subPackages = [ "kbfsfuse" "kbfsgit/git-remote-keybase" ]; @@ -12,8 +12,8 @@ buildGoPackage rec { src = fetchFromGitHub { owner = "keybase"; repo = "kbfs"; - rev = "40555dbc9c93a05f3a82053860df30e45c7bd779"; - sha256 = "08wj8fh1ja8kfzvbza5csy9mpfy39lifnzvfrnbj7vyyv88qc3h0"; + rev = "v${version}"; + sha256 = "1bgbzk3ykjb6y5sa5i9f6hwcp8b21dndq7iw9m8fdxh4n4mm6n9p"; }; buildFlags = [ "-tags production" ]; diff --git a/pkgs/tools/security/keybase-gui/default.nix b/pkgs/tools/security/keybase-gui/default.nix index ce98740e89bd..b0db3eea5b9e 100644 --- a/pkgs/tools/security/keybase-gui/default.nix +++ b/pkgs/tools/security/keybase-gui/default.nix @@ -37,10 +37,10 @@ let in stdenv.mkDerivation rec { name = "keybase-gui-${version}"; - version = "1.0.33-20171003193427.d9ceb86ac"; + version = "1.0.40-20180127033950.76a4b90c9"; src = fetchurl { url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version}_amd64.deb"; - sha256 = "0sqani2fy5jzqmz35md1bdw2vwpx91l87b6s3x9z53halzq7vfy6"; + sha256 = "1pskmwif5nx32d53kz8vbijv61i50kpjwyy53a37rz5nx3hgj3ar"; }; phases = ["unpackPhase" "installPhase" "fixupPhase"]; unpackPhase = '' @@ -48,7 +48,8 @@ stdenv.mkDerivation rec { tar xf data.tar.xz ''; installPhase = '' - mkdir -p $out/{bin,share} + mkdir -p $out/bin + mv usr/share $out/share mv opt/keybase $out/share/ cat > $out/bin/keybase-gui <