diff --git a/lib/customisation.nix b/lib/customisation.nix index 4853290db542..6d6c02340878 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -167,7 +167,7 @@ rec { /* Make a set of packages with a common scope. All packages called with the provided `callPackage' will be evaluated with the same arguments. Any package in the set may depend on any other. The - `override' function allows subsequent modification of the package + `overrideScope' function allows subsequent modification of the package set in a consistent way, i.e. all packages in the set will be called with the overridden packages. The package sets may be hierarchical: the packages in the set are called with the scope @@ -177,7 +177,7 @@ rec { let self = f self // { newScope = scope: newScope (self // scope); callPackage = self.newScope {}; - override = g: + overrideScope = g: makeScope newScope (self_: let super = f self_; in super // g super self_); packages = f; diff --git a/lib/licenses.nix b/lib/licenses.nix index 000a55224ea7..0919699b41e3 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -531,6 +531,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Do What The F*ck You Want To Public License"; }; + wxWindows = spdx { + spdxId = "WXwindows"; + fullName = "wxWindows Library Licence, Version 3.1"; + }; + zlib = spdx { spdxId = "Zlib"; fullName = "zlib License"; diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 9d5b2e21bc95..20f973a2c016 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -468,6 +468,7 @@ s1lvester = "Markus Silvester "; samuelrivas = "Samuel Rivas "; sander = "Sander van der Burg "; + sargon = "Daniel Ehlers "; schmitthenner = "Fabian Schmitthenner "; schneefux = "schneefux "; schristo = "Scott Christopher "; @@ -502,6 +503,7 @@ sternenseemann = "Lukas Epple "; stesie = "Stefan Siegl "; steveej = "Stefan Junker "; + SuprDewd = "Bjarki Ágúst Guðmundsson "; swarren83 = "Shawn Warren "; swistak35 = "Rafał Łasocha "; szczyp = "Szczyp "; diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index 2622ddf4be1f..9b17a51531a3 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -30,7 +30,7 @@ in rec { mips = filterDoubles (matchAttrs { cpu = { family = "mips"; }; }); x86_64 = filterDoubles parse.isx86_64; - cygwin = filterDoubles (matchAttrs { kernel = parse.kernels.cygwin; }); + cygwin = filterDoubles parse.isCygwin; darwin = filterDoubles parse.isDarwin; freebsd = filterDoubles (matchAttrs { kernel = parse.kernels.freebsd; }); gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }); # Should be better diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 26744322e9e4..8f65a69b17ab 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -1,5 +1,9 @@ -# Define the list of system with their properties. Only systems tested for -# Nixpkgs are listed below +# Define the list of system with their properties. +# +# See https://clang.llvm.org/docs/CrossCompilation.html and +# http://llvm.org/docs/doxygen/html/Triple_8cpp_source.html especially +# Triple::normalize. Parsing should essentially act as a more conservative +# version of that last function. with import ../lists.nix; with import ../types.nix; @@ -9,7 +13,7 @@ let lib = import ../default.nix; setTypesAssert = type: pred: mapAttrs (name: value: - #assert pred value; + assert pred value; setType type ({ inherit name; } // value)); setTypes = type: setTypesAssert type (_: true); @@ -23,7 +27,6 @@ rec { littleEndian = {}; }; - isCpuType = isType "cpu-type"; cpuTypes = with significantBytes; setTypesAssert "cpu-type" (x: elem x.bits [8 16 32 64 128] @@ -47,6 +50,7 @@ rec { vendors = setTypes "vendor" { apple = {}; pc = {}; + unknown = {}; }; @@ -56,6 +60,7 @@ rec { elf = {}; macho = {}; pe = {}; + unknown = {}; }; @@ -63,15 +68,12 @@ rec { kernelFamilies = setTypes "kernel-family" { bsd = {}; unix = {}; - windows-nt = {}; - dos = {}; }; isKernel = x: isType "kernel" x; kernels = with execFormats; with kernelFamilies; setTypesAssert "kernel" (x: isExecFormat x.execFormat && all isKernelFamily (attrValues x.families)) { - cygwin = { execFormat = pe; families = { inherit /*unix*/ windows-nt; }; }; darwin = { execFormat = macho; families = { inherit unix; }; }; freebsd = { execFormat = elf; families = { inherit unix bsd; }; }; linux = { execFormat = elf; families = { inherit unix; }; }; @@ -79,18 +81,21 @@ rec { none = { execFormat = unknown; families = { inherit unix; }; }; openbsd = { execFormat = elf; families = { inherit unix bsd; }; }; solaris = { execFormat = elf; families = { inherit unix; }; }; - win32 = { execFormat = pe; families = { inherit dos; }; }; + windows = { execFormat = pe; families = { }; }; + } // { # aliases + win32 = kernels.windows; }; - isAbi = isType "abi"; abis = setTypes "abi" { + cygnus = {}; gnu = {}; msvc = {}; eabi = {}; androideabi = {}; gnueabi = {}; gnueabihf = {}; + unknown = {}; }; @@ -109,19 +114,25 @@ rec { isDarwin = matchAttrs { kernel = kernels.darwin; }; isLinux = matchAttrs { kernel = kernels.linux; }; isUnix = matchAttrs { kernel = { families = { inherit (kernelFamilies) unix; }; }; }; - isWindows = s: matchAttrs { kernel = { families = { inherit (kernelFamilies) windows-nt; }; }; } s - || matchAttrs { kernel = { families = { inherit (kernelFamilies) dos; }; }; } s; + isWindows = matchAttrs { kernel = kernels.windows; }; + isCygwin = matchAttrs { kernel = kernels.windows; abi = abis.cygnus; }; + isMinGW = matchAttrs { kernel = kernels.windows; abi = abis.gnu; }; mkSkeletonFromList = l: { - "2" = { cpu = elemAt l 0; kernel = elemAt l 1; }; - "4" = { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; }; + "2" = # We only do 2-part hacks for things Nix already supports + if elemAt l 1 == "cygwin" + then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; } + else { cpu = elemAt l 0; kernel = elemAt l 1; }; "3" = # Awkwards hacks, beware! if elemAt l 1 == "apple" then { cpu = elemAt l 0; vendor = "apple"; kernel = elemAt l 2; } else if (elemAt l 1 == "linux") || (elemAt l 2 == "gnu") then { cpu = elemAt l 0; kernel = elemAt l 1; abi = elemAt l 2; } + else if (elemAt l 2 == "mingw32") # autotools breaks on -gnu for window + then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows"; abi = "gnu"; } else throw "Target specification with 3 components is ambiguous"; + "4" = { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; }; }.${toString (length l)} or (throw "system string has invalid number of hyphen-separated components"); @@ -134,18 +145,10 @@ rec { , # Also inferred below abi ? assert false; null } @ args: let - getCpu = name: - attrByPath [name] (throw "Unknown CPU type: ${name}") - cpuTypes; - getVendor = name: - attrByPath [name] (throw "Unknown vendor: ${name}") - vendors; - getKernel = name: - attrByPath [name] (throw "Unknown kernel: ${name}") - kernels; - getAbi = name: - attrByPath [name] (throw "Unknown ABI: ${name}") - abis; + getCpu = name: cpuTypes.${name} or (throw "Unknown CPU type: ${name}"); + getVendor = name: vendors.${name} or (throw "Unknown vendor: ${name}"); + getKernel = name: kernels.${name} or (throw "Unknown kernel: ${name}"); + getAbi = name: abis.${name} or (throw "Unknown ABI: ${name}"); system = rec { cpu = getCpu args.cpu; @@ -166,7 +169,10 @@ rec { mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s)); - doubleFromSystem = { cpu, vendor, kernel, abi, ... }: "${cpu.name}-${kernel.name}"; + doubleFromSystem = { cpu, vendor, kernel, abi, ... }: + if vendor == kernels.windows && abi == abis.cygnus + then "${cpu.name}-cygwin" + else "${cpu.name}-${kernel.name}"; tripleFromSystem = { cpu, vendor, kernel, abi, ... } @ sys: assert isSystem sys; let optAbi = lib.optionalString (abi != abis.unknown) "-${abi.name}"; diff --git a/nixos/doc/manual/configuration/file-systems.xml b/nixos/doc/manual/configuration/file-systems.xml index d1b324af3f12..ae3d124cd6bb 100644 --- a/nixos/doc/manual/configuration/file-systems.xml +++ b/nixos/doc/manual/configuration/file-systems.xml @@ -35,6 +35,12 @@ or ext4, then it’s best to specify to ensure that the kernel module is available. +System startup will fail if any of the filesystems fails to mount, +dropping you to the emergency shell. +You can make a mount asynchronous and non-critical by adding +options = [ "nofail" ];. + + diff --git a/nixos/doc/manual/installation/installing-usb.xml b/nixos/doc/manual/installation/installing-usb.xml index dae733060569..4a74e406b14c 100644 --- a/nixos/doc/manual/installation/installing-usb.xml +++ b/nixos/doc/manual/installation/installing-usb.xml @@ -34,6 +34,11 @@ ISO, copy its contents verbatim to your drive, then either: in the kernel documentation for more details). + + If you want to load the contents of the ISO to ram after bootin + (So you can remove the stick after bootup) you can append the parameter + copytoramto the options field. + diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix index 799f0793c74f..65ef95127805 100644 --- a/nixos/modules/config/i18n.nix +++ b/nixos/modules/config/i18n.nix @@ -2,21 +2,27 @@ with lib; -let - - glibcLocales = pkgs.glibcLocales.override { - allLocales = any (x: x == "all") config.i18n.supportedLocales; - locales = config.i18n.supportedLocales; - }; - -in - { ###### interface options = { i18n = { + glibcLocales = mkOption { + type = types.path; + default = pkgs.glibcLocales.override { + allLocales = any (x: x == "all") config.i18n.supportedLocales; + locales = config.i18n.supportedLocales; + }; + example = literalExample "pkgs.glibcLocales"; + description = '' + Customized pkg.glibcLocales package. + + Changing this option can disable handling of i18n.defaultLocale + and supportedLocale. + ''; + }; + defaultLocale = mkOption { type = types.str; default = "en_US.UTF-8"; @@ -118,7 +124,7 @@ in ''); environment.systemPackages = - optional (config.i18n.supportedLocales != []) glibcLocales; + optional (config.i18n.supportedLocales != []) config.i18n.glibcLocales; environment.sessionVariables = { LANG = config.i18n.defaultLocale; @@ -126,7 +132,7 @@ in }; systemd.globalEnvironment = mkIf (config.i18n.supportedLocales != []) { - LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; + LOCALE_ARCHIVE = "${config.i18n.glibcLocales}/lib/locale/locale-archive"; }; # ‘/etc/locale.conf’ is used by systemd. diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index e609d1008519..d217b3452fb5 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -292,7 +292,8 @@ sonarr = 274; radarr = 275; jackett = 276; - clickhouse = 277; + aria2 = 277; + clickhouse = 278; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -554,7 +555,8 @@ sonarr = 274; radarr = 275; jackett = 276; - clickhouse = 277; + aria2 = 277; + clickhouse = 278; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 12ca21f4c2cc..10f6cda24b3c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -88,6 +88,7 @@ ./programs/mtr.nix ./programs/nano.nix ./programs/oblogout.nix + ./programs/qt5ct.nix ./programs/screen.nix ./programs/slock.nix ./programs/shadow.nix @@ -116,6 +117,7 @@ ./security/duosec.nix ./security/grsecurity.nix ./security/hidepid.nix + ./security/lock-kernel-modules.nix ./security/oath.nix ./security/pam.nix ./security/pam_usb.nix @@ -505,6 +507,7 @@ ./services/networking/wpa_supplicant.nix ./services/networking/xinetd.nix ./services/networking/xl2tpd.nix + ./services/networking/xrdp.nix ./services/networking/zerobin.nix ./services/networking/zerotierone.nix ./services/networking/znc.nix @@ -530,8 +533,9 @@ ./services/security/munge.nix ./services/security/oauth2_proxy.nix ./services/security/physlock.nix - ./services/security/torify.nix + ./services/security/sshguard.nix ./services/security/tor.nix + ./services/security/torify.nix ./services/security/torsocks.nix ./services/system/cgmanager.nix ./services/system/cloud-init.nix diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix index 9933f8b25f5e..8bde2e4f4984 100644 --- a/nixos/modules/profiles/hardened.nix +++ b/nixos/modules/profiles/hardened.nix @@ -6,10 +6,25 @@ with lib; { + boot.kernelPackages = mkDefault pkgs.linuxPackages_hardened; + security.hideProcessInformation = mkDefault true; + security.lockKernelModules = mkDefault true; + security.apparmor.enable = mkDefault true; + boot.kernelParams = [ + # Overwrite free'd memory + "page_poison=1" + + # Disable legacy virtual syscalls + "vsyscall=none" + + # Disable hibernation (allows replacing the running kernel) + "nohibernate" + ]; + # Restrict ptrace() usage to processes with a pre-defined relationship # (e.g., parent/child) boot.kernel.sysctl."kernel.yama.ptrace_scope" = mkOverride 500 1; @@ -32,4 +47,16 @@ with lib; # ... or at least apply some hardening to it boot.kernel.sysctl."net.core.bpf_jit_harden" = mkDefault true; + + # A recurring problem with user namespaces is that there are + # still code paths where the kernel's permission checking logic + # fails to account for namespacing, instead permitting a + # namespaced process to act outside the namespace with the + # same privileges as it would have inside it. This is particularly + # bad in the common case of running as root within the namespace. + # + # Setting the number of allowed userns to 0 effectively disables + # the feature at runtime. Attempting to create a user namespace + # with unshare will then fail with "no space left on device". + boot.kernel.sysctl."user.max_user_namespaces" = mkDefault 0; } diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix index 6fb926fe1d5f..55529d73cb60 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.nix +++ b/nixos/modules/programs/command-not-found/command-not-found.nix @@ -44,7 +44,7 @@ in '' # This function is called whenever a command is not found. command_not_found_handle() { - local p=${commandNotFound} + local p=${commandNotFound}/bin/command-not-found if [ -x $p -a -f ${cfg.dbPath} ]; then # Run the helper program. $p "$@" @@ -65,7 +65,7 @@ in '' # This function is called whenever a command is not found. command_not_found_handler() { - local p=${commandNotFound} + local p=${commandNotFound}/bin/command-not-found if [ -x $p -a -f ${cfg.dbPath} ]; then # Run the helper program. $p "$@" diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index a1615c920c02..48a1e2a0a883 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -20,6 +20,7 @@ in { NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix"; PAGER = mkDefault "less -R"; EDITOR = mkDefault "nano"; + XCURSOR_PATH = "$HOME/.icons"; }; environment.profiles = @@ -42,6 +43,7 @@ in GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" ]; XDG_CONFIG_DIRS = [ "/etc/xdg" ]; XDG_DATA_DIRS = [ "/share" ]; + XCURSOR_PATH = [ "/share/icons" ]; MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ]; LIBEXEC_PATH = [ "/lib/libexec" ]; }; diff --git a/nixos/modules/programs/qt5ct.nix b/nixos/modules/programs/qt5ct.nix new file mode 100644 index 000000000000..550634e65be9 --- /dev/null +++ b/nixos/modules/programs/qt5ct.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + meta.maintainers = [ maintainers.romildo ]; + + ###### interface + options = { + programs.qt5ct = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Whether to enable the Qt5 Configuration Tool (qt5ct), a + program that allows users to configure Qt5 settings (theme, + font, icons, etc.) under desktop environments or window + manager without Qt integration. + + Official home page: https://sourceforge.net/projects/qt5ct/ + ''; + }; + }; + }; + + ###### implementation + config = mkIf config.programs.qt5ct.enable { + environment.variables.QT_QPA_PLATFORMTHEME = "qt5ct"; + environment.systemPackages = [ pkgs.qt5ct ]; + }; +} diff --git a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix index 962c1f920a86..fde241ca3ce3 100644 --- a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix +++ b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix @@ -18,7 +18,17 @@ in highlighters = mkOption { default = [ "main" ]; - type = types.listOf(types.str); + + # https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md + type = types.listOf(types.enum([ + "main" + "brackets" + "pattern" + "cursor" + "root" + "line" + ])); + description = '' Specifies the highlighters to be used by zsh-syntax-highlighting. diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index 657b059faf2e..d23c7f2e86de 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -13,7 +13,7 @@ in { meta = { - maintainers = with maintainers; [ joachifm ]; + maintainers = with maintainers; [ ]; doc = ./grsecurity.xml; }; diff --git a/nixos/modules/security/grsecurity.xml b/nixos/modules/security/grsecurity.xml index 620e8f653f99..0a884b3f9b55 100644 --- a/nixos/modules/security/grsecurity.xml +++ b/nixos/modules/security/grsecurity.xml @@ -26,9 +26,11 @@ Arch Linux wiki page on grsecurity. - grsecurity/PaX is only available for the latest linux -stable - kernel; patches against older kernels are available from upstream only for - a fee. + Upstream has ceased free support for grsecurity/PaX. See + + the announcement for more information. Consequently, NixOS + support for grsecurity/PaX also must cease. Enabling this module will + result in a build error. We standardise on a desktop oriented configuration primarily due to lack of resources. The grsecurity/PaX configuration state space is huge and each configuration requires quite a bit of testing to ensure that the diff --git a/nixos/modules/security/lock-kernel-modules.nix b/nixos/modules/security/lock-kernel-modules.nix new file mode 100644 index 000000000000..260ec3fc9464 --- /dev/null +++ b/nixos/modules/security/lock-kernel-modules.nix @@ -0,0 +1,36 @@ +{ config, lib, ... }: + +with lib; + +{ + options = { + security.lockKernelModules = mkOption { + type = types.bool; + default = false; + description = '' + Disable kernel module loading once the system is fully initialised. + Module loading is disabled until the next reboot. Problems caused + by delayed module loading can be fixed by adding the module(s) in + question to . + ''; + }; + }; + + config = mkIf config.security.lockKernelModules { + systemd.services.disable-kernel-module-loading = rec { + description = "Disable kernel module loading"; + + wantedBy = [ config.systemd.defaultUnit ]; + after = [ "systemd-udev-settle.service" "firewall.service" "systemd-modules-load.service" ] ++ wantedBy; + + script = "echo -n 1 > /proc/sys/kernel/modules_disabled"; + + unitConfig.ConditionPathIsReadWrite = "/proc/sys/kernel"; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; + }; +} diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix index 57f592a2e550..c515622d11a0 100644 --- a/nixos/modules/services/continuous-integration/hydra/default.nix +++ b/nixos/modules/services/continuous-integration/hydra/default.nix @@ -233,6 +233,7 @@ in hydra_logo ${cfg.logo} ''} gc_roots_dir ${cfg.gcRootsDir} + use-substitutes = ${if cfg.useSubstitutes then "1" else "0"} ''; environment.systemPackages = [ cfg.package ]; diff --git a/nixos/modules/services/hardware/amd-hybrid-graphics.nix b/nixos/modules/services/hardware/amd-hybrid-graphics.nix index 087bd0e04098..b0f9ff56d1b2 100644 --- a/nixos/modules/services/hardware/amd-hybrid-graphics.nix +++ b/nixos/modules/services/hardware/amd-hybrid-graphics.nix @@ -25,15 +25,22 @@ path = [ pkgs.bash ]; description = "Disable AMD Card"; after = [ "sys-kernel-debug.mount" ]; - requires = [ "sys-kernel-debug.mount" ]; - wantedBy = [ "multi-user.target" ]; + before = [ "systemd-vconsole-setup.service" "display-manager.service" ]; + requires = [ "sys-kernel-debug.mount" "vgaswitcheroo.path" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - ExecStart = "${pkgs.bash}/bin/sh -c 'echo -e \"IGD\\nOFF\" > /sys/kernel/debug/vgaswitcheroo/switch; exit 0'"; - ExecStop = "${pkgs.bash}/bin/sh -c 'echo ON >/sys/kernel/debug/vgaswitcheroo/switch; exit 0'"; + ExecStart = "${pkgs.bash}/bin/sh -c 'echo -e \"IGD\\nOFF\" > /sys/kernel/debug/vgaswitcheroo/switch'"; + ExecStop = "${pkgs.bash}/bin/sh -c 'echo ON >/sys/kernel/debug/vgaswitcheroo/switch'"; }; }; + systemd.paths."vgaswitcheroo" = { + pathConfig = { + PathExists = "/sys/kernel/debug/vgaswitcheroo/switch"; + Unit = "amd-hybrid-graphics.service"; + }; + wantedBy = ["multi-user.target"]; + }; }; } diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix index 9c0bea8d3bff..ecd9a6f52da2 100644 --- a/nixos/modules/services/misc/plex.nix +++ b/nixos/modules/services/misc/plex.nix @@ -91,7 +91,7 @@ in # Copy the database skeleton files to /var/lib/plex/.skeleton # See the the Nix expression for Plex's package for more information on # why this is done. - test -d "${cfg.dataDir}/.skeleton" || mkdir "${cfg.dataDir}/.skeleton" + install --owner ${cfg.user} --group ${cfg.group} -d "${cfg.dataDir}/.skeleton" for db in "com.plexapp.plugins.library.db"; do if [ ! -e "${cfg.dataDir}/.skeleton/$db" ]; then cp "${cfg.package}/usr/lib/plexmediaserver/Resources/base_$db" "${cfg.dataDir}/.skeleton/$db" diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix index 8ae8b12056ce..6ca420a05b23 100644 --- a/nixos/modules/services/monitoring/cadvisor.nix +++ b/nixos/modules/services/monitoring/cadvisor.nix @@ -54,7 +54,29 @@ in { storageDriverPassword = mkOption { default = "root"; type = types.str; - description = "Cadvisor storage driver password."; + description = '' + Cadvisor storage driver password. + + Warning: this password is stored in the world-readable Nix store. It's + recommended to use the option + since that gives you control over the security of the password. + also takes precedence over . + ''; + }; + + storageDriverPasswordFile = mkOption { + type = types.str; + description = '' + File that contains the cadvisor storage driver password. + + takes precedence over + + Warning: when is non-empty this defaults to a file in the + world-readable Nix store that contains the value of . + + It's recommended to override this with a path not in the Nix store. + Tip: use nixops key management + ''; }; storageDriverSecure = mkOption { @@ -65,35 +87,44 @@ in { }; }; - config = mkIf cfg.enable { - systemd.services.cadvisor = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "docker.service" "influxdb.service" ]; + config = mkMerge [ + { services.cadvisor.storageDriverPasswordFile = mkIf (cfg.storageDriverPassword != "") ( + mkDefault (toString (pkgs.writeTextFile { + name = "cadvisor-storage-driver-password"; + text = cfg.storageDriverPassword; + })) + ); + } - postStart = mkBefore '' - until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.listenAddress}:${toString cfg.port}/containers/'; do - sleep 1; - done - ''; + (mkIf cfg.enable { + systemd.services.cadvisor = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "docker.service" "influxdb.service" ]; - serviceConfig = { - ExecStart = ''${pkgs.cadvisor}/bin/cadvisor \ - -logtostderr=true \ - -listen_ip=${cfg.listenAddress} \ - -port=${toString cfg.port} \ - ${optionalString (cfg.storageDriver != null) '' - -storage_driver ${cfg.storageDriver} \ - -storage_driver_user ${cfg.storageDriverHost} \ - -storage_driver_db ${cfg.storageDriverDb} \ - -storage_driver_user ${cfg.storageDriverUser} \ - -storage_driver_password ${cfg.storageDriverPassword} \ - ${optionalString cfg.storageDriverSecure "-storage_driver_secure"} - ''} + postStart = mkBefore '' + until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.listenAddress}:${toString cfg.port}/containers/'; do + sleep 1; + done ''; - TimeoutStartSec=300; - }; - }; - virtualisation.docker.enable = mkDefault true; - }; + script = '' + exec ${pkgs.cadvisor}/bin/cadvisor \ + -logtostderr=true \ + -listen_ip="${cfg.listenAddress}" \ + -port="${toString cfg.port}" \ + ${optionalString (cfg.storageDriver != null) '' + -storage_driver "${cfg.storageDriver}" \ + -storage_driver_user "${cfg.storageDriverHost}" \ + -storage_driver_db "${cfg.storageDriverDb}" \ + -storage_driver_user "${cfg.storageDriverUser}" \ + -storage_driver_password "$(cat "${cfg.storageDriverPasswordFile}")" \ + ${optionalString cfg.storageDriverSecure "-storage_driver_secure"} + ''} + ''; + + serviceConfig.TimeoutStartSec=300; + }; + virtualisation.docker.enable = mkDefault true; + }) + ]; } diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 98931e65bb56..6b24ac2c7c62 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -400,7 +400,8 @@ in { mkdir -p ${cfg.dataDir}/whisper chmod 0700 ${cfg.dataDir}/whisper - chown -R graphite:graphite ${cfg.dataDir} + chown graphite:graphite ${cfg.dataDir} + chown graphite:graphite ${cfg.dataDir}/whisper ''; }; }) @@ -487,9 +488,11 @@ in { # create index ${pkgs.python27Packages.graphite_web}/bin/build-index.sh - touch ${dataDir}/db-created + chown graphite:graphite ${cfg.dataDir} + chown graphite:graphite ${cfg.dataDir}/whisper + chown -R graphite:graphite ${cfg.dataDir}/log - chown -R graphite:graphite ${cfg.dataDir} + touch ${dataDir}/db-created fi ''; }; @@ -526,9 +529,10 @@ in { mkdir -p ${dataDir}/cache/ chmod 0700 ${dataDir}/cache/ - touch ${dataDir}/db-created + chown graphite:graphite ${cfg.dataDir} + chown -R graphite:graphite ${cfg.dataDir}/cache - chown -R graphite:graphite ${cfg.dataDir} + touch ${dataDir}/db-created fi ''; }; @@ -549,7 +553,7 @@ in { preStart = '' if ! test -e ${dataDir}/db-created; then mkdir -p ${dataDir} - chown -R graphite:graphite ${dataDir} + chown graphite:graphite ${dataDir} fi ''; }; diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index b8c26a5c89ba..b26bcba64059 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -34,7 +34,7 @@ let cap=$(sed -nr 's/.*#%#\s+capabilities\s*=\s*(.+)/\1/p' $file) wrapProgram $file \ - --set PATH "/run/wrappers/bin:/run/current-system/sw/bin:/run/current-system/sw/bin" \ + --set PATH "/run/wrappers/bin:/run/current-system/sw/bin" \ --set MUNIN_LIBDIR "${pkgs.munin}/lib" \ --set MUNIN_PLUGSTATE "/var/run/munin" @@ -184,7 +184,7 @@ in mkdir -p /etc/munin/plugins rm -rf /etc/munin/plugins/* - PATH="/run/wrappers/bin:/run/current-system/sw/bin:/run/current-system/sw/bin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash + PATH="/run/wrappers/bin:/run/current-system/sw/bin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash ''; serviceConfig = { ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/"; diff --git a/nixos/modules/services/networking/aria2.nix b/nixos/modules/services/networking/aria2.nix new file mode 100644 index 000000000000..ad4ac9bf45e3 --- /dev/null +++ b/nixos/modules/services/networking/aria2.nix @@ -0,0 +1,135 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.aria2; + + homeDir = "/var/lib/aria2"; + + settingsDir = "${homeDir}"; + sessionFile = "${homeDir}/aria2.session"; + downloadDir = "${homeDir}/Downloads"; + + rangesToStringList = map (x: builtins.toString x.from +"-"+ builtins.toString x.to); + + settingsFile = pkgs.writeText "aria2.conf" + '' + dir=${cfg.downloadDir} + listen-port=${concatStringsSep "," (rangesToStringList cfg.listenPortRange)} + rpc-listen-port=${toString cfg.rpcListenPort} + rpc-secret=${cfg.rpcSecret} + ''; + +in +{ + options = { + services.aria2 = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether or not to enable the headless Aria2 daemon service. + + Aria2 daemon can be controlled via the RPC interface using + one of many WebUI (http://localhost:6800/ by default). + + Targets are downloaded to ${downloadDir} by default and are + accessible to users in the "aria2" group. + ''; + }; + openPorts = mkOption { + type = types.bool; + default = false; + description = '' + Open listen and RPC ports found in listenPortRange and rpcListenPort + options in the firewall. + ''; + }; + downloadDir = mkOption { + type = types.string; + default = "${downloadDir}"; + description = '' + Directory to store downloaded files. + ''; + }; + listenPortRange = mkOption { + type = types.listOf types.attrs; + default = [ { from = 6881; to = 6999; } ]; + description = '' + Set UDP listening port range used by DHT(IPv4, IPv6) and UDP tracker. + ''; + }; + rpcListenPort = mkOption { + type = types.int; + default = 6800; + description = "Specify a port number for JSON-RPC/XML-RPC server to listen to. Possible Values: 1024-65535"; + }; + rpcSecret = mkOption { + type = types.string; + default = "aria2rpc"; + description = '' + Set RPC secret authorization token. + Read https://aria2.github.io/manual/en/html/aria2c.html#rpc-auth to know how this option value is used. + ''; + }; + extraArguments = mkOption { + type = types.string; + example = "--rpc-listen-all --remote-time=true"; + default = ""; + description = '' + Additional arguments to be passed to Aria2. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + + # Need to open ports for proper functioning + networking.firewall = mkIf cfg.openPorts { + allowedUDPPortRanges = config.services.aria2.listenPortRange; + allowedTCPPorts = [ config.services.aria2.rpcListenPort ]; + }; + + users.extraUsers.aria2 = { + group = "aria2"; + uid = config.ids.uids.aria2; + description = "aria2 user"; + home = homeDir; + createHome = false; + }; + + users.extraGroups.aria2.gid = config.ids.gids.aria2; + + systemd.services.aria2 = { + description = "aria2 Service"; + after = [ "local-fs.target" "network.target" ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + mkdir -m 0770 -p "${homeDir}" + chown aria2:aria2 "${homeDir}" + if [[ ! -d "${config.services.aria2.downloadDir}" ]] + then + mkdir -m 0770 -p "${config.services.aria2.downloadDir}" + chown aria2:aria2 "${config.services.aria2.downloadDir}" + fi + if [[ ! -e "${sessionFile}" ]] + then + touch "${sessionFile}" + chown aria2:aria2 "${sessionFile}" + fi + cp -f "${settingsFile}" "${settingsDir}/aria2.conf" + ''; + + serviceConfig = { + Restart = "on-abort"; + ExecStart = "${pkgs.aria2}/bin/aria2c --enable-rpc --conf-path=${settingsDir}/aria2.conf ${config.services.aria2.extraArguments} --save-session=${sessionFile}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + User = "aria2"; + Group = "aria2"; + PermissionsStartOnly = true; + }; + }; + }; +} \ No newline at end of file diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 220107a24118..0c12b2c1dfd4 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -12,6 +12,7 @@ let configFile = writeText "NetworkManager.conf" '' [main] plugins=keyfile + dns=${if cfg.useDnsmasq then "dnsmasq" else "default"} [keyfile] ${optionalString (config.networking.hostName != "") @@ -158,6 +159,17 @@ in { ethernet.macAddress = macAddressOpt; wifi.macAddress = macAddressOpt; + useDnsmasq = mkOption { + type = types.bool; + default = false; + description = '' + Enable NetworkManager's dnsmasq integration. NetworkManager will run + dnsmasq as a local caching nameserver, using a "split DNS" + configuration if you are connected to a VPN, and then update + resolv.conf to point to the local nameserver. + ''; + }; + dispatcherScripts = mkOption { type = types.listOf (types.submodule { options = { diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix index f9300fdabc57..ef860e7e5df4 100644 --- a/nixos/modules/services/networking/radicale.nix +++ b/nixos/modules/services/networking/radicale.nix @@ -57,4 +57,6 @@ in serviceConfig.Group = "radicale"; }; }; + + meta.maintainers = with lib.maintainers; [ aneeshusa ]; } diff --git a/nixos/modules/services/networking/xrdp.nix b/nixos/modules/services/networking/xrdp.nix new file mode 100644 index 000000000000..bf59130ce5b9 --- /dev/null +++ b/nixos/modules/services/networking/xrdp.nix @@ -0,0 +1,153 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xrdp; + confDir = pkgs.runCommand "xrdp.conf" { } '' + mkdir $out + + cp ${cfg.package}/etc/xrdp/{km-*,xrdp,sesman,xrdp_keyboard}.ini $out + + cat > $out/startwm.sh <+ + + # Actual parameters (FIXME): + # SDDM is calling this script like the following: + # $1 = /nix/store/xxx-xsession (= $0) + # $2 = + + # SLiM is using the following parameter: + # $1 = /nix/store/xxx-xsession + + # LightDM keeps the double quotes: + # $1 = /nix/store/xxx-xsession "+" + # The fake/auto display manager doesn't use any parameters and GDM is + # broken. + # If you want to "debug" this script don't print the parameters to stdout + # or stderr because this script will be executed multiple times and the + # output won't be visible in the log when the script is executed for the + # first time (e.g. append them to a file instead)! + + # All of the above cases are handled by the following hack (FIXME). + # Since this line is *very important* for *all display managers* it is + # very important to test changes to the following line with all display + # managers: + if [ "''${1:0:1}" = "/" ]; then eval exec "$1" "$2" ; fi + + # Now it should be safe to assume that the script was called with the + # expected parameters. ${optionalString cfg.displayManager.logToJournal '' if [ -z "$_DID_SYSTEMD_CAT" ]; then @@ -107,15 +131,16 @@ let fi fi - # The session type is " + ", so - # extract those. - windowManager="''${sessionType##* + }" + # The session type is "+", so + # extract those (see: + # http://wiki.bash-hackers.org/syntax/pe#substring_removal). + windowManager="''${sessionType##*+}" : ''${windowManager:=${cfg.windowManager.default}} - desktopManager="''${sessionType% + *}" + desktopManager="''${sessionType%%+*}" : ''${desktopManager:=${cfg.desktopManager.default}} # Start the window manager. - case $windowManager in + case "$windowManager" in ${concatMapStrings (s: '' (${s.name}) ${s.start} @@ -125,7 +150,7 @@ let esac # Start the desktop manager. - case $desktopManager in + case "$desktopManager" in ${concatMapStrings (s: '' (${s.name}) ${s.start} @@ -142,6 +167,9 @@ let exit 0 ''; + # Desktop Entry Specification: + # - https://standards.freedesktop.org/desktop-entry-spec/latest/ + # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html mkDesktops = names: pkgs.runCommand "desktops" { # trivial derivation preferLocalBuild = true; @@ -155,7 +183,7 @@ let Version=1.0 Type=XSession TryExec=${cfg.displayManager.session.script} - Exec=${cfg.displayManager.session.script} '${n}' + Exec=${cfg.displayManager.session.script} "${n}" X-GDM-BypassXsession=true Name=${n} Comment= @@ -238,7 +266,7 @@ in wm = filter (s: s.manage == "window") list; dm = filter (s: s.manage == "desktop") list; names = flip concatMap dm - (d: map (w: d.name + optionalString (w.name != "none") (" + " + w.name)) + (d: map (w: d.name + optionalString (w.name != "none") ("+" + w.name)) (filter (w: d.name != "none" || w.name != "none") wm)); desktops = mkDesktops names; script = xsession wm dm; diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 82b9a2fce5ab..256bfb9ce3f4 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -61,7 +61,7 @@ let let dm = xcfg.desktopManager.default; wm = xcfg.windowManager.default; - in dm + optionalString (wm != "none") (" + " + wm); + in dm + optionalString (wm != "none") ("+" + wm); in { # Note: the order in which lightdm greeter modules are imported diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 99c03ca81c2d..2eb7ddcb1ec0 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -69,7 +69,7 @@ let let dm = xcfg.desktopManager.default; wm = xcfg.windowManager.default; - in dm + optionalString (wm != "none") (" + " + wm); + in dm + optionalString (wm != "none") ("+" + wm); in { diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index c75e637124a9..9a125dcb0aeb 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -154,6 +154,9 @@ for o in $(cat /proc/cmdline); do fi ln -s "$root" /dev/root ;; + copytoram) + copytoram=1 + ;; esac done @@ -474,6 +477,22 @@ while read -u 3 mountPoint; do # doing something with $device right now. udevadm settle + # If copytoram is enabled: skip mounting the ISO and copy its content to a tmpfs. + if [ -n "$copytoram" ] && [ "$device" = /dev/root ] && [ "$mountPoint" = /iso ]; then + fsType=$(blkid -o value -s TYPE "$device") + fsSize=$(blockdev --getsize64 "$device") + + mkdir -p /tmp-iso + mount -t "$fsType" /dev/root /tmp-iso + mountFS tmpfs /iso size="$fsSize" tmpfs + + cp -r /tmp-iso/* /mnt-root/iso/ + + umount /tmp-iso + rmdir /tmp-iso + continue + fi + mountFS "$device" "$mountPoint" "$options" "$fsType" done diff --git a/nixos/modules/tasks/trackpoint.nix b/nixos/modules/tasks/trackpoint.nix index 32e69dd2bf58..1f8f2891e98c 100644 --- a/nixos/modules/tasks/trackpoint.nix +++ b/nixos/modules/tasks/trackpoint.nix @@ -81,7 +81,7 @@ with lib; services.xserver.inputClassSections = ['' Identifier "Trackpoint Wheel Emulation" - MatchProduct "${if cfg.fakeButtons then "PS/2 Generic Mouse" else "Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"}" + MatchProduct "${if cfg.fakeButtons then "PS/2 Generic Mouse" else "ETPS/2 Elantech TrackPoint|Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"}" MatchDevicePath "/dev/input/event*" Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" diff --git a/nixos/release.nix b/nixos/release.nix index 0fec97b9c27e..aaf23d7ffb79 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -248,7 +248,7 @@ in rec { tests.gocd-server = callTest tests/gocd-server.nix {}; tests.gnome3 = callTest tests/gnome3.nix {}; tests.gnome3-gdm = callTest tests/gnome3-gdm.nix {}; - tests.grsecurity = callTest tests/grsecurity.nix {}; + tests.hardened = callTest tests/hardened.nix { }; tests.hibernate = callTest tests/hibernate.nix {}; tests.hound = callTest tests/hound.nix {}; tests.i3wm = callTest tests/i3wm.nix {}; diff --git a/nixos/tests/grsecurity.nix b/nixos/tests/grsecurity.nix deleted file mode 100644 index d4a419fd0e39..000000000000 --- a/nixos/tests/grsecurity.nix +++ /dev/null @@ -1,46 +0,0 @@ -# Basic test to make sure grsecurity works - -import ./make-test.nix ({ pkgs, ...} : { - name = "grsecurity"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ copumpkin joachifm ]; - }; - - machine = { config, pkgs, ... }: - { security.grsecurity.enable = true; - boot.kernel.sysctl."kernel.grsecurity.audit_mount" = 0; - boot.kernel.sysctl."kernel.grsecurity.deter_bruteforce" = 0; - networking.useDHCP = false; - }; - - testScript = '' - subtest "grsec-lock", sub { - $machine->succeed("systemctl is-active grsec-lock"); - $machine->succeed("grep -Fq 1 /proc/sys/kernel/grsecurity/grsec_lock"); - $machine->fail("echo -n 0 >/proc/sys/kernel/grsecurity/grsec_lock"); - }; - - subtest "paxtest", sub { - # TODO: running paxtest blackhat hangs the vm - my @pax_mustkill = ( - "anonmap", "execbss", "execdata", "execheap", "execstack", - "mprotanon", "mprotbss", "mprotdata", "mprotheap", "mprotstack", - ); - foreach my $name (@pax_mustkill) { - my $paxtest = "${pkgs.paxtest}/lib/paxtest/" . $name; - $machine->succeed($paxtest) =~ /Killed/ or die - } - }; - - # tcc -run executes run-time generated code and so allows us to test whether - # paxmark actually works (otherwise, the process should be terminated) - subtest "tcc", sub { - $machine->execute("echo -e '#include \nint main(void) { puts(\"hello\"); return 0; }' >main.c"); - $machine->succeed("${pkgs.tinycc}/bin/tcc -run main.c"); - }; - - subtest "RBAC", sub { - $machine->succeed("[ -c /dev/grsec ]"); - }; - ''; -}) diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix new file mode 100644 index 000000000000..1d9a9043e03a --- /dev/null +++ b/nixos/tests/hardened.nix @@ -0,0 +1,36 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "hardened"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ joachifm ]; + }; + + machine = + { config, lib, pkgs, ... }: + with lib; + { users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; }; + users.users.sybil = { isNormalUser = true; group = "wheel"; }; + imports = [ ../modules/profiles/hardened.nix ]; + }; + + testScript = + '' + # Test hidepid + subtest "hidepid", sub { + $machine->succeed("grep -Fq hidepid=2 /proc/mounts"); + $machine->succeed("[ `su - sybil -c 'pgrep -c -u root'` = 0 ]"); + $machine->succeed("[ `su - alice -c 'pgrep -c -u root'` != 0 ]"); + }; + + # Test kernel module hardening + subtest "lock-modules", sub { + $machine->waitForUnit("multi-user.target"); + # note: this better a be module we normally wouldn't load ... + $machine->fail("modprobe dccp"); + }; + + # Test userns + subtest "userns", sub { + $machine->fail("unshare --user"); + }; + ''; +}) diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index 0efa72823688..b926a62194b4 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -25,8 +25,6 @@ import ./make-test.nix ({ pkgs, ...} : { }; users.users.sybil = { isNormalUser = true; group = "wheel"; }; security.sudo = { enable = true; wheelNeedsPassword = false; }; - security.hideProcessInformation = true; - users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; }; }; testScript = @@ -119,12 +117,5 @@ import ./make-test.nix ({ pkgs, ...} : { subtest "sudo", sub { $machine->succeed("su - sybil -c 'sudo true'"); }; - - # Test hidepid - subtest "hidepid", sub { - $machine->succeed("grep -Fq hidepid=2 /proc/mounts"); - $machine->succeed("[ `su - sybil -c 'pgrep -c -u root'` = 0 ]"); - $machine->succeed("[ `su - alice -c 'pgrep -c -u root'` != 0 ]"); - }; ''; }) diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix new file mode 100644 index 000000000000..4c2ed8456ddd --- /dev/null +++ b/nixos/tests/radicale.nix @@ -0,0 +1,80 @@ +let + port = 5232; + radicaleOverlay = self: super: { + radicale = super.radicale.overrideAttrs (oldAttrs: { + propagatedBuildInputs = with self.pythonPackages; + (oldAttrs.propagatedBuildInputs or []) ++ [ + passlib + ]; + }); + }; + common = { config, pkgs, ...}: { + services.radicale = { + enable = true; + config = let home = config.users.extraUsers.radicale.home; in '' + [server] + hosts = 127.0.0.1:${builtins.toString port} + daemon = False + [encoding] + [well-known] + [auth] + type = htpasswd + htpasswd_filename = /etc/radicale/htpasswd + htpasswd_encryption = bcrypt + [git] + [rights] + [storage] + type = filesystem + filesystem_folder = ${home}/collections + [logging] + [headers] + ''; + }; + # WARNING: DON'T DO THIS IN PRODUCTION! + # This puts secrets (albeit hashed) directly into the Nix store for ease of testing. + environment.etc."radicale/htpasswd".source = with pkgs; let + py = python.withPackages(ps: with ps; [ passlib ]); + in runCommand "htpasswd" {} '' + ${py}/bin/python -c " +from passlib.apache import HtpasswdFile +ht = HtpasswdFile( + '$out', + new=True, + default_scheme='bcrypt' +) +ht.set_password('someuser', 'really_secret_password') +ht.save() +" + ''; + }; + +in import ./make-test.nix ({ lib, ... }: { + name = "radicale"; + meta.maintainers = with lib.maintainers; [ aneeshusa ]; + + # Test radicale with bcrypt-based htpasswd authentication + nodes = { + py2 = { config, pkgs, ... }@args: (common args) // { + nixpkgs.overlays = [ + radicaleOverlay + ]; + }; + py3 = { config, pkgs, ... }@args: (common args) // { + nixpkgs.overlays = [ + (self: super: { + python = self.python3; + pythonPackages = self.python3.pkgs; + }) + radicaleOverlay + ]; + }; + }; + + testScript = '' + for my $machine ($py2, $py3) { + $machine->waitForUnit('radicale.service'); + $machine->waitForOpenPort(${builtins.toString port}); + $machine->succeed('curl -s http://someuser:really_secret_password@127.0.0.1:${builtins.toString port}/someuser/calendar.ics/'); + } + ''; +}) diff --git a/nixos/tests/xrdp.nix b/nixos/tests/xrdp.nix new file mode 100644 index 000000000000..c997e36cc442 --- /dev/null +++ b/nixos/tests/xrdp.nix @@ -0,0 +1,45 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "xrdp"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ volth ]; + }; + + nodes = { + server = { lib, pkgs, ... }: { + imports = [ ./common/user-account.nix ]; + services.xrdp.enable = true; + services.xrdp.defaultWindowManager = "${pkgs.xterm}/bin/xterm"; + networking.firewall.allowedTCPPorts = [ 3389 ]; + }; + + client = { lib, pkgs, ... }: { + imports = [ ./common/x11.nix ./common/user-account.nix ]; + services.xserver.displayManager.auto.user = "alice"; + environment.systemPackages = [ pkgs.freerdp ]; + services.xrdp.enable = true; + services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm"; + }; + }; + + testScript = { nodes, ... }: '' + startAll; + + $client->waitForX; + $client->waitForFile("/home/alice/.Xauthority"); + $client->succeed("xauth merge ~alice/.Xauthority"); + + $client->sleep(5); + + $client->execute("xterm &"); + $client->sleep(1); + $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:alice /p:foobar\n"); + $client->sleep(5); + $client->screenshot("localrdp"); + + $client->execute("xterm &"); + $client->sleep(1); + $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:alice /p:foobar\n"); + $client->sleep(5); + $client->screenshot("remoterdp"); + ''; +}) diff --git a/pkgs/applications/altcoins/bitcoin-unlimited.nix b/pkgs/applications/altcoins/bitcoin-unlimited.nix index b6d0739c6bf1..597e74a34d01 100644 --- a/pkgs/applications/altcoins/bitcoin-unlimited.nix +++ b/pkgs/applications/altcoins/bitcoin-unlimited.nix @@ -7,13 +7,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version; - version = "1.0.1.3"; + version = "1.0.1.4"; src = fetchFromGitHub { owner = "bitcoinunlimited"; repo = "bitcoinunlimited"; - rev = "${version}"; - sha256 = "177l2jf2yqxh3sgf80dhgyk3wgjdnqszy3hb83clk8q1wyjkfz7y"; + rev = "v${version}"; + sha256 = "1awsgkgqvb57grrsq6k99009rzhpfaplh2lbf5sy36v3bh7p5mw5"; }; nativeBuildInputs = [ pkgconfig autoreconfHook ]; diff --git a/pkgs/applications/audio/google-play-music-desktop-player/default.nix b/pkgs/applications/audio/google-play-music-desktop-player/default.nix new file mode 100644 index 000000000000..12e9b88880d1 --- /dev/null +++ b/pkgs/applications/audio/google-play-music-desktop-player/default.nix @@ -0,0 +1,79 @@ +{ stdenv, alsaLib, atk, cairo, cups, dbus, dpkg, expat, fontconfig, freetype +, fetchurl, GConf, gdk_pixbuf, glib, gtk2, libpulseaudio, makeWrapper, nspr +, nss, pango, udev, xorg +}: + +let + version = "4.2.0"; + + deps = [ + alsaLib + atk + cairo + cups + dbus + expat + fontconfig + freetype + GConf + gdk_pixbuf + glib + gtk2 + libpulseaudio + nspr + nss + pango + stdenv.cc.cc + udev + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXScrnSaver + xorg.libXtst + ]; + +in + +stdenv.mkDerivation { + name = "google-play-music-desktop-player-${version}"; + + src = fetchurl { + url = "https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/releases/download/v${version}/google-play-music-desktop-player_${version}_amd64.deb"; + sha256 = "0n59b73jc6b86p5063xz7n0z48wy9mzqcx0l34av2hqkx6wcb2h8"; + }; + + dontBuild = true; + buildInputs = [ dpkg makeWrapper ]; + + unpackPhase = '' + dpkg -x $src . + ''; + + installPhase = '' + mkdir -p $out + cp -r ./usr/share $out + cp -r ./usr/bin $out + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + "$out/share/google-play-music-desktop-player/Google Play Music Desktop Player" + + wrapProgram $out/bin/google-play-music-desktop-player \ + --prefix LD_LIBRARY_PATH : "$out/share/google-play-music-desktop-player" \ + --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath deps}" + ''; + + meta = { + homepage = https://www.googleplaymusicdesktopplayer.com/; + description = "A beautiful cross platform Desktop Player for Google Play Music"; + license = stdenv.lib.licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = stdenv.lib.maintainers.SuprDewd; + }; +} diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index f675febafb56..d1f487b37acf 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -25,6 +25,12 @@ let }) ]; + postPatch = + # Module Qt5::Test must be included in `find_package` before it is used. + '' + sed -i CMakeLists.txt -e '/find_package(Qt5/ s|)| Test)|' + ''; + nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qttools ]; buildInputs = [ diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix index 79c75e768205..216c04afd726 100644 --- a/pkgs/applications/editors/emacs/default.nix +++ b/pkgs/applications/editors/emacs/default.nix @@ -26,35 +26,15 @@ let in stdenv.mkDerivation rec { name = "emacs-${version}${versionModifier}"; - version = "25.1"; + version = "25.2"; versionModifier = ""; src = fetchurl { - url = "mirror://gnu//emacs/${name}.tar.xz"; - sha256 = "0cwgyiyymnx4xdg99dm2drfxcyhy2jmyf0rkr9fwj9mwwf77kwhr"; + url = "mirror://gnu/emacs/${name}.tar.xz"; + sha256 = "1ykkq0xl28ljdg61bm6gzy04ww86ajms98gix72qg6cpr6a53dar"; }; - patches = (lib.optional stdenv.isDarwin ./at-fdcwd.patch) ++ [ - ## Fixes a segfault in emacs 25.1 - ## http://lists.gnu.org/archive/html/emacs-devel/2016-10/msg00917.html - ## https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24358 - (fetchurl { - url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=9afea93ed536fb9110ac62b413604cf4c4302199; - sha256 = "0pshhq8wlh98m9hm8xd3g7gy3ms0l44dq6vgzkg67ydlccziqz40"; }) - (fetchurl { - url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=71ca4f6a43bad06192cbc4bb8c7a2d69c179b7b0; - sha256 = "0h76wrrqyrky441immprskx5x7200zl7ajf7hyg4da22q7sr09qa"; }) - (fetchurl { - url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=1047496722a58ef5b736dae64d32adeb58c5055c; - sha256 = "0hk9pi3f2zj266qj8armzpl0z8rfjg0m9ss4k09mgg1hyz80wdvv"; }) - (fetchurl { - url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=96ac0c3ebce825e60595794f99e703ec8302e240; - sha256 = "1q2hqkjvj9z46b5ik56lv9wiibz09mvg2q3pn8fnpa04ki3zbh4x"; }) - (fetchurl { - url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=43986d16fb6ad78a627250e14570ea70bdb1f23a; - sha256 = "1wlyy04qahvls7bdrcxaazh9k27gksk7if1q58h83f7h6g9xxkzj"; - }) - ]; + patches = (lib.optional stdenv.isDarwin ./at-fdcwd.patch); nativeBuildInputs = [ pkgconfig ] ++ lib.optionals srcRepo [ autoconf automake texinfo ] diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix index 34729783cce4..f38839a5abca 100644 --- a/pkgs/applications/editors/emacs/macport.nix +++ b/pkgs/applications/editors/emacs/macport.nix @@ -4,21 +4,21 @@ }: stdenv.mkDerivation rec { - emacsVersion = "25.1"; + emacsVersion = "25.2"; emacsName = "emacs-${emacsVersion}"; - macportVersion = "6.1"; + macportVersion = "6.3"; name = "emacs-mac-${emacsVersion}-${macportVersion}"; builder = ./builder.sh; src = fetchurl { - url = "ftp://ftp.gnu.org/gnu/emacs/${emacsName}.tar.xz"; - sha256 = "19f2798ee3bc26c95dca3303e7ab141e7ad65d6ea2b6945eeba4dbea7df48f33"; + url = "mirror:///gnu/emacs/${emacsName}.tar.xz"; + sha256 = "1ykkq0xl28ljdg61bm6gzy04ww86ajms98gix72qg6cpr6a53dar"; }; macportSrc = fetchurl { url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${emacsName}-mac-${macportVersion}.tar.gz"; - sha256 = "1zwxh7zsvwcg221mpjh0dhpdas3j9mc5q92pprf8yljl7clqvg62"; + sha256 = "1dz11frk3ya3842lb89ixzpns9bz5f9njxdkyvjy75gfymqfhhzv"; }; hiresSrc = fetchurl { @@ -28,7 +28,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ ncurses libxml2 gnutls pkgconfig texinfo gettext autoconf automake]; + nativeBuildInputs = [ pkgconfig autoconf automake ]; + + buildInputs = [ ncurses libxml2 gnutls texinfo gettext ]; propagatedBuildInputs = [ AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit @@ -58,6 +60,7 @@ stdenv.mkDerivation rec { "--with-xml2=yes" "--with-gnutls=yes" "--with-mac" + "--with-modules" "--enable-mac-app=$$out/Applications" ]; diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index 5fef166e663f..f7ede1a8ea56 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, makeDesktopItem, cmake, boost155, zlib, openssl, -R, qt4, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, +{ stdenv, fetchurl, makeDesktopItem, cmake, boost163, zlib, openssl, +R, qt5, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc, # If you have set up an R wrapper with other packages by following # something like https://nixos.org/nixpkgs/manual/#r-packages, RStudio # by default not be able to access any of those R packages. In order @@ -11,18 +11,18 @@ useRPackages ? false }: let - version = "0.98.110"; + version = "1.1.216"; ginVer = "1.5"; - gwtVer = "2.5.1"; + gwtVer = "2.7.0"; in stdenv.mkDerivation rec { name = "RStudio-${version}"; - buildInputs = [ cmake boost155 zlib openssl R qt4 libuuid unzip ant jdk makeWrapper ]; + buildInputs = [ cmake boost163 zlib openssl R qt5.full qt5.qtwebkit qt5.qmakeHook libuuid unzip ant jdk makeWrapper pandoc ]; src = fetchurl { url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz"; - sha256 = "0wybbvl5libki8z2ywgcd0hg0py1az484r95lhwh3jbrwfx7ri2z"; + sha256 = "07lp2ybvj7ippdrp7fv7j54dp0mm6k19j1vqdvjdk95acg3xgcjf"; }; # Hack RStudio to only use the input R. @@ -38,14 +38,34 @@ stdenv.mkDerivation rec { inherit gwtVer; gwtSrc = fetchurl { url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip"; - sha256 = "0fjr2rcr8lnywj54mzhg9i4xz1b6fh8yv12p5i2q5mgfld2xymy4"; + sha256 = "1cs78z9a1jg698j2n35wsy07cy4fxcia9gi00x0r0qc3fcdhcrda"; }; hunspellDictionaries = builtins.attrValues hunspellDicts; mathJaxSrc = fetchurl { - url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-20.zip; - sha256 = "1ikg3fhharsfrh2fv8c53fdawqajj24nif89400l3klw1hyq4zal"; + url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip; + sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk"; + }; + + rmarkdownSrc = fetchurl { + url = "https://github.com/rstudio/rmarkdown/archive/95b8b1fa64f78ca99f225a67fff9817103be56.zip"; + sha256 = "12fa65qr04rwsprkmyl651mkaqcbn1znwsmcjg4qsk9n5nxg0fah"; + }; + + rsconnectSrc = fetchurl { + url = "https://github.com/rstudio/rsconnect/archive/425f3767b3142bc6b81c9eb62c4722f1eedc9781.zip"; + sha256 = "1sgf9dj9wfk4c6n5p1jc45386pf0nj2alg2j9qx09av3can1dy9p"; + }; + + rstudiolibclang = fetchurl { + url = https://s3.amazonaws.com/rstudio-buildtools/libclang-3.5.zip; + sha256 = "1sl5vb8misipwbbbykdymw172w9qrh8xv3p29g0bf3nzbnv6zc7c"; + }; + + rstudiolibclangheaders = fetchurl { + url = https://s3.amazonaws.com/rstudio-buildtools/libclang-builtin-headers.zip; + sha256 = "0x4ax186bm3kf098izwmsplckgx1kqzg9iiyzg95rpbqsb4593qb"; }; preConfigure = @@ -66,10 +86,19 @@ stdenv.mkDerivation rec { done done - unzip $mathJaxSrc -d dependencies/common/mathjax + unzip $mathJaxSrc -d dependencies/common/mathjax-26 + unzip $rmarkdownSrc -d dependencies/common/rmarkdown + unzip $rsconnectSrc -d dependencies/common/rsconnect + mkdir -p dependencies/common/libclang/3.5 + unzip $rstudiolibclang -d dependencies/common/libclang/3.5 + mkdir -p dependencies/common/libclang/builtin-headers + unzip $rstudiolibclangheaders -d dependencies/common/libclang/builtin-headers + + mkdir -p dependencies/common/pandoc + cp ${pandoc}/bin/pandoc dependencies/common/pandoc/ ''; - cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" ]; + cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" "-DQT_QMAKE_EXECUTABLE=${qt5.qmakeHook}/bin/qmake" ]; desktopItem = makeDesktopItem { name = name; @@ -100,7 +129,7 @@ stdenv.mkDerivation rec { { description = "Set of integrated tools for the R language"; homepage = http://www.rstudio.com/; license = licenses.agpl3; - maintainers = [ maintainers.ehmry ]; + maintainers = [ maintainers.ehmry maintainers.changlinli ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/editors/rstudio/r-location.patch b/pkgs/applications/editors/rstudio/r-location.patch index a1ec84a5475c..24cb6a246977 100644 --- a/pkgs/applications/editors/rstudio/r-location.patch +++ b/pkgs/applications/editors/rstudio/r-location.patch @@ -1,18 +1,19 @@ -diff -ur rstudio-0.98.110-old/src/cpp/core/CMakeLists.txt rstudio-0.98.110-new/src/cpp/core/CMakeLists.txt ---- rstudio-0.98.110-old/src/cpp/core/r_util/REnvironmentPosix.cpp 2013-04-28 10:02:14.000000000 -0400 -+++ rstudio-0.98.110-new/src/cpp/core/r_util/REnvironmentPosix.cpp 2015-03-23 15:06:35.533400807 -0400 -@@ -84,9 +84,7 @@ +diff -ur rstudio-1.1.216-old/src/cpp/core/CMakeLists.txt rstudio-1.1.216-new/src/cpp/core/CMakeLists.txt +--- rstudio-1.1.216-old/src/cpp/core/r_util/REnvironmentPosix.cpp 2017-04-30 03:37:26.669418665 -0400 ++++ rstudio-1.1.216-new/src/cpp/core/r_util/REnvironmentPosix.cpp 2017-04-30 03:36:33.590726185 -0400 +@@ -87,10 +87,7 @@ { // define potential paths std::vector rScriptPaths; - rScriptPaths.push_back("/usr/bin/R"); - rScriptPaths.push_back("/usr/local/bin/R"); - rScriptPaths.push_back("/opt/local/bin/R"); +- rScriptPaths.push_back("/Library/Frameworks/R.framework/Resources/bin/R"); + rScriptPaths.push_back("@R@/bin/R"); return scanForRScript(rScriptPaths, pErrMsg); } - -@@ -220,8 +218,7 @@ + +@@ -226,8 +223,7 @@ // scan in standard locations as a fallback std::string scanErrMsg; std::vector rScriptPaths; diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix index a9b2eb1163af..9b1dd4c25aeb 100644 --- a/pkgs/applications/graphics/apitrace/default.nix +++ b/pkgs/applications/graphics/apitrace/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "apitrace-${version}"; - version = "7.1"; + version = "7.1-363-ge3509be1"; src = fetchFromGitHub { - sha256 = "1n2gmsjnpyam7isg7n1ksggyh6y1l8drvx0a93bnvbcskr7jiz9a"; - rev = version; + sha256 = "1xbz6gwl7kqjm7jjy5gxkdxzrg93vj1a3l19ara7rni6dii0q136"; + rev = "e3509be175eda77749abffe051ed0d3eb5d14e72"; repo = "apitrace"; owner = "apitrace"; }; diff --git a/pkgs/applications/graphics/displaycal/default.nix b/pkgs/applications/graphics/displaycal/default.nix new file mode 100644 index 000000000000..80d2b2903678 --- /dev/null +++ b/pkgs/applications/graphics/displaycal/default.nix @@ -0,0 +1,57 @@ +{buildPythonPackage, stdenv, fetchurl, pkgconfig + , libXext, libXxf86vm, libX11, libXrandr, libXinerama + , argyllcms, wxPython, numpy + }: +buildPythonPackage { + name = "displaycal-3.2.4.0"; + + enableParallelBuilding = true; + + src = fetchurl { + url = mirror://sourceforge/project/dispcalgui/release/3.2.4.0/DisplayCAL-3.2.4.0.tar.gz; + sha256 = "0swkhv338d1kmfxyf30zzdjs5xpbha40pg2zysiipcbasc0xhlb8"; + }; + + propagatedBuildInputs = [ + libXext + libXxf86vm + libX11 + libXrandr + libXinerama + argyllcms + wxPython + numpy + ]; + + nativeBuildInputs = [ + pkgconfig + ]; + + preConfigure = '' + mkdir dist + cp {misc,dist}/DisplayCAL.appdata.xml + mkdir -p $out + ln -s $out/share/DisplayCAL $out/Resources + ''; + + # no idea why it looks there - symlink .json lang (everything) + postInstall = '' + for x in $out/share/DisplayCAL/*; do + ln -s $x $out/lib/python2.7/site-packages/DisplayCAL + done + + for prog in "$out/bin/"*; do + wrapProgram "$prog" \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix PATH : ${argyllcms}/bin + done + ''; + + meta = { + description = "Display Calibration and Characterization powered by Argyll CMS"; + homepage = http://displaycal.net/; + license = stdenv.lib.licenses.gpl3; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 20a9648e8395..cf36ac4a3827 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -105,7 +105,7 @@ rec { Filters/Enhance/Smart remove selection */ name = "resynthesizer-0.16"; - buildInputs = [ gimp pkgs.fftw ] ++ gimp.nativeBuildInputs; + buildInputs = [ gimp pkgs.fftw pkgs.pkgconfig pkgs.gtk2 ] ++ gimp.nativeBuildInputs; src = fetchurl { url = http://www.logarithmic.net/pfh-files/resynthesizer/resynthesizer-0.16.tar.gz; sha256 = "1k90a1jzswxmajn56rdxa4r60v9v34fmqsiwfdxqcvx3yf4yq96x"; @@ -125,7 +125,9 @@ rec { Filters/Enhance/Smart remove selection */ name = "resynthesizer-2.0.1"; - buildInputs = [ gimp pkgs.fftw pkgs.autoreconfHook ] + buildInputs = [ gimp pkgs.fftw pkgs.autoreconfHook pkgs.pkgconfig pkgs.gtk2 + pkgs.intltool + ] ++ gimp.nativeBuildInputs; makeFlags = "GIMP_LIBDIR=$out/lib/gimp/2.0/"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index dcd5c28172e4..c82d1565a550 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -8,12 +8,12 @@ stdenv.mkDerivation rec { name = "krita-${version}"; - ver_min = "3.1.2"; - version = "${ver_min}.1"; + ver_min = "3.1.3"; + version = "${ver_min}"; src = fetchurl { url = "http://download.kde.org/stable/krita/${ver_min}/${name}.tar.gz"; - sha256 = "934ed82c3f4e55e7819b327c838ea2f307d3bf3d040722501378b01d76a3992d"; + sha256 = "125js6c8aw4bqhs28pwnl3rbgqx5yx4zsklw7bfdhy3vf6lrysw1"; }; nativeBuildInputs = [ cmake extra-cmake-modules makeQtWrapper ]; @@ -40,6 +40,6 @@ stdenv.mkDerivation rec { homepage = "https://krita.org/"; maintainers = with maintainers; [ abbradar ]; platforms = platforms.linux; - licenses = licenses.gpl2; + license = licenses.gpl2; }; } diff --git a/pkgs/applications/kde/kdelibs/default.nix b/pkgs/applications/kde/kdelibs/default.nix index 8adcd4d1b472..cae1b9b7e7f7 100644 --- a/pkgs/applications/kde/kdelibs/default.nix +++ b/pkgs/applications/kde/kdelibs/default.nix @@ -43,7 +43,7 @@ kdeApp { meta = { platforms = lib.platforms.linux; homepage = "http://www.kde.org"; - licenses = with lib.licenses; [ gpl2 fdl12 lgpl21 ]; + license = with lib.licenses; [ gpl2 fdl12 lgpl21 ]; maintainers = [ lib.maintainers.ttuegel ]; }; } diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 8d34a126daaf..fd35c5d36815 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { poppler_utils libpng imagemagick libjpeg fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils ] ++ (with python2Packages; [ - apsw beautifulsoup cssselect cssutils dateutil lxml mechanize netifaces pillow + apsw cssselect cssutils dateutil lxml mechanize netifaces pillow python pyqt5 sip # the following are distributed with calibre, but we use upstream instead chardet cherrypy html5lib_0_9999999 odfpy routes diff --git a/pkgs/applications/misc/dockbarx/default.nix b/pkgs/applications/misc/dockbarx/default.nix new file mode 100644 index 000000000000..60bd5134e8ac --- /dev/null +++ b/pkgs/applications/misc/dockbarx/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, pythonPackages, gnome2, keybinder }: + +pythonPackages.buildPythonApplication rec { + ver = "0.92"; + name = "dockbarx-${ver}"; + + src = fetchFromGitHub { + owner = "M7S"; + repo = "dockbarx"; + rev = ver; + sha256 = "17n7jc3bk3f2i0i1ddpp05bakifc8y5xppads7ihpkj3qw9g35vl"; + }; + + postPatch = '' + substituteInPlace setup.py --replace /usr/ "" + substituteInPlace setup.py --replace '"/", "usr", "share",' '"share",' + substituteInPlace dockbarx/applets.py --replace /usr/share/ $out/share/ + substituteInPlace dockbarx/dockbar.py --replace /usr/share/ $out/share/ + substituteInPlace dockbarx/iconfactory.py --replace /usr/share/ $out/share/ + substituteInPlace dockbarx/theme.py --replace /usr/share/ $out/share/ + substituteInPlace dockx_applets/battery_status.py --replace /usr/share/ $out/share/ + substituteInPlace dockx_applets/namebar.py --replace /usr/share/ $out/share/ + substituteInPlace dockx_applets/namebar_window_buttons.py --replace /usr/share/ $out/share/ + substituteInPlace dockx_applets/volume-control.py --replace /usr/share/ $out/share/ + ''; + + propagatedBuildInputs = (with pythonPackages; [ pygtk pyxdg dbus-python pillow xlib ]) + ++ (with gnome2; [ gnome_python gnome_python_desktop ]) + ++ [ keybinder ]; + + meta = with stdenv.lib; { + homepage = http://launchpad.net/dockbar/; + description = "DockBarX is a lightweight taskbar / panel replacement for Linux which works as a stand-alone dock"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.volth ]; + }; +} diff --git a/pkgs/applications/misc/jekyll/Gemfile b/pkgs/applications/misc/jekyll/Gemfile index 4074421fca3e..97ebb9705bd6 100644 --- a/pkgs/applications/misc/jekyll/Gemfile +++ b/pkgs/applications/misc/jekyll/Gemfile @@ -1,5 +1,7 @@ source 'https://rubygems.org' gem 'jekyll' +gem 'jekyll-feed' gem 'jekyll-paginate' gem 'rdiscount' gem 'RedCloth' +gem 'minima' diff --git a/pkgs/applications/misc/jekyll/Gemfile.lock b/pkgs/applications/misc/jekyll/Gemfile.lock index c2d82181be2d..da4be83382fb 100644 --- a/pkgs/applications/misc/jekyll/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/Gemfile.lock @@ -1,36 +1,48 @@ GEM remote: https://rubygems.org/ specs: - RedCloth (4.2.9) - colorator (0.1) - ffi (1.9.10) - jekyll (3.0.1) - colorator (~> 0.1) + RedCloth (4.3.2) + addressable (2.5.0) + public_suffix (~> 2.0, >= 2.0.2) + colorator (1.1.0) + ffi (1.9.18) + forwardable-extended (2.6.0) + jekyll (3.4.1) + addressable (~> 2.4) + colorator (~> 1.0) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 1.1) kramdown (~> 1.3) liquid (~> 3.0) mercenary (~> 0.3.3) + pathutil (~> 0.9) rouge (~> 1.7) safe_yaml (~> 1.0) - jekyll-sass-converter (1.4.0) - sass (~> 3.4) - jekyll-watch (1.3.0) - listen (~> 3.0) + jekyll-feed (0.9.1) + jekyll (~> 3.3) jekyll-paginate (1.1.0) - kramdown (1.9.0) + jekyll-sass-converter (1.5.0) + sass (~> 3.4) + jekyll-watch (1.5.0) + listen (~> 3.0, < 3.1) + kramdown (1.13.2) liquid (3.0.6) - listen (3.0.5) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9) - mercenary (0.3.5) - rb-fsevent (0.9.7) - rb-inotify (0.9.5) + listen (3.0.8) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + mercenary (0.3.6) + minima (2.1.0) + jekyll (~> 3.3) + pathutil (0.14.0) + forwardable-extended (~> 2.6) + public_suffix (2.0.5) + rb-fsevent (0.9.8) + rb-inotify (0.9.8) ffi (>= 0.5.0) - rdiscount (2.1.8) - rouge (1.10.1) + rdiscount (2.2.0.1) + rouge (1.11.1) safe_yaml (1.0.4) - sass (3.4.20) + sass (3.4.23) PLATFORMS ruby @@ -38,7 +50,10 @@ PLATFORMS DEPENDENCIES RedCloth jekyll + jekyll-feed + jekyll-paginate + minima rdiscount BUNDLED WITH - 1.10.6 + 1.14.4 diff --git a/pkgs/applications/misc/jekyll/default.nix b/pkgs/applications/misc/jekyll/default.nix index b06a28513b82..f3661030a2ba 100644 --- a/pkgs/applications/misc/jekyll/default.nix +++ b/pkgs/applications/misc/jekyll/default.nix @@ -1,11 +1,13 @@ -{ stdenv, lib, bundlerEnv, ruby_2_2, curl }: +{ stdenv, lib, bundlerEnv, ruby }: bundlerEnv rec { name = "jekyll-${version}"; - version = "3.0.1"; - ruby = ruby_2_2; - gemdir = ./.; + version = (import gemset).jekyll.version; + inherit ruby; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; meta = with lib; { description = "Simple, blog aware, static site generator"; diff --git a/pkgs/applications/misc/jekyll/gemset.nix b/pkgs/applications/misc/jekyll/gemset.nix index a5c72d093850..5b1a35209aeb 100644 --- a/pkgs/applications/misc/jekyll/gemset.nix +++ b/pkgs/applications/misc/jekyll/gemset.nix @@ -1,145 +1,183 @@ { - "RedCloth" = { - version = "4.2.9"; + addressable = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j5r0anj8m4qlf2psnldip4b8ha2bsscv11lpdgnfh4nnchzjnxw"; type = "gem"; - sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl"; }; + version = "2.5.0"; }; - "colorator" = { - version = "0.1"; + colorator = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72"; type = "gem"; - sha256 = "09zp15hyd9wlbgf1kmrf4rnry8cpvh1h9fj7afarlqcy4hrfdpvs"; }; - }; - "ffi" = { - version = "1.9.10"; - source = { - type = "gem"; - sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj"; - }; - }; - "jekyll" = { - version = "3.0.1"; - source = { - type = "gem"; - sha256 = "107svn6r7pvkg9wwfi4r44d2rqppysjf9zf09h7z1ajsy8k2s65a"; - }; - dependencies = [ - "colorator" - "jekyll-sass-converter" - "jekyll-watch" - "jekyll-paginate" - "kramdown" - "liquid" - "mercenary" - "rouge" - "safe_yaml" - ]; - }; - "jekyll-sass-converter" = { - version = "1.4.0"; - source = { - type = "gem"; - sha256 = "095757w0pg6qh3wlfg1j1mw4fsz7s89ia4zai5f2rhx9yxsvk1d8"; - }; - dependencies = [ - "sass" - ]; - }; - "jekyll-watch" = { - version = "1.3.0"; - source = { - type = "gem"; - sha256 = "1mqwvrd2hm6ah5zsxqsv2xdp31wl94pl8ybb1q324j79z8pvyarg"; - }; - dependencies = [ - "listen" - ]; - }; - "jekyll-paginate" = { version = "1.1.0"; + }; + ffi = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0"; type = "gem"; + }; + version = "1.9.18"; + }; + forwardable-extended = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v"; + type = "gem"; + }; + version = "2.6.0"; + }; + jekyll = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qbnjx7bpshbcam6p9ss2g6gpd3gxz6h4w9yszphj3ip335yhawb"; + type = "gem"; + }; + version = "3.4.1"; + }; + jekyll-feed = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dj62gy1jskkn703mi5h0bkg1psbpkdm2qqdw3bhjfid9358qvay"; + type = "gem"; + }; + version = "0.9.1"; + }; + jekyll-paginate = { + source = { sha256 = "0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8"; - }; - }; - "kramdown" = { - version = "1.9.0"; - source = { type = "gem"; - sha256 = "12sral2xli39mnr4b9m2sxdlgam4ni0a1mkxawc5311z107zj3p0"; }; + version = "1.1.0"; }; - "liquid" = { - version = "3.0.6"; + jekyll-sass-converter = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "01m921763yfgx1gc33k5ixqz623f4c4azgnpqhgsc2q61fyfk3q1"; type = "gem"; + }; + version = "1.5.0"; + }; + jekyll-watch = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02rg3wi95w2l0bg1igl5k6pza723vn2b2gj975gycz1cpmhdjn6z"; + type = "gem"; + }; + version = "1.5.0"; + }; + kramdown = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1isiqc40q44zg57bd6cfnw1a2l0s2j5skw2awn2cz3gcm7wsf49d"; + type = "gem"; + }; + version = "1.13.2"; + }; + liquid = { + source = { sha256 = "033png37ym4jrjz5bi7zb4ic4yxacwvnllm1xxmrnr4swgyyygc2"; - }; - }; - "listen" = { - version = "3.0.5"; - source = { type = "gem"; - sha256 = "182wd2pkf690ll19lx6zbk01a3rqkk5lwsyin6kwydl7lqxj5z3g"; }; - dependencies = [ - "rb-fsevent" - "rb-inotify" - ]; + version = "3.0.6"; }; - "mercenary" = { - version = "0.3.5"; + listen = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l0y7hbyfiwpvk172r28hsdqsifq1ls39hsfmzi1vy4ll0smd14i"; type = "gem"; - sha256 = "0ls7z086v4xl02g4ia5jhl9s76d22crgmplpmj0c383liwbqi9pb"; }; + version = "3.0.8"; }; - "rb-fsevent" = { - version = "0.9.7"; + mercenary = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a"; type = "gem"; - sha256 = "1xlkflgxngwkd4nyybccgd1japrba4v3kwnp00alikj404clqx4v"; }; + version = "0.3.6"; }; - "rb-inotify" = { - version = "0.9.5"; + minima = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s7ks9fqfvqx7qicnkrg76wavg9mjas52f7iyhr89lz9mqiy7p39"; type = "gem"; - sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9"; }; - dependencies = [ - "ffi" - ]; + version = "2.1.0"; }; - "rdiscount" = { - version = "2.1.8"; + pathutil = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f444wx6vjd30lkkb2zn1k5a6g33lidrpyy7lmgy66n1gsiipzn7"; type = "gem"; - sha256 = "0vcyy90r6wfg0b0y5wqp3d25bdyqjbwjhkm1xy9jkz9a7j72n70v"; }; + version = "0.14.0"; }; - "rouge" = { - version = "1.10.1"; + public_suffix = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q"; type = "gem"; - sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz"; }; + version = "2.0.5"; }; - "safe_yaml" = { - version = "1.0.4"; + rb-fsevent = { source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pdiasp9zlr306yld19szapi6kdjk38rpv1hih9x0ry40x6mb63n"; type = "gem"; + }; + version = "0.9.8"; + }; + rb-inotify = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bq14f3md5nm00kgxgf0r9lcbn0vgbwljgajif0slxcwv622fjg9"; + type = "gem"; + }; + version = "0.9.8"; + }; + rdiscount = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3"; + type = "gem"; + }; + version = "2.2.0.1"; + }; + RedCloth = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy"; + type = "gem"; + }; + version = "4.3.2"; + }; + rouge = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13amckbdknnc5491ag28y8pqbyfpbzx5n4rlmadxhd3wkrhp92c8"; + type = "gem"; + }; + version = "1.11.1"; + }; + safe_yaml = { + source = { sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; - }; - }; - "sass" = { - version = "3.4.20"; - source = { type = "gem"; - sha256 = "04rpdcp258arh2wgdk9shbqnzd6cbbbpi3wpi9a0wby8awgpxmyf"; }; + version = "1.0.4"; }; -} + sass = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0da4mn3n60cm1ss1pw1rrpa7fxagglxiwcgvz1asf1qgf4mvcwyr"; + type = "gem"; + }; + version = "3.4.23"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/misc/termdown/default.nix b/pkgs/applications/misc/termdown/default.nix new file mode 100644 index 000000000000..631fc08e95ee --- /dev/null +++ b/pkgs/applications/misc/termdown/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, buildPythonApplication, +click, pyfiglet, dateutil}: + +with stdenv.lib; + +buildPythonApplication rec { + + name = "termdown-${version}"; + version = "1.11.0"; + + src = fetchFromGitHub { + rev = "d1e3504e02ad49013595112cb03fbf175822e58d"; + sha256 = "1i6fxymg52q95n0cbm4imdxh6yvpj3q57yf7w9z5d9pr35cf1iq5"; + repo = "termdown"; + owner = "trehn"; + }; + + propagatedBuildInputs = [ dateutil click pyfiglet ]; + + meta = with stdenv.lib; { + description = "Starts a countdown to or from TIMESPEC"; + longDescription = "Countdown timer and stopwatch in your terminal"; + homepage = https://github.com/trehn/termdown; + license = licenses.gpl3; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix index 6a326dba39c6..84ecf18c5ae5 100644 --- a/pkgs/applications/misc/udiskie/default.nix +++ b/pkgs/applications/misc/udiskie/default.nix @@ -4,13 +4,13 @@ pythonPackages.buildPythonApplication rec { name = "udiskie-${version}"; - version = "1.5.1"; + version = "1.7.0"; src = fetchFromGitHub { owner = "coldfix"; repo = "udiskie"; rev = version; - sha256 = "01x5fvllb262x6r3547l23z7p6hr7ddz034bkhmj2cqmf83sxwxd"; + sha256 = "1dvfhf0d79al0vnrwdknfiy2297m3f7fgn7syr85p29hd6260jnv"; }; buildInputs = [ diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index 60af439e94bb..09da875e2360 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "1r2w9gpahjv221j963bd4vn0gj4cxmb9j42f3cd9qdn890hizw84"; }; - enableParallelBuilding = false; + enableParallelBuilding = true; buildInputs = [ libtool openssl qtbase qttools ]; @@ -37,6 +37,6 @@ stdenv.mkDerivation rec { platforms = platforms.all; license = licenses.bsd3; maintainers = with maintainers; [ offline peterhoeg ]; - broken = builtins.compareVersions qtbase.version "5.7.0" >= 0; + broken = builtins.compareVersions qtbase.version "5.7.0" == 0; }; } diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix new file mode 100644 index 000000000000..e926822b42aa --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -0,0 +1,205 @@ +{ pname, version, updateScript ? null +, src, patches ? [], overrides ? {}, meta +, isTorBrowserLike ? false }: + +{ lib, stdenv, pkgconfig, pango, perl, python, zip, libIDL +, libjpeg, zlib, dbus, dbus_glib, bzip2, xorg +, freetype, fontconfig, file, nspr, nss, libnotify +, yasm, mesa, sqlite, unzip, makeWrapper +, hunspell, libevent, libstartup_notification, libvpx +, cairo, icu, libpng, jemalloc +, autoconf213, which, gnused, cargo, rustc + +, debugBuild ? false + +### optionals + +## optional libraries + +, alsaSupport ? true, alsaLib +, pulseaudioSupport ? true, libpulseaudio +, ffmpegSupport ? true, gstreamer, gst-plugins-base +, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook + +## privacy-related options + +, privacySupport ? isTorBrowserLike + +# WARNING: NEVER set any of the options below to `true` by default. +# Set to `privacySupport` or `false`. + +, webrtcSupport ? !privacySupport +, loopSupport ? !privacySupport || !isTorBrowserLike +, geolocationSupport ? !privacySupport +, googleAPISupport ? geolocationSupport +, crashreporterSupport ? false + +, safeBrowsingSupport ? false +, drmSupport ? false + +## other + +# If you want the resulting program to call itself +# "Firefox"/"Torbrowser" instead of "Nightly" or whatever, enable this +# option. However, in Firefox's case, those binaries may not be +# distributed without permission from the Mozilla Foundation, see +# http://www.mozilla.org/foundation/trademarks/. +, enableOfficialBranding ? false +}: + +assert stdenv.cc ? libc && stdenv.cc.libc != null; +assert !isTorBrowserLike -> loopSupport; # can't be disabled on firefox :( + +let + flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")]; +in + +stdenv.mkDerivation (rec { + name = "${pname}-unwrapped-${version}"; + + inherit src patches meta; + + buildInputs = [ + gtk2 perl zip libIDL libjpeg zlib bzip2 + dbus dbus_glib pango freetype fontconfig xorg.libXi + xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file + nspr libnotify xorg.pixman yasm mesa + xorg.libXScrnSaver xorg.scrnsaverproto + xorg.libXext xorg.xextproto sqlite unzip makeWrapper + hunspell libevent libstartup_notification libvpx /* cairo */ + icu libpng jemalloc + ] + ++ lib.optionals (!isTorBrowserLike) [ nss ] + + ++ lib.optional alsaSupport alsaLib + ++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed + ++ lib.optionals ffmpegSupport [ gstreamer gst-plugins-base ] + ++ lib.optional gtk3Support gtk3; + + nativeBuildInputs = + [ autoconf213 which gnused pkgconfig perl python cargo rustc ] + ++ lib.optional gtk3Support wrapGAppsHook; + + preConfigure = '' + # remove distributed configuration files + rm -f configure + rm -f js/src/configure + rm -f .mozconfig* + + # this will run autoconf213 + make -f client.mk configure-files + + configureScript="$(realpath ./configure)" + cd obj-* + '' + lib.optionalString googleAPISupport '' + # Google API key used by Chromium and Firefox. + # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, + # please get your own set of keys. + echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" >ga + ''; + + configureFlags = [ + "--enable-application=browser" + "--with-system-jpeg" + "--with-system-zlib" + "--with-system-bz2" + "--with-system-libevent" + "--with-system-libvpx" + "--with-system-png" # needs APNG support + "--with-system-icu" + "--enable-system-ffi" + "--enable-system-hunspell" + "--enable-system-pixman" + "--enable-system-sqlite" + #"--enable-system-cairo" + "--enable-startup-notification" + "--enable-content-sandbox" # available since 26.0, but not much info available + "--disable-tests" + "--disable-necko-wifi" # maybe we want to enable this at some point + "--disable-updater" + "--enable-jemalloc" + "--disable-maintenance-service" + "--disable-gconf" + "--enable-default-toolkit=cairo-gtk${if gtk3Support then "3" else "2"}" + ] + + # TorBrowser patches these + ++ lib.optionals (!isTorBrowserLike) [ + "--with-system-nss" + "--with-system-nspr" + ] + + # and wants these + ++ lib.optionals isTorBrowserLike [ + "--with-tor-browser-version=${version}" + "--enable-signmar" + "--enable-verify-mar" + + # We opt out of TorBrowser's nspr because that patch is useless on + # anything but Windows and produces zero fingerprinting + # possibilities on other platforms. + # Lets save some space instead. + "--with-system-nspr" + ] + + ++ flag alsaSupport "alsa" + ++ flag pulseaudioSupport "pulseaudio" + ++ flag ffmpegSupport "ffmpeg" + ++ lib.optional (!ffmpegSupport) "--disable-gstreamer" + ++ flag webrtcSupport "webrtc" + ++ lib.optionals isTorBrowserLike + (flag loopSupport "loop") + ++ flag geolocationSupport "mozril-geoloc" + ++ lib.optional googleAPISupport "--with-google-api-keyfile=ga" + ++ flag crashreporterSupport "crashreporter" + ++ flag safeBrowsingSupport "safe-browsing" + ++ flag drmSupport "eme" + + ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ] + else [ "--disable-debug" "--enable-release" + "--enable-optimize" + "--enable-strip" ]) + ++ lib.optional enableOfficialBranding "--enable-official-branding"; + + enableParallelBuilding = true; + + preInstall = '' + # The following is needed for startup cache creation on grsecurity kernels. + paxmark m dist/bin/xpcshell + ''; + + postInstall = '' + # For grsecurity kernels + paxmark m $out/lib/firefox-[0-9]*/{firefox,firefox-bin,plugin-container} + + # Remove SDK cruft. FIXME: move to a separate output? + rm -rf $out/share/idl $out/include $out/lib/firefox-devel-* + + # Needed to find Mozilla runtime + gappsWrapperArgs+=(--argv0 "$out/bin/.firefox-wrapped") + ''; + + postFixup = '' + # Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712. + patchelf --set-rpath "${lib.getLib libnotify + }/lib:$(patchelf --print-rpath "$out"/lib/firefox-*/libxul.so)" \ + "$out"/lib/firefox-*/libxul.so + ''; + + doInstallCheck = true; + installCheckPhase = '' + # Some basic testing + "$out/bin/firefox" --version + ''; + + passthru = { + browserName = "firefox"; + inherit version updateScript; + isFirefox3Like = true; + inherit isTorBrowserLike; + gtk = gtk2; + inherit nspr; + inherit ffmpegSupport; + }; + +} // overrides) diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix deleted file mode 100644 index 3193490b639f..000000000000 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ /dev/null @@ -1,175 +0,0 @@ -{ lib, stdenv, fetchurl, pkgconfig, gtk2, pango, perl, python, zip, libIDL -, libjpeg, zlib, dbus, dbus_glib, bzip2, xorg -, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify -, yasm, mesa, sqlite, unzip, makeWrapper -, hunspell, libevent, libstartup_notification, libvpx -, cairo, gstreamer, gst-plugins-base, icu, libpng, jemalloc, libpulseaudio -, autoconf213, which, cargo, rustc -, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl -, enableGTK3 ? false, gtk3, wrapGAppsHook -, debugBuild ? false -, # If you want the resulting program to call itself "Firefox" instead - # of "Nightly" or whatever, enable this option. However, those - # binaries may not be distributed without permission from the - # Mozilla Foundation, see - # http://www.mozilla.org/foundation/trademarks/. - enableOfficialBranding ? false -}: - -assert stdenv.cc ? libc && stdenv.cc.libc != null; - -let - -common = { pname, version, sha512, updateScript }: stdenv.mkDerivation rec { - name = "${pname}-unwrapped-${version}"; - - src = fetchurl { - url = - let ext = if lib.versionAtLeast version "41.0" then "xz" else "bz2"; - in "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.${ext}"; - inherit sha512; - }; - - # this patch should no longer be needed in 53 - # from https://bugzilla.mozilla.org/show_bug.cgi?id=1013882 - patches = lib.optional debugBuild ./fix-debug.patch; - - buildInputs = - [ gtk2 zip libIDL libjpeg zlib bzip2 - dbus dbus_glib pango freetype fontconfig xorg.libXi - xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file - alsaLib nspr nss libnotify xorg.pixman yasm mesa - xorg.libXScrnSaver xorg.scrnsaverproto - xorg.libXext xorg.xextproto sqlite unzip - hunspell libevent libstartup_notification libvpx /* cairo */ - icu libpng jemalloc - libpulseaudio # only headers are needed - ] - ++ lib.optional enableGTK3 gtk3 - ++ lib.optionals (!passthru.ffmpegSupport) [ gstreamer gst-plugins-base ]; - - nativeBuildInputs = - [ autoconf213 which gnused pkgconfig perl python cargo rustc ] - ++ lib.optional enableGTK3 wrapGAppsHook; - - configureFlags = - [ "--enable-application=browser" - "--with-system-jpeg" - "--with-system-zlib" - "--with-system-bz2" - "--with-system-nspr" - "--with-system-nss" - "--with-system-libevent" - "--with-system-libvpx" - "--with-system-png" # needs APNG support - "--with-system-icu" - "--enable-alsa" - "--enable-system-ffi" - "--enable-system-hunspell" - "--enable-system-pixman" - "--enable-system-sqlite" - #"--enable-system-cairo" - "--enable-startup-notification" - "--enable-content-sandbox" # available since 26.0, but not much info available - "--disable-crashreporter" - "--disable-tests" - "--disable-necko-wifi" # maybe we want to enable this at some point - "--disable-updater" - "--enable-jemalloc" - "--disable-gconf" - "--enable-default-toolkit=cairo-gtk${if enableGTK3 then "3" else "2"}" - "--with-google-api-keyfile=ga" - ] - ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ] - else [ "--disable-debug" "--enable-release" - "--enable-optimize" - "--enable-strip" ]) - ++ lib.optional enableOfficialBranding "--enable-official-branding"; - - enableParallelBuilding = true; - - preConfigure = - '' - configureScript="$(realpath ./configure)" - mkdir ../objdir - cd ../objdir - - # Google API key used by Chromium and Firefox. - # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, - # please get your own set of keys. - echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" >ga - ''; - - preInstall = - '' - # The following is needed for startup cache creation on grsecurity kernels. - paxmark m ../objdir/dist/bin/xpcshell - ''; - - postInstall = - '' - # For grsecurity kernels - paxmark m $out/lib/firefox-[0-9]*/{firefox,firefox-bin,plugin-container} - - # Remove SDK cruft. FIXME: move to a separate output? - rm -rf $out/share/idl $out/include $out/lib/firefox-devel-* - - # Needed to find Mozilla runtime - gappsWrapperArgs+=(--argv0 "$out/bin/.firefox-wrapped") - ''; - - postFixup = - # Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712. - '' - patchelf --set-rpath "${lib.getLib libnotify - }/lib:$(patchelf --print-rpath "$out"/lib/firefox-*/libxul.so)" \ - "$out"/lib/firefox-*/libxul.so - ''; - - doInstallCheck = true; - installCheckPhase = - '' - # Some basic testing - "$out/bin/firefox" --version - ''; - - meta = { - description = "A web browser" + lib.optionalString (pname == "firefox-esr") " (Extended Support Release)"; - homepage = http://www.mozilla.com/en-US/firefox/; - maintainers = with lib.maintainers; [ eelco ]; - platforms = lib.platforms.linux; - }; - - passthru = { - inherit nspr version updateScript; - gtk = gtk2; - isFirefox3Like = true; - browserName = "firefox"; - ffmpegSupport = lib.versionAtLeast version "46.0"; - }; -}; - -in { - - firefox-unwrapped = common { - pname = "firefox"; - version = "53.0"; - sha512 = "36ec810bab58e3d99478455a38427a5efbc74d6dd7d4bb93b700fd7429b9b89250efd0abe4609091483991802090c6373c8434dfc9ba64c79a778e51fd2a2886"; - updateScript = import ./update.nix { - attrPath = "firefox-unwrapped"; - inherit writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl; - }; - }; - - firefox-esr-unwrapped = common { - pname = "firefox-esr"; - version = "52.1.0esr"; - sha512 = "ba833904654eda347f83df77e04c8e81572772e8555f187b796ecc30e498b93fb729b6f60935731d9584169adc9d61329155364fddf635cbd11abebe4a600247"; - updateScript = import ./update.nix { - attrPath = "firefox-esr-unwrapped"; - versionSuffix = "esr"; - inherit writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl; - }; - }; - -} diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix new file mode 100644 index 000000000000..5bc020909f97 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -0,0 +1,103 @@ +{ lib, callPackage, fetchurl, fetchFromGitHub }: + +let common = opts: callPackage (import ./common.nix opts); in + +rec { + + firefox = common rec { + pname = "firefox"; + version = "53.0"; + src = fetchurl { + url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; + sha512 = "36ec810bab58e3d99478455a38427a5efbc74d6dd7d4bb93b700fd7429b9b89250efd0abe4609091483991802090c6373c8434dfc9ba64c79a778e51fd2a2886"; + }; + + meta = { + description = "A web browser built from Firefox source tree"; + homepage = http://www.mozilla.com/en-US/firefox/; + maintainers = with lib.maintainers; [ eelco ]; + platforms = lib.platforms.linux; + }; + updateScript = callPackage ./update.nix { + attrPath = "firefox-unwrapped"; + }; + } {}; + + firefox-esr = common rec { + pname = "firefox-esr"; + version = "52.1.0esr"; + src = fetchurl { + url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; + sha512 = "ba833904654eda347f83df77e04c8e81572772e8555f187b796ecc30e498b93fb729b6f60935731d9584169adc9d61329155364fddf635cbd11abebe4a600247"; + }; + + meta = firefox.meta // { + description = "A web browser built from Firefox Extended Support Release source tree"; + }; + updateScript = callPackage ./update.nix { + attrPath = "firefox-esr-unwrapped"; + versionSuffix = "esr"; + }; + } {}; + + tor-browser = common rec { + pname = "tor-browser"; + version = "6.5.2"; + isTorBrowserLike = true; + + # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb + src = fetchFromGitHub { + owner = "SLNOS"; + repo = "tor-browser"; + rev = "tor-browser-45.8.0esr-6.5-2"; + sha256 = "0vbcp1qlxjlph0dqibylsyvb8iah3lnzdxc56hllpvbn51vrp39j"; + }; + + overrides = { + unpackPhase = '' + # fetchFromGitHub produces ro sources, root dir gets a name that + # is too long for shebangs. fixing + cp -a $src . + mv *-src tor-browser + chmod -R +w tor-browser + cd tor-browser + + # set times for xpi archives + find . -exec touch -d'2010-01-01 00:00' {} \; + ''; + }; + + meta = { + description = "A web browser built from TorBrowser source tree"; + longDescription = '' + This is a version of TorBrowser with bundle-related patches + reverted. + + I.e. it's a variant of Firefox with less fingerprinting and + some isolation features you can't get with any extensions. + + Or, alternatively, a variant of TorBrowser that works like any + other UNIX program and doesn't expect you to run it from a + bundle. + + It will use your default Firefox profile if you're not careful + even! Be careful! + + It will clash with firefox binary if you install both. But its + not a problem since you should run browsers in separate + users/VMs anyway. + + Create new profile by starting it as + + $ firefox -ProfileManager + + and then configure it to use your tor instance. + ''; + homepage = https://www.torproject.org/projects/torbrowser.html; + platforms = lib.platforms.linux; + }; + } { + ffmpegSupport = false; + }; + +} diff --git a/pkgs/applications/networking/browsers/torbrowser/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix similarity index 99% rename from pkgs/applications/networking/browsers/torbrowser/default.nix rename to pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index 9bf8a184e72a..4443c8480663 100644 --- a/pkgs/applications/networking/browsers/torbrowser/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -99,7 +99,7 @@ let in stdenv.mkDerivation rec { - name = "tor-browser-${version}"; + name = "tor-browser-bundle-bin-${version}"; inherit version; src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}"); diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix index 651d00e57108..a7cc5d789382 100644 --- a/pkgs/applications/networking/cluster/mesos/default.nix +++ b/pkgs/applications/networking/cluster/mesos/default.nix @@ -22,7 +22,7 @@ let }); in stdenv.mkDerivation rec { - version = "1.1.0"; + version = "1.1.1"; name = "mesos-${version}"; enableParallelBuilding = true; @@ -30,7 +30,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "mirror://apache/mesos/${version}/${name}.tar.gz"; - sha256 = "1hdjd4syyp88l0bnh88bhzvn9466ad2ysfp9pq3kwj3qzwg5jv8g"; + sha256 = "0f46ebb130d2d4a9732f95d0a71d80c8c5967f3c172b110f2ece316e05922115"; }; patches = [ diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index 76984fed3404..c89f871b1c5f 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -37,7 +37,6 @@ let maintainers = with maintainers; [ jgeerds zimbatm peterhoeg ]; }; } // attrs'); - in { terraform_0_8_5 = generic { version = "0.8.5"; @@ -49,15 +48,13 @@ in { sha256 = "0ibgpcpvz0bmn3cw60nzsabsrxrbmmym1hv7fx6zmjxiwd68w5gb"; }; - terraform_0_9_3 = generic { - version = "0.9.3"; - sha256 = "00z72lwv0cprz1jjy0cr8dicl00zwc1zwsxzjssqnq0187sswkxw"; - + terraform_0_9_4 = generic { + version = "0.9.4"; + sha256 = "07vcmjyl0y48hm5lqqzdd51hmrxapvywzbdkg5f3rcqd7dn9c2xs"; postPatch = '' rm builtin/providers/dns/data_dns_cname_record_set_test.go rm builtin/providers/vsphere/resource_vsphere_file_test.go ''; - - doCheck = true; + doCheck = true; }; } diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index 2d0d194206d2..a4bbe15544a3 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -23,11 +23,11 @@ let # NOTE: When updating, please also update in current stable, # as older versions stop working - version = "24.4.16"; + version = "24.4.17"; sha256 = { - "x86_64-linux" = "01hnx52ag7wfclxnqzs9m09pnmisz9lczxgg3wm47qmwhagnb8la"; - "i686-linux" = "1cr0vfjwn60xdv2kh6kmmgf6g0s2y9mqklbfah59pm7k2yr2pvnf"; + "x86_64-linux" = "1wjr92vrbxyjbwyqf134h8fp1zi4d5wyyirii545wqadbgg9grh9"; + "i686-linux" = "1qsdidpy251irzkv0hx0ch0xnrwq6wq6b22g0n8b9d0a7xi08k7h"; }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); arch = diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix index f4f4aac5efa7..4f360c831a25 100644 --- a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix +++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix @@ -15,7 +15,7 @@ in buildInputs = with python27Packages; [ - python twisted urwid beautifulsoup wxPython pygobject2 + python twisted urwid wxPython pygobject2 wokkel dbus-python pyfeed wrapPython setuptools file pycrypto pyxdg ]; diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix index ccd1b5cfeae4..207581ed29b5 100644 --- a/pkgs/applications/networking/owncloud-client/default.nix +++ b/pkgs/applications/networking/owncloud-client/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, cmake, qt5, pkgconfig, qtkeychain, sqlite }: +{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, sqlite }: stdenv.mkDerivation rec { name = "owncloud-client-${version}"; - version = "2.3.0"; + version = "2.3.1"; src = fetchurl { url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz"; - sha256 = "10ah4zmnv4hfi50k59qwk990h1a4g95d3yvxqqrv4x1dv8p2sscf"; + sha256 = "051rky4rpm73flxxkhfdxqq23ncnk4ixhscbg74w82sa4d93f54k"; }; nativeBuildInputs = [ pkgconfig cmake ]; - buildInputs = [ qt5.qtbase qt5.qtwebkit qtkeychain sqlite ]; + buildInputs = [ qtbase qtwebkit qtkeychain sqlite ]; cmakeFlags = [ "-UCMAKE_INSTALL_LIBDIR" diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix index c656ff24df84..5b0129be5d0c 100644 --- a/pkgs/applications/networking/remote/citrix-receiver/default.nix +++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix @@ -22,7 +22,7 @@ , alsaLib }: -let versionRec = { major = "13"; minor = "4"; patch = "0"; }; +let versionRec = { major = "13"; minor = "5"; patch = "0"; }; in stdenv.mkDerivation rec { name = "citrix-receiver-${version}"; version = with versionRec; "${major}.${minor}.${patch}"; @@ -31,11 +31,11 @@ in stdenv.mkDerivation rec { prefixWithBitness = if stdenv.is64bit then "linuxx64" else "linuxx86"; src = with versionRec; requireFile rec { - name = "${prefixWithBitness}-${version}.10109380.tar.gz"; + name = "${prefixWithBitness}-${version}.10185126.tar.gz"; sha256 = if stdenv.is64bit - then "133brs0sq6d0mgr19rc6ig1n9ahm3ryi23v5nrgqfh0hgxqcrrjb" - else "0r7jfl5yqv1s2npy8l9gsn0gbb82f6raa092ppkc8xy5pni5sh7l"; + then "1r24mhkpcc0z95n597p07fz92pd1b8qqzp2z6w07rmb9wb8mpd4x" + else "0pwxshlryzhkl86cj9ryybm54alhzjx0gpp67fnvdn5r64wy1nd1"; message = '' In order to use Citrix Receiver, you need to comply with the Citrix EULA and download the ${if stdenv.is64bit then "64-bit" else "32-bit"} binaries, .tar.gz from: diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index 5c9e96c65277..b28a9040532a 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -16,13 +16,13 @@ in stdenv.mkDerivation rec { name = "teamviewer-${version}"; - version = "12.0.71510"; + version = "12.0.76279"; src = fetchurl { # There is a 64-bit package, but it has no differences apart from Debian dependencies. # Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason. url = "http://download.teamviewer.com/download/teamviewer_${version}_i386.deb"; - sha256 = "0f2qc2rpxk7zsyfxlsfr5gwbs9vhnzc3z7ib677pnr99bz06hbqp"; + sha256 = "15yhx66zxbjk0x3dpfg39gb1f2ajcp9kbp4zi58bfnvby277jl00"; }; unpackPhase = '' diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix new file mode 100644 index 000000000000..8079a0aabe66 --- /dev/null +++ b/pkgs/applications/networking/remote/xrdp/default.nix @@ -0,0 +1,106 @@ +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, which, perl, autoconf, automake, libtool, openssl, systemd, pam, fuse, libjpeg, libopus, nasm, xorg }: + +let + xorgxrdp = stdenv.mkDerivation rec { + name = "xorgxrdp-${version}"; + version = "0.2.1"; + + src = fetchFromGitHub { + owner = "neutrinolabs"; + repo = "xorgxrdp"; + rev = "v${version}"; + sha256 = "13713qs1v79xa02iw6vaj9b2q62ix770a32z56ql05d6yvfdsfhi"; + }; + + nativeBuildInputs = [ pkgconfig autoconf automake which libtool nasm ]; + + buildInputs = [ xorg.xorgserver ]; + + postPatch = '' + # patch from Debian, allows to run xrdp daemon under unprivileged user + substituteInPlace module/rdpClientCon.c \ + --replace 'g_sck_listen(dev->listen_sck);' 'g_sck_listen(dev->listen_sck); g_chmod_hex(dev->uds_data, 0x0660);' + + substituteInPlace configure.ac \ + --replace 'moduledir=`pkg-config xorg-server --variable=moduledir`' "moduledir=$out/lib/xorg/modules" \ + --replace 'sysconfdir="/etc"' "sysconfdir=$out/etc" + ''; + + preConfigure = "./bootstrap"; + + configureFlags = [ "XRDP_CFLAGS=-I${xrdp.src}/common" ]; + + enableParallelBuilding = true; + }; + + xrdp = stdenv.mkDerivation rec { + version = "0.9.2"; + rev = "48c26a3"; # Fixes https://github.com/neutrinolabs/xrdp/issues/609; not a patch on top of the official repo because "xorgxrdp.configureFlags" above includes "xrdp.src" which must be fixed already + name = "xrdp-${version}.${rev}"; + + src = fetchFromGitHub { + owner = "volth"; + repo = "xrdp"; + rev = rev; + fetchSubmodules = true; + sha256 = "0zs03amshmvy65d26vsv31n9jflkjf43vsjhg4crzifka3vz9p16"; + }; + + nativeBuildInputs = [ pkgconfig autoconf automake which libtool nasm ]; + + buildInputs = [ openssl systemd pam fuse libjpeg libopus xorg.libX11 xorg.libXfixes xorg.libXrandr ]; + + postPatch = '' + substituteInPlace sesman/xauth.c --replace "xauth -q" "${xorg.xauth}/bin/xauth -q" + ''; + + preConfigure = '' + (cd librfxcodec && ./bootstrap && ./configure --prefix=$out --enable-static --disable-shared) + ./bootstrap + ''; + dontDisableStatic = true; + configureFlags = [ "--with-systemdsystemunitdir=./do-not-install" "--enable-ipv6" "--enable-jpeg" "--enable-fuse" "--enable-rfxcodec" "--enable-opus" ]; + + installFlags = [ "DESTDIR=$(out)" "prefix=" ]; + + postInstall = '' + # remove generated keys (as non-determenistic) and upstart script + rm $out/etc/xrdp/{rsakeys.ini,key.pem,cert.pem,xrdp.sh} + + cp $src/keygen/openssl.conf $out/share/xrdp/openssl.conf + + substituteInPlace $out/etc/xrdp/sesman.ini --replace /etc/xrdp/pulse $out/etc/xrdp/pulse + + # remove all session types except Xorg (they are not supported by this setup) + ${perl}/bin/perl -i -ne 'print unless /\[(X11rdp|Xvnc|console|vnc-any|sesman-any|rdp-any|neutrinordp-any)\]/ .. /^$/' $out/etc/xrdp/xrdp.ini + + # remove all session types and then add Xorg + ${perl}/bin/perl -i -ne 'print unless /\[(X11rdp|Xvnc|Xorg)\]/ .. /^$/' $out/etc/xrdp/sesman.ini + + cat >> $out/etc/xrdp/sesman.ini <= 0; + inherit (qtbase.meta) platforms; + # works with qt 5.6 and qt 5.8 + broken = builtins.compareVersions qtbase.version "5.7.0" == 0; }; } diff --git a/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/pkgs/applications/version-management/git-and-tools/qgit/default.nix index 5e3532b5643d..7da45e2d3f96 100644 --- a/pkgs/applications/version-management/git-and-tools/qgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/qgit/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { license = licenses.gpl2; homepage = http://libre.tibirna.org/projects/qgit/wiki/QGit; description = "Graphical front-end to Git"; - maintainer = with maintainers; [ peterhoeg ]; + maintainers = with maintainers; [ peterhoeg ]; inherit (qtbase.meta) platforms; }; } diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 6816b6956cd5..674d6f46690b 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchFromGitHub, makeWrapper -, docutils, perl, pkgconfig, python3, which, ffmpeg_3_2 +, docutils, perl, pkgconfig, python3, which, ffmpeg , freefont_ttf, freetype, libass, libpthreadstubs , lua, lua5_sockets, libuchardet, libiconv ? null, darwin @@ -112,7 +112,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ docutils makeWrapper perl pkgconfig python3 which ]; buildInputs = [ - ffmpeg_3_2 freetype libass libpthreadstubs + ffmpeg freetype libass libpthreadstubs lua lua5_sockets libuchardet ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ libiconv Cocoa CoreAudio ]) diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix index 953368b7e3bc..bfce2cd6ae44 100644 --- a/pkgs/applications/virtualization/xen/generic.nix +++ b/pkgs/applications/virtualization/xen/generic.nix @@ -107,7 +107,8 @@ stdenv.mkDerivation (rec { # We want to do this before getting prefetched stuff to speed things up # (prefetched stuff has lots of files) find . -type f | xargs sed -i 's@/usr/bin/\(python\|perl\)@/usr/bin/env \1@g' - find . -type f | xargs sed -i 's@/bin/bash@/bin/sh@g' + find . -type f -not -path "./tools/hotplug/Linux/xendomains.in" \ + | xargs sed -i 's@/bin/bash@/bin/sh@g' # Get prefetched stuff ${withXenfiles (name: x: '' @@ -171,6 +172,11 @@ stdenv.mkDerivation (rec { ${config.postPatch or ""} ''; + postConfigure = '' + substituteInPlace tools/hotplug/Linux/xendomains \ + --replace /bin/ls ls + ''; + # TODO: Flask needs more testing before enabling it by default. #makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files "; makeFlags = [ "PREFIX=$(out) CONFIG_DIR=/etc" "XEN_SCRIPT_DIR=/etc/xen/scripts" ] diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 7f63664dadd0..6bc9b7475e1a 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -82,7 +82,7 @@ rec { export PATH=${shadow}/bin:$PATH mkdir -p /etc/pam.d if [[ ! -f /etc/passwd ]]; then - echo "root:x:0:0::/root:/bin/sh" > /etc/passwd + echo "root:x:0:0::/root:${stdenv.shell}" > /etc/passwd echo "root:!x:::::::" > /etc/shadow fi if [[ ! -f /etc/group ]]; then diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix deleted file mode 100644 index ccd46e20654f..000000000000 --- a/pkgs/build-support/grsecurity/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ stdenv -, lib -, overrideDerivation - -# required for gcc plugins -, gmp, libmpc, mpfr - -# the base kernel -, kernel - -, grsecPatch -, kernelPatches ? [] - -, localver ? "-grsec" -, modDirVersion ? "${kernel.version}${localver}" -, extraConfig ? "" -, ... -} @ args: - -assert (kernel.version == grsecPatch.kver); - -overrideDerivation (kernel.override { - inherit modDirVersion; - kernelPatches = lib.unique ([ grsecPatch ] ++ kernelPatches ++ (kernel.kernelPatches or [])); - extraConfig = '' - GRKERNSEC y - PAX y - ${extraConfig} - ''; - ignoreConfigErrors = true; -}) (attrs: { - nativeBuildInputs = (lib.chooseDevOutputs [ gmp libmpc mpfr ]) ++ (attrs.nativeBuildInputs or []); - preConfigure = '' - echo ${localver} >localversion-grsec - ${attrs.preConfigure or ""} - ''; -}) diff --git a/pkgs/build-support/kde/wrapper.nix b/pkgs/build-support/kde/wrapper.nix index 228eb696bd9a..4442b111d790 100644 --- a/pkgs/build-support/kde/wrapper.nix +++ b/pkgs/build-support/kde/wrapper.nix @@ -48,9 +48,9 @@ stdenv.mkDerivation { --suffix PATH : "$env/bin" \ --prefix XDG_CONFIG_DIRS : "$env/etc/xdg" \ --prefix XDG_DATA_DIRS : "$env/share:${gtk3}/share/gsettings-schemas/${gtk3.name}" \ - --set QML_IMPORT_PATH "$env/lib/qt5/imports" \ - --set QML2_IMPORT_PATH "$env/lib/qt5/qml" \ - --set QT_PLUGIN_PATH "$env/lib/qt5/plugins" \ + --prefix QML_IMPORT_PATH : "$env/lib/qt5/imports" \ + --prefix QML2_IMPORT_PATH : "$env/lib/qt5/qml" \ + --prefix QT_PLUGIN_PATH : "$env/lib/qt5/plugins" \ --prefix GIO_EXTRA_MODULES : "${dconf.lib}/lib/gio/modules" good="1" break diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix index c77db30a81ce..5ab24132290a 100644 --- a/pkgs/build-support/release/ant-build.nix +++ b/pkgs/build-support/release/ant-build.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation ( mkdir -p $out/bin cat >> $out/bin/${w.name} <> $out/${appdir}/config echo "JS_ENGINES = [NODE_JS]" >> $out/${appdir}/config echo "COMPILER_ENGINE = NODE_JS" >> $out/${appdir}/config - echo "CLOSURE_COMPILER = '${closurecompiler}/share/java/compiler.jar'" >> $out/${appdir}/config + echo "CLOSURE_COMPILER = '${closurecompiler}/share/java/closure-compiler-v${closurecompiler.version}.jar'" >> $out/${appdir}/config echo "JAVA = '${jre}/bin/java'" >> $out/${appdir}/config ''; diff --git a/pkgs/development/compilers/julia/0.5.nix b/pkgs/development/compilers/julia/0.5.nix index 32d98b1ce135..1ee4dea51e3b 100644 --- a/pkgs/development/compilers/julia/0.5.nix +++ b/pkgs/development/compilers/julia/0.5.nix @@ -54,12 +54,12 @@ in stdenv.mkDerivation rec { pname = "julia"; - version = "0.5.0"; + version = "0.5.1"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz"; - sha256 = "0bhickil88lalp9jdj1kmf4is70zinhx8ha9rng0g3z50r4a2qmv"; + sha256 = "1a9m7hzzrwk71gvwwrd1p45s64yid61i41n95gm5pzbry6p9fpl0"; }; prePatch = '' mkdir deps/srccache diff --git a/pkgs/development/compilers/mono/4.6.nix b/pkgs/development/compilers/mono/4.6.nix index 03ccd776c600..283c34efb321 100644 --- a/pkgs/development/compilers/mono/4.6.nix +++ b/pkgs/development/compilers/mono/4.6.nix @@ -2,6 +2,6 @@ callPackage ./generic.nix (rec { inherit Foundation libobjc; - version = "4.6.0.182"; - sha256 = "1sajwl7fqhkcmh697qqjj4z6amzkay7xf7npsvpm10gm071s5qi6"; + version = "4.6.2.16"; + sha256 = "190f7kcrm1y5x61s1xwdmjnwc3czsg50s3mml4xmix7byh3x2rc9"; }) diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index a50c71b62099..dcd110954c10 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, writeText, sbclBootstrap , sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit" -, threadSupport ? (stdenv.isi686 || stdenv.isx86_64) +, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.system) # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die. # Note that the created binaries still need `patchelf --set-interpreter ...` # to get rid of ${glibc} dependency. @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { name = "sbcl-${version}"; - version = "1.3.16"; + version = "1.3.17"; src = fetchurl { url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "0qw8kcn66sr1k7ilm6i66dk3ybym722ccxa4xi8w7bkhgc0ripdp"; + sha256 = "1bqd39cqcv129zxvp3w3z1x46m9g9nmgslnlrvcsbqwd69vgbfcl"; }; patchPhase = '' diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix index 8eb87279c79e..d91d25b8d317 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix @@ -52,4 +52,8 @@ self: super: { # http://hub.darcs.net/dolio/vector-algorithms/issue/9#comment-20170112T145715 vector-algorithms = dontCheck super.vector-algorithms; + # https://github.com/thoughtbot/yesod-auth-oauth2/pull/77 + yesod-auth-oauth2 = doJailbreak super.yesod-auth-oauth2; + + } diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index afb4b323fbdc..8f7e704d3aa6 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -5894,6 +5894,25 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "GLUT_2_7_0_12" = callPackage + ({ mkDerivation, array, base, containers, OpenGL, StateVar + , transformers + }: + mkDerivation { + pname = "GLUT"; + version = "2.7.0.12"; + sha256 = "66f516bd9f836e5252fe0186e447b68a61b594d9247466c502b74994d3e9f1b5"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base containers OpenGL StateVar transformers + ]; + homepage = "http://www.haskell.org/haskellwiki/Opengl"; + description = "A binding for the OpenGL Utility Toolkit"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "GLUtil" = callPackage ({ mkDerivation, array, base, bytestring, containers, directory , filepath, hpp, JuicyPixels, linear, OpenGL, OpenGLRaw @@ -5935,8 +5954,8 @@ self: { }: mkDerivation { pname = "GPipe"; - version = "2.1.8"; - sha256 = "236735a9ed98628d70c66f153378ff8a8b6e84c6e3d9ede1c1d0c2cc66e1fbca"; + version = "2.2"; + sha256 = "960ef739287f3e3078a3257adbb9c74c22df6ea69ab269f5a365da0133c6245c"; libraryHaskellDepends = [ base Boolean containers exception-transformers gl hashtables linear transformers @@ -5981,19 +6000,12 @@ self: { }) {}; "GPipe-GLFW" = callPackage - ({ mkDerivation, base, exception-transformers, GLFW-b, GPipe - , transformers - }: + ({ mkDerivation, async, base, containers, GLFW-b, GPipe, stm }: mkDerivation { pname = "GPipe-GLFW"; - version = "1.3.0"; - sha256 = "f929bfa320a76ca8c9769bf38b9de6b8928b9ef63f9b09c31a9dfe209f8826b6"; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base GLFW-b GPipe transformers ]; - executableHaskellDepends = [ - base exception-transformers GPipe transformers - ]; + version = "1.4.0"; + sha256 = "5409922cc181e2f7d943afe63b6154a65799ee6eba318a6201f303987c1eb529"; + libraryHaskellDepends = [ async base containers GLFW-b GPipe stm ]; homepage = "https://github.com/plredmond/GPipe-GLFW"; description = "GLFW OpenGL context creation for GPipe"; license = stdenv.lib.licenses.mit; @@ -9091,6 +9103,22 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "Hastodon" = callPackage + ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types + , MissingH, text + }: + mkDerivation { + pname = "Hastodon"; + version = "0.0.1"; + sha256 = "9aca8c337c989cb593b1deb1008968858b15f509606f2f80241c01c0b09a7277"; + libraryHaskellDepends = [ + aeson base bytestring http-conduit http-types MissingH text + ]; + homepage = "https://github.com/syucream/hastodon"; + description = "mastodon client module for Haskell"; + license = stdenv.lib.licenses.mit; + }) {}; + "Hate" = callPackage ({ mkDerivation, base, bytestring, GLFW-b, GLUtil, hpp, JuicyPixels , JuicyPixels-util, lens, mtl, multimap, OpenGL, random, stm @@ -9639,13 +9667,36 @@ self: { }) {Judy = null;}; "HsOpenSSL" = callPackage - ({ mkDerivation, base, bytestring, integer-gmp, network, openssl - , time + ({ mkDerivation, base, bytestring, Cabal, integer-gmp, network + , openssl, time }: mkDerivation { pname = "HsOpenSSL"; version = "0.11.4.7"; sha256 = "d37bc6ce6e9a36d725a91763bafdb492a61d18630968aab5ee7f2493e89d5f64"; + revision = "1"; + editedCabalFile = "38ee8f3bec45cc7b181a066e15ab7a1eb629cb4dd71514a17af7332638cba503"; + setupHaskellDepends = [ base Cabal ]; + libraryHaskellDepends = [ + base bytestring integer-gmp network time + ]; + librarySystemDepends = [ openssl ]; + testHaskellDepends = [ base bytestring ]; + homepage = "https://github.com/vshabanov/HsOpenSSL"; + description = "Partial OpenSSL binding for Haskell"; + license = stdenv.lib.licenses.publicDomain; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) openssl;}; + + "HsOpenSSL_0_11_4_8" = callPackage + ({ mkDerivation, base, bytestring, Cabal, integer-gmp, network + , openssl, time + }: + mkDerivation { + pname = "HsOpenSSL"; + version = "0.11.4.8"; + sha256 = "cc4d050827788ed1e36c314af8951c589b602febd819df43f12c5b671548211f"; + setupHaskellDepends = [ base Cabal ]; libraryHaskellDepends = [ base bytestring integer-gmp network time ]; @@ -10401,6 +10452,21 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "JuicyPixels-extra_0_2_0" = callPackage + ({ mkDerivation, base, criterion, hspec, JuicyPixels }: + mkDerivation { + pname = "JuicyPixels-extra"; + version = "0.2.0"; + sha256 = "f599ea9986ba7d38fd33214786c4d2a2f28b4039f21efa39115100930b64279d"; + libraryHaskellDepends = [ base JuicyPixels ]; + testHaskellDepends = [ base hspec JuicyPixels ]; + benchmarkHaskellDepends = [ base criterion JuicyPixels ]; + homepage = "https://github.com/mrkkrp/JuicyPixels-extra"; + description = "Efficiently scale, crop, flip images with JuicyPixels"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "JuicyPixels-repa" = callPackage ({ mkDerivation, base, bytestring, JuicyPixels, repa, vector }: mkDerivation { @@ -11863,10 +11929,10 @@ self: { ({ mkDerivation, base, glib, template-haskell }: mkDerivation { pname = "MissingK"; - version = "0.0.0.2"; - sha256 = "0360502acec1fbd91ca0ee5a7ed92d0a7f025b3a6e9a53647924f878cbfbd633"; + version = "0.0.1"; + sha256 = "dfc6a6e9dca10b2b67957381cec11cc5169e0f946237fe459299854dcc7c1ef5"; libraryHaskellDepends = [ base glib template-haskell ]; - homepage = "http://www.keera.es/blog/community/"; + homepage = "http://www.keera.co.uk/blog/"; description = "Useful types and definitions missing from other libraries"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -13256,6 +13322,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "OpenGL_3_0_2_0" = callPackage + ({ mkDerivation, base, bytestring, containers, GLURaw, ObjectName + , OpenGLRaw, StateVar, text, transformers + }: + mkDerivation { + pname = "OpenGL"; + version = "3.0.2.0"; + sha256 = "faa99459724d614d2cf2d2b83c7bda4898ee71752a253bf4699c096822450efb"; + libraryHaskellDepends = [ + base bytestring containers GLURaw ObjectName OpenGLRaw StateVar + text transformers + ]; + homepage = "http://www.haskell.org/haskellwiki/Opengl"; + description = "A binding for the OpenGL graphics system"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "OpenGLCheck" = callPackage ({ mkDerivation, base, checkers, haskell98, OpenGL, QuickCheck }: mkDerivation { @@ -16225,8 +16309,8 @@ self: { ({ mkDerivation, array, base, HGL, random, Yampa }: mkDerivation { pname = "SpaceInvaders"; - version = "0.4.2"; - sha256 = "03993ad20fb5142605b7b94208825ee7b847934435efcd720acc8c517d49bec5"; + version = "0.4.4"; + sha256 = "e9639e3a5e8376dc6a404cb238b83fc2550fadd62808450cbfe6651696812a4a"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ array base HGL random Yampa ]; @@ -16555,8 +16639,8 @@ self: { }: mkDerivation { pname = "StockholmAlignment"; - version = "1.0.2"; - sha256 = "4267e5eeb5bf0f962c557ac84cf7dfec748e442d091fd12e687d033993213abb"; + version = "1.0.3"; + sha256 = "fc4bf2899c38d1e483801293ffa95e31e7fb49d61192f6aace1d4f1fd465ef70"; libraryHaskellDepends = [ base colour diagrams-cairo diagrams-lib directory either-unwrap filepath parsec ParsecTools SVGFonts text vector @@ -18816,6 +18900,20 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "Yampa_0_10_5_1" = callPackage + ({ mkDerivation, base, deepseq, random }: + mkDerivation { + pname = "Yampa"; + version = "0.10.5.1"; + sha256 = "cb9d8fe10b49489a04f1dd5117351e7ba82da6702fd103390cf21ae4f3ed40e3"; + libraryHaskellDepends = [ base deepseq random ]; + testHaskellDepends = [ base ]; + homepage = "http://www.haskell.org/haskellwiki/Yampa"; + description = "Library for programming hybrid systems"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "Yampa-core" = callPackage ({ mkDerivation, base, deepseq, random, vector-space }: mkDerivation { @@ -20329,8 +20427,8 @@ self: { pname = "active"; version = "0.2.0.12"; sha256 = "55281f8fad2b2776969d04d1769fb99498477b58570e02f7a5c69022e3a8b91e"; - revision = "1"; - editedCabalFile = "ce9337ef3740c2b53ab2f5bec6d2019447fda7d7f2c5fe8f68d9930782fb93ff"; + revision = "2"; + editedCabalFile = "58b6749d9d67ccbe610228fa9a3e1d511205c60895def6249d560b09778ea19f"; libraryHaskellDepends = [ base lens linear semigroupoids semigroups vector ]; @@ -20427,6 +20525,28 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ad_4_3_3" = callPackage + ({ mkDerivation, array, base, Cabal, cabal-doctest, comonad + , containers, criterion, data-reify, directory, doctest, erf + , filepath, free, nats, reflection, transformers + }: + mkDerivation { + pname = "ad"; + version = "4.3.3"; + sha256 = "72b88c1703d57cbe41636d379f4e0ced50c65dd1e540a4b25c95eaf60767db2a"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + array base comonad containers data-reify erf free nats reflection + transformers + ]; + testHaskellDepends = [ base directory doctest filepath ]; + benchmarkHaskellDepends = [ base criterion erf ]; + homepage = "http://github.com/ekmett/ad"; + description = "Automatic Differentiation"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "adaptive-containers" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -21553,12 +21673,17 @@ self: { }) {}; "aig" = callPackage - ({ mkDerivation, base, base-compat, mtl, QuickCheck, vector }: + ({ mkDerivation, base, base-compat, mtl, QuickCheck, tasty + , tasty-ant-xml, tasty-quickcheck, vector + }: mkDerivation { pname = "aig"; - version = "0.2.4"; - sha256 = "ac0e06a707b7488de7e1f9d7b123703e2df14763f9e6448d67c4dd20ffdc88eb"; + version = "0.2.5"; + sha256 = "392f047901f63ed229b6987f2ceccb5d8980d86e33ddea9369dbf2ea23b8b984"; libraryHaskellDepends = [ base base-compat mtl QuickCheck vector ]; + testHaskellDepends = [ + base QuickCheck tasty tasty-ant-xml tasty-quickcheck + ]; description = "And-inverter graphs in Haskell"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -21929,15 +22054,18 @@ self: { }) {}; "alex" = callPackage - ({ mkDerivation, array, base, containers, directory, happy, process - , QuickCheck + ({ mkDerivation, array, base, Cabal, containers, directory + , filepath, happy, process, QuickCheck }: mkDerivation { pname = "alex"; version = "3.2.1"; sha256 = "a4e7f7ec729f4fae5a5c778bc48421a90acf65c7278f6970cf123fb3b6230e6c"; + revision = "1"; + editedCabalFile = "3a68e66a9cca5d3c2574bbb6e1a137178200d4444874977a8a28aad9002d80da"; isLibrary = false; isExecutable = true; + setupHaskellDepends = [ base Cabal directory filepath ]; executableHaskellDepends = [ array base containers directory QuickCheck ]; @@ -26987,6 +27115,32 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) assimp;}; + "ast-monad" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "ast-monad"; + version = "0.1.0.0"; + sha256 = "11c05f4b95c92c67bc4cb210d987a66a734ab0118b65d162da9a5108e9da0c0d"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base ]; + homepage = "https://github.com/mkdag/ast-monad#readme"; + description = "A library for constructing AST by using do-notation"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "ast-monad-json" = callPackage + ({ mkDerivation, ast-monad, base, hspec, text }: + mkDerivation { + pname = "ast-monad-json"; + version = "0.1.0.1"; + sha256 = "e6bb46a3104a0c5e7e1eacd020397d423c6bbc09f3393a4dcf999ca22afb1728"; + libraryHaskellDepends = [ ast-monad base text ]; + testHaskellDepends = [ ast-monad base hspec text ]; + homepage = "https://github.com/mkdag/ast-monad-json#readme"; + description = "A library for writing JSON"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "astar" = callPackage ({ mkDerivation, base, hashable, psqueues, unordered-containers }: mkDerivation { @@ -27858,10 +28012,10 @@ self: { }: mkDerivation { pname = "attoparsec-time"; - version = "0.1.3"; - sha256 = "2330fde1031338c51f2da12a2f09a4dbb19f7155fc00b40c76490753f054b118"; + version = "0.1.3.2"; + sha256 = "e02e05c58fe7d8d44c5fde8a11ab3a5aabd0f97a1e1d81d27d04e8982cfef45c"; libraryHaskellDepends = [ - attoparsec base-prelude scientific text time + attoparsec base base-prelude scientific text time ]; testHaskellDepends = [ base base-prelude directory doctest filepath @@ -28341,8 +28495,8 @@ self: { pname = "avers"; version = "0.0.17.1"; sha256 = "1b45d8aa036b3c2ec7ea180327ff3cdce28dc1e1ef319c062be79f0ffa7626f5"; - revision = "9"; - editedCabalFile = "3037f35d45d512a965f96b9f3d707c6ebed6b8096c579b055b62e62de9ed801c"; + revision = "10"; + editedCabalFile = "92f2a3994aad55e07b6627314f2ab13f7fcdab47ac76df45a1f4fcc64480ec3a"; libraryHaskellDepends = [ aeson attoparsec base bytestring clock containers cryptonite filepath inflections memory MonadRandom mtl network network-uri @@ -30089,8 +30243,8 @@ self: { ({ mkDerivation, base, deepseq, generics-sop, QuickCheck, text }: mkDerivation { pname = "basic-sop"; - version = "0.2.0.1"; - sha256 = "b0c6ffd05c21f7cd6c823bc4462aff90d4ae9dd2407cd7773282a3342338f73b"; + version = "0.2.0.2"; + sha256 = "c743fed1ec725786b1238d3c23fa4e1634abee9d837c56264b290f3e36fda531"; libraryHaskellDepends = [ base deepseq generics-sop QuickCheck text ]; @@ -30991,6 +31145,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "bimap_0_3_3" = callPackage + ({ mkDerivation, base, containers, exceptions, QuickCheck + , template-haskell + }: + mkDerivation { + pname = "bimap"; + version = "0.3.3"; + sha256 = "73829355c7bcbd3eedba22a382a04a3ab641702b00828790ec082ec2db3a8ad1"; + libraryHaskellDepends = [ base containers exceptions ]; + testHaskellDepends = [ + base containers exceptions QuickCheck template-haskell + ]; + homepage = "https://github.com/joelwilliamson/bimap"; + description = "Bidirectional mapping between two key types"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "bimap-server" = callPackage ({ mkDerivation, aeson, base, bimap, binary, directory, http-types , unix, wai, warp @@ -31496,8 +31668,8 @@ self: { pname = "binary-tagged"; version = "0.1.4.2"; sha256 = "311fab8c2bac00cb6785cb144e25ed58b2efce85e5dc64e30e2b5a2a16cdc784"; - revision = "4"; - editedCabalFile = "76530b6075b691eed9d1986d7487a03470a30abc3b92c7bb32abdcbe1a60b963"; + revision = "5"; + editedCabalFile = "39affff3f143ba26ab239ac04876f0a96f98a42fc4e19d55077532e20c9b34ab"; libraryHaskellDepends = [ aeson array base base16-bytestring binary bytestring containers generics-sop hashable nats scientific semigroups SHA tagged text @@ -33001,6 +33173,23 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "bits_0_5_1" = callPackage + ({ mkDerivation, base, bytes, Cabal, cabal-doctest, doctest, mtl + , transformers + }: + mkDerivation { + pname = "bits"; + version = "0.5.1"; + sha256 = "657e557bb913b53fb3b3fc7eda820cf3c85a5b89692d242275d3e8e8d9479c93"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ base bytes mtl transformers ]; + testHaskellDepends = [ base doctest ]; + homepage = "http://github.com/ekmett/bits"; + description = "Various bit twiddling and bitwise serialization primitives"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "bits-atomic" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -33868,8 +34057,8 @@ self: { }: mkDerivation { pname = "ble"; - version = "0.3.2.1"; - sha256 = "47632eb6dfe452fc408f206643cc0060804c7b6c378c52d3d3477c765cca6f8e"; + version = "0.3.3.0"; + sha256 = "763849dc7e8f3189cb293f6ed53f966140bf4265128e9a8eeb6b0f681181d676"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -35019,19 +35208,20 @@ self: { }) {}; "brainheck" = callPackage - ({ mkDerivation, base, containers, lens, megaparsec, mtl + ({ mkDerivation, base, containers, criterion, lens, megaparsec, mtl , optparse-applicative, recursion-schemes, text, vector }: mkDerivation { pname = "brainheck"; - version = "0.1.0.1"; - sha256 = "50f9f8aa9b2b31ab7bb85151ed986d6de4aa1a334bd8eea6dafdbd56d7c30a40"; + version = "0.1.0.2"; + sha256 = "1ee2d38c6cdd0d26805a98ec5b08402fe9ed8a3879cf60f0e5f198ec4d2d84ff"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base containers lens megaparsec mtl recursion-schemes text vector ]; executableHaskellDepends = [ base optparse-applicative text ]; + benchmarkHaskellDepends = [ base criterion text ]; homepage = "https://github.com/vmchale/brainheck#readme"; description = "Brainh*ck interpreter in haskell"; license = stdenv.lib.licenses.bsd3; @@ -35854,6 +36044,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "bytes_0_15_3" = callPackage + ({ mkDerivation, base, binary, bytestring, Cabal, cabal-doctest + , cereal, containers, directory, doctest, filepath, hashable, mtl + , scientific, text, time, transformers, transformers-compat + , unordered-containers, void + }: + mkDerivation { + pname = "bytes"; + version = "0.15.3"; + sha256 = "d8dcd6b66492db37e48b95535cf3bf91b1b0f356fedba403eb73f81158e0cd4d"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + base binary bytestring cereal containers hashable mtl scientific + text time transformers transformers-compat unordered-containers + void + ]; + testHaskellDepends = [ base directory doctest filepath ]; + homepage = "https://github.com/ekmett/bytes"; + description = "Sharing code for serialization between binary and cereal"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "byteset" = callPackage ({ mkDerivation, base, binary }: mkDerivation { @@ -37504,6 +37717,25 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "cabalish" = callPackage + ({ mkDerivation, base, Cabal, classy-prelude, directory, filepath + , optparse-applicative, text + }: + mkDerivation { + pname = "cabalish"; + version = "0.1.0.2"; + sha256 = "f1eec66796d8a909c7ae613fe5d40ea82087961b9bb05c24652479f82438a179"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base Cabal classy-prelude directory filepath optparse-applicative + text + ]; + homepage = "https://github.com/RobertFischer/cabalish#readme"; + description = "Provides access to the cabal file data for shell scripts"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "cabalmdvrpm" = callPackage ({ mkDerivation, base, Cabal, cabalrpmdeps, haskell98 }: mkDerivation { @@ -38689,22 +38921,15 @@ self: { }) {}; "casr-logbook" = callPackage - ({ mkDerivation, base, casr-logbook-html, casr-logbook-meta - , casr-logbook-meta-html, casr-logbook-reports - , casr-logbook-reports-html, casr-logbook-reports-meta - , casr-logbook-reports-meta-html, casr-logbook-types, digit - , directory, doctest, filepath, lucid, QuickCheck, template-haskell - , time + ({ mkDerivation, base, containers, digit, directory, doctest + , filepath, lens, lucid, QuickCheck, template-haskell, text, time }: mkDerivation { pname = "casr-logbook"; - version = "0.2.2"; - sha256 = "2eeb37db62ead7f718d4ef252e6492f4d2ff827fc24cc58f8da6f3205fe37fb6"; + version = "0.3.0"; + sha256 = "d0fe58cded95a230025580bc36bc2bfee68438bb22a6a839b639b3922fdf79c1"; libraryHaskellDepends = [ - base casr-logbook-html casr-logbook-meta casr-logbook-meta-html - casr-logbook-reports casr-logbook-reports-html - casr-logbook-reports-meta casr-logbook-reports-meta-html - casr-logbook-types digit lucid time + base containers digit lens lucid text time ]; testHaskellDepends = [ base directory doctest filepath QuickCheck template-haskell @@ -39823,8 +40048,8 @@ self: { }: mkDerivation { pname = "cgrep"; - version = "6.6.16"; - sha256 = "7161e331f409ee95abfab14f720ad300ce4c9bd37a9fae74de6643c0f30b134b"; + version = "6.6.17"; + sha256 = "029103cbdd3e312a5bc80f9e25b8fa8f0b9910f9948ed272f2f3bbf9ea4351a3"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -41267,6 +41492,36 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "clash-ghc_0_7_2" = callPackage + ({ mkDerivation, array, base, bifunctors, bytestring, clash-lib + , clash-prelude, clash-systemverilog, clash-verilog, clash-vhdl + , containers, deepseq, directory, filepath, ghc, ghc-boot + , ghc-typelits-extra, ghc-typelits-knownnat + , ghc-typelits-natnormalise, ghci, hashable, haskeline, lens, mtl + , process, text, time, transformers, unbound-generics, uniplate + , unix, unordered-containers + }: + mkDerivation { + pname = "clash-ghc"; + version = "0.7.2"; + sha256 = "d08f8673cc720c74d5337f8d72851134b2ed5d4c54a7683e6a88d503e4ae51ba"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base bifunctors bytestring clash-lib clash-prelude + clash-systemverilog clash-verilog clash-vhdl containers deepseq + directory filepath ghc ghc-boot ghc-typelits-extra + ghc-typelits-knownnat ghc-typelits-natnormalise ghci hashable + haskeline lens mtl process text time transformers unbound-generics + uniplate unix unordered-containers + ]; + executableHaskellDepends = [ base ]; + homepage = "http://www.clash-lang.org/"; + description = "CAES Language for Synchronous Hardware"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "clash-lib" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, clash-prelude , concurrent-supply, containers, data-binary-ieee754, deepseq @@ -41331,6 +41586,33 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "clash-prelude_0_11_2" = callPackage + ({ mkDerivation, array, base, constraints, criterion + , data-binary-ieee754, data-default, deepseq, doctest, ghc-prim + , ghc-typelits-extra, ghc-typelits-knownnat + , ghc-typelits-natnormalise, half, integer-gmp, lens, QuickCheck + , reflection, singletons, template-haskell, vector + }: + mkDerivation { + pname = "clash-prelude"; + version = "0.11.2"; + sha256 = "947134269d198bf4b4e35a4a893d61504740bed071deeda4f3b3608627668bb1"; + libraryHaskellDepends = [ + array base constraints data-binary-ieee754 data-default deepseq + ghc-prim ghc-typelits-extra ghc-typelits-knownnat + ghc-typelits-natnormalise half integer-gmp lens QuickCheck + reflection singletons template-haskell vector + ]; + testHaskellDepends = [ base doctest ]; + benchmarkHaskellDepends = [ + base criterion deepseq template-haskell + ]; + homepage = "http://www.clash-lang.org/"; + description = "CAES Language for Synchronous Hardware - Prelude library"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "clash-prelude-quickcheck" = callPackage ({ mkDerivation, base, clash-prelude, QuickCheck }: mkDerivation { @@ -41361,6 +41643,24 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "clash-systemverilog_0_7_2" = callPackage + ({ mkDerivation, base, clash-lib, clash-prelude, fgl, hashable + , lens, mtl, text, unordered-containers, wl-pprint-text + }: + mkDerivation { + pname = "clash-systemverilog"; + version = "0.7.2"; + sha256 = "3eaad8b635695e90faa468ee33c6a8a2daaa769dd3a63ee70fc10fccad47d514"; + libraryHaskellDepends = [ + base clash-lib clash-prelude fgl hashable lens mtl text + unordered-containers wl-pprint-text + ]; + homepage = "http://www.clash-lang.org/"; + description = "CAES Language for Synchronous Hardware - SystemVerilog backend"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "clash-verilog" = callPackage ({ mkDerivation, base, clash-lib, clash-prelude, fgl, hashable , lens, mtl, text, unordered-containers, wl-pprint-text @@ -41379,6 +41679,24 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "clash-verilog_0_7_2" = callPackage + ({ mkDerivation, base, clash-lib, clash-prelude, fgl, hashable + , lens, mtl, text, unordered-containers, wl-pprint-text + }: + mkDerivation { + pname = "clash-verilog"; + version = "0.7.2"; + sha256 = "5344184f2ad3b4474e8aecf57dee0fb2fbebd1b828e4ad3506d5d01a21cc6e25"; + libraryHaskellDepends = [ + base clash-lib clash-prelude fgl hashable lens mtl text + unordered-containers wl-pprint-text + ]; + homepage = "http://www.clash-lang.org/"; + description = "CAES Language for Synchronous Hardware - Verilog backend"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "clash-vhdl" = callPackage ({ mkDerivation, base, clash-lib, clash-prelude, fgl, hashable , lens, mtl, text, unordered-containers, wl-pprint-text @@ -41397,6 +41715,24 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "clash-vhdl_0_7_2" = callPackage + ({ mkDerivation, base, clash-lib, clash-prelude, fgl, hashable + , lens, mtl, text, unordered-containers, wl-pprint-text + }: + mkDerivation { + pname = "clash-vhdl"; + version = "0.7.2"; + sha256 = "7a6bb775c4a72463d44861b5ab952428af208a24bbea8cc60653b9c89ea8c3b0"; + libraryHaskellDepends = [ + base clash-lib clash-prelude fgl hashable lens mtl text + unordered-containers wl-pprint-text + ]; + homepage = "http://www.clash-lang.org/"; + description = "CAES Language for Synchronous Hardware - VHDL backend"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "classify" = callPackage ({ mkDerivation, base, containers, mtl }: mkDerivation { @@ -42261,6 +42597,108 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "clr-bindings" = callPackage + ({ mkDerivation, base, clr-host, clr-marshal, clr-typed, pipes + , template-haskell, text + }: + mkDerivation { + pname = "clr-bindings"; + version = "0.1.0.0"; + sha256 = "41553a590a7ffeb50303dbdae9ab18b79376ffb3d17ae3b418df41fc574012e7"; + libraryHaskellDepends = [ + base clr-host clr-marshal clr-typed pipes template-haskell text + ]; + testHaskellDepends = [ base ]; + homepage = "https://gitlab.com/tim-m89/clr-haskell/tree/master/libs/clr-bindings"; + description = "Glue between clr-host and clr-typed"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "clr-host" = callPackage + ({ mkDerivation, base, bytestring, Cabal, directory, file-embed + , filepath, glib, mono, transformers + }: + mkDerivation { + pname = "clr-host"; + version = "0.1.0.0"; + sha256 = "5c7d3e30658ad0d9decde2d5b96c382221e915f2fceeb2e23ae7eb3dd40f91dd"; + revision = "1"; + editedCabalFile = "093131d340d6560ccf3b0c951c2f7201e5eb5e15a3937b3d80918fc6b3b4e715"; + setupHaskellDepends = [ + base Cabal directory filepath transformers + ]; + libraryHaskellDepends = [ base bytestring file-embed ]; + librarySystemDepends = [ glib mono ]; + testHaskellDepends = [ base ]; + homepage = "https://gitlab.com/tim-m89/clr-haskell/tree/master/libs/clr-host"; + description = "Hosting the Common Language Runtime"; + license = stdenv.lib.licenses.bsd3; + }) {inherit (pkgs) glib; inherit (pkgs) mono;}; + + "clr-inline" = callPackage + ({ mkDerivation, base, bytestring, Cabal, clr-host, clr-marshal + , containers, criterion, directory, extra, filepath, here, hspec + , lens, process, template-haskell, temporary, text, transformers + }: + mkDerivation { + pname = "clr-inline"; + version = "0.1.0.0"; + sha256 = "b44491ae737d74306ee8e329dbb2112543c462be4400696f0d918a0398d53339"; + libraryHaskellDepends = [ + base bytestring Cabal clr-host clr-marshal containers directory + extra filepath here lens process template-haskell temporary text + transformers + ]; + testHaskellDepends = [ base hspec text ]; + benchmarkHaskellDepends = [ base criterion text ]; + homepage = "https://gitlab.com/tim-m89/clr-haskell"; + description = "Quasiquoters for inline C# and F#"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "clr-marshal" = callPackage + ({ mkDerivation, base, clr-host, text }: + mkDerivation { + pname = "clr-marshal"; + version = "0.1.0.0"; + sha256 = "530ec72001a71e2de21ec4c00a27d19dabeb5dc63f01d2624ca2928fbb82979d"; + libraryHaskellDepends = [ base clr-host text ]; + homepage = "https://gitlab.com/tim-m89/clr-haskell/tree/master/libs/clr-marshal"; + description = "Marshaling for the clr"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "clr-typed" = callPackage + ({ mkDerivation, base, clr-marshal, ghc-prim, text, tuple }: + mkDerivation { + pname = "clr-typed"; + version = "0.1.0.0"; + sha256 = "29d9fa9201383e8a74c992df344450d65c8949ffe52204e0a5092248cf43111f"; + revision = "1"; + editedCabalFile = "4bd80a1d9a2303e5756db026098cb1238c42c6bbafa595acc51ee4089382da09"; + libraryHaskellDepends = [ base clr-marshal ghc-prim text tuple ]; + testHaskellDepends = [ base ]; + homepage = "https://gitlab.com/tim-m89/clr-haskell/tree/master/libs/clr-typed"; + description = "A strongly typed Haskell interface to the CLR type system"; + license = stdenv.lib.licenses.bsd3; + }) {}; + + "clr-win-linker" = callPackage + ({ mkDerivation, base, directory, pipes, pipes-safe, process }: + mkDerivation { + pname = "clr-win-linker"; + version = "0.1.0.0"; + sha256 = "db90e14d25371eb6865c188fb22859f24000bc99bec22af76547fa43b170e482"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + base directory pipes pipes-safe process + ]; + homepage = "https://gitlab.com/tim-m89/clr-haskell/tree/master/utils/clr-win-linker"; + description = "A GHC linker wrapper tool to workaround a GHC >8.2 bug"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "cltw" = callPackage ({ mkDerivation, base, curl, mtl, random, tagsoup }: mkDerivation { @@ -42448,8 +42886,8 @@ self: { }: mkDerivation { pname = "cmark-sections"; - version = "0.1.0.3"; - sha256 = "08cf3bb1bf87e7e9685fb24f3204df7023b0c5f0bfd6d16c950cba3507651441"; + version = "0.2.0.0"; + sha256 = "8e687cc28d593138c2de00c0d8afa951c969fb2603cafba3985cb34577d03a77"; libraryHaskellDepends = [ base base-prelude cmark containers microlens split text ]; @@ -44045,8 +44483,8 @@ self: { }: mkDerivation { pname = "composite-aeson"; - version = "0.3.0.0"; - sha256 = "c2f48c0e6e4b975b65c64988abcd72890bb1ec428a7e6f3212a58cf379cfd820"; + version = "0.3.1.0"; + sha256 = "0a61caaa31d80e2b4439ffd3174fee6a3446a6257051d91806b6189ce14b66d6"; libraryHaskellDepends = [ aeson aeson-better-errors base composite-base containers contravariant generic-deriving hashable lens profunctors scientific @@ -44064,20 +44502,21 @@ self: { }) {}; "composite-base" = callPackage - ({ mkDerivation, base, hspec, lens, monad-control, mtl, QuickCheck - , template-haskell, text, transformers, transformers-base, vinyl + ({ mkDerivation, base, exceptions, hspec, lens, monad-control, mtl + , QuickCheck, template-haskell, text, transformers + , transformers-base, vinyl }: mkDerivation { pname = "composite-base"; - version = "0.3.0.0"; - sha256 = "48ec59eb4b27cd57be950f32b59ecfca118a597fcc84da0e466a009cfe411372"; + version = "0.3.1.0"; + sha256 = "c2c275548f0f566bb4eade400c026fab551fd65ff35f965858c37dc72726c0b6"; libraryHaskellDepends = [ - base lens monad-control mtl template-haskell text transformers - transformers-base vinyl + base exceptions lens monad-control mtl template-haskell text + transformers transformers-base vinyl ]; testHaskellDepends = [ - base hspec lens monad-control mtl QuickCheck template-haskell text - transformers transformers-base vinyl + base exceptions hspec lens monad-control mtl QuickCheck + template-haskell text transformers transformers-base vinyl ]; homepage = "https://github.com/ConferHealth/composite#readme"; description = "Shared utilities for composite-* packages"; @@ -44090,8 +44529,8 @@ self: { }: mkDerivation { pname = "composite-ekg"; - version = "0.3.0.0"; - sha256 = "548f3bd735ca1aad856f3088d37a6d631e264afa3cbd19a9b2918550f1044fda"; + version = "0.3.1.0"; + sha256 = "155d034a59166e1defe5d564a03f864eb9b99cc6c1853460c7ce954940c5e65e"; libraryHaskellDepends = [ base composite-base ekg ekg-core lens text vinyl ]; @@ -44107,8 +44546,8 @@ self: { }: mkDerivation { pname = "composite-opaleye"; - version = "0.3.0.0"; - sha256 = "cfd8e41e5824044de462aa890051cc3fb283c6417ff35208cec2f5f4618ab251"; + version = "0.3.1.0"; + sha256 = "388a609b0d55732fe4b17a155916aa94899b172991c45f9a1ebf713ddd8e1be0"; libraryHaskellDepends = [ base bytestring composite-base lens opaleye postgresql-simple product-profunctors profunctors template-haskell text vinyl @@ -45239,6 +45678,8 @@ self: { pname = "config-value"; version = "0.5"; sha256 = "2a2d825c1f23516c64d5ca6b587951b80be44006c09832177e61cfc0743692fa"; + revision = "1"; + editedCabalFile = "03d1de33c56ea5153710ced97a146038c5ec744335db1acb9f3a366fc4a24dc2"; libraryHaskellDepends = [ array base pretty text ]; libraryToolDepends = [ alex happy ]; homepage = "https://github.com/glguy/config-value"; @@ -47660,8 +48101,8 @@ self: { }: mkDerivation { pname = "credentials"; - version = "0.0.1.1"; - sha256 = "e9febd40fa2e4c551423ad9d7e323b2d10b1dc0dd56e551612e210f1e16a1e15"; + version = "0.0.2"; + sha256 = "cd5701533100e99cd3e74e77d51d39b11de959db5d6a1a450ee891cadf3bc388"; libraryHaskellDepends = [ aeson amazonka amazonka-core amazonka-dynamodb amazonka-kms base bytestring conduit cryptonite exceptions lens memory retry @@ -47682,10 +48123,8 @@ self: { }: mkDerivation { pname = "credentials-cli"; - version = "0.0.1.1"; - sha256 = "9abcaf0cbbb5e523d4ceeadff677844c5af668a5374a78ee5a004101fea90d70"; - revision = "1"; - editedCabalFile = "b64b55d3e9904385ed1f18bcf5e60baa7d8e06aeec6f29c8b9b1a9fc62a2f219"; + version = "0.0.2"; + sha256 = "d194b8252baec919de4e0f66578db47b28a3cec82bc4ddb68006b5054e627980"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -48589,20 +49028,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "cryptonite_0_22" = callPackage - ({ mkDerivation, base, bytestring, deepseq, ghc-prim, integer-gmp - , memory, tasty, tasty-hunit, tasty-kat, tasty-quickcheck + "cryptonite_0_23" = callPackage + ({ mkDerivation, base, bytestring, criterion, deepseq, foundation + , ghc-prim, integer-gmp, memory, random, tasty, tasty-hunit + , tasty-kat, tasty-quickcheck }: mkDerivation { pname = "cryptonite"; - version = "0.22"; - sha256 = "4be312a42a12ccd2ca60272ef485664f242c7ed89fa1909ba36a54c5fb6ff5f0"; + version = "0.23"; + sha256 = "ee4a1c2cec13f3697a2a35255022fe802b2e29cd836b280702f2495b5f6f0099"; libraryHaskellDepends = [ - base bytestring deepseq ghc-prim integer-gmp memory + base bytestring deepseq foundation ghc-prim integer-gmp memory ]; testHaskellDepends = [ base bytestring memory tasty tasty-hunit tasty-kat tasty-quickcheck ]; + benchmarkHaskellDepends = [ + base bytestring criterion memory random + ]; homepage = "https://github.com/haskell-crypto/cryptonite"; description = "Cryptography Primitives sink"; license = stdenv.lib.licenses.bsd3; @@ -49110,15 +49553,15 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "cubicbezier_0_6_0_1" = callPackage + "cubicbezier_0_6_0_3" = callPackage ({ mkDerivation, base, containers, fast-math, integration, matrices , microlens, microlens-mtl, microlens-th, mtl, parsec, tasty , tasty-hunit, vector, vector-space }: mkDerivation { pname = "cubicbezier"; - version = "0.6.0.1"; - sha256 = "13966701c791e61ae75347a6c78c263da9343febac856989500a614eda0635a3"; + version = "0.6.0.3"; + sha256 = "565ec57de9962efe8e357becd6d35e07389ef9c8565fb67925ccd5ba9c947315"; libraryHaskellDepends = [ base containers fast-math integration matrices microlens microlens-mtl microlens-th mtl vector vector-space @@ -50869,13 +51312,13 @@ self: { }) {}; "data-forest" = callPackage - ({ mkDerivation, base, doctest, forest }: + ({ mkDerivation, base, doctest }: mkDerivation { pname = "data-forest"; - version = "0.1.0.2"; - sha256 = "01311f85695e8d885298a53f6f1d85ace0b47a0c27dd4eb3d772b418e7baba69"; + version = "0.1.0.3"; + sha256 = "d0dfc0b7684d48ef988ccaed3f27b735f71a7beae7fd3803ffb50317422faa44"; libraryHaskellDepends = [ base ]; - testHaskellDepends = [ base doctest forest ]; + testHaskellDepends = [ base doctest ]; homepage = "https://github.com/chris-martin/haskell-libraries"; description = "A simple multi-way tree data structure"; license = stdenv.lib.licenses.asl20; @@ -51129,6 +51572,18 @@ self: { license = stdenv.lib.licenses.gpl3; }) {}; + "data-list-zigzag" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "data-list-zigzag"; + version = "0.1.1.0"; + sha256 = "3edc697f83a1a958e42cf19ee31e8d95c24086b36c47b3d80ec8412a79eddcdf"; + libraryHaskellDepends = [ base ]; + homepage = "https://github.com/erisco/data-list-zigzag"; + description = "A list but with a balanced enumeration of Cartesian product"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "data-map-multikey" = callPackage ({ mkDerivation, base, containers }: mkDerivation { @@ -61876,6 +62331,34 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ether_0_5_0_0" = callPackage + ({ mkDerivation, base, criterion, deepseq, exceptions, ghc-prim + , lens, mmorph, monad-control, mtl, QuickCheck, reflection, tagged + , tasty, tasty-quickcheck, template-haskell, transformers + , transformers-base, transformers-lift, writer-cps-mtl + }: + mkDerivation { + pname = "ether"; + version = "0.5.0.0"; + sha256 = "cee27d3d697de46be906553022e748477bbc60412901ae190d0ab64ad788f27a"; + libraryHaskellDepends = [ + base exceptions mmorph monad-control mtl reflection tagged + template-haskell transformers transformers-base transformers-lift + writer-cps-mtl + ]; + testHaskellDepends = [ + base ghc-prim lens mtl QuickCheck tasty tasty-quickcheck + transformers + ]; + benchmarkHaskellDepends = [ + base criterion deepseq lens mtl transformers + ]; + homepage = "https://int-index.github.io/ether/"; + description = "Monad transformers and classes"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ethereum-analyzer" = callPackage ({ mkDerivation, base, bimap, bytestring, containers , ethereum-analyzer-deps, extra, fgl, graphviz, hexstring, hoopl @@ -62391,6 +62874,32 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "eventstore_0_14_0_2" = callPackage + ({ mkDerivation, aeson, array, base, cereal, classy-prelude + , connection, containers, dns, dotnet-timespan, http-client, mtl + , protobuf, random, semigroups, stm, tasty, tasty-hunit, text, time + , unordered-containers, uuid + }: + mkDerivation { + pname = "eventstore"; + version = "0.14.0.2"; + sha256 = "6681fa07999b6c6ee7445b5244467caf6a1e476501dea8fb6674a3326ce776f3"; + libraryHaskellDepends = [ + aeson array base cereal classy-prelude connection containers dns + dotnet-timespan http-client mtl protobuf random semigroups stm time + unordered-containers uuid + ]; + testHaskellDepends = [ + aeson base classy-prelude connection dotnet-timespan stm tasty + tasty-hunit text time uuid + ]; + homepage = "http://github.com/YoEight/eventstore"; + description = "EventStore TCP Client"; + license = stdenv.lib.licenses.bsd3; + platforms = [ "x86_64-darwin" "x86_64-linux" ]; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "every-bit-counts" = callPackage ({ mkDerivation, base, haskell98 }: mkDerivation { @@ -63977,8 +64486,8 @@ self: { pname = "fay"; version = "0.23.1.16"; sha256 = "c46ef8cb7980bcf62ef7ccc9897e9c4246e6bec8cafc06d49ebe1d5bcd618a64"; - revision = "5"; - editedCabalFile = "6d7aa462319fe6e02907bf6f2d017e4bc2e9ad929ad8db4417f015972624f8c0"; + revision = "6"; + editedCabalFile = "2190f49533cd4256613bea999deb0a56284447801f994dc50161bd3791285aff"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -65492,6 +66001,19 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "finite-typelits_0_1_2_0" = callPackage + ({ mkDerivation, base, deepseq }: + mkDerivation { + pname = "finite-typelits"; + version = "0.1.2.0"; + sha256 = "3c52230d439724357d0c2b817223bb43d3a417e241b99f3ef58ab9dd838b1527"; + libraryHaskellDepends = [ base deepseq ]; + homepage = "https://github.com/mniip/finite-typelits"; + description = "A type inhabited by finitely many values, indexed by type-level naturals"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "first-and-last" = callPackage ({ mkDerivation, base, doctest }: mkDerivation { @@ -66728,8 +67250,8 @@ self: { }: mkDerivation { pname = "fmt"; - version = "0.1.0.0"; - sha256 = "94153a2e1aa613e8ab77eaa9fbc4723697b4cb4351f2383bc649290c2cbac495"; + version = "0.2.0.0"; + sha256 = "90dfc7b7fdc59d832d13b62a857ba27282b5a24af2affbb7f11be678d6e4e4f9"; libraryHaskellDepends = [ base base16-bytestring base64-bytestring bytestring containers microlens text text-format @@ -66973,6 +67495,33 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "folds_0_7_3" = callPackage + ({ mkDerivation, adjunctions, base, bifunctors, bytestring, Cabal + , cabal-doctest, comonad, constraints, contravariant, data-reify + , deepseq, directory, distributive, doctest, filepath, lens, mtl + , pointed, profunctors, reflection, semigroupoids, semigroups + , transformers, unordered-containers, vector + }: + mkDerivation { + pname = "folds"; + version = "0.7.3"; + sha256 = "e7c5cba85f8d7df8aa45503e735a8e9c27e409f5841540b79f087508599c0a09"; + configureFlags = [ "-f-test-hlint" ]; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + adjunctions base bifunctors comonad constraints contravariant + data-reify distributive lens mtl pointed profunctors reflection + semigroupoids transformers unordered-containers vector + ]; + testHaskellDepends = [ + base bytestring deepseq directory doctest filepath mtl semigroups + ]; + homepage = "http://github.com/ekmett/folds"; + description = "Beautiful Folding"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "folds-common" = callPackage ({ mkDerivation, base, containers, folds, tasty, tasty-quickcheck }: @@ -67267,13 +67816,15 @@ self: { pname = "forma"; version = "0.1.0"; sha256 = "4ae9efb4ca4bc806e8d700ad2532d17a3002b532e5fb05fab7d3582842de5881"; + revision = "1"; + editedCabalFile = "48b96ffd6c0e0db34b5eba95f69349a94f72004e5d56b17e486c91850f38fdf1"; libraryHaskellDepends = [ aeson base containers data-default-class mtl text unordered-containers ]; testHaskellDepends = [ aeson base hspec mtl text ]; homepage = "https://github.com/mrkkrp/forma"; - description = "Process forms sent to you in JSON format like a man"; + description = "Parse and validate forms in JSON format"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -67596,13 +68147,34 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "foundation_0_0_8" = callPackage + ({ mkDerivation, base, criterion, ghc-prim, mtl, QuickCheck, tasty + , tasty-hunit, tasty-quickcheck + }: + mkDerivation { + pname = "foundation"; + version = "0.0.8"; + sha256 = "0898e294758ba835c3be4693bf7533b7af20a178a925e67009ae5d892abcc9bb"; + revision = "1"; + editedCabalFile = "f0b53e59bf5eb4f0c8d7896c8b98940ed5a15aba49b186bb2a5949932a3efd34"; + libraryHaskellDepends = [ base ghc-prim ]; + testHaskellDepends = [ + base mtl QuickCheck tasty tasty-hunit tasty-quickcheck + ]; + benchmarkHaskellDepends = [ base criterion ]; + homepage = "https://github.com/haskell-foundation/foundation"; + description = "Alternative prelude with batteries and no dependencies"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "foundation-edge" = callPackage - ({ mkDerivation, base, bytestring, foundation }: + ({ mkDerivation, bytestring, foundation, text }: mkDerivation { pname = "foundation-edge"; - version = "0.0.1"; - sha256 = "8451eff606d689409ba70109a2fc6744ac849c56c0207a47275a4fadcf6ba257"; - libraryHaskellDepends = [ base bytestring foundation ]; + version = "0.0.2"; + sha256 = "e1e4295ebf93bbf2478fe9b1204f4ca15e1bcdd55e0bffae598cd68714e1acb5"; + libraryHaskellDepends = [ bytestring foundation text ]; homepage = "https://github.com/haskell-foundation/foundation-edge"; description = "foundation's edge with the conventional set of packages"; license = stdenv.lib.licenses.bsd3; @@ -68270,8 +68842,8 @@ self: { ({ mkDerivation, base }: mkDerivation { pname = "freetype2"; - version = "0.1.1"; - sha256 = "da18f9d3047277ba47e162dafa0b2a4777bfb6157b39ad91f9e808ba36f65e99"; + version = "0.1.2"; + sha256 = "517e80298890e903b03134d7840d3d1a517bfdad53127ed57c2fdd18cbfae302"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base ]; @@ -68549,6 +69121,17 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "fsh-csv" = callPackage + ({ mkDerivation, base, hint }: + mkDerivation { + pname = "fsh-csv"; + version = "0.2.0.0"; + sha256 = "15b93aff8ad23fd78b471bea83df25d970ec0997310df83e1485e9872fc11bd2"; + libraryHaskellDepends = [ base hint ]; + description = "csv parser for fsh"; + license = stdenv.lib.licenses.mit; + }) {}; + "fsharp" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -68746,17 +69329,17 @@ self: { }) {}; "ftphs" = callPackage - ({ mkDerivation, base, hslogger, MissingH, mtl, network, parsec - , regex-compat + ({ mkDerivation, base, bytestring, hslogger, MissingH, mtl, network + , parsec, regex-compat }: mkDerivation { pname = "ftphs"; - version = "1.0.9.1"; - sha256 = "ce0b05b2fc7f93a6195184ed1a8edee69a7a9cf4aa3d15ebeb25421715571bf2"; + version = "1.0.9.2"; + sha256 = "f90fdbf1c8f633c15e5536167c282ba1c08eca5e44dd790890afee8929d357c6"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base hslogger MissingH mtl network parsec regex-compat + base bytestring hslogger MissingH mtl network parsec regex-compat ]; homepage = "http://software.complete.org/ftphs"; description = "FTP Client and Server Library"; @@ -69573,13 +70156,14 @@ self: { }) {}; "gc" = callPackage - ({ mkDerivation, base, directory, doctest, filepath, hlint - , parallel + ({ mkDerivation, base, Cabal, cabal-doctest, directory, doctest + , filepath, hlint, parallel }: mkDerivation { pname = "gc"; - version = "0"; - sha256 = "0a699181d365bcec3e0da537a595c62ccf6d3a9df8865cb2ac5279421d6e9bcb"; + version = "0.0.1"; + sha256 = "61f5a1c4da66d2aef183fd0c79b58b35a0aff7c5bb8b2eba93a15d69430a5f96"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base directory doctest filepath hlint parallel @@ -70337,12 +70921,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "generics-sop_0_3_0_0" = callPackage + ({ mkDerivation, base, deepseq, ghc-prim, template-haskell }: + mkDerivation { + pname = "generics-sop"; + version = "0.3.0.0"; + sha256 = "03bcd0c46fdd126496f7b8eec25890a9ee888d09b65adb097501f7b93acf913a"; + revision = "1"; + editedCabalFile = "35a799ef954413d448a3e8451725b0b886240591cac1a456322f0253aa55d57e"; + libraryHaskellDepends = [ base deepseq ghc-prim template-haskell ]; + testHaskellDepends = [ base ]; + description = "Generic Programming using True Sums of Products"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "generics-sop-lens" = callPackage ({ mkDerivation, base, generics-sop, lens }: mkDerivation { pname = "generics-sop-lens"; version = "0.1.2.1"; sha256 = "4e49d4cc580d45e25e0abdeee12b1191ae75937af1c7ca03333979584a8a525c"; + revision = "1"; + editedCabalFile = "ee28830436813f3dd34669dd59d4dac3bb3d52241f6d12b562c2d76e49734d67"; libraryHaskellDepends = [ base generics-sop lens ]; homepage = "https://github.com/phadej/generics-sop-lens#readme"; description = "Lenses for types in generics-sop"; @@ -70361,6 +70962,54 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "genesis" = callPackage + ({ mkDerivation, base, directory, envparse, file-embed, filepath + , hspec, monad-control, monad-logger, monad-persist, persistent + , persistent-postgresql, persistent-sqlite, persistent-template + , resource-pool, template-haskell, text, text-conversions + }: + mkDerivation { + pname = "genesis"; + version = "0.0.1.0"; + sha256 = "4c93cb53fd0b7f8def666984500cbc063279ae501929377efc1dbb485c1e8296"; + libraryHaskellDepends = [ + base directory envparse file-embed filepath monad-control + monad-logger monad-persist persistent persistent-postgresql + persistent-template resource-pool template-haskell text + text-conversions + ]; + testHaskellDepends = [ + base hspec monad-control monad-logger monad-persist + persistent-sqlite persistent-template text + ]; + homepage = "https://github.com/cjdev/genesis#readme"; + description = "Opinionated bootstrapping for Haskell web services"; + license = stdenv.lib.licenses.isc; + }) {}; + + "genesis-test" = callPackage + ({ mkDerivation, base, envparse, genesis, hspec, hspec-expectations + , lifted-base, monad-control, monad-logger, monad-persist + , persistent-postgresql, persistent-template, text + , transformers-base + }: + mkDerivation { + pname = "genesis-test"; + version = "0.0.1.0"; + sha256 = "427e095a40747725116e08253aed44102e9d7807dfc3de2f2b868c00c0db408b"; + libraryHaskellDepends = [ + base genesis hspec hspec-expectations lifted-base monad-control + monad-logger monad-persist persistent-postgresql transformers-base + ]; + testHaskellDepends = [ + base envparse genesis hspec monad-logger monad-persist + persistent-template text + ]; + homepage = "https://github.com/cjdev/genesis#readme"; + description = "Opinionated bootstrapping for Haskell web services"; + license = stdenv.lib.licenses.isc; + }) {}; + "genetics" = callPackage ({ mkDerivation, base, random-fu }: mkDerivation { @@ -72084,14 +72733,19 @@ self: { }) {}; "ghcjs-dom-hello" = callPackage - ({ mkDerivation, base, ghcjs-dom, mtl }: + ({ mkDerivation, base, ghcjs-dom, jsaddle-warp, jsaddle-webkit2gtk + , mtl + }: mkDerivation { pname = "ghcjs-dom-hello"; - version = "4.0.0.0"; - sha256 = "c4ce7931a8121f7f3c78df896af8449eeca4fd11abdd90b4fa338fa207da6c6d"; - isLibrary = false; + version = "5.0.0.0"; + sha256 = "ea5e6392ec9a3e4450e2728cbd444f9b69e8bead6ae69a4b0ed8dcd4d56add6c"; + isLibrary = true; isExecutable = true; - executableHaskellDepends = [ base ghcjs-dom mtl ]; + libraryHaskellDepends = [ base ghcjs-dom mtl ]; + executableHaskellDepends = [ + base ghcjs-dom jsaddle-warp jsaddle-webkit2gtk mtl + ]; homepage = "https://github.com/ghcjs/ghcjs-dom-hello"; description = "GHCJS DOM Hello World, an example package"; license = stdenv.lib.licenses.mit; @@ -72333,6 +72987,27 @@ self: { license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) atk;}; + "gi-atk_2_0_12" = callPackage + ({ mkDerivation, atk, base, bytestring, Cabal, containers, gi-glib + , gi-gobject, haskell-gi, haskell-gi-base, text, transformers + }: + mkDerivation { + pname = "gi-atk"; + version = "2.0.12"; + sha256 = "1326ab0a7aa7ea89f0aeae0f1120692f04f056c891458b56d5cc909b1ef525b4"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-glib gi-gobject haskell-gi + haskell-gi-base text transformers + ]; + libraryPkgconfigDepends = [ atk ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "Atk bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) atk;}; + "gi-cairo" = callPackage ({ mkDerivation, base, bytestring, Cabal, cairo, containers , haskell-gi, haskell-gi-base, text, transformers @@ -72357,6 +73032,31 @@ self: { license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) cairo;}; + "gi-cairo_1_0_12" = callPackage + ({ mkDerivation, base, bytestring, Cabal, cairo, containers + , haskell-gi, haskell-gi-base, text, transformers + }: + mkDerivation { + pname = "gi-cairo"; + version = "1.0.12"; + sha256 = "13253ec1aa2ae9a4b57617e43cd54df95d2e6e83d2f3942eee8ccc855d602be0"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers haskell-gi haskell-gi-base text + transformers + ]; + libraryPkgconfigDepends = [ cairo ]; + doHaddock = false; + preCompileBuildDriver = '' + PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig" + setupCompileFlags+=" $(pkg-config --libs cairo-gobject)" + ''; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "Cairo bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) cairo;}; + "gi-gdk" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo , gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject, gi-pango, gtk3 @@ -72379,6 +73079,28 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {gtk3 = pkgs.gnome3.gtk;}; + "gi-gdk_3_0_12" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo + , gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject, gi-pango, gtk3 + , haskell-gi, haskell-gi-base, text, transformers + }: + mkDerivation { + pname = "gi-gdk"; + version = "3.0.12"; + sha256 = "d8185f9e0c5dff01b40e9080ecebe21c3422ec7138c4e3b9721fe82217f02de6"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-cairo gi-gdkpixbuf gi-gio gi-glib + gi-gobject gi-pango haskell-gi haskell-gi-base text transformers + ]; + libraryPkgconfigDepends = [ gtk3 ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "Gdk bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {gtk3 = pkgs.gnome3.gtk;}; + "gi-gdkpixbuf" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gdk_pixbuf , gi-gio, gi-glib, gi-gobject, haskell-gi, haskell-gi-base, text @@ -72400,6 +73122,28 @@ self: { license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) gdk_pixbuf;}; + "gi-gdkpixbuf_2_0_12" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gdk_pixbuf + , gi-gio, gi-glib, gi-gobject, haskell-gi, haskell-gi-base, text + , transformers + }: + mkDerivation { + pname = "gi-gdkpixbuf"; + version = "2.0.12"; + sha256 = "f925cc99ae9b12df1cdc6229526d31854128eacfa53f5dda1abfec9ec979b84f"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-gio gi-glib gi-gobject haskell-gi + haskell-gi-base text transformers + ]; + libraryPkgconfigDepends = [ gdk_pixbuf ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "GdkPixbuf bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) gdk_pixbuf;}; + "gi-gio" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib , gi-gobject, glib, haskell-gi, haskell-gi-base, text, transformers @@ -72420,6 +73164,27 @@ self: { license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) glib;}; + "gi-gio_2_0_12" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib + , gi-gobject, glib, haskell-gi, haskell-gi-base, text, transformers + }: + mkDerivation { + pname = "gi-gio"; + version = "2.0.12"; + sha256 = "e64bad35ed0340456bcd0aa41960ad3c695fedd13f4a2ed1f7387fdafd65568d"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-glib gi-gobject haskell-gi + haskell-gi-base text transformers + ]; + libraryPkgconfigDepends = [ glib ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "Gio bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) glib;}; + "gi-girepository" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-gobject , gobjectIntrospection, haskell-gi, haskell-gi-base, text @@ -72427,8 +73192,8 @@ self: { }: mkDerivation { pname = "gi-girepository"; - version = "1.0.11"; - sha256 = "3779ee7c9e97a96b05f43607adbde81addf0451b0a1f21e94a9a4353cec1fde2"; + version = "1.0.12"; + sha256 = "a8064418b5e7742dea49a935066a617bfeb658788358061c312206768bc97eb9"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-gobject haskell-gi haskell-gi-base @@ -72462,6 +73227,27 @@ self: { license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) glib;}; + "gi-glib_2_0_12" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, glib + , haskell-gi, haskell-gi-base, text, transformers + }: + mkDerivation { + pname = "gi-glib"; + version = "2.0.12"; + sha256 = "bd0e08bfaded3279470b510ab010142f490ccfce06cbbaba66e36df524ca6e5d"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers haskell-gi haskell-gi-base text + transformers + ]; + libraryPkgconfigDepends = [ glib ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "GLib bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) glib;}; + "gi-gobject" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib , haskell-gi, haskell-gi-base, text, transformers @@ -72482,6 +73268,27 @@ self: { license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs) glib;}; + "gi-gobject_2_0_12" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib + , haskell-gi, haskell-gi-base, text, transformers + }: + mkDerivation { + pname = "gi-gobject"; + version = "2.0.12"; + sha256 = "82110b303cc3118866e1d9ae455393e36e323125e81df6a48bbfd1fbde53a9a5"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-glib haskell-gi haskell-gi-base text + transformers + ]; + libraryPkgconfigDepends = [ glib ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "GObject bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) glib;}; + "gi-gst" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib , gi-gobject, gstreamer, haskell-gi, haskell-gi-base, text @@ -72489,8 +73296,8 @@ self: { }: mkDerivation { pname = "gi-gst"; - version = "1.0.11"; - sha256 = "36e63c2330cb274ac6ac8b1a5d4b06a590e10d91ed4209555a72a85dc0c2591a"; + version = "1.0.12"; + sha256 = "cb662cfe71ee8a88751cfd93fcd20b110eacc6f2f3897edf6d9cf9aa870b2320"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject haskell-gi @@ -72511,8 +73318,8 @@ self: { }: mkDerivation { pname = "gi-gstaudio"; - version = "1.0.11"; - sha256 = "faca30e17c95fc5fc00e72bbaef20bbb9edf2a4785f6bad6f6b4a742006d2f5d"; + version = "1.0.12"; + sha256 = "7f5cacdc91c935498c2dfb45ef1a671658022dd83ede1e608301c5c126b22daa"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase @@ -72533,8 +73340,8 @@ self: { }: mkDerivation { pname = "gi-gstbase"; - version = "1.0.11"; - sha256 = "ca1cf846609ee3a340161747df48885432304b4a4339d3328d3f8b5e683ff577"; + version = "1.0.12"; + sha256 = "5837b5dcca567251b5b3f5d36d2c5ad44f9983ef384b9296abfc09d304d2df25"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject gi-gst haskell-gi @@ -72555,8 +73362,8 @@ self: { }: mkDerivation { pname = "gi-gstvideo"; - version = "1.0.11"; - sha256 = "9f2b49fc2ee31fb4ee4f2bf82f509a8b9d4dc963eff0da62efa6b60e760f42e7"; + version = "1.0.12"; + sha256 = "ba6febe815fd28b16e9b0234fb58159aede65cf4b84e6f51e98036bc9661296e"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase @@ -72593,6 +73400,29 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {gtk3 = pkgs.gnome3.gtk;}; + "gi-gtk_3_0_14" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk + , gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject + , gi-pango, gtk3, haskell-gi, haskell-gi-base, text, transformers + }: + mkDerivation { + pname = "gi-gtk"; + version = "3.0.14"; + sha256 = "40746753292322b681792191fda061a761c4e866a3f46a187b33e7164971be60"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf + gi-gio gi-glib gi-gobject gi-pango haskell-gi haskell-gi-base text + transformers + ]; + libraryPkgconfigDepends = [ gtk3 ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "Gtk bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {gtk3 = pkgs.gnome3.gtk;}; + "gi-gtk-hs" = callPackage ({ mkDerivation, base, base-compat, containers, gi-gdk , gi-gdkpixbuf, gi-glib, gi-gobject, gi-gtk, haskell-gi-base, mtl @@ -72619,8 +73449,8 @@ self: { }: mkDerivation { pname = "gi-gtkosxapplication"; - version = "2.0.11"; - sha256 = "4d64ad35431052f221a37998b8ca7fa8850a9a98d2741133f64f978b2e3bcad7"; + version = "2.0.12"; + sha256 = "5d0a2b8fda1e7a3c4654b1de3fcde6f53559fa1b0cccc540456c1c6647c0f829"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-gdkpixbuf gi-gobject gi-gtk @@ -72642,8 +73472,8 @@ self: { }: mkDerivation { pname = "gi-gtksource"; - version = "3.0.12"; - sha256 = "b7babfb18749b73f32dab35c464f641381b1ebc333cbdd6fe2167825db45476c"; + version = "3.0.13"; + sha256 = "df587a0702afb4c9c00d5bfa6c09f2f90e7047cd07aaaa997b83e4a0f3bfe639"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf @@ -72679,14 +73509,14 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) webkitgtk24x;}; - "gi-javascriptcore_4_0_11" = callPackage + "gi-javascriptcore_4_0_12" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, haskell-gi , haskell-gi-base, text, transformers, webkitgtk }: mkDerivation { pname = "gi-javascriptcore"; - version = "4.0.11"; - sha256 = "d67899269ffeba7fa266644fb6d540c74d36fa9e15ca1890fc2c6bb1fa19e066"; + version = "4.0.12"; + sha256 = "e3adab3a808651a1408d8a1411b8cef32b75a2d05ce511b2b4c1100eec5597f3"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers haskell-gi haskell-gi-base text @@ -72707,8 +73537,8 @@ self: { }: mkDerivation { pname = "gi-notify"; - version = "0.7.11"; - sha256 = "206eaf4d06e5837e21f665212517c27c201e48bb306ea0ea77e05ce9e8d059ce"; + version = "0.7.12"; + sha256 = "66dc0be0ca776069da0e373b7b61b820e02773ce127b79bbe6740df272768965"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-gdkpixbuf gi-glib gi-gobject @@ -72729,8 +73559,8 @@ self: { }: mkDerivation { pname = "gi-ostree"; - version = "1.0.1"; - sha256 = "de10141aad3fe918b337743231d86f2dd70e876e6e49de8f4d36ef700d241299"; + version = "1.0.2"; + sha256 = "68e356d442415172191a3c60774219238b0b27a28921098e9f755d74b7623a75"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-gio gi-glib gi-gobject haskell-gi @@ -72770,6 +73600,32 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) cairo; inherit (pkgs.gnome2) pango;}; + "gi-pango_1_0_13" = callPackage + ({ mkDerivation, base, bytestring, Cabal, cairo, containers + , gi-glib, gi-gobject, haskell-gi, haskell-gi-base, pango, text + , transformers + }: + mkDerivation { + pname = "gi-pango"; + version = "1.0.13"; + sha256 = "f42f189b30358e710bef8d25fdd7563ba0b8262d009506d52761bd320256335b"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-glib gi-gobject haskell-gi + haskell-gi-base text transformers + ]; + libraryPkgconfigDepends = [ cairo pango ]; + doHaddock = false; + preCompileBuildDriver = '' + PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig" + setupCompileFlags+=" $(pkg-config --libs cairo-gobject)" + ''; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "Pango bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) cairo; inherit (pkgs.gnome2) pango;}; + "gi-pangocairo" = callPackage ({ mkDerivation, base, bytestring, Cabal, cairo, containers , gi-cairo, gi-glib, gi-gobject, gi-pango, haskell-gi @@ -72777,8 +73633,8 @@ self: { }: mkDerivation { pname = "gi-pangocairo"; - version = "1.0.12"; - sha256 = "e24214f43c50ecb1077168298bf48e447ddcb80ee8c8452fc02ef04df971a787"; + version = "1.0.13"; + sha256 = "0f9194258b1b822d4bcd89615a4d54689b29a7b9b0a4d4189e352215da65493f"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-cairo gi-glib gi-gobject gi-pango @@ -72803,8 +73659,8 @@ self: { }: mkDerivation { pname = "gi-poppler"; - version = "0.18.11"; - sha256 = "76ec68a35a83c99d3c8fd3374b02b0fede275ced4c21d4c967d817411a8c581b"; + version = "0.18.12"; + sha256 = "f797b1955e2023a05073cc75f36f4faddb122320a14c884d2c762d046152bf11"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-cairo gi-gio gi-glib gi-gobject @@ -72825,8 +73681,8 @@ self: { }: mkDerivation { pname = "gi-secret"; - version = "0.0.1"; - sha256 = "877f0d508b6bcdd46b2e2ab285de6cd96e687f3085c9b2bb7b23600834b29f9a"; + version = "0.0.2"; + sha256 = "ec3fe6061e0dfe73bca0d67ffcfa0b982cea77fdab97587bac69ae74bab7c2a1"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-gio gi-glib gi-gobject haskell-gi @@ -72860,6 +73716,28 @@ self: { license = stdenv.lib.licenses.lgpl21; }) {inherit (pkgs.gnome2) libsoup;}; + "gi-soup_2_4_12" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio + , gi-glib, gi-gobject, haskell-gi, haskell-gi-base, libsoup, text + , transformers + }: + mkDerivation { + pname = "gi-soup"; + version = "2.4.12"; + sha256 = "275d66016f19bef997dcce9a1dd3bad6b8f7b650243dea8eb57e68a6167b5f12"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-gio gi-glib gi-gobject haskell-gi + haskell-gi-base text transformers + ]; + libraryPkgconfigDepends = [ libsoup ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "Libsoup bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs.gnome2) libsoup;}; + "gi-vte" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk , gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk, gi-pango, haskell-gi @@ -72867,8 +73745,8 @@ self: { }: mkDerivation { pname = "gi-vte"; - version = "2.91.13"; - sha256 = "4dfce5aefb7e2e8daad8be77f3c64580bd5c1b90287513153f668497308c1b40"; + version = "2.91.14"; + sha256 = "5a20f82ec924a55f57aca1c05806824d88a791df028f39d7ca28a49470487bf7"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-gdk gi-gio gi-glib gi-gobject @@ -72906,6 +73784,30 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {inherit (pkgs) webkitgtk24x;}; + "gi-webkit_3_0_12" = callPackage + ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk + , gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject + , gi-gtk, gi-javascriptcore, gi-soup, haskell-gi, haskell-gi-base + , text, transformers, webkitgtk24x + }: + mkDerivation { + pname = "gi-webkit"; + version = "3.0.12"; + sha256 = "01d47b73dc867c3b5dd969b9bef9c4a4e998d4899fec5f899ed38aee862e2964"; + setupHaskellDepends = [ base Cabal haskell-gi ]; + libraryHaskellDepends = [ + base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf + gi-gio gi-glib gi-gobject gi-gtk gi-javascriptcore gi-soup + haskell-gi haskell-gi-base text transformers + ]; + libraryPkgconfigDepends = [ webkitgtk24x ]; + doHaddock = false; + homepage = "https://github.com/haskell-gi/haskell-gi"; + description = "WebKit bindings"; + license = stdenv.lib.licenses.lgpl21; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) webkitgtk24x;}; + "gi-webkit2" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk , gi-cairo, gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk @@ -72914,8 +73816,8 @@ self: { }: mkDerivation { pname = "gi-webkit2"; - version = "4.0.11"; - sha256 = "bc43fb893695cd0395ffdd3381e857d5201e2a7209feb6f6024e0d832219070b"; + version = "4.0.12"; + sha256 = "7f8c3fd5e54ba80edee55b23fa6d200cfb9897353c9366f2ccbfa2f9c81369b0"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-atk gi-cairo gi-gdk gi-gio gi-glib @@ -72937,8 +73839,8 @@ self: { }: mkDerivation { pname = "gi-webkit2webextension"; - version = "4.0.11"; - sha256 = "b16b5b2f54bceaa777c64bb5ed19244815892dafcd8b4ce949c6a858ccf19033"; + version = "4.0.12"; + sha256 = "513fb09b9d9600551c61de1e458f9c508399b4e9c0b6e1fafd32ceb440edca77"; setupHaskellDepends = [ base Cabal haskell-gi ]; libraryHaskellDepends = [ base bytestring containers gi-gobject gi-gtk gi-javascriptcore @@ -74494,8 +75396,8 @@ self: { }: mkDerivation { pname = "glicko"; - version = "0.1.1.0"; - sha256 = "740b5850982ea36f750c137930bf6e070b365618a547a520fcdab34fd4f913e9"; + version = "0.1.1.1"; + sha256 = "f10ea912c522e26ef5840534cd18a664e265232f8f34af6c9f8460ab30284ac3"; libraryHaskellDepends = [ base containers data-default deepseq lens parallel statistics ]; @@ -74542,8 +75444,8 @@ self: { }: mkDerivation { pname = "glirc"; - version = "2.20.3"; - sha256 = "2c50f79c534a9d350cf956f559041d7d344f5c09586c648ec4284a6093a7aec1"; + version = "2.20.4"; + sha256 = "3e110a840f679e968eb965ccba1d5cbc639716ac98d5c953a95ce6e85bfdcbd9"; isLibrary = true; isExecutable = true; setupHaskellDepends = [ base Cabal filepath ]; @@ -75159,8 +76061,8 @@ self: { }: mkDerivation { pname = "gnss-converters"; - version = "0.2.6"; - sha256 = "029d9ec796ae8cb7a1986676ea85552b3f48ddaa0c92dddb49e406cd3129b79f"; + version = "0.2.8"; + sha256 = "47d98848a3c2a13baeaab7ed12a93ced58b97c01c828e5342f73c73a6c181758"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -80167,13 +81069,13 @@ self: { }: mkDerivation { pname = "gtk-helpers"; - version = "0.0.7"; - sha256 = "671bf6f447083c6a60fb862cd694f3944248167a5291ff58d4f39c9cce1fa433"; + version = "0.0.9.1"; + sha256 = "b1017f768a6db5cccadd7f22c778e55657104e6fefd98b20fac9824f43fd9419"; libraryHaskellDepends = [ array base gio glib gtk mtl process template-haskell ]; homepage = "http://keera.es/blog/community"; - description = "A collection of auxiliary operations and widgets related to Gtk"; + description = "A collection of auxiliary operations and widgets related to Gtk+"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -84311,15 +85213,18 @@ self: { }) {}; "happy" = callPackage - ({ mkDerivation, array, base, containers, mtl, process }: + ({ mkDerivation, array, base, Cabal, containers, directory + , filepath, mtl, process + }: mkDerivation { pname = "happy"; version = "1.19.5"; sha256 = "62f03ac11d7b4b9913f212f5aa2eee1087f3b46dc07d799d41e1854ff02843da"; - revision = "1"; - editedCabalFile = "d6a01f50aab2c480799b7d19643c5bb01891e01ac97aa892ffec3e6029a1446c"; + revision = "2"; + editedCabalFile = "fc70418fedcdcf5e235e0eceeee7eeedf485d3833ab312d148cad74f49da70b7"; isLibrary = false; isExecutable = true; + setupHaskellDepends = [ base Cabal directory filepath ]; executableHaskellDepends = [ array base containers mtl ]; testHaskellDepends = [ base process ]; homepage = "http://www.haskell.org/happy/"; @@ -84437,8 +85342,8 @@ self: { }: mkDerivation { pname = "har"; - version = "0.3.0"; - sha256 = "268c183e842194e66a8483cc57c55ccb516d9396ce9d2c16be0495e9b0fbceea"; + version = "0.4.0"; + sha256 = "ff37aeb31502a4ca134beb7dfaa148f3b61bec5c0234f88e58c7b2be400e7abc"; libraryHaskellDepends = [ aeson base bytestring directory filepath text ]; @@ -84980,6 +85885,8 @@ self: { pname = "hashids"; version = "1.0.2.3"; sha256 = "ecd74235e8f729514214715b828bf479701aa4b777e4f104ea07534a30822534"; + revision = "1"; + editedCabalFile = "ccdb6eefcfb1a8c0f1e4751e4e469797224f88a59b8e9c725c111b90a6a6e27a"; libraryHaskellDepends = [ base bytestring containers split ]; testHaskellDepends = [ base bytestring containers split ]; homepage = "http://hashids.org/"; @@ -85200,8 +86107,8 @@ self: { }: mkDerivation { pname = "haskanoid"; - version = "0.1.5"; - sha256 = "2a2270b3e941ec942c7d12f641bcf651895f42341514759b1edb77390d205ecc"; + version = "0.1.5.2"; + sha256 = "ee866c34cae8021aab930a6f6b5817f7ec47d2089c68c45d4ce556cd39f584c3"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -89022,18 +89929,16 @@ self: { }) {inherit (pkgs) SDL_mixer;}; "hblas" = callPackage - ({ mkDerivation, base, blas, HUnit, liblapack, primitive - , storable-complex, tasty, tasty-hunit, vector + ({ mkDerivation, base, blas, hspec, liblapack, primitive + , storable-complex, vector }: mkDerivation { pname = "hblas"; - version = "0.3.2.1"; - sha256 = "3e159cc8c98735861edad47cd4da11bd5862bb629601a9bc441960c921ae8215"; - revision = "2"; - editedCabalFile = "48b2f43d8ac30594dc0fbcadc4f4a7a478394da7f223bc909aa18bdcadb99d09"; + version = "0.4.0.0"; + sha256 = "8bbd167775fd0bd14cbd24fc637de1d6fa4ba98ecf7781391cdae98426366b0a"; libraryHaskellDepends = [ base primitive storable-complex vector ]; librarySystemDepends = [ blas liblapack ]; - testHaskellDepends = [ base HUnit tasty tasty-hunit vector ]; + testHaskellDepends = [ base hspec primitive vector ]; homepage = "http://github.com/wellposed/hblas/"; description = "Human friendly BLAS and Lapack bindings for Haskell"; license = stdenv.lib.licenses.bsd3; @@ -89325,8 +90230,8 @@ self: { ({ mkDerivation, base, bluetooth, cwiid, unix }: mkDerivation { pname = "hcwiid"; - version = "0.0.5"; - sha256 = "9d249bc8263cb0ad576c64a71bbdd42fb423d2bfb5a2e9cdf449b5d0e64cc136"; + version = "0.0.6.1"; + sha256 = "21adb829fed670dd7dcd3c1412b53af6ecd3c85cf23067d13ac77dc2167df4b0"; libraryHaskellDepends = [ base unix ]; librarySystemDepends = [ bluetooth cwiid ]; homepage = "https://github.com/ivanperez-keera/hcwiid"; @@ -89808,6 +90713,23 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "heaps_0_3_4_1" = callPackage + ({ mkDerivation, base, Cabal, cabal-doctest, directory, doctest + , filepath + }: + mkDerivation { + pname = "heaps"; + version = "0.3.4.1"; + sha256 = "7c2567095b8459e8cee61df6a3ee3adb67b8f2f5a42422b444c3e3ce271c2ff9"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base directory doctest filepath ]; + homepage = "http://github.com/ekmett/heaps/"; + description = "Asymptotically optimal Brodal/Okasaki heaps"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "heapsort" = callPackage ({ mkDerivation, array, base }: mkDerivation { @@ -92529,8 +93451,8 @@ self: { }: mkDerivation { pname = "hinterface"; - version = "0.5.0.1"; - sha256 = "0c25984c5713318e00990d0a787fb3d788fe0211273d1f7901a8d590b4d3a700"; + version = "0.5.0.2"; + sha256 = "4b2b3ebf5b864ac2770661059330c10d672142b010a2c50137cfa236afe568c5"; libraryHaskellDepends = [ array async base binary bytestring containers cryptonite exceptions lifted-async lifted-base memory monad-control monad-logger mtl @@ -92599,6 +93521,30 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "hip_1_5_3_0" = callPackage + ({ mkDerivation, base, bytestring, Chart, Chart-diagrams, colour + , criterion, deepseq, directory, filepath, hspec, JuicyPixels + , netpbm, primitive, process, QuickCheck, repa, repa-algorithms + , temporary, vector + }: + mkDerivation { + pname = "hip"; + version = "1.5.3.0"; + sha256 = "f9c7a34e9fbbb208adcf15d8ea76c44a8a13ec852261f0bb4913a3dfcac74f1e"; + libraryHaskellDepends = [ + base bytestring Chart Chart-diagrams colour deepseq directory + filepath JuicyPixels netpbm primitive process repa temporary vector + ]; + testHaskellDepends = [ base bytestring hspec QuickCheck ]; + benchmarkHaskellDepends = [ + base criterion deepseq repa repa-algorithms vector + ]; + homepage = "https://github.com/lehins/hip"; + description = "Haskell Image Processing (HIP) Library"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "hipbot" = callPackage ({ mkDerivation, aeson, base, bifunctors, blaze-builder, bytestring , either, exceptions, http-client, http-client-tls, http-types, jwt @@ -95098,6 +96044,8 @@ self: { pname = "hookup"; version = "0.1.0.0"; sha256 = "0b321b470cb66f8b0d1611cbe26ec6d0c8904f984456bd2fbe292fb2efd8a580"; + revision = "1"; + editedCabalFile = "85316f17f206fc4fbff16d40ef7c50029b9abb1f1674298869be468b1d7eb7e3"; libraryHaskellDepends = [ base bytestring HsOpenSSL HsOpenSSL-x509-system network socks template-haskell @@ -96081,6 +97029,20 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "hpg" = callPackage + ({ mkDerivation, base, random }: + mkDerivation { + pname = "hpg"; + version = "0.4"; + sha256 = "4a6f436fe9dbd5ee5ae2b996c45c60895b8f7adae33e0aae71ab238bdc768710"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base random ]; + homepage = "https://git.alokat.org/hpg"; + description = "no"; + license = stdenv.lib.licenses.isc; + }) {}; + "hpio" = callPackage ({ mkDerivation, async, base, base-compat, bytestring, containers , directory, doctest, exceptions, filepath, hlint, hspec, mtl @@ -97396,8 +98358,8 @@ self: { ({ mkDerivation, base, containers, directory, filepath, process }: mkDerivation { pname = "hsc2hs"; - version = "0.68.1"; - sha256 = "507bf174c7ab14667d452efb6b539798a944f2a5fd4cd45120a1afb8551ebe75"; + version = "0.68.2"; + sha256 = "f609707c247c077013fe55e8b2e81ff531a2bc56ac3d962297ec8af2a2d13618"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -97889,18 +98851,21 @@ self: { }) {}; "hscuid" = callPackage - ({ mkDerivation, base, containers, formatting, hostname, random - , text, time, transformers, unix + ({ mkDerivation, base, containers, criterion, hostname, mwc-random + , random, text, time, transformers, unix }: mkDerivation { pname = "hscuid"; - version = "1.2.0.0"; - sha256 = "b4b03b2005cc3e6651b2e221ce5dcdf73026b8f6ab175d0f5a8fe6b427ebb505"; + version = "1.2.0.1"; + sha256 = "b2c23fb92ccf637e5de07a92168c6647024da821204f877a925ffed1679cc036"; + isLibrary = true; + isExecutable = true; libraryHaskellDepends = [ - base formatting hostname random text time transformers unix + base hostname mwc-random random text time transformers unix ]; - testHaskellDepends = [ base containers ]; - homepage = "https://github.com/eightyeight/hscuid"; + executableHaskellDepends = [ base criterion ]; + testHaskellDepends = [ base containers text ]; + homepage = "https://github.com/crabmusket/hscuid"; description = "Collision-resistant IDs"; license = stdenv.lib.licenses.bsd3; }) {}; @@ -103760,8 +104725,8 @@ self: { ({ mkDerivation, base, blaze-html, deepseq, text }: mkDerivation { pname = "hyper"; - version = "0.1.0.0"; - sha256 = "04c76c0c88f658e9878f8090cc2e1351977128861ce4c03ce52d11c42e44b3da"; + version = "0.1.0.1"; + sha256 = "44ab0512d4bf64482a715dea87224bf2a33f81470add489c3fd25bcc878cee4b"; libraryHaskellDepends = [ base blaze-html deepseq text ]; description = "Display class for the HyperHaskell graphical Haskell interpreter"; license = stdenv.lib.licenses.bsd3; @@ -103773,8 +104738,8 @@ self: { }: mkDerivation { pname = "hyper-extra"; - version = "0.1.0.0"; - sha256 = "1c36de58e0f51cfc3f47c83185c9d08539491d208c3b956f7de1119cd94858c8"; + version = "0.1.0.1"; + sha256 = "6cb7b9708597584838ab4fff307d9ddfd96ece44b50e0ffdd0ded18bf1b8cbb9"; libraryHaskellDepends = [ base diagrams-lib diagrams-svg hyper svg-builder text ]; @@ -103789,8 +104754,8 @@ self: { }: mkDerivation { pname = "hyper-haskell-server"; - version = "0.1.0.0"; - sha256 = "dcbd3d4e9b4026d6531fb54041e5ce595cec4094098a902d9e24c8f7b69516b8"; + version = "0.1.0.1"; + sha256 = "43b0d770896ca0c38aee876bb23ee03b20009ce7afab4d6b5ca07a99f6e7f290"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -103930,6 +104895,27 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "hyphenation_0_7" = callPackage + ({ mkDerivation, base, bytestring, Cabal, cabal-doctest, containers + , doctest, unordered-containers, zlib + }: + mkDerivation { + pname = "hyphenation"; + version = "0.7"; + sha256 = "3a61abc2aab369f092141b9d9bd68ded16b3614ac333fb6f486abd399bdb3e50"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + base bytestring containers unordered-containers zlib + ]; + testHaskellDepends = [ + base containers doctest unordered-containers + ]; + homepage = "http://github.com/ekmett/hyphenation"; + description = "Configurable Knuth-Liang hyphenation"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "hypher" = callPackage ({ mkDerivation, aeson, base, bytestring, Cabal, containers , data-default, hashable, HTTP, http-conduit, http-types, HUnit @@ -105004,6 +105990,20 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "ihs" = callPackage + ({ mkDerivation, base, process }: + mkDerivation { + pname = "ihs"; + version = "0.1.0.0"; + sha256 = "8ad33d91faae09309cf0286a26dfb0efbd8e1489e33de9fa44a529b5dfd3179d"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base process ]; + homepage = "https://github.com/minad/ihs"; + description = "Interpolated Haskell"; + license = stdenv.lib.licenses.publicDomain; + }) {}; + "ihttp" = callPackage ({ mkDerivation, attoparsec, base, bytestring, containers , contstuff, enumerator, netlines, network @@ -107025,6 +108025,26 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "intervals_0_8" = callPackage + ({ mkDerivation, array, base, Cabal, cabal-doctest, directory + , distributive, doctest, filepath, ghc-prim, QuickCheck + , template-haskell + }: + mkDerivation { + pname = "intervals"; + version = "0.8"; + sha256 = "6423945feae2c1e0f4113900cac23efb95051bc5e18a8c93966db24fef81e8c4"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ array base distributive ghc-prim ]; + testHaskellDepends = [ + base directory doctest filepath QuickCheck template-haskell + ]; + homepage = "http://github.com/ekmett/intervals"; + description = "Interval Arithmetic"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "intricacy" = callPackage ({ mkDerivation, array, base, binary, bytestring, containers , crypto-api, crypto-pubkey-types, cryptohash, directory, filepath @@ -107871,8 +108891,8 @@ self: { pname = "irc-core"; version = "2.2.0.1"; sha256 = "6c160d1073ee40b12d294f1e4dbb4691aedb73150eebf027475db05ce1efa20a"; - revision = "1"; - editedCabalFile = "fd862f303735a1a3c2f7913d5f6834a2711c20aacdabb98515504b8a4de986a6"; + revision = "2"; + editedCabalFile = "93130a04995f8cde1b4f4c5a48f08c5ff3d58e040253e365f5f5e2b352e06025"; libraryHaskellDepends = [ attoparsec base base64-bytestring bytestring hashable primitive text time vector @@ -108315,6 +109335,26 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "isotope_0_5_0_1" = callPackage + ({ mkDerivation, base, containers, hspec, megaparsec, QuickCheck + , template-haskell, th-lift + }: + mkDerivation { + pname = "isotope"; + version = "0.5.0.1"; + sha256 = "eaa619c278872931b6d2db21faa22684f98ffc62e172e4f352f59e8d4df6eb56"; + libraryHaskellDepends = [ + base containers megaparsec template-haskell th-lift + ]; + testHaskellDepends = [ + base containers hspec megaparsec QuickCheck + ]; + homepage = "https://github.com/Michaelt293/Element-isotopes/blob/master/README.md"; + description = "Isotopic masses and relative abundances"; + license = stdenv.lib.licenses.gpl3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ispositive" = callPackage ({ mkDerivation, base, hspec }: mkDerivation { @@ -108575,10 +109615,8 @@ self: { }: mkDerivation { pname = "ivory"; - version = "0.1.0.5"; - sha256 = "437d5bc2fa69037e6fa5beb7d0a7b27f4d7e92404531b698be5a84946294a158"; - revision = "1"; - editedCabalFile = "0fa37aeb8c009a31030e0fe7fbb278907c41909c0f06d74b9942adbf58fc446f"; + version = "0.1.0.6"; + sha256 = "8afde83a2fb9277143e56f6b33edfeedc6a69e98662fd7f16c11eb242eb3538d"; libraryHaskellDepends = [ array base base-compat containers dlist filepath monadLib pretty template-haskell text th-lift @@ -109757,8 +110795,8 @@ self: { }: mkDerivation { pname = "jsaddle"; - version = "0.8.3.1"; - sha256 = "682ade9ea22c8f3b23a928b8da0754c697e36d6b3569590f40953d499f247bdb"; + version = "0.8.3.2"; + sha256 = "a49e1a020ccb35c999001aaa6a64e18b80e5bee374b70e33a287f42f2bc7af75"; libraryHaskellDepends = [ aeson attoparsec base base64-bytestring bytestring containers deepseq filepath ghc-prim http-types lens primitive process ref-tf @@ -109808,8 +110846,8 @@ self: { }: mkDerivation { pname = "jsaddle-warp"; - version = "0.8.3.0"; - sha256 = "1749c9ddc02d140378bcac307bcd6ef198551b274f0087ac982509a0e7d2e693"; + version = "0.8.3.1"; + sha256 = "21dbf42537c5e385c1391e3189fe650ebfc8199ebd5faf8768d8c6eea2c797fa"; libraryHaskellDepends = [ aeson base containers http-types jsaddle stm text time transformers wai wai-websockets warp websockets @@ -109832,8 +110870,8 @@ self: { }: mkDerivation { pname = "jsaddle-webkit2gtk"; - version = "0.8.2.2"; - sha256 = "d9444c5ec1ef4abe74410beddf8a892f97d98d836501dd05169c962a3e108353"; + version = "0.8.3.1"; + sha256 = "83cb2c648661f98a1cc39c06ab35d1994999b028bd4fb9aeb0bb15196a32b94d"; libraryHaskellDepends = [ aeson base bytestring directory gi-gio gi-glib gi-gtk gi-javascriptcore gi-webkit2 haskell-gi-base jsaddle text unix @@ -109851,8 +110889,8 @@ self: { }: mkDerivation { pname = "jsaddle-webkitgtk"; - version = "0.8.3.0"; - sha256 = "dbd6405844157342707a8a82dd03bf150eb017112b684de8ad9f45537b6e10ba"; + version = "0.8.3.1"; + sha256 = "0d7865a538ab29b3986b0d3b268f765f3120be9218ae4077f890fef956238ba8"; libraryHaskellDepends = [ aeson base bytestring directory gi-glib gi-gtk gi-javascriptcore gi-webkit haskell-gi-base jsaddle text unix @@ -109867,8 +110905,8 @@ self: { ({ mkDerivation, aeson, base, bytestring, jsaddle }: mkDerivation { pname = "jsaddle-wkwebview"; - version = "0.8.3.0"; - sha256 = "007886eaa4cfa3a2c04828398448602eb1bcc697dfba3a890f5f577753ea13f5"; + version = "0.8.3.2"; + sha256 = "33952c34b28eb677b2deed60a9ea374e2f20cac45f18df4a63b6c8bd75e1c528"; libraryHaskellDepends = [ aeson base bytestring jsaddle ]; description = "Interface for JavaScript that works with GHCJS and GHC"; license = stdenv.lib.licenses.mit; @@ -110428,8 +111466,8 @@ self: { }: mkDerivation { pname = "json-sop"; - version = "0.2.0.2"; - sha256 = "2ea0c44acc50087b09b399e917780c7d5a9e7e864c29a3b6512baff523db0785"; + version = "0.2.0.3"; + sha256 = "3065f11df636f9b72d988247bcc1273de9155255d8b31ed9105929e2ab67c22b"; libraryHaskellDepends = [ aeson base generics-sop lens-sop tagged text time transformers unordered-containers vector @@ -112479,8 +113517,8 @@ self: { }: mkDerivation { pname = "knead"; - version = "0.2.1"; - sha256 = "0aa766ebd9b72370dd18b1f7e3bef2d67c6575b36d9f47467ab54997bfe88f0d"; + version = "0.2.2"; + sha256 = "6ff6641873365a20a4b1e6a20b89f250f1fb822244978af63a14b3527bb57e6e"; libraryHaskellDepends = [ base llvm-extra llvm-tf storable-record storable-tuple transformers utility-ht @@ -115671,6 +116709,46 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "lens_4_15_2" = callPackage + ({ mkDerivation, array, base, base-orphans, bifunctors, bytestring + , Cabal, cabal-doctest, comonad, containers, contravariant + , criterion, deepseq, directory, distributive, doctest, exceptions + , filepath, free, generic-deriving, ghc-prim, hashable, hlint + , HUnit, kan-extensions, mtl, nats, parallel, profunctors + , QuickCheck, reflection, semigroupoids, semigroups, simple-reflect + , tagged, template-haskell, test-framework, test-framework-hunit + , test-framework-quickcheck2, test-framework-th, text, transformers + , transformers-compat, unordered-containers, vector, void + }: + mkDerivation { + pname = "lens"; + version = "4.15.2"; + sha256 = "5b1556650572ce05cacb7bc32f5f309e0fc468f27c6a9f553e606a841f8cd72a"; + setupHaskellDepends = [ base Cabal cabal-doctest filepath ]; + libraryHaskellDepends = [ + array base base-orphans bifunctors bytestring comonad containers + contravariant distributive exceptions filepath free ghc-prim + hashable kan-extensions mtl parallel profunctors reflection + semigroupoids semigroups tagged template-haskell text transformers + transformers-compat unordered-containers vector void + ]; + testHaskellDepends = [ + base bytestring containers deepseq directory doctest filepath + generic-deriving hlint HUnit mtl nats parallel QuickCheck + semigroups simple-reflect test-framework test-framework-hunit + test-framework-quickcheck2 test-framework-th text transformers + unordered-containers vector + ]; + benchmarkHaskellDepends = [ + base bytestring comonad containers criterion deepseq + generic-deriving transformers unordered-containers vector + ]; + homepage = "http://github.com/ekmett/lens/"; + description = "Lenses, Folds and Traversals"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "lens-accelerate" = callPackage ({ mkDerivation, accelerate, base, lens }: mkDerivation { @@ -115704,6 +116782,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "lens-action_0_2_1" = callPackage + ({ mkDerivation, base, Cabal, cabal-doctest, comonad, contravariant + , directory, doctest, filepath, lens, mtl, profunctors + , semigroupoids, semigroups, transformers + }: + mkDerivation { + pname = "lens-action"; + version = "0.2.1"; + sha256 = "7329f50d9d61911cbcd2d4b9501ec946efddc94c7374c0eee430af53135c651d"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + base comonad contravariant lens mtl profunctors semigroupoids + semigroups transformers + ]; + testHaskellDepends = [ base directory doctest filepath ]; + homepage = "http://github.com/ekmett/lens-action/"; + description = "Monadic Getters and Folds"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "lens-aeson" = callPackage ({ mkDerivation, aeson, attoparsec, base, bytestring, directory , doctest, filepath, generic-deriving, lens, scientific, semigroups @@ -115728,6 +116827,29 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "lens-aeson_1_0_1" = callPackage + ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal + , cabal-doctest, doctest, generic-deriving, lens, scientific + , semigroups, simple-reflect, text, unordered-containers, vector + }: + mkDerivation { + pname = "lens-aeson"; + version = "1.0.1"; + sha256 = "5dd2aaa608770b13313e5240cf7a03b3b32b40e8a63a65ca0ed13c488f320dbd"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + aeson attoparsec base bytestring lens scientific text + unordered-containers vector + ]; + testHaskellDepends = [ + base doctest generic-deriving semigroups simple-reflect + ]; + homepage = "http://github.com/lens/lens-aeson/"; + description = "Law-abiding lenses for aeson"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "lens-datetime" = callPackage ({ mkDerivation, base, lens, time }: mkDerivation { @@ -115862,8 +116984,8 @@ self: { ({ mkDerivation, base, fclabels, generics-sop, transformers }: mkDerivation { pname = "lens-sop"; - version = "0.2.0.1"; - sha256 = "13a335a49acfef59ab8d39845a5bb174826c342c1705a96caa0c7d1fba6d7966"; + version = "0.2.0.2"; + sha256 = "7f6800088634aeb6788c1bc65dcdaeb7f0c8cdaee288a24bf9f946cc59496d99"; libraryHaskellDepends = [ base fclabels generics-sop transformers ]; @@ -116528,30 +117650,30 @@ self: { "liblawless" = callPackage ({ mkDerivation, aeson, base, base-unicode-symbols, binary , boomerang, bytestring, concurrent-machines, containers - , containers-unicode-symbols, contravariant, data-default - , data-textual, dns, exceptions, filepath, hjsonschema, lens - , machines, managed, monad-control, mtl, network, network-ip - , parsers, pathtype, protolude, QuickCheck, random, semigroups, stm - , stm-containers, temporary, test-framework - , test-framework-quickcheck2, test-framework-th, text, text-icu - , text-icu-normalized, text-printer, time, transformers, zippers + , containers-unicode-symbols, contravariant, data-textual, dns + , exceptions, filepath, hjsonschema, lens, machines, managed + , monad-control, mtl, network, network-ip, parsers, pathtype + , protolude, QuickCheck, random, semigroups, stm, stm-containers + , temporary, test-framework, test-framework-quickcheck2 + , test-framework-th, text, text-icu, text-icu-normalized + , text-printer, time, transformers, zippers }: mkDerivation { pname = "liblawless"; - version = "0.20.1"; - sha256 = "df2ce59748a56fb7886109c7c7dd0bdb47eeba41fa3d0aeb0b7d8e7239528924"; + version = "0.20.2"; + sha256 = "74c702a79464a99c9eba772dc0545ce24806d8c560379ed22b41353955504e5f"; libraryHaskellDepends = [ aeson base base-unicode-symbols binary boomerang bytestring concurrent-machines containers containers-unicode-symbols - contravariant data-default data-textual dns exceptions hjsonschema - lens machines managed monad-control mtl network network-ip parsers - pathtype protolude QuickCheck random semigroups stm stm-containers - temporary text text-icu text-icu-normalized text-printer time - transformers zippers + contravariant data-textual dns exceptions hjsonschema lens machines + managed monad-control mtl network network-ip parsers pathtype + protolude QuickCheck random semigroups stm stm-containers temporary + text text-icu text-icu-normalized text-printer time transformers + zippers ]; testHaskellDepends = [ - aeson base binary bytestring exceptions filepath network QuickCheck - semigroups stm temporary test-framework test-framework-quickcheck2 + aeson base binary bytestring exceptions filepath QuickCheck + temporary test-framework test-framework-quickcheck2 test-framework-th text time transformers ]; description = "Prelude based on protolude for GHC 8 and beyond"; @@ -117353,6 +118475,31 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "line_3_0_1" = callPackage + ({ mkDerivation, aeson, base, base64-bytestring, bytestring + , cryptohash-sha256, hspec, hspec-wai, http-conduit, http-types + , QuickCheck, quickcheck-instances, raw-strings-qq, scotty, text + , time, transformers, wai + }: + mkDerivation { + pname = "line"; + version = "3.0.1"; + sha256 = "011bab2a638f6409b4db7b2b17a3e7cc649354741fa0aa5bdda293c5ea788239"; + libraryHaskellDepends = [ + aeson base base64-bytestring bytestring cryptohash-sha256 + http-conduit http-types scotty text time transformers wai + ]; + testHaskellDepends = [ + aeson base base64-bytestring bytestring cryptohash-sha256 hspec + hspec-wai QuickCheck quickcheck-instances raw-strings-qq scotty + text time transformers + ]; + homepage = "https://github.com/noraesae/line"; + description = "Haskell SDK for the LINE API"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "line-break" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -117424,6 +118571,36 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "linear_1_20_6" = callPackage + ({ mkDerivation, adjunctions, base, base-orphans, binary, bytes + , bytestring, Cabal, cabal-doctest, cereal, containers, deepseq + , distributive, doctest, ghc-prim, hashable, HUnit, lens + , reflection, semigroupoids, semigroups, simple-reflect, tagged + , template-haskell, test-framework, test-framework-hunit + , transformers, transformers-compat, unordered-containers, vector + , void + }: + mkDerivation { + pname = "linear"; + version = "1.20.6"; + sha256 = "151531e7961d2d7d198dadebb4b67121b6dcfbffda40fde906f3e46c9e1999f5"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + adjunctions base base-orphans binary bytes cereal containers + deepseq distributive ghc-prim hashable lens reflection + semigroupoids semigroups tagged template-haskell transformers + transformers-compat unordered-containers vector void + ]; + testHaskellDepends = [ + base binary bytestring deepseq doctest HUnit lens reflection + simple-reflect test-framework test-framework-hunit vector + ]; + homepage = "http://github.com/ekmett/linear/"; + description = "Linear Algebra"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "linear-accelerate" = callPackage ({ mkDerivation, accelerate, base, lens, linear }: mkDerivation { @@ -118717,8 +119894,8 @@ self: { }: mkDerivation { pname = "llvm-extra"; - version = "0.7.1"; - sha256 = "02b54ca12c6dbcb24589bbc93819a4857f169b811e15a6d00d05b7e42f1f6505"; + version = "0.7.2"; + sha256 = "96dcf825e88f6aff17939c885e5892f42636dc4c5745fbafa8797726c3779fa7"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -120858,6 +122035,8 @@ self: { pname = "lvmlib"; version = "1.1"; sha256 = "6f99e1ed437d45ecdbb019185d24bc920f7965f279f3b1cec268d51350c622d3"; + revision = "1"; + editedCabalFile = "93202794dad7345f097bd54b57352256cba8998251865d2909d9576d0bc20f2e"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -121191,6 +122370,32 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "machines_0_6_2" = callPackage + ({ mkDerivation, adjunctions, base, Cabal, cabal-doctest, comonad + , conduit, conduit-combinators, containers, criterion, distributive + , doctest, mtl, pipes, pointed, profunctors, semigroupoids + , semigroups, transformers, transformers-compat, void + }: + mkDerivation { + pname = "machines"; + version = "0.6.2"; + sha256 = "1c5043b5bc289fc91d8cab90b48a3b807237c2b22719eba08faa62647233645c"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + adjunctions base comonad containers distributive mtl pointed + profunctors semigroupoids semigroups transformers + transformers-compat void + ]; + testHaskellDepends = [ base doctest ]; + benchmarkHaskellDepends = [ + base conduit conduit-combinators criterion mtl pipes + ]; + homepage = "http://github.com/ekmett/machines/"; + description = "Networked stream transducers"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "machines-amazonka" = callPackage ({ mkDerivation, amazonka, amazonka-core, amazonka-ec2, amazonka-s3 , amazonka-sts, base, concurrent-machines, containers, exceptions @@ -121750,13 +122955,13 @@ self: { license = stdenv.lib.licenses.mit; }) {}; - "makefile_1_0_0_1" = callPackage + "makefile_1_0_0_2" = callPackage ({ mkDerivation, attoparsec, base, doctest, Glob, QuickCheck, text }: mkDerivation { pname = "makefile"; - version = "1.0.0.1"; - sha256 = "bf30dcdb767e3aa501657dc7bc5338fd015e29573f46b7a24e51e0493a1e5ff1"; + version = "1.0.0.2"; + sha256 = "cdfddb98b81632ea1d01611a4237b0650989d9e63a87abb542c5d920125ceca4"; libraryHaskellDepends = [ attoparsec base text ]; testHaskellDepends = [ attoparsec base doctest Glob QuickCheck text @@ -123771,6 +124976,30 @@ self: { license = stdenv.lib.licenses.bsd2; }) {}; + "megaparsec_5_3_0" = callPackage + ({ mkDerivation, base, bytestring, containers, criterion, deepseq + , exceptions, hspec, hspec-expectations, mtl, QuickCheck + , scientific, text, transformers, weigh + }: + mkDerivation { + pname = "megaparsec"; + version = "5.3.0"; + sha256 = "3a9bbaae592120f94148777e4e08e23cb279128f3d43b1200b2d7a4a841bee52"; + libraryHaskellDepends = [ + base bytestring containers deepseq exceptions mtl QuickCheck + scientific text transformers + ]; + testHaskellDepends = [ + base bytestring containers exceptions hspec hspec-expectations mtl + QuickCheck scientific text transformers + ]; + benchmarkHaskellDepends = [ base criterion deepseq weigh ]; + homepage = "https://github.com/mrkkrp/megaparsec"; + description = "Monadic parser combinators"; + license = stdenv.lib.licenses.bsd2; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "meldable-heap" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -124123,6 +125352,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "memory_0_14_5" = callPackage + ({ mkDerivation, base, bytestring, deepseq, foundation, ghc-prim + , tasty, tasty-hunit, tasty-quickcheck + }: + mkDerivation { + pname = "memory"; + version = "0.14.5"; + sha256 = "402012b2b8f6783537f7a24d27244b70a68defffa5dad3fcad89c379d15ba105"; + libraryHaskellDepends = [ + base bytestring deepseq foundation ghc-prim + ]; + testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ]; + homepage = "https://github.com/vincenthz/hs-memory"; + description = "memory and related abstraction stuff"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "memorypool" = callPackage ({ mkDerivation, base, containers, transformers, unsafe, vector }: mkDerivation { @@ -126194,6 +127441,18 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "monad-batcher" = callPackage + ({ mkDerivation, base, exceptions }: + mkDerivation { + pname = "monad-batcher"; + version = "0.0.0.0"; + sha256 = "997c3a4221d27a70862837b9090161cbd9f59771e386016d28f9177655f25e7e"; + libraryHaskellDepends = [ base exceptions ]; + homepage = "https://github.com/basvandijk/monad-batcher"; + description = "An applicative monad that batches commands for later more efficient execution"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "monad-bool" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -126525,6 +127784,29 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "monad-logger_0_3_23" = callPackage + ({ mkDerivation, base, blaze-builder, bytestring, conduit + , conduit-extra, exceptions, fast-logger, lifted-base + , monad-control, monad-loops, mtl, resourcet, stm, stm-chans + , template-haskell, text, transformers, transformers-base + , transformers-compat + }: + mkDerivation { + pname = "monad-logger"; + version = "0.3.23"; + sha256 = "02c761293c3f764d94e3ea8a193c28dc1f5da73cd79857a7a510fc8188508962"; + libraryHaskellDepends = [ + base blaze-builder bytestring conduit conduit-extra exceptions + fast-logger lifted-base monad-control monad-loops mtl resourcet stm + stm-chans template-haskell text transformers transformers-base + transformers-compat + ]; + homepage = "https://github.com/kazu-yamamoto/logger"; + description = "A class of monads which can log messages"; + license = stdenv.lib.licenses.mit; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "monad-logger-json" = callPackage ({ mkDerivation, aeson, base, monad-logger, template-haskell, text }: @@ -126807,16 +128089,16 @@ self: { }) {}; "monad-persist" = callPackage - ({ mkDerivation, base, hspec, monad-control, monad-logger, mtl - , persistent, persistent-sqlite, persistent-template, text - , transformers-base + ({ mkDerivation, base, exceptions, hspec, monad-control + , monad-logger, mtl, persistent, persistent-sqlite + , persistent-template, text, transformers-base }: mkDerivation { pname = "monad-persist"; - version = "0.0.1.0"; - sha256 = "389c06f837678593b4cd14348bb0a8774bd6da87be0639ebadc3aca6b830f8c9"; + version = "0.0.1.2"; + sha256 = "8dadf91d7ad94b22b36faf946215bb1a691bd24c5f2aa69fee1288a08475dbcc"; libraryHaskellDepends = [ - base monad-control monad-logger mtl persistent text + base exceptions monad-control monad-logger mtl persistent text transformers-base ]; testHaskellDepends = [ @@ -129863,6 +131145,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "mwc-random_0_13_6_0" = callPackage + ({ mkDerivation, base, math-functions, primitive, time, vector }: + mkDerivation { + pname = "mwc-random"; + version = "0.13.6.0"; + sha256 = "065f334fc13c057eb03ef0b6aa3665ff193609d9bfcad8068bdd260801f44716"; + libraryHaskellDepends = [ + base math-functions primitive time vector + ]; + doCheck = false; + homepage = "https://github.com/bos/mwc-random"; + description = "Fast, high quality pseudo random number generation"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "mwc-random-accelerate" = callPackage ({ mkDerivation, accelerate, base, mwc-random }: mkDerivation { @@ -134150,8 +135448,8 @@ self: { }: mkDerivation { pname = "numhask"; - version = "0.0.3"; - sha256 = "edca61ca143227ce701d53d6b848c7340b66af4338cbbcfa33c201402e421871"; + version = "0.0.4"; + sha256 = "ae9d9b52c84fec8f8604595030eb9dc1be80479523384c3cf354e9953dead247"; libraryHaskellDepends = [ adjunctions base distributive protolude QuickCheck singletons vector @@ -134268,8 +135566,8 @@ self: { }: mkDerivation { pname = "nvim-hs"; - version = "0.2.1"; - sha256 = "d10758496b4e7e51883a05df07c14f39281a87d946ff2300c05ab81a7ee1a9e4"; + version = "0.2.2"; + sha256 = "167db8781b3f9c51aec8bc3c69dff62bdb0abe4fdcc7ee1be31ec3ee2dfae8ea"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -139108,7 +140406,7 @@ self: { license = stdenv.lib.licenses.gpl2; }) {}; - "patat_0_5_1_1" = callPackage + "patat_0_5_1_2" = callPackage ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base , bytestring, containers, directory, filepath, highlighting-kate , mtl, optparse-applicative, pandoc, terminal-size, text, time @@ -139116,8 +140414,8 @@ self: { }: mkDerivation { pname = "patat"; - version = "0.5.1.1"; - sha256 = "c04ea9a62a9bb24c12cd70f96d98517f8d1d65542a1a6ed0461fc5d00cfbe724"; + version = "0.5.1.2"; + sha256 = "79240ce4514b8b947e596b0ad2db31c3a1b3656185505c43914b0940277aa57b"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -139148,12 +140446,13 @@ self: { , accelerate-utility, array, base, bytestring, Cabal, carray , cassava, containers, enumset, explicit-exception, fft, filepath , gnuplot, hmatrix, JuicyPixels, knead, llvm-extra, llvm-tf - , non-empty, pqueue, tfp, unordered-containers, utility-ht, vector + , non-empty, pqueue, storable-tuple, tfp, unordered-containers + , utility-ht, vector }: mkDerivation { pname = "patch-image"; - version = "0.3.0.1"; - sha256 = "1ebfec911d2a0751d69d6ba9aa8f1c3735d664b56346a6b62aacc304753cbcc5"; + version = "0.3.1"; + sha256 = "27c817b68d0d949b6ca8904e6193315ba263e961cf5794a1abbc909007daf1d0"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -139161,8 +140460,8 @@ self: { accelerate-fourier accelerate-io accelerate-utility array base bytestring Cabal carray cassava containers enumset explicit-exception fft filepath gnuplot hmatrix JuicyPixels knead - llvm-extra llvm-tf non-empty pqueue tfp unordered-containers - utility-ht vector + llvm-extra llvm-tf non-empty pqueue storable-tuple tfp + unordered-containers utility-ht vector ]; homepage = "http://hub.darcs.net/thielema/patch-image/"; description = "Compose a big image from overlapping parts"; @@ -139605,6 +140904,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "pcgen" = callPackage + ({ mkDerivation, base, criterion, deepseq, hspec, QuickCheck + , random + }: + mkDerivation { + pname = "pcgen"; + version = "1.0.0"; + sha256 = "ead380c5661588363e7aa6a01f8f348c174cccb375ef2fb34c14b47edc2a00da"; + libraryHaskellDepends = [ base random ]; + testHaskellDepends = [ base hspec QuickCheck random ]; + benchmarkHaskellDepends = [ base criterion deepseq random ]; + homepage = "https://github.com/Lokathor/pcgen-hs"; + description = "A fast, pseudorandom number generator"; + license = stdenv.lib.licenses.asl20; + }) {}; + "pcre-heavy" = callPackage ({ mkDerivation, base, base-compat, bytestring, doctest, Glob , pcre-light, semigroups, string-conversions, template-haskell @@ -141471,17 +142786,17 @@ self: { }) {}; "pi-lcd" = callPackage - ({ mkDerivation, base, bytestring, clock, text, unix + ({ mkDerivation, base, bytestring, clock, deepseq, text, unix , unordered-containers }: mkDerivation { pname = "pi-lcd"; - version = "0.1.0.0"; - sha256 = "afd0dc56b2c3254420b7b3590bca606be9a7d6881cacfab04e5fb2dbe31303d9"; + version = "0.1.1.0"; + sha256 = "760360a9548437eae87d6c537fcbb03b4fee3129776bf32ce21c25a3fefc4004"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - base bytestring clock text unix unordered-containers + base bytestring clock deepseq text unix unordered-containers ]; executableHaskellDepends = [ base text ]; homepage = "https://github.com/ppelleti/pi-lcd"; @@ -144085,6 +145400,18 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "polyvariadic" = callPackage + ({ mkDerivation, base, containers }: + mkDerivation { + pname = "polyvariadic"; + version = "0.3.0.0"; + sha256 = "bf10823ad155ba1c7deaa2076a507cab4c37a78474d544a57bc6ce670ad6068f"; + libraryHaskellDepends = [ base containers ]; + homepage = "https://github.com/fgaz/polyvariadic"; + description = "Creation and application of polyvariadic functions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "pomodoro" = callPackage ({ mkDerivation, base, bytestring, cereal, directory, filepath , heredoc, libnotify, network, process, time, unix, wx, wxcore @@ -144147,8 +145474,8 @@ self: { }: mkDerivation { pname = "pong-server"; - version = "0.0.4.2"; - sha256 = "a359d31ed2bca75ff6159b9094d901d60dcb85f291aeb35e96b9c59abca82fe8"; + version = "0.0.4.4"; + sha256 = "a47fd49e487ac994489ac27322a0d03e028d605bd2f23b56314ba15809c1cde2"; libraryHaskellDepends = [ base bytestring classy-prelude exceptions http-types monad-control network @@ -145122,27 +146449,33 @@ self: { }) {}; "postgrest-ws" = callPackage - ({ mkDerivation, aeson, base, bytestring, hasql, hasql-pool - , http-types, jwt, postgresql-libpq, postgrest, string-conversions - , text, time, transformers, unix, unordered-containers, wai + ({ mkDerivation, aeson, auto-update, base, base64-bytestring + , bytestring, containers, either, hasql, hasql-pool, hspec + , hspec-wai, hspec-wai-json, http-types, jwt, postgresql-libpq + , postgrest, protolude, stm, stm-containers, text, time + , transformers, unix, unordered-containers, wai, wai-extra , wai-websockets, warp, websockets }: mkDerivation { pname = "postgrest-ws"; - version = "0.1.0.1"; - sha256 = "50ce5a13c8b7fe1719e61630ae019b9eb3ca4a923a036585c98635f0df1e3dfb"; + version = "0.1.0.2"; + sha256 = "52d6e25d7f3823c5395ad8d8b1cc3538e9a410defd0238852e5e8f7d87cfa09c"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ - aeson base bytestring hasql-pool http-types postgresql-libpq - postgrest string-conversions text time unordered-containers wai - wai-websockets websockets + aeson base bytestring either hasql hasql-pool http-types jwt + postgresql-libpq postgrest protolude stm stm-containers text time + unordered-containers wai wai-websockets websockets ]; executableHaskellDepends = [ - base hasql hasql-pool jwt postgresql-libpq postgrest - string-conversions transformers unix warp + auto-update base base64-bytestring hasql hasql-pool jwt + postgresql-libpq postgrest protolude text time transformers unix + warp + ]; + testHaskellDepends = [ + aeson base containers hasql hasql-pool hspec hspec-wai + hspec-wai-json http-types protolude stm wai-extra ]; - testHaskellDepends = [ base ]; homepage = "https://github.com/diogob/postgrest-ws#readme"; description = "PostgREST extension to map LISTEN/NOTIFY messages to Websockets"; license = stdenv.lib.licenses.bsd3; @@ -145500,8 +146833,8 @@ self: { }: mkDerivation { pname = "preamble"; - version = "0.0.32"; - sha256 = "428d5bd2ad1e3b1564675bf18feea19d82a5b28a2c0623de5f00e49c3eeec04d"; + version = "0.0.33"; + sha256 = "385f6224ca22a59034f1b79c8f99d779234f0a04cd5293565e0ed22321e7b24b"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -146106,8 +147439,8 @@ self: { ({ mkDerivation, base, generics-sop, pretty-show }: mkDerivation { pname = "pretty-sop"; - version = "0.2.0.1"; - sha256 = "af2460f06064770371fe9d2762eefad3246adf4f014fe700585a9827b986b14e"; + version = "0.2.0.2"; + sha256 = "d64ff28d14360f782dc3ffaec16497015ef9ffc91b2c1cf234274cde9f2d3274"; libraryHaskellDepends = [ base generics-sop pretty-show ]; description = "A generic pretty-printer using generics-sop"; license = stdenv.lib.licenses.bsd3; @@ -146436,17 +147769,17 @@ self: { }) {}; "prizm" = callPackage - ({ mkDerivation, base, convertible, HUnit, mono-traversable - , QuickCheck, test-framework, test-framework-hunit - , test-framework-quickcheck2, text + ({ mkDerivation, base, convertible, HUnit, QuickCheck + , test-framework, test-framework-hunit, test-framework-quickcheck2 + , text }: mkDerivation { pname = "prizm"; - version = "2.0.1"; - sha256 = "2f35547b8041c51890cadfd072838140f8ed808491272e77e51b2e90097106ef"; - libraryHaskellDepends = [ base convertible mono-traversable text ]; + version = "3.0.0"; + sha256 = "9bbc4c8781cbc7df4822d7031eb9570e8caf0956979a061b84d89f3884d05283"; + libraryHaskellDepends = [ base convertible text ]; testHaskellDepends = [ - base convertible HUnit mono-traversable QuickCheck test-framework + base convertible HUnit QuickCheck test-framework test-framework-hunit test-framework-quickcheck2 ]; homepage = "https://github.com/ixmatus/prizm"; @@ -150446,19 +151779,20 @@ self: { "rails-session" = callPackage ({ mkDerivation, base, base-compat, base64-bytestring, bytestring - , cryptonite, http-types, pbkdf, ruby-marshal, string-conv, tasty - , tasty-hspec, vector + , cryptonite, filepath, http-types, pbkdf, ruby-marshal + , string-conv, tasty, tasty-hspec, transformers, vector }: mkDerivation { pname = "rails-session"; - version = "0.1.0.0"; - sha256 = "e897b191410818f2cb2b85985e547b87b250727cf23dc2a7d9effd5c28fdc2da"; + version = "0.1.1.0"; + sha256 = "1d9bc6f466f41936d8611273194c62c5bffa43547730a92d019d9b309e1088f8"; libraryHaskellDepends = [ base base-compat base64-bytestring bytestring cryptonite http-types pbkdf ruby-marshal string-conv vector ]; testHaskellDepends = [ - base bytestring ruby-marshal tasty tasty-hspec vector + base bytestring filepath ruby-marshal tasty tasty-hspec + transformers vector ]; homepage = "http://github.com/iconnect/rails-session#readme"; description = "Decrypt Ruby on Rails sessions in Haskell"; @@ -151698,21 +153032,26 @@ self: { }) {}; "rcu" = callPackage - ({ mkDerivation, atomic-primops, base, directory, doctest, filepath - , hlint, parallel, primitive, stm, transformers + ({ mkDerivation, atomic-primops, base, Cabal, cabal-doctest + , containers, criterion, deepseq, doctest, ghc-prim, hlint + , optparse-applicative, parallel, primitive, rdtsc, time + , transformers }: mkDerivation { pname = "rcu"; - version = "0.1"; - sha256 = "06d31a3da492590af81479119ba0f6c5d4ddbf15e8cd78af1cc80a56d34895ed"; + version = "0.2"; + sha256 = "e367e86af84e81be215a50036676d7203d9e5eefb6eee9f05ccee0f0fce10845"; isLibrary = true; isExecutable = true; + setupHaskellDepends = [ base Cabal cabal-doctest ]; libraryHaskellDepends = [ - atomic-primops base parallel primitive transformers + atomic-primops base ghc-prim parallel primitive transformers ]; - executableHaskellDepends = [ base stm transformers ]; - testHaskellDepends = [ - base directory doctest filepath hlint parallel + executableHaskellDepends = [ base transformers ]; + testHaskellDepends = [ base doctest hlint parallel ]; + benchmarkHaskellDepends = [ + base containers criterion deepseq ghc-prim optparse-applicative + primitive rdtsc time transformers ]; homepage = "http://github.com/ekmett/rcu/"; description = "Read-Copy-Update for Haskell"; @@ -155503,6 +156842,18 @@ self: { license = stdenv.lib.licenses.mit; }) {}; + "resin" = callPackage + ({ mkDerivation, base, ghc-prim, semigroupoids }: + mkDerivation { + pname = "resin"; + version = "0.1.0.2"; + sha256 = "6fddc4a7f236c07f8fa8512ba35704257178322fa47f92e85d972891038a13ee"; + libraryHaskellDepends = [ base ghc-prim semigroupoids ]; + homepage = "http://github.com/cartazio/resin"; + description = "High performance variable binders"; + license = stdenv.lib.licenses.bsd2; + }) {}; + "resistor-cube" = callPackage ({ mkDerivation, base, hmatrix, transformers, utility-ht }: mkDerivation { @@ -157668,8 +159019,8 @@ self: { }: mkDerivation { pname = "rtcm"; - version = "0.1.10"; - sha256 = "5026d136196d57cb81cf3cb6ac41f7d73224997d75b224ba30beec3ec96c91ad"; + version = "0.1.11"; + sha256 = "d058af9c226f2dc4c4cc4adc334327cee55708713298419ed6f70a2e56facf5a"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -158787,24 +160138,25 @@ self: { "sarsi" = callPackage ({ mkDerivation, async, attoparsec, base, binary, bytestring, Cabal - , containers, cryptonite, directory, filepath, fsnotify, machines - , machines-binary, machines-io, machines-process, msgpack, network - , process, stm, text, unordered-containers, vector + , containers, cryptonite, data-msgpack, directory, filepath + , fsnotify, machines, machines-binary, machines-io + , machines-process, network, process, stm, text + , unordered-containers, vector }: mkDerivation { pname = "sarsi"; - version = "0.0.3.0"; - sha256 = "5dce7ea1ce2288c62069f98f3757357b41a0385338edb4e741d9ef59f0243861"; + version = "0.0.4.0"; + sha256 = "c9c7327e22b6d42e780ff5c1cf2e4c871ce54ec6a374500ec124213721ad6753"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ async attoparsec base binary bytestring containers cryptonite - directory filepath fsnotify machines machines-binary machines-io - machines-process msgpack network process stm text vector + data-msgpack directory filepath fsnotify machines machines-binary + machines-io machines-process network process stm text vector ]; executableHaskellDepends = [ - base binary bytestring Cabal containers directory filepath fsnotify - machines machines-binary machines-io machines-process msgpack + base binary bytestring Cabal containers data-msgpack directory + filepath machines machines-binary machines-io machines-process network process text unordered-containers vector ]; homepage = "http://github.com/aloiscochard/sarsi"; @@ -159207,6 +160559,23 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "scalpel_0_5_1" = callPackage + ({ mkDerivation, base, bytestring, curl, data-default, scalpel-core + , tagsoup, text + }: + mkDerivation { + pname = "scalpel"; + version = "0.5.1"; + sha256 = "20df66433570a2ca754f14058a47fb00519d9a75bb822fc3fd1769a83c608b0d"; + libraryHaskellDepends = [ + base bytestring curl data-default scalpel-core tagsoup text + ]; + homepage = "https://github.com/fimad/scalpel"; + description = "A high level web scraping library for Haskell"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "scalpel-core" = callPackage ({ mkDerivation, base, bytestring, containers, criterion , data-default, fail, HUnit, regex-base, regex-tdfa, tagsoup, text @@ -159227,6 +160596,27 @@ self: { license = stdenv.lib.licenses.asl20; }) {}; + "scalpel-core_0_5_1" = callPackage + ({ mkDerivation, base, bytestring, containers, criterion + , data-default, fail, HUnit, regex-base, regex-tdfa, tagsoup, text + , vector + }: + mkDerivation { + pname = "scalpel-core"; + version = "0.5.1"; + sha256 = "8c05b86853b737fbed4144dc9c7bbb7743525c305f9529f59776df97bfe229a9"; + libraryHaskellDepends = [ + base bytestring containers data-default fail regex-base regex-tdfa + tagsoup text vector + ]; + testHaskellDepends = [ base HUnit regex-base regex-tdfa tagsoup ]; + benchmarkHaskellDepends = [ base criterion tagsoup text ]; + homepage = "https://github.com/fimad/scalpel"; + description = "A high level web scraping library for Haskell"; + license = stdenv.lib.licenses.asl20; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "scan" = callPackage ({ mkDerivation, base, parsec }: mkDerivation { @@ -161856,7 +163246,7 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "servant-auth-cookie_0_5_0_1" = callPackage + "servant-auth-cookie_0_5_0_2" = callPackage ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring , cereal, cookie, criterion, cryptonite, data-default, deepseq , exceptions, hspec, http-api-data, http-types, memory, mtl @@ -161865,8 +163255,8 @@ self: { }: mkDerivation { pname = "servant-auth-cookie"; - version = "0.5.0.1"; - sha256 = "05933224b1eeb1c3e44e1c01c337fade7c9da864a0ed1727118fd3d9aa10c1ad"; + version = "0.5.0.2"; + sha256 = "ce3af5b4b71ae4a8b7c7f740a8dfc6569ca91d02e0ff3e174415d52585176399"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -162052,8 +163442,8 @@ self: { }: mkDerivation { pname = "servant-auth-token-api"; - version = "0.4.2.0"; - sha256 = "2c9349c10789fccc0b11249305748b7868daa3e1f639b5be8c7c2b075246236c"; + version = "0.4.2.1"; + sha256 = "0eefacb5619f27ddcb744c6a18233f9a9d45777310533b1badf63375c20c561b"; libraryHaskellDepends = [ aeson aeson-injector base lens raw-strings-qq servant servant-docs servant-swagger swagger2 text @@ -162181,8 +163571,8 @@ self: { pname = "servant-client"; version = "0.10"; sha256 = "55e411ac7e38a5c1b77d8d3c2320369be36a7b7181e27bb5ac4fba308ef93eaa"; - revision = "1"; - editedCabalFile = "9863fd0a183528cf4e4db911c074cd97b110781bb382b910089d953e4dd6a685"; + revision = "2"; + editedCabalFile = "81423acd420339d6a421d46223f8f70d5772797b3b597d5a9d889c2fffd0bc48"; libraryHaskellDepends = [ aeson attoparsec base base-compat base64-bytestring bytestring exceptions generics-sop http-api-data http-client http-client-tls @@ -164707,8 +166097,8 @@ self: { }: mkDerivation { pname = "shentong"; - version = "0.3.1"; - sha256 = "b751f79e565899e36b71c6b31a51adb46fd61899b3cdadbb05631d03514bb523"; + version = "0.3.2"; + sha256 = "83e80610da9f11bbc95eddc34c64c81c059db2dc1b03fe781edbbf9b16e32914"; isLibrary = false; isExecutable = true; executableHaskellDepends = [ @@ -164805,6 +166195,27 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "shopify" = callPackage + ({ mkDerivation, aeson, aeson-pretty, attoparsec, base + , base64-bytestring, bytestring, containers + , control-monad-exception, http-conduit, http-types, lifted-base + , mtl, resourcet, safe, text, time, unordered-containers, vector + }: + mkDerivation { + pname = "shopify"; + version = "0"; + sha256 = "b098a87f3773c957b20ecadd5b644d3613ed99ca3b6aa6ae1c2374edc7089a9f"; + libraryHaskellDepends = [ + aeson aeson-pretty attoparsec base base64-bytestring bytestring + containers control-monad-exception http-conduit http-types + lifted-base mtl resourcet safe text time unordered-containers + vector + ]; + homepage = "https://oss.xkcd.com/"; + description = "A haskell API binding for shopify.com"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "shortcircuit" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -164882,12 +166293,12 @@ self: { }) {}; "show-please" = callPackage - ({ mkDerivation, base, mtl, parsec, template-haskell }: + ({ mkDerivation, base, mtl, parsec, template-haskell, time }: mkDerivation { pname = "show-please"; - version = "0.3"; - sha256 = "1abd203bf8f0ac863f38f1be813594e0ab30ad5b79aa31730926586c40db642e"; - libraryHaskellDepends = [ base mtl parsec template-haskell ]; + version = "0.4.2"; + sha256 = "d4f2087d80e95ac5d56afa6952e54bc7482a5d073b964c8a1db7a481d786d999"; + libraryHaskellDepends = [ base mtl parsec template-haskell time ]; homepage = "https://github.com/ddssff/show-please"; description = "A wrapper type V with improved Show instances"; license = stdenv.lib.licenses.bsd3; @@ -165463,8 +166874,8 @@ self: { }: mkDerivation { pname = "simple-effects"; - version = "0.7.0.2"; - sha256 = "367158bb1e97fea1bd5f61e9390bb0a50a0ad26ab11c97c16a0fdc495be17f4c"; + version = "0.8.0.2"; + sha256 = "5cea737cab099fed0c4c1a19a2defc922e0a9b439b0073b0c2294b5d1afb3a12"; libraryHaskellDepends = [ array base exceptions list-t monad-control MonadRandom mtl text transformers transformers-base @@ -170229,6 +171640,26 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "spiros" = callPackage + ({ mkDerivation, base, bytestring, containers, data-default-class + , deepseq, directory, hashable, mtl, process, safe, semigroups + , split, stm, text, time, transformers, unordered-containers + , vector, vinyl, wl-pprint-text + }: + mkDerivation { + pname = "spiros"; + version = "0.0.0"; + sha256 = "ceb17a2005efe9151c8c0b40606e6d39063c2331cb941182bbcbb26f18e3491a"; + libraryHaskellDepends = [ + base bytestring containers data-default-class deepseq directory + hashable mtl process safe semigroups split stm text time + transformers unordered-containers vector vinyl wl-pprint-text + ]; + homepage = "http://github.com/sboosali/spiros#readme"; + description = "my custom prelude"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "splay" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -170337,6 +171768,8 @@ self: { pname = "split"; version = "0.2.3.1"; sha256 = "7615b60adee20c19ddafd9d74456e8fe8e4274e2c676a5e858511b664205c688"; + revision = "1"; + editedCabalFile = "6089e920a72947806dff273664af651f5f128339fab9fc1d823bfedb102a6ecd"; libraryHaskellDepends = [ base ]; testHaskellDepends = [ base QuickCheck ]; description = "Combinator library for splitting lists"; @@ -172410,6 +173843,20 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "stego-uuid" = callPackage + ({ mkDerivation, base, bytestring, cryptonite, memory, random, uuid + }: + mkDerivation { + pname = "stego-uuid"; + version = "1.0.0.0"; + sha256 = "db2f6c0ca28e9207824dfc3d5e2aced3da57022a4585fd968617a8aa9c75edb3"; + libraryHaskellDepends = [ base bytestring cryptonite memory uuid ]; + testHaskellDepends = [ base random uuid ]; + homepage = "https://github.com/dimitri-xyz/stego-uuid#readme"; + description = "Generator and verifier for steganographic numbers"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "stemmer" = callPackage ({ mkDerivation, base }: mkDerivation { @@ -175234,6 +176681,37 @@ self: { hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ]; }) {}; + "swagger2_2_1_4" = callPackage + ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring + , containers, doctest, generics-sop, Glob, hashable, hspec + , http-media, HUnit, insert-ordered-containers, lens, mtl, network + , QuickCheck, scientific, template-haskell, text, time + , transformers, transformers-compat, unordered-containers + , uuid-types, vector + }: + mkDerivation { + pname = "swagger2"; + version = "2.1.4"; + sha256 = "85ade8fabae537abf1c8d4d8b2a7226b29f33d4d97dce8cd02104da817647f44"; + revision = "1"; + editedCabalFile = "565cb7b9ce116c18c54619bcc16e4fe37f0d39e0e657f673766728c3d45ccae9"; + libraryHaskellDepends = [ + aeson base base-compat bytestring containers generics-sop hashable + http-media insert-ordered-containers lens mtl network scientific + template-haskell text time transformers transformers-compat + unordered-containers uuid-types vector + ]; + testHaskellDepends = [ + aeson aeson-qq base base-compat bytestring containers doctest Glob + hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck + text time unordered-containers vector + ]; + homepage = "https://github.com/GetShopTV/swagger2"; + description = "Swagger 2.0 data model"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "swapper" = callPackage ({ mkDerivation, base, binary, bytestring, deepseq, happstack-data , happstack-state, parallel, tokyocabinet @@ -176076,6 +177554,19 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "sysinfo" = callPackage + ({ mkDerivation, base, hspec, hspec-expectations }: + mkDerivation { + pname = "sysinfo"; + version = "0.1.0.0"; + sha256 = "5c703bbef63d63690ff7796fb1f9aa254c1b78039d28aa0ed80fef2c3ef7b650"; + libraryHaskellDepends = [ base ]; + testHaskellDepends = [ base hspec hspec-expectations ]; + homepage = "https://github.com/psibi/sysinfo#readme"; + description = "Haskell Interface for getting overall system statistics"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "system-argv0" = callPackage ({ mkDerivation, base, bytestring, system-filepath, text }: mkDerivation { @@ -176175,12 +177666,12 @@ self: { }) {}; "system-info" = callPackage - ({ mkDerivation, base }: + ({ mkDerivation, base, process, regex }: mkDerivation { pname = "system-info"; - version = "0.1.0.5"; - sha256 = "aa1e2fec0ceb10b8916422d2e4421e6a6167a283344c7fd2c0fba5fec86f2c45"; - libraryHaskellDepends = [ base ]; + version = "0.1.0.7"; + sha256 = "fd971c2d3ec3e1ac7d4c15bbd88c07104e554f1fe64d77bb957a7f2a2f48445a"; + libraryHaskellDepends = [ base process regex ]; testHaskellDepends = [ base ]; homepage = "https://github.com/ChaosGroup/system-info"; description = "Get information about CPUs, memory, etc"; @@ -177094,6 +178585,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "tai" = callPackage + ({ mkDerivation, base, clock, lens, mtl, parsers, time, trifecta + , wreq + }: + mkDerivation { + pname = "tai"; + version = "0"; + sha256 = "bcdf41df641b4e4c26dd728e5b27e1b42e687e7a93e4a8db722272056baae7ce"; + libraryHaskellDepends = [ + base clock lens mtl parsers time trifecta wreq + ]; + homepage = "https://oss.xkcd.com/"; + description = "Support library to enable TAI usage on systems with time kept in UTC"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "tai64" = callPackage ({ mkDerivation, attoparsec, base, base16-bytestring, binary , bytestring, doctest, QuickCheck, text, time, vector @@ -178478,19 +179985,21 @@ self: { }) {}; "tempered" = callPackage - ({ mkDerivation, base, containers, directory, filepath, mtl, parsec - , process, yaml + ({ mkDerivation, base, containers, directory, filepath, mtl + , optparse-applicative, parsec, process, yaml }: mkDerivation { pname = "tempered"; - version = "0.1.0.0"; - sha256 = "13ac4b688e3f377c30f28c5a7ac272c5619b104963875ae14a3634ae0418bb38"; + version = "0.2.0"; + sha256 = "4262c2c8e2a237aa0c04555a77036861f0d6dc858fd38eba90f471a307e9fde4"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base containers directory filepath mtl parsec process yaml ]; - executableHaskellDepends = [ base containers directory mtl ]; + executableHaskellDepends = [ + base containers directory mtl optparse-applicative + ]; testHaskellDepends = [ base ]; homepage = "https://github.com/ChrisPenner/tempered#readme"; description = "A dead-simple shell interpolation templating utility"; @@ -179683,13 +181192,13 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "text-all_0_3_1_0" = callPackage - ({ mkDerivation, base, text, text-format, text-show }: + "text-all_0_4_0_0" = callPackage + ({ mkDerivation, base, text, text-format }: mkDerivation { pname = "text-all"; - version = "0.3.1.0"; - sha256 = "dec7bfb61c30fd263df65caa200954ea8c1947b2c67bcb023d1b071a45336284"; - libraryHaskellDepends = [ base text text-format text-show ]; + version = "0.4.0.0"; + sha256 = "4b9a595a9045aaca5d8381dce3454fc946591d408c018d38908387d71016be46"; + libraryHaskellDepends = [ base text text-format ]; homepage = "http://github.com/aelve/text-all"; description = "Everything Data.Text related in one package"; license = stdenv.lib.licenses.bsd3; @@ -180146,14 +181655,14 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; - "text-region_0_2_0_0" = callPackage + "text-region_0_3_0_0" = callPackage ({ mkDerivation, aeson, base, base-unicode-symbols, bytestring , groups, hspec, lens, text }: mkDerivation { pname = "text-region"; - version = "0.2.0.0"; - sha256 = "a8d29fdbd9c185f53daf6b4d02f15336f32e2be4e3e1019549844a4e2023bef0"; + version = "0.3.0.0"; + sha256 = "cae9417e0ee0368d0c6e47d8c1a3b00446ae43d997c1d31451b41961dba5c977"; libraryHaskellDepends = [ aeson base base-unicode-symbols bytestring groups lens text ]; @@ -180638,6 +182147,20 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "th-abstraction" = callPackage + ({ mkDerivation, base, containers, ghc-prim, template-haskell }: + mkDerivation { + pname = "th-abstraction"; + version = "0.1.0.0"; + sha256 = "bd412b4243b135a559f8c9fd60bf08212d27f8cb71644d8651136770fb7c2648"; + libraryHaskellDepends = [ + base containers ghc-prim template-haskell + ]; + testHaskellDepends = [ base template-haskell ]; + description = "Nicer interface to reified information about data types"; + license = stdenv.lib.licenses.isc; + }) {}; + "th-alpha" = callPackage ({ mkDerivation, base, containers, derive, mmorph, mtl, tasty , tasty-hunit, tasty-quickcheck, template-haskell, th-desugar @@ -181421,22 +182944,23 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "threepenny-gui_0_7_0_2" = callPackage + "threepenny-gui_0_8_0_0" = callPackage ({ mkDerivation, aeson, async, base, bytestring, containers - , data-default, deepseq, filepath, hashable, network-uri, safe - , snap-core, snap-server, stm, template-haskell, text, transformers - , unordered-containers, vault, vector, websockets, websockets-snap + , data-default, deepseq, exceptions, filepath, hashable + , network-uri, safe, snap-core, snap-server, stm, template-haskell + , text, transformers, unordered-containers, vault, vector + , websockets, websockets-snap }: mkDerivation { pname = "threepenny-gui"; - version = "0.7.0.2"; - sha256 = "40223fac07d288cc111ffde1674278989300e525d323c10976f5f83a56b28479"; + version = "0.8.0.0"; + sha256 = "a1dbab095010005f9b2af9ec6ce9bfc533906bdf3498f90573d21227c1ac93fe"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson async base bytestring containers data-default deepseq - filepath hashable network-uri safe snap-core snap-server stm - template-haskell text transformers unordered-containers vault + exceptions filepath hashable network-uri safe snap-core snap-server + stm template-haskell text transformers unordered-containers vault vector websockets websockets-snap ]; homepage = "http://wiki.haskell.org/Threepenny-gui"; @@ -181477,12 +183001,12 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; - "threepenny-gui-flexbox_0_4_1" = callPackage + "threepenny-gui-flexbox_0_4_2" = callPackage ({ mkDerivation, base, clay, text, threepenny-gui }: mkDerivation { pname = "threepenny-gui-flexbox"; - version = "0.4.1"; - sha256 = "bca8c8b56f419559d3ce2a991737c52e38f4194cb1bdfcc4744e4a4de7fc7467"; + version = "0.4.2"; + sha256 = "86862538c0e8448ee7fc9b0b8c47e912587f26db6d1178660d74bf44dca9f0f5"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ base clay text threepenny-gui ]; @@ -181815,8 +183339,8 @@ self: { ({ mkDerivation, base, cairo, colour, tidal }: mkDerivation { pname = "tidal-vis"; - version = "0.1.8"; - sha256 = "3cb3fab058e0a2891d33d02adac326ada6558892c0f58467625c44b99f262ac9"; + version = "0.9.2"; + sha256 = "890bbe98ebde65b1c23064d7b192294e7596112c1db59de7a5909233f409aaef"; libraryHaskellDepends = [ base cairo colour tidal ]; homepage = "http://yaxu.org/tidal/"; description = "Visual rendering for Tidal patterns"; @@ -182980,8 +184504,8 @@ self: { pname = "tls"; version = "1.3.10"; sha256 = "9f057d0f40dda5ce8d0f0e0f2a06087be8007c41462c6cab19774538c35e0171"; - revision = "1"; - editedCabalFile = "34c1efff5206b28c0e67bbde8ea7d3428aafb572a623b832b08928d5bb72f9be"; + revision = "2"; + editedCabalFile = "30f94541fc229715b10e6752cc25671fba874a7564de8ff64df0ce64f427e39c"; libraryHaskellDepends = [ asn1-encoding asn1-types async base bytestring cereal cryptonite data-default-class memory mtl network transformers x509 x509-store @@ -183152,6 +184676,17 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "todo" = callPackage + ({ mkDerivation, base }: + mkDerivation { + pname = "todo"; + version = "0.2.0.1"; + sha256 = "6f30aa83c4552714b609d765cb5f618b4c27d1d272d222f4ebfc8d68d7f45d5d"; + libraryHaskellDepends = [ base ]; + description = "A todo bottom"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "todos" = callPackage ({ mkDerivation, ansi-terminal, base, base-unicode-symbols , containers, data-hash, dates, directory, dyre, filepath, Glob @@ -184021,6 +185556,20 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "transformers-lift_0_2_0_0" = callPackage + ({ mkDerivation, base, transformers, writer-cps-transformers }: + mkDerivation { + pname = "transformers-lift"; + version = "0.2.0.0"; + sha256 = "11d477a62184c19c49fc923bef6f7ef32ca1d69f78dbdbf3c896fbebcdaaaf63"; + libraryHaskellDepends = [ + base transformers writer-cps-transformers + ]; + description = "Ad-hoc type classes for lifting"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "transformers-runnable" = callPackage ({ mkDerivation, base, transformers }: mkDerivation { @@ -185168,6 +186717,30 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "turtle_1_3_3" = callPackage + ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock + , criterion, directory, doctest, foldl, hostname, managed + , optional-args, optparse-applicative, process, semigroups, stm + , system-fileio, system-filepath, temporary, text, time + , transformers, unix, unix-compat + }: + mkDerivation { + pname = "turtle"; + version = "1.3.3"; + sha256 = "82a16fd13f9ce3e80f031e5bf6881ef3230939c38f0e9ac57845850a96304d1e"; + libraryHaskellDepends = [ + ansi-wl-pprint async base bytestring clock directory foldl hostname + managed optional-args optparse-applicative process semigroups stm + system-fileio system-filepath temporary text time transformers unix + unix-compat + ]; + testHaskellDepends = [ base doctest ]; + benchmarkHaskellDepends = [ base criterion text ]; + description = "Shell programming, Haskell-style"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "turtle-options" = callPackage ({ mkDerivation, base, HUnit, optional-args, parsec, text, turtle }: @@ -185237,21 +186810,21 @@ self: { "tweet-hs" = callPackage ({ mkDerivation, aeson, ansi-wl-pprint, authenticate-oauth, base - , bytestring, composition, criterion, data-default, directory - , extra, hspec, hspec-megaparsec, http-client, http-client-tls - , http-types, lens, megaparsec, MissingH, optparse-applicative - , split, text + , bytestring, composition, containers, criterion, data-default + , directory, extra, hspec, hspec-megaparsec, http-client + , http-client-tls, http-types, lens, megaparsec, MissingH + , optparse-applicative, split, text }: mkDerivation { pname = "tweet-hs"; - version = "0.5.3.6"; - sha256 = "f3f882d1431241e5c0368d4994f675c38e13a4caae95f044e660d472d3633395"; + version = "0.5.3.8"; + sha256 = "f15186e421d6ce518c1ef54588e80ceb4ade8474a0095d8d6f7ae53c86d21b72"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ aeson ansi-wl-pprint authenticate-oauth base bytestring composition - data-default directory extra http-client http-client-tls http-types - lens megaparsec MissingH optparse-applicative split text + containers data-default directory extra http-client http-client-tls + http-types lens megaparsec MissingH optparse-applicative split text ]; executableHaskellDepends = [ base ]; testHaskellDepends = [ @@ -186036,6 +187609,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "type-indexed-queues" = callPackage + ({ mkDerivation, base, containers, criterion, deepseq, doctest + , ghc-typelits-natnormalise, pqueue, QuickCheck, random, tasty + , tasty-quickcheck + }: + mkDerivation { + pname = "type-indexed-queues"; + version = "0.2.0.0"; + sha256 = "e0c12c3453f4851ba10c10bd977aef850a520c707e2f14dbe018d9680fec65d5"; + libraryHaskellDepends = [ + base containers deepseq ghc-typelits-natnormalise + ]; + testHaskellDepends = [ + base containers doctest QuickCheck tasty tasty-quickcheck + ]; + benchmarkHaskellDepends = [ + base containers criterion pqueue random + ]; + homepage = "https://github.com/oisdk/type-indexed-queues"; + description = "Queues with verified and unverified versions"; + license = stdenv.lib.licenses.mit; + }) {}; + "type-int" = callPackage ({ mkDerivation, base, template-haskell }: mkDerivation { @@ -188585,8 +190181,8 @@ self: { }: mkDerivation { pname = "unused"; - version = "0.7.0.0"; - sha256 = "4eee152fd54f52f1c1ff7b12ff8fa78b0d2c84def118f7be2fa51a0c3d70c68b"; + version = "0.8.0.0"; + sha256 = "36ac9a0f84df09bc1ecef9af227bf865651bdaaab981d33dcbcdb701623c48af"; isLibrary = true; isExecutable = true; libraryHaskellDepends = [ @@ -189930,6 +191526,19 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "validated-types" = callPackage + ({ mkDerivation, base, refined, text }: + mkDerivation { + pname = "validated-types"; + version = "0.1.1"; + sha256 = "38ed6688064cd318be8bf942be6f1d6fee61fb9727cd58a5fe92454362583d17"; + libraryHaskellDepends = [ base refined text ]; + testHaskellDepends = [ base ]; + homepage = "https://github.com/seanhess/validated-types#readme"; + description = "Type-level constraints on strings and other input"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "validation" = callPackage ({ mkDerivation, base, bifunctors, directory, doctest, filepath , lens, mtl, QuickCheck, semigroupoids, semigroups @@ -192863,6 +194472,23 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "wai-middleware-static-embedded" = callPackage + ({ mkDerivation, base, bytestring, cryptonite, http-types, memory + , mime-types, text, wai, wai-extra + }: + mkDerivation { + pname = "wai-middleware-static-embedded"; + version = "0.1.0.0"; + sha256 = "de2c6a0a5174cec2f385080a734f0826aa6d1c4cd761f0c5df789eeb492816ad"; + libraryHaskellDepends = [ + base bytestring cryptonite http-types memory mime-types text wai + wai-extra + ]; + homepage = "https://github.com/adamse/network-wai-static-embedded#readme"; + description = "Serve embedded static files as a Wai middleware"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "wai-middleware-throttle" = callPackage ({ mkDerivation, base, bytestring, containers, hashable, hspec , http-types, HUnit, network, stm, token-bucket, transformers, wai @@ -194701,6 +196327,25 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "weeder" = callPackage + ({ mkDerivation, aeson, base, bytestring, cmdargs, extra, filepath + , hashable, process, text, unordered-containers, vector, yaml + }: + mkDerivation { + pname = "weeder"; + version = "0.1.2"; + sha256 = "8892b9d8cb683ec19b53701480ab8485a4b1f5a1f96ec2a6cec05a7722f81132"; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson base bytestring cmdargs extra filepath hashable process text + unordered-containers vector yaml + ]; + homepage = "https://github.com/ndmitchell/weeder#readme"; + description = "Detect dead code"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "weigh" = callPackage ({ mkDerivation, base, deepseq, mtl, process, split , template-haskell @@ -194718,6 +196363,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "weigh_0_0_4" = callPackage + ({ mkDerivation, base, deepseq, mtl, process, split + , template-haskell, temporary + }: + mkDerivation { + pname = "weigh"; + version = "0.0.4"; + sha256 = "2b360ce341a1401be48966648ccaf531f670d23458d557c5ae9c7ca4061cece3"; + libraryHaskellDepends = [ + base deepseq mtl process split template-haskell temporary + ]; + testHaskellDepends = [ base deepseq ]; + homepage = "https://github.com/fpco/weigh#readme"; + description = "Measure allocations of a Haskell functions/values"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "weighted" = callPackage ({ mkDerivation, base, mtl, semiring-num, transformers }: mkDerivation { @@ -195685,6 +197348,29 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "wordchoice" = callPackage + ({ mkDerivation, base, bytestring, Chart, Chart-diagrams + , containers, criterion, Glob, lens, optparse-applicative, pandoc + , system-filepath, text + }: + mkDerivation { + pname = "wordchoice"; + version = "0.1.0.3"; + sha256 = "12f82a80648a91a5188bfa7593eae46e0beba4d4b256412a98dac3308b91d882"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base bytestring Chart Chart-diagrams containers Glob lens + optparse-applicative pandoc system-filepath text + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ base ]; + benchmarkHaskellDepends = [ base criterion ]; + homepage = "https://github.com/githubuser/wordchoice#readme"; + description = "Get word counts and distributions"; + license = stdenv.lib.licenses.bsd3; + }) {}; + "wordcloud" = callPackage ({ mkDerivation }: mkDerivation { @@ -196137,6 +197823,22 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "writer-cps-mtl_0_1_1_4" = callPackage + ({ mkDerivation, base, mtl, transformers, writer-cps-transformers + }: + mkDerivation { + pname = "writer-cps-mtl"; + version = "0.1.1.4"; + sha256 = "62a3b3b76a5dc0dc6e8b9837afc8c5fc83fb334a034f89fab6a4a544fe204870"; + libraryHaskellDepends = [ + base mtl transformers writer-cps-transformers + ]; + homepage = "https://github.com/minad/writer-cps-mtl#readme"; + description = "MonadWriter orphan instances for writer-cps-transformers"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "writer-cps-transformers" = callPackage ({ mkDerivation, base, transformers }: mkDerivation { @@ -196149,6 +197851,19 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "writer-cps-transformers_0_1_1_3" = callPackage + ({ mkDerivation, base, transformers }: + mkDerivation { + pname = "writer-cps-transformers"; + version = "0.1.1.3"; + sha256 = "8aa22832fdb413c706a6862b83ad4a4ef8dd61ae8658aca6e5076cf2a5cd4aae"; + libraryHaskellDepends = [ base transformers ]; + homepage = "https://github.com/minad/writer-cps-transformers#readme"; + description = "WriteT and RWST monad transformers"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ws-chans" = callPackage ({ mkDerivation, async, base, http-types, HUnit, network , QuickCheck, quickcheck-instances, test-framework @@ -196340,8 +198055,8 @@ self: { ({ mkDerivation, base, stm, time, wxcore }: mkDerivation { pname = "wx"; - version = "0.92.2.0"; - sha256 = "a1d02b17cd336f0c435381c9f2ce74aad2059c56a00c678954089b74065a97fb"; + version = "0.92.3.0"; + sha256 = "bdcbabeb1841c61d0fee5ac5c797ee9b825edf97028990c9bd1101855ee28c11"; libraryHaskellDepends = [ base stm time wxcore ]; homepage = "https://wiki.haskell.org/WxHaskell"; description = "wxHaskell"; @@ -196398,10 +198113,8 @@ self: { }: mkDerivation { pname = "wxc"; - version = "0.92.2.0"; - sha256 = "e0da20807bafb22d51a0922211da11eb428b2a6661cb53bc98f6e17be9775191"; - revision = "1"; - editedCabalFile = "8ebef4ae5773d0abcb5777dd1f8b9fbf978b6c7ed8b1d88bbcb25594db0c79c2"; + version = "0.92.3.0"; + sha256 = "28a27fc51a53b8d2f3042a516fe9b8adfd118675adcdf1a7cf1f9fe2b722ff44"; setupHaskellDepends = [ base bytestring Cabal directory filepath process split ]; @@ -196409,7 +198122,7 @@ self: { librarySystemDepends = [ libX11 mesa ]; libraryPkgconfigDepends = [ wxGTK ]; doHaddock = false; - postInstall = "cp -v dist/build/libwxc.so.0.92.2.0 $out/lib/libwxc.so"; + postInstall = "cp -v dist/build/libwxc.so.0.92.3.0 $out/lib/libwxc.so"; postPatch = "sed -i -e '/ldconfig inst_lib_dir/d' Setup.hs"; homepage = "https://wiki.haskell.org/WxHaskell"; description = "wxHaskell C++ wrapper"; @@ -196419,13 +198132,15 @@ self: { inherit (pkgs) wxGTK;}; "wxcore" = callPackage - ({ mkDerivation, array, base, bytestring, containers, directory - , filepath, parsec, stm, time, wxc, wxdirect, wxGTK + ({ mkDerivation, array, base, bytestring, Cabal, containers + , directory, filepath, parsec, process, stm, time, wxc, wxdirect + , wxGTK }: mkDerivation { pname = "wxcore"; - version = "0.92.2.0"; - sha256 = "76128916c5d5df9cea9fc1e1b3b56d800d87874a431e98fca4427cb41cfe283e"; + version = "0.92.3.0"; + sha256 = "e053e1e9fc44f7ae2837c09c07bc1073255950d761643ec15a4a9f19557195e4"; + setupHaskellDepends = [ base Cabal directory filepath process ]; libraryHaskellDepends = [ array base bytestring containers directory filepath parsec stm time wxc wxdirect @@ -196443,10 +198158,8 @@ self: { }: mkDerivation { pname = "wxdirect"; - version = "0.92.2.0"; - sha256 = "2303834061c544f7e32ffd7aaf91e644ee89e178487689f109f06625f0eefd3b"; - revision = "1"; - editedCabalFile = "72b1487d63c458854733436e6938a76b709cb5392f155dad8ece7aafb73979a7"; + version = "0.92.3.0"; + sha256 = "03c60f604347dcfb1fb8cf65b4d0a487b5c2c868e4896f03ce5edd12d81e367a"; isLibrary = true; isExecutable = true; executableHaskellDepends = [ @@ -199537,6 +201250,23 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "yesod-auth-hmac-keccak" = callPackage + ({ mkDerivation, aeson, base, bytestring, cryptonite, mtl + , persistent, random, shakespeare, text, yesod-auth, yesod-core + , yesod-form, yesod-persistent, yesod-static + }: + mkDerivation { + pname = "yesod-auth-hmac-keccak"; + version = "0.0.0.2"; + sha256 = "46799684d4c75dba07f46842ed594385c872fd5a37557b38a9d4f09e3237bb00"; + libraryHaskellDepends = [ + aeson base bytestring cryptonite mtl persistent random shakespeare + text yesod-auth yesod-core yesod-form yesod-persistent yesod-static + ]; + description = "An account authentication plugin for yesod with encrypted token transfer"; + license = stdenv.lib.licenses.mit; + }) {}; + "yesod-auth-kerberos" = callPackage ({ mkDerivation, authenticate-kerberos, base, bytestring , shakespeare, text, transformers, yesod-auth, yesod-core @@ -202406,6 +204136,32 @@ self: { license = stdenv.lib.licenses.bsd3; }) {inherit (pkgs) zip;}; + "zip-archive_0_3_0_6" = callPackage + ({ mkDerivation, array, base, binary, bytestring, containers + , digest, directory, filepath, HUnit, mtl, old-time, pretty + , process, temporary, text, time, unix, zip, zlib + }: + mkDerivation { + pname = "zip-archive"; + version = "0.3.0.6"; + sha256 = "8140104a15d2961480c212a1e061a6d1b2af62357930de950e5debedb0abd5b6"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base binary bytestring containers digest directory filepath + mtl old-time pretty text time unix zlib + ]; + testHaskellDepends = [ + base bytestring directory HUnit old-time process temporary time + unix + ]; + testToolDepends = [ zip ]; + homepage = "http://github.com/jgm/zip-archive"; + description = "Library for creating and modifying zip archives"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {inherit (pkgs) zip;}; + "zip-conduit" = callPackage ({ mkDerivation, base, bytestring, cereal, conduit, conduit-extra , criterion, digest, directory, filepath, hpc, HUnit, LibZip, mtl @@ -202496,6 +204252,24 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "zippers_0_2_3" = callPackage + ({ mkDerivation, base, Cabal, cabal-doctest, criterion, doctest + , lens, profunctors, semigroupoids + }: + mkDerivation { + pname = "zippers"; + version = "0.2.3"; + sha256 = "1ba74cb927bce3e62b74861414e55b33160f6bd29313fa779e86b190ed18eb5d"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ base lens profunctors semigroupoids ]; + testHaskellDepends = [ base doctest ]; + benchmarkHaskellDepends = [ base criterion lens ]; + homepage = "http://github.com/ekmett/zippers/"; + description = "Traversal based zippers"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "zippo" = callPackage ({ mkDerivation, base, mtl, yall }: mkDerivation { @@ -202531,6 +204305,29 @@ self: { hydraPlatforms = stdenv.lib.platforms.none; }) {}; + "ziptastic-client_0_3_0_2" = callPackage + ({ mkDerivation, base, base-compat, hspec, http-client + , http-client-tls, http-types, iso3166-country-codes, servant + , servant-client, text, ziptastic-core + }: + mkDerivation { + pname = "ziptastic-client"; + version = "0.3.0.2"; + sha256 = "1a22bec1fc6d90a0c33a0a628a8324a93a879a091dfae29f7d9fd8c88b402aab"; + libraryHaskellDepends = [ + base base-compat http-client iso3166-country-codes servant + servant-client text ziptastic-core + ]; + testHaskellDepends = [ + base base-compat hspec http-client http-client-tls http-types + iso3166-country-codes servant-client + ]; + homepage = "https://github.com/Ziptastic/ziptastic-haskell#readme"; + description = "A type-safe client for the Ziptastic API for doing forward and reverse geocoding"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "ziptastic-core" = callPackage ({ mkDerivation, aeson, base, base-compat, bytestring, here, hspec , http-api-data, iso3166-country-codes, servant, text, tz @@ -202551,6 +204348,27 @@ self: { license = stdenv.lib.licenses.bsd3; }) {}; + "ziptastic-core_0_2_0_2" = callPackage + ({ mkDerivation, aeson, base, base-compat, bytestring, here, hspec + , http-api-data, iso3166-country-codes, servant, text, tz + }: + mkDerivation { + pname = "ziptastic-core"; + version = "0.2.0.2"; + sha256 = "d3cf39366b03e75460e116da10e0ea27280a18281afa3fab2a54ef0496fe2bc3"; + libraryHaskellDepends = [ + aeson base base-compat bytestring http-api-data + iso3166-country-codes servant text tz + ]; + testHaskellDepends = [ + aeson base base-compat here hspec iso3166-country-codes text tz + ]; + homepage = "https://github.com/Ziptastic/ziptastic-haskell#readme"; + description = "Core Servant specification for the Ziptastic API for doing forward and reverse geocoding"; + license = stdenv.lib.licenses.bsd3; + hydraPlatforms = stdenv.lib.platforms.none; + }) {}; + "zlib_0_5_4_2" = callPackage ({ mkDerivation, base, bytestring, zlib }: mkDerivation { diff --git a/pkgs/development/libraries/cimg/builder.sh b/pkgs/development/libraries/cimg/builder.sh deleted file mode 100644 index 6473395493c3..000000000000 --- a/pkgs/development/libraries/cimg/builder.sh +++ /dev/null @@ -1,11 +0,0 @@ - -source $stdenv/setup - -unpackPhase -cd $sourceRoot - -install -dm 755 $out/include/cimg $doc/share/doc/cimg/html $doc/share/cimg/examples $doc/share/cimg/plugins - -install -m 644 CImg.h $out/include/cimg -cp -dr --no-preserve=ownership examples/* $doc/share/cimg/examples/ -cp -dr --no-preserve=ownership plugins/* $doc/share/cimg/plugins/ diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix index a9470ee3f41b..c294647b35de 100644 --- a/pkgs/development/libraries/cimg/default.nix +++ b/pkgs/development/libraries/cimg/default.nix @@ -1,5 +1,4 @@ -{ stdenv, fetchurl -, unzip }: +{ stdenv, fetchurl, unzip }: stdenv.mkDerivation rec { @@ -13,7 +12,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ unzip ]; - builder = ./builder.sh; + installPhase = '' + install -dm 755 $out/include/CImg/plugins $doc/share/doc/cimg/examples + + install -m 644 CImg.h $out/include/ + cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/ + cp -dr --no-preserve=ownership plugins/* $out/include/CImg/plugins/ + cp README.txt $doc/share/doc/cimg/ + ''; outputs = [ "out" "doc" ]; diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix index af7acb35aac2..a0479d9d73c3 100644 --- a/pkgs/development/libraries/clutter/default.nix +++ b/pkgs/development/libraries/clutter/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes , libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, -gobjectIntrospection +gobjectIntrospection, gtk3 }: let @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { sha256 = "01nfjd4k7j2n3agpx2d9ncff86nfsqv4n23465rb9zmk4iw4wlb7"; }; + buildInputs = [ gtk3 ]; nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango diff --git a/pkgs/development/libraries/cpp-hocon/default.nix b/pkgs/development/libraries/cpp-hocon/default.nix index 90c27083d770..6014c9f4eafe 100644 --- a/pkgs/development/libraries/cpp-hocon/default.nix +++ b/pkgs/development/libraries/cpp-hocon/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "cpp-hocon-${version}"; - version = "0.1.4"; + version = "0.1.5"; src = fetchFromGitHub { - sha256 = "1abalk0sjfg4yfz148hdknsbnl2xwjb8li7lqc64d07ifxhcqr87"; + sha256 = "0fc5468458mz572nbp45x5sblp6dsb4d1b6jqv77zf3mx5xyziz7"; rev = version; repo = "cpp-hocon"; owner = "puppetlabs"; diff --git a/pkgs/development/libraries/ctpp2/default.nix b/pkgs/development/libraries/ctpp2/default.nix index 905121286c81..bb1d4458f50c 100644 --- a/pkgs/development/libraries/ctpp2/default.nix +++ b/pkgs/development/libraries/ctpp2/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = { description = "A high performance templating engine"; homepage = http://ctpp.havoc.ru; - maintiainers = with stdenv.lib.maintainers; [ robbinch ]; + maintainers = with stdenv.lib.maintainers; [ robbinch ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix new file mode 100644 index 000000000000..2ba97af133ed --- /dev/null +++ b/pkgs/development/libraries/eccodes/default.nix @@ -0,0 +1,52 @@ +{ fetchurl, stdenv +, cmake, netcdf, openjpeg, libpng, gfortran +, enablePython ? false, pythonPackages +, enablePosixThreads ? false +, enableOpenMPThreads ? false}: +with stdenv.lib; +stdenv.mkDerivation rec { + name = "eccodes-${version}"; + version = "2.2.0"; + + src = fetchurl { + url = https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.2.0-Source.tar.gz; + sha256 = "1hzl0akjfxphqivnaj2kg131w8ki80ba3872h0a45f4pchci4h8s"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ netcdf + openjpeg + libpng + gfortran + ]; + propagatedBuildInputs = optionals enablePython [ + pythonPackages.python + pythonPackages.numpy + ]; + + cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}" + "-DENABLE_PNG=ON" + "-DENABLE_ECCODES_THREADS=${if enablePosixThreads then "ON" else "OFF"}" + "-DENABLE_ECCODES_OMP_THREADS=${if enableOpenMPThreads then "ON" else "OFF"}" + ]; + + enableParallelBuilding = true; + + doCheck = true; + + # Only do tests that don't require downloading 120MB of testdata + checkPhase = stdenv.lib.optionalString (stdenv.isDarwin) '' + substituteInPlace "tests/include.sh" --replace "set -ea" "set -ea; export DYLD_LIBRARY_PATH=$(pwd)/lib" + '' + '' + ctest -R "eccodes_t_(definitions|calendar|unit_tests|md5|uerra|grib_2nd_order_numValues|julian)" -VV + ''; + + meta = { + homepage = "https://software.ecmwf.int/wiki/display/ECC/"; + license = licenses.asl20; + maintainers = with maintainers; [ knedlsepp ]; + platforms = platforms.unix; + description = "ECMWF library for reading and writing GRIB, BUFR and GTS abbreviated header"; + }; +} diff --git a/pkgs/development/libraries/farbfeld/default.nix b/pkgs/development/libraries/farbfeld/default.nix index d14de1938b98..3f309f06630b 100644 --- a/pkgs/development/libraries/farbfeld/default.nix +++ b/pkgs/development/libraries/farbfeld/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "farbfeld-${version}"; - version = "2"; + version = "3"; src = fetchgit { url = "http://git.suckless.org/farbfeld"; rev = "refs/tags/${version}"; - sha256 = "1rj6pqn50v6r7l3j7m872fgynxsh22zx863jg0jzmb4x6wx2m2qv"; + sha256 = "1k9cnw2zk9ywcn4hibf7wgi4czwyxhgjdmia6ghpw3wcz8vi71xl"; }; buildInputs = [ libpng libjpeg ]; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Suckless image format with conversion tools"; - license = licenses.mit; + license = licenses.isc; platforms = platforms.linux; maintainers = with maintainers; [ pSub ]; }; diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index 9a5c228ac82f..1839f4d0ef3a 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -14,7 +14,6 @@ , swscaleAlphaBuild ? true # Alpha channel support in swscale , hardcodedTablesBuild ? true # Hardcode decode tables instead of runtime generation , safeBitstreamReaderBuild ? true # Buffer boundary checking in bitreaders -, memalignHackBuild ? false # Emulate memalign , multithreadBuild ? true # Multithreading via pthreads/win32 threads , networkBuild ? true # Network support , pixelutilsBuild ? true # Pixel utils in libavutil @@ -120,7 +119,6 @@ #, vo-aacenc ? null # AAC encoder #, vo-amrwbenc ? null # AMR-WB encoder , wavpack ? null # Wavpack encoder -, x11grabExtlib ? false, libXext ? null, libXfixes ? null # X11 grabbing (legacy) , x264 ? null # H.264/AVC encoder , x265 ? null # H.265/HEVC encoder , xavs ? null # AVS encoder @@ -227,16 +225,15 @@ assert libxcbxfixesExtlib -> libxcb != null; assert libxcbshapeExtlib -> libxcb != null; assert openglExtlib -> mesa != null; assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing; -assert x11grabExtlib -> libX11 != null && libXv != null; assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing; stdenv.mkDerivation rec { name = "ffmpeg-full-${version}"; - version = "3.2.4"; + version = "3.3"; src = fetchurl { url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"; - sha256 = "0ymg1mkg1n0770gmjfqp79p5ijxq04smfrsrrxc8pjc0y0agyf3f"; + sha256 = "17anx7rnbi63if1ndr61836lf76dpn47n0y424hc48bj05y7z7jr"; }; patchPhase = ''patchShebangs . @@ -264,7 +261,6 @@ stdenv.mkDerivation rec { (enableFeature swscaleAlphaBuild "swscale-alpha") (enableFeature hardcodedTablesBuild "hardcoded-tables") (enableFeature safeBitstreamReaderBuild "safe-bitstream-reader") - (enableFeature memalignHackBuild "memalign-hack") (if multithreadBuild then ( if isCygwin then "--disable-pthreads --enable-w32threads" @@ -377,7 +373,6 @@ stdenv.mkDerivation rec { #(enableFeature (vo-aacenc != null && version3Licensing) "libvo-aacenc") #(enableFeature (vo-amrwbenc != null && version3Licensing) "libvo-amrwbenc") (enableFeature (wavpack != null) "libwavpack") - (enableFeature (x11grabExtlib && gplLicensing) "x11grab") (enableFeature (x264 != null && gplLicensing) "libx264") (enableFeature (x265 != null && gplLicensing) "libx265") (enableFeature (xavs != null && gplLicensing) "libxavs") @@ -400,10 +395,9 @@ stdenv.mkDerivation rec { bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11 - libxcb libXext libXfixes libXv lzma openal openjpeg_1 libpulseaudio rtmpdump + libxcb libXv lzma openal openjpeg_1 libpulseaudio rtmpdump samba SDL2 soxr speex vid-stab wavpack x264 x265 xavs xvidcore zeromq4 zlib ] ++ optional openglExtlib mesa - ++ optionals x11grabExtlib [ libXext libXfixes ] ++ optionals nonfreeLicensing [ fdk_aac openssl ] ++ optional ((isLinux || isFreeBSD) && libva != null) libva ++ optionals isLinux [ alsaLib libraw1394 libv4l ] diff --git a/pkgs/development/libraries/ffmpeg/3.2.nix b/pkgs/development/libraries/ffmpeg/3.2.nix deleted file mode 100644 index 17ed6fb0e4ba..000000000000 --- a/pkgs/development/libraries/ffmpeg/3.2.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ stdenv, callPackage -# Darwin frameworks -, Cocoa, CoreMedia -, ... -}@args: - -callPackage ./generic.nix (args // rec { - version = "${branch}.4"; - branch = "3.2"; - sha256 = "194n8hwmz2rpgh2rz8bc3mnxjyj3jh090mqp7k76msg9la9kbyn0"; - darwinFrameworks = [ Cocoa CoreMedia ]; - patches = stdenv.lib.optional stdenv.isDarwin ./sdk_detection.patch; -}) diff --git a/pkgs/development/libraries/ffmpeg/3.1.nix b/pkgs/development/libraries/ffmpeg/3.3.nix similarity index 68% rename from pkgs/development/libraries/ffmpeg/3.1.nix rename to pkgs/development/libraries/ffmpeg/3.3.nix index 8e79d1ad0e11..c3aa8de4e1e6 100644 --- a/pkgs/development/libraries/ffmpeg/3.1.nix +++ b/pkgs/development/libraries/ffmpeg/3.3.nix @@ -5,9 +5,9 @@ }@args: callPackage ./generic.nix (args // rec { - version = "${branch}.7"; - branch = "3.1"; - sha256 = "0ldf484r3waslv0sjx3vcwlkfgh28bd1wqcj26snfhav7zkf10kl"; + version = "${branch}"; + branch = "3.3"; + sha256 = "1p3brx0qa3i3569zlmcmpbxf17q73nrmbx2vp39s8h77r53qdq11"; darwinFrameworks = [ Cocoa CoreMedia ]; patches = stdenv.lib.optional stdenv.isDarwin ./sdk_detection.patch; }) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 0ac82f98a24b..8c74abc57094 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -6,7 +6,7 @@ # Build options , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime , multithreadBuild ? true # Multithreading via pthreads/win32 threads -, sdlSupport ? !stdenv.isArm, SDL ? null +, sdlSupport ? !stdenv.isArm, SDL ? null, SDL2 ? null , vdpauSupport ? !stdenv.isArm, libvdpau ? null # Developer options , debugDeveloper ? false @@ -128,7 +128,7 @@ stdenv.mkDerivation rec { (ifMinVer "2.4" "--enable-lzma") (ifMinVer "2.2" (enableFeature openglSupport "opengl")) (disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse") - (ifMinVer "2.5" (if sdlSupport then "--enable-sdl" else "")) # Only configurable since 2.5, auto detected before then + (ifMinVer "2.5" (if sdlSupport && reqMin "3.2" then "--enable-sdl2" else if sdlSupport then "--enable-sdl" else null)) # autodetected before 2.5, SDL1 support removed in 3.2 for SDL2 (ifMinVer "1.2" "--enable-libsoxr") "--enable-libx264" "--enable-libxvid" @@ -155,7 +155,7 @@ stdenv.mkDerivation rec { ++ optional isLinux alsaLib ++ optionals isDarwin darwinFrameworks ++ optional vdpauSupport libvdpau - ++ optional sdlSupport SDL; + ++ optional sdlSupport (if reqMin "3.2" then SDL2 else SDL); enableParallelBuilding = true; diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index 2906dc788865..221fba628ba9 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -96,7 +96,7 @@ let kwallet = callPackage ./kwallet.nix {}; kwayland = callPackage ./kwayland.nix {}; kwidgetsaddons = callPackage ./kwidgetsaddons.nix {}; - kwindowsystem = callPackage ./kwindowsystem.nix {}; + kwindowsystem = callPackage ./kwindowsystem {}; kxmlgui = callPackage ./kxmlgui.nix {}; kxmlrpcclient = callPackage ./kxmlrpcclient.nix {}; modemmanager-qt = callPackage ./modemmanager-qt.nix {}; diff --git a/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/pkgs/development/libraries/kde-frameworks/kinit/default.nix index b965f761e922..f5cfa166e911 100644 --- a/pkgs/development/libraries/kde-frameworks/kinit/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kinit/default.nix @@ -1,9 +1,12 @@ { kdeFramework, lib, copyPathsToStore, extra-cmake-modules, kdoctools, - kconfig, kcrash, ki18n, kio, kservice, kwindowsystem + kconfig, kcrash, ki18n, kio, kparts, kservice, kwindowsystem, plasma-framework }: +let + inherit (lib) getLib; +in kdeFramework { name = "kinit"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; @@ -12,4 +15,9 @@ kdeFramework { kconfig kcrash ki18n kio kservice kwindowsystem ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + NIX_CFLAGS_COMPILE = [ + ''-DNIXPKGS_KF5_KIOCORE="${getLib kio}/lib/libKF5KIOCore.so.5"'' + ''-DNIXPKGS_KF5_PARTS="${getLib kparts}/lib/libKF5Parts.so.5"'' + ''-DNIXPKGS_KF5_PLASMA="${getLib plasma-framework}/lib/libKF5Plasma.so.5"'' + ]; } diff --git a/pkgs/development/libraries/kde-frameworks/kinit/kdeinit-extra_libs.patch b/pkgs/development/libraries/kde-frameworks/kinit/kdeinit-extra_libs.patch new file mode 100644 index 000000000000..75e632d41292 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kinit/kdeinit-extra_libs.patch @@ -0,0 +1,49 @@ +Index: kinit-5.32.0/src/kdeinit/kinit.cpp +=================================================================== +--- kinit-5.32.0.orig/src/kdeinit/kinit.cpp ++++ kinit-5.32.0/src/kdeinit/kinit.cpp +@@ -96,11 +96,9 @@ static const char *extra_libs[] = { + "libKF5Parts.5.dylib", + "libKF5Plasma.5.dylib" + #else +- "libKF5KIOCore.so.5", +- "libKF5Parts.so.5", +-//#ifdef __KDE_HAVE_GCC_VISIBILITY // Removed for KF5, we'll see. +- "libKF5Plasma.so.5" +-//#endif ++ NIXPKGS_KF5_KIOCORE, ++ NIXPKGS_KF5_PARTS, ++ NIXPKGS_KF5_PLASMA + #endif + }; + #endif +@@ -1533,20 +1531,6 @@ static int initXconnection() + } + #endif + +-#ifndef Q_OS_OSX +-// Find a shared lib in the lib dir, e.g. libkio.so. +-// Completely unrelated to plugins. +-static QString findSharedLib(const QString &lib) +-{ +- QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/") + lib; +- if (QFile::exists(path)) { +- return path; +- } +- // We could also look in LD_LIBRARY_PATH, but really, who installs the main libs in different prefixes? +- return QString(); +-} +-#endif +- + extern "C" { + + static void secondary_child_handler(int) +@@ -1692,7 +1676,7 @@ int main(int argc, char **argv) + if (!d.suicide && qEnvironmentVariableIsEmpty("KDE_IS_PRELINKED")) { + const int extrasCount = sizeof(extra_libs) / sizeof(extra_libs[0]); + for (int i = 0; i < extrasCount; i++) { +- const QString extra = findSharedLib(QString::fromLatin1(extra_libs[i])); ++ const QString extra = QString::fromLatin1(extra_libs[i]); + if (!extra.isEmpty()) { + QLibrary l(extra); + l.setLoadHints(QLibrary::ExportExternalSymbolsHint); diff --git a/pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch b/pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch index a5c76fca2481..b949723fb543 100644 --- a/pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch +++ b/pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch @@ -1,8 +1,8 @@ -Index: kinit-5.24.0/src/kdeinit/kinit.cpp +Index: kinit-5.32.0/src/kdeinit/kinit.cpp =================================================================== ---- kinit-5.24.0.orig/src/kdeinit/kinit.cpp -+++ kinit-5.24.0/src/kdeinit/kinit.cpp -@@ -672,19 +672,16 @@ static pid_t launch(int argc, const char +--- kinit-5.32.0.orig/src/kdeinit/kinit.cpp ++++ kinit-5.32.0/src/kdeinit/kinit.cpp +@@ -623,19 +623,15 @@ static pid_t launch(int argc, const char if (!libpath.isEmpty()) { if (libpath_relative) { @@ -23,10 +23,9 @@ Index: kinit-5.24.0/src/kdeinit/kinit.cpp + QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); + // Reverse the profile list. + std::reverse(profiles.begin(), profiles.end()); -+ const QString libdir = QString::fromLatin1("/lib/"); -+ Q_FOREACH (const QByteArray &profile, profiles) { ++ for (const QByteArray &profile: profiles) { + if (!profile.isEmpty()) { -+ l.setFileName(QFile::decodeName(profile) + libdir + libpath); ++ l.setFileName(QFile::decodeName(profile) + QStringLiteral("/lib/") + libpath); + if (l.load()) break; + } } diff --git a/pkgs/development/libraries/kde-frameworks/kinit/series b/pkgs/development/libraries/kde-frameworks/kinit/series index 576b8a935bf1..9195a4e8e6b0 100644 --- a/pkgs/development/libraries/kde-frameworks/kinit/series +++ b/pkgs/development/libraries/kde-frameworks/kinit/series @@ -1,2 +1,3 @@ kinit-libpath.patch start_kdeinit-path.patch +kdeinit-extra_libs.patch diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix b/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix similarity index 61% rename from pkgs/development/libraries/kde-frameworks/kwindowsystem.nix rename to pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix index 4bfd813ff932..8a91bdbac528 100644 --- a/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix +++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix @@ -1,5 +1,5 @@ { - kdeFramework, lib, + kdeFramework, lib, copyPathsToStore, extra-cmake-modules, qtbase, qttools, qtx11extras }: @@ -12,4 +12,8 @@ kdeFramework { }; nativeBuildInputs = [ extra-cmake-modules qttools ]; propagatedBuildInputs = [ qtx11extras ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + preConfigure = '' + NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PATH=\"$out/lib/qt5/plugins\"" + ''; } diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch b/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch new file mode 100644 index 000000000000..ed24897d342a --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/platform-plugins-path.patch @@ -0,0 +1,22 @@ +Index: kwindowsystem-5.32.0/src/pluginwrapper.cpp +=================================================================== +--- kwindowsystem-5.32.0.orig/src/pluginwrapper.cpp ++++ kwindowsystem-5.32.0/src/pluginwrapper.cpp +@@ -37,14 +37,9 @@ Q_GLOBAL_STATIC(KWindowSystemPluginWrapp + static QStringList pluginCandidates() + { + QStringList ret; +- foreach (const QString &path, QCoreApplication::libraryPaths()) { +- QDir pluginDir(path + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms")); +- if (!pluginDir.exists()) { +- continue; +- } +- foreach (const QString &entry, pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot)) { +- ret << pluginDir.absoluteFilePath(entry); +- } ++ QDir pluginDir(QStringLiteral(NIXPKGS_QT_PLUGIN_PATH) + QLatin1Literal("/kf5/org.kde.kwindowsystem.platforms")); ++ foreach (const QString &entry, pluginDir.entryList(QDir::Files | QDir::NoDotAndDotDot)) { ++ ret << pluginDir.absoluteFilePath(entry); + } + return ret; + } diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/series b/pkgs/development/libraries/kde-frameworks/kwindowsystem/series new file mode 100644 index 000000000000..2cd02056ff81 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/series @@ -0,0 +1 @@ +platform-plugins-path.patch diff --git a/pkgs/development/libraries/kirigami/default.nix b/pkgs/development/libraries/kirigami/default.nix index 66e67e6b8538..e24ad8196ee3 100644 --- a/pkgs/development/libraries/kirigami/default.nix +++ b/pkgs/development/libraries/kirigami/default.nix @@ -1,23 +1,47 @@ -{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig, plasma-framework, qtbase, qtquickcontrols }: +{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig +, plasma-framework, qtbase +, qtquickcontrols ? null +, qtquickcontrols2 ? null }: -stdenv.mkDerivation rec { +let pname = "kirigami"; - version = "1.1.0"; - name = "${pname}-${version}"; - src = fetchurl { - url = "mirror://kde/stable/${pname}/${name}.tar.xz"; - sha256 = "1p9ydggwbyfdgwmvyc8004sk9mfshlg9b83lzvz9qk3a906ayxv6"; + generic = { name, version, sha256, qtqc, broken }: + stdenv.mkDerivation rec { + inherit name version; + + src = fetchurl { + url = "mirror://kde/stable/${pname}/${name}.tar.xz"; + inherit sha256; + }; + + buildInputs = [ plasma-framework qtbase qtqc ]; + + nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ]; + + meta = with stdenv.lib; { + license = licenses.lgpl2; + homepage = http://www.kde.org; + maintainers = with maintainers; [ ttuegel peterhoeg ]; + platforms = platforms.unix; + inherit broken; + }; }; - buildInputs = [ qtbase qtquickcontrols plasma-framework ]; +in { + kirigami_1 = generic rec { + name = "${pname}-${version}"; + version = "1.1.0"; + sha256 = "1p9ydggwbyfdgwmvyc8004sk9mfshlg9b83lzvz9qk3a906ayxv6"; + qtqc = qtquickcontrols; + broken = false; + }; - nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ]; - - meta = with stdenv.lib; { - license = licenses.lgpl2; - homepage = http://www.kde.org; - maintainers = with maintainers; [ ttuegel peterhoeg ]; - platforms = platforms.unix; + kirigami_2 = generic rec { + name = "${pname}2-${version}"; + version = "2.1.0"; + sha256 = "0d79h10jzv9z7xzap4k9vbw6p9as8vdkz3x6xlzx407i9sbzyi77"; + qtqc = qtquickcontrols2; + broken = builtins.compareVersions qtbase.version "5.7.0" < 0; }; } diff --git a/pkgs/development/libraries/kirigami/v2.nix b/pkgs/development/libraries/kirigami/v2.nix deleted file mode 100644 index 0b332d40329d..000000000000 --- a/pkgs/development/libraries/kirigami/v2.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig, plasma-framework, qtbase, qtquickcontrols2 }: - -stdenv.mkDerivation rec { - pname = "kirigami"; - version = "1.90.0"; - name = "${pname}2-${version}"; - - src = fetchurl { - url = "mirror://kde/unstable/${pname}/${pname}-${version}.tar.xz"; - sha256 = "a5ca094a60d1cc48116cbed07bbe68be016773d2488a91e278859c90f59e64a8"; - }; - - buildInputs = [ qtbase qtquickcontrols2 plasma-framework ]; - - nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ]; - - meta = with stdenv.lib; { - license = licenses.lgpl2; - homepage = http://www.kde.org; - maintainers = with maintainers; [ ttuegel peterhoeg ]; - platforms = platforms.unix; - broken = builtins.compareVersions qtbase.version "5.7.0" < 0; - }; -} diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix index ea092a336375..d45a616606d9 100644 --- a/pkgs/development/libraries/leatherman/default.nix +++ b/pkgs/development/libraries/leatherman/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchFromGitHub, boost, cmake, curl }: +{ stdenv, fetchFromGitHub, boost, cmake, curl, ruby }: stdenv.mkDerivation rec { name = "leatherman-${version}"; - version = "0.10.1"; + version = "0.11.2"; src = fetchFromGitHub { - sha256 = "0kjk3xq7v6bqq35ymj9vr9xz5kpcka51ms6489pm48adyaf53hs7"; + sha256 = "1rnk204mvzc44i69b8gfb1fjj5r4qby7ymal782rdplnlbm065r8"; rev = version; repo = "leatherman"; owner = "puppetlabs"; }; - buildInputs = [ boost cmake curl ]; + buildInputs = [ boost cmake curl ruby ]; meta = with stdenv.lib; { homepage = https://github.com/puppetlabs/leatherman/; diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix index 9a736a38e3f9..61926dad24d1 100644 --- a/pkgs/development/libraries/libidn2/default.nix +++ b/pkgs/development/libraries/libidn2/default.nix @@ -4,11 +4,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "libidn2-${version}"; - version = "2.0.1"; + version = "2.0.2"; src = fetchurl { url = "mirror://gnu/gnu/libidn/${name}.tar.gz"; - sha256 = "1lzi4wng22gyzlgkr8jk75d03f2bnnch5yhmiwb0hram2la6a8qd"; + sha256 = "1azfhz8zj1c27a5k2cspnkzkyfhcsqx2yc2sygh720dbn8l2imlc"; }; outputs = [ "bin" "dev" "out" "info" "devdoc" ]; diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix index 3b3dee138a54..81fa9011e30b 100644 --- a/pkgs/development/libraries/libmatroska/default.nix +++ b/pkgs/development/libraries/libmatroska/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libebml }: stdenv.mkDerivation rec { - name = "libmatroska-1.4.5"; + name = "libmatroska-1.4.7"; src = fetchurl { url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.bz2"; - sha256 = "1g2p2phmhkp86ldd2zqx6q0s33r7d38rsfnr4wmmdr81d6j3y0kr"; + sha256 = "1yi5cnv13nhl27xyqayd5l3sf0j3swfj3apzibv71yg9pariwi26"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix index faeeb34d65dd..6dff8ebc8a1f 100644 --- a/pkgs/development/libraries/libsamplerate/default.nix +++ b/pkgs/development/libraries/libsamplerate/default.nix @@ -30,10 +30,7 @@ in stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Sample Rate Converter for audio"; homepage = http://www.mega-nerd.com/SRC/index.html; - # you can choose one of the following licenses: - # GPL or a commercial-use license (available at - # http://www.mega-nerd.com/SRC/libsamplerate-cul.pdf) - licenses = with licenses; [ gpl3.shortName unfree ]; + license = licenses.bsd2; maintainers = with maintainers; [ lovek323 wkennington ]; platforms = platforms.all; }; diff --git a/pkgs/development/libraries/libtiger/default.nix b/pkgs/development/libraries/libtiger/default.nix index 58e92f110185..deab30430359 100644 --- a/pkgs/development/libraries/libtiger/default.nix +++ b/pkgs/development/libraries/libtiger/default.nix @@ -12,7 +12,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://code.google.com/p/libtiger/; - authors = [ "Vincent Penquerc'h" ]; description = "A rendering library for Kate streams using Pango and Cairo"; platforms = stdenv.lib.platforms.unix; }; diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index d44a8c973fdc..fb397ace7941 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -70,7 +70,7 @@ in stdenv.mkDerivation rec { meta = { homepage = http://xmlsoft.org/; description = "An XML parsing library for C"; - license = "bsd"; + license = lib.licenses.mit; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.eelco ]; }; diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index 7798c806982b..4647eecf87d4 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = http://xmlsoft.org/XSLT/; description = "A C library and tools to do XSL transformations"; - license = "bsd"; + license = licenses.mit; platforms = platforms.unix; maintainers = [ maintainers.eelco ]; }; diff --git a/pkgs/development/libraries/libytnef/default.nix b/pkgs/development/libraries/libytnef/default.nix index cbf675af4da5..8af7d5d8797c 100644 --- a/pkgs/development/libraries/libytnef/default.nix +++ b/pkgs/development/libraries/libytnef/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { inherit (src.meta) homepage; description = "Yeraze's TNEF Stream Reader - for winmail.dat files"; license = licenses.gpl2Plus; - platform = platforms.all; + platforms = platforms.all; maintainers = with maintainers; [ fpletz ]; }; } diff --git a/pkgs/development/libraries/log4cpp/default.nix b/pkgs/development/libraries/log4cpp/default.nix index b5a6ecac9cf2..96cbbb770b4c 100644 --- a/pkgs/development/libraries/log4cpp/default.nix +++ b/pkgs/development/libraries/log4cpp/default.nix @@ -2,16 +2,18 @@ stdenv.mkDerivation rec { name = "log4cpp-1.1.1"; - + src = fetchurl { url = "mirror://sourceforge/log4cpp/${name}.tar.gz"; sha256 = "1l5yz5rfzzv6g3ynrj14mxfsk08cp5h1ssr7d74hjs0accrg7arm"; }; - meta = { - homepage = http://log4cpp.sourceforge.net/; + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "http://log4cpp.sourceforge.net/"; description = "A logging framework for C++ patterned after Apache log4j"; - license = stdenv.lib.licenses.lgpl21Plus; - platforms = stdenv.lib.platforms.unix; + license = licenses.lgpl21Plus; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/log4shib/default.nix b/pkgs/development/libraries/log4shib/default.nix new file mode 100644 index 000000000000..f9b68e1a0cfd --- /dev/null +++ b/pkgs/development/libraries/log4shib/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchgit, autoreconfHook }: + +stdenv.mkDerivation rec { + name = "log4shib-${version}"; + version = "1.0.9"; + + src = fetchgit { + url = "https://git.shibboleth.net/git/cpp-log4shib.git"; + rev = "a1afe19b7b49c32fcb03e6d72809501b8965cf85"; + sha256 = "06rrc5l6qxlc8abzim2jcxwz2c577qrjqx15cbfqq1zfqagj9hix"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + meta = { + description = "A forked version of log4cpp that has been created for the Shibboleth project"; + }; +} diff --git a/pkgs/development/libraries/opensaml-cpp/default.nix b/pkgs/development/libraries/opensaml-cpp/default.nix new file mode 100644 index 000000000000..9e3fbd153068 --- /dev/null +++ b/pkgs/development/libraries/opensaml-cpp/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchgit, autoreconfHook, boost, openssl, log4shib, xercesc, xml-security-c, xml-tooling-c, zlib }: + +stdenv.mkDerivation rec { + name = "opensaml-cpp-${version}"; + version = "2.6.0"; + + src = fetchgit { + url = "https://git.shibboleth.net/git/cpp-opensaml.git"; + rev = "61193de29e4c9f1ccff7ed7e1f42c2748c62be77"; + sha256 = "1jlxa1f2qn0kd15fzjqp80apxn42v47wg3mx1vk424m31rhi00xr"; + }; + + buildInputs = [ boost openssl log4shib xercesc xml-security-c xml-tooling-c zlib ]; + nativeBuildInputs = [ autoreconfHook ]; + + configureFlags = [ "--with-xmltooling=${xml-tooling-c}" ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "https://shibboleth.net/products/opensaml-cpp.html"; + description = "A low-level library written in C++ that provides support for producing and consuming SAML messages"; + platforms = platforms.unix; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/libraries/physics/fastnlo/default.nix b/pkgs/development/libraries/physics/fastnlo/default.nix index 307bf1b27db3..e07583fccb5b 100644 --- a/pkgs/development/libraries/physics/fastnlo/default.nix +++ b/pkgs/development/libraries/physics/fastnlo/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - descritption = "A computer code to create and evaluate fast interpolation tables of pre-computed coefficients in perturbation theory for observables in hadron-induced processes"; + description = "A computer code to create and evaluate fast interpolation tables of pre-computed coefficients in perturbation theory for observables in hadron-induced processes"; license = stdenv.lib.licenses.gpl3; homepage = http://fastnlo.hepforge.org; platforms = stdenv.lib.platforms.unix; diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/nix-profiles-library-paths.patch deleted file mode 100644 index d454a74109ae..000000000000 --- a/pkgs/development/libraries/qt-5/5.6/qtbase/nix-profiles-library-paths.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: qtbase-opensource-src-5.6.0/src/corelib/kernel/qcoreapplication.cpp -=================================================================== ---- qtbase-opensource-src-5.6.0.orig/src/corelib/kernel/qcoreapplication.cpp -+++ qtbase-opensource-src-5.6.0/src/corelib/kernel/qcoreapplication.cpp -@@ -2533,7 +2533,17 @@ QStringList QCoreApplication::libraryPat - QStringList *app_libpaths = new QStringList; - coreappdata()->app_libpaths.reset(app_libpaths); - -+ // Add library paths derived from NIX_PROFILES. -+ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); -+ const QString plugindir = QString::fromLatin1("/lib/qt5/plugins"); -+ Q_FOREACH (const QByteArray &profile, profiles) { -+ if (!profile.isEmpty()) { -+ app_libpaths->append(QFile::decodeName(profile) + plugindir); -+ } -+ } -+ - const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH"); -+ qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes - if (!libPathEnv.isEmpty()) { - QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts); - for (QStringList::const_iterator it = paths.constBegin(); it != paths.constEnd(); ++it) { diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/series b/pkgs/development/libraries/qt-5/5.6/qtbase/series index 2196d8383752..9ef8c998c661 100644 --- a/pkgs/development/libraries/qt-5/5.6/qtbase/series +++ b/pkgs/development/libraries/qt-5/5.6/qtbase/series @@ -4,6 +4,5 @@ dlopen-libXcursor.patch dlopen-openssl.patch dlopen-dbus.patch xdg-config-dirs.patch -nix-profiles-library-paths.patch compose-search-path.patch libressl.patch diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths-darwin.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths-darwin.patch deleted file mode 100644 index da7f36542ef9..000000000000 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths-darwin.patch +++ /dev/null @@ -1,384 +0,0 @@ -Index: qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -+++ qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) - endif() - !!ENDIF - --!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) --!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) --set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") --!!ELSE --get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH) --# Use original install prefix when loaded through a --# cross-prefix symbolic link such as /lib -> /usr/lib. --get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH) --get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH) --if(_realCurr STREQUAL _realOrig) -- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE) --else() -- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) --endif() --unset(_realOrig) --unset(_realCurr) --unset(_IMPORT_PREFIX) --!!ENDIF --!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) --get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) --!!ELSE --set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") --!!ENDIF -- - !!IF !equals(TEMPLATE, aux) - # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. - set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)") -@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta - set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") -+ set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") -+ if(NOT EXISTS \"${imported_location}\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") -+ endif() - !!ELSE - set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") - !!ENDIF -@@ -74,45 +53,17 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta - \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" - ) - --!!IF !isEmpty(CMAKE_WINDOWS_BUILD) --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") --!!ELSE -- set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") --!!ENDIF -- _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) -- if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") -- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES -- \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib} -- ) -- endif() --!!ENDIF - endmacro() - !!ENDIF - - if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - - !!IF !no_module_headers --!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) -- set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" -- ) --!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) -- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" -- ) --!!ELSE -- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") --!!ENDIF --!!ELSE - !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) -- set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") -+ set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_OUT@/lib\" \"@NIX_OUT@/lib/$${MODULE_INCNAME}.framework/Headers\") - !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" -+ \"\" - ) - !!ELSE - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") -@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") - !!ENDIF - !!ENDIF --!!ENDIF -+ - !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) - include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) - !!ENDIF -@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME - - !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) - !!IF isEmpty(CMAKE_DEBUG_TYPE) --!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE -- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE -- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) --!!ELSE // CMAKE_STATIC_WINDOWS_BUILD - if (EXISTS - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" -+ \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" - !!ELSE - \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" - !!ENDIF - AND EXISTS - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) -+ \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) - !!ELSE - \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) - !!ENDIF - _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD - endif() - !!ENDIF // CMAKE_DEBUG_TYPE - !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD -@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME - !!ENDIF // CMAKE_RELEASE_TYPE - - !!IF !isEmpty(CMAKE_DEBUG_TYPE) --!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) -- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) --!!ELSE - _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD - - !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) - !!IF isEmpty(CMAKE_RELEASE_TYPE) --!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE -- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE -- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) --!!ELSE // CMAKE_STATIC_WINDOWS_BUILD - if (EXISTS - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" -+ \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" - !!ELSE - \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" - !!ENDIF - AND EXISTS - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) -+ \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) - !!ELSE - \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) - !!ENDIF - _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD - endif() - !!ENDIF // CMAKE_RELEASE_TYPE - !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD -@@ -328,11 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME - macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) - set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - --!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") --!!ELSE -- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") --!!ENDIF -+ set(imported_location \"${PLUGIN_LOCATION}\") - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::${Plugin} PROPERTIES - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -Index: qtbase-opensource-src-5.8.0/src/gui/Qt5GuiConfigExtras.cmake.in -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in -+++ qtbase-opensource-src-5.8.0/src/gui/Qt5GuiConfigExtras.cmake.in -@@ -2,7 +2,7 @@ - !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) - - !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) --set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") -+set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\") - !!ELSE - set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") - !!ENDIF -@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert - set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - - !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") -+ set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") - !!ELSE - set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") - !!ENDIF - - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") -+ set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") - !!ELSE - set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") - !!ENDIF -Index: qtbase-opensource-src-5.8.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in -+++ qtbase-opensource-src-5.8.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in -@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic) - add_executable(Qt5::uic IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ENDIF -Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtras.cmake.in -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in -+++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtras.cmake.in -@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake) - add_executable(Qt5::qmake IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc) - add_executable(Qt5::moc IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc) - add_executable(Qt5::rcc IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain) - !!IF !isEmpty(CMAKE_RELEASE_TYPE) - set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") - !!ELSE - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") - !!ENDIF -@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain) - set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) - - !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") - !!ELSE - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") - !!ENDIF -Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in -+++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in -@@ -1,6 +1,6 @@ - - !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) --set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") -+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") - !!ELSE - set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") - !!ENDIF -Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in -+++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in -@@ -1,6 +1,6 @@ - - !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) --set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") -+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") - !!ELSE - set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") - !!ENDIF -Index: qtbase-opensource-src-5.8.0/src/dbus/Qt5DBusConfigExtras.cmake.in -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in -+++ qtbase-opensource-src-5.8.0/src/dbus/Qt5DBusConfigExtras.cmake.in -@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) - add_executable(Qt5::qdbuscpp2xml IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp) - add_executable(Qt5::qdbusxml2cpp IMPORTED) - - !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") -+ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") - !!ENDIF -Index: qtbase-opensource-src-5.8.0/mkspecs/features/create_cmake.prf -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/mkspecs/features/create_cmake.prf -+++ qtbase-opensource-src-5.8.0/mkspecs/features/create_cmake.prf -@@ -136,28 +136,28 @@ contains(CONFIG, plugin) { - - win32 { - isEmpty(CMAKE_STATIC_TYPE) { -- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll -- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll -+ CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.dll -+ CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.dll - } else:mingw { -- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a -- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a -+ CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}/$$PLUGIN_TYPE/lib$${TARGET}.a -+ CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a - } else { # MSVC static -- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib -- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib -+ CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.lib -+ CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.lib - } - } else { - mac { - isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib - else: CMAKE_PlUGIN_EXT = .a - -- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} -- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} -+ CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} -+ CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} - } else { - isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so - else: CMAKE_PlUGIN_EXT = .a - -- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} -- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} -+ CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} -+ CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT} - } - } - cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in -Index: qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -=================================================================== ---- qtbase-opensource-src-5.8.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -+++ qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -@@ -2,10 +2,10 @@ - add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) - - !!IF !isEmpty(CMAKE_RELEASE_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\") - !!ENDIF - !!IF !isEmpty(CMAKE_DEBUG_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\") - !!ENDIF - - list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths.patch index 0d5c2d510929..c43653558e32 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths.patch +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths.patch @@ -1,7 +1,7 @@ -Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +Index: qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in =================================================================== ---- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -+++ qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +--- qtbase-opensource-src-5.8.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) endif() !!ENDIF @@ -45,7 +45,7 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cm !!ELSE set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") !!ENDIF -@@ -74,45 +53,18 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta +@@ -74,19 +53,6 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" ) @@ -65,23 +65,26 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cm endmacro() !!ENDIF - if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - +@@ -95,24 +61,24 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME !!IF !no_module_headers --!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) -- set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS + !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" -- ) --!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) -- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS ++ \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" ++ \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" + ) + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" -- ) --!!ELSE -- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") --!!ENDIF --!!ELSE ++ \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" ++ \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" + ) + !!ELSE + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") + !!ENDIF + !!ELSE !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) - set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR\" \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") @@ -94,27 +97,17 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cm ) !!ELSE set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") -@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME - set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") - !!ENDIF - !!ENDIF --!!ENDIF -+ - !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) - include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) - !!ENDIF -@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME - - !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) +@@ -255,7 +221,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME !!IF isEmpty(CMAKE_DEBUG_TYPE) --!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) + !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE -- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE -- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) --!!ELSE // CMAKE_STATIC_WINDOWS_BUILD ++ if (EXISTS \"@NIX_OUT@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE +@@ -263,13 +229,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + !!ELSE // CMAKE_STATIC_WINDOWS_BUILD if (EXISTS !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" @@ -129,31 +122,17 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cm !!ELSE \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) !!ENDIF - _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD - endif() - !!ENDIF // CMAKE_DEBUG_TYPE - !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD -@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME - !!ENDIF // CMAKE_RELEASE_TYPE - - !!IF !isEmpty(CMAKE_DEBUG_TYPE) --!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) -- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) --!!ELSE - _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) --!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD - - !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) +@@ -292,7 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME !!IF isEmpty(CMAKE_RELEASE_TYPE) --!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) --!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) + !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) - if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE -- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE -- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) --!!ELSE // CMAKE_STATIC_WINDOWS_BUILD ++ if (EXISTS \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE + if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE +@@ -300,13 +266,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + !!ELSE // CMAKE_STATIC_WINDOWS_BUILD if (EXISTS !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" @@ -168,12 +147,7 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cm !!ELSE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) !!ENDIF - _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) --!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD - endif() - !!ENDIF // CMAKE_RELEASE_TYPE - !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD -@@ -328,11 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME +@@ -328,11 +294,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) @@ -186,10 +160,10 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cm _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) set_target_properties(Qt5::${Plugin} PROPERTIES \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -Index: qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in +Index: qtbase-opensource-src-5.8.0/src/gui/Qt5GuiConfigExtras.cmake.in =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in -+++ qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in +--- qtbase-opensource-src-5.8.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in ++++ qtbase-opensource-src-5.8.0/src/gui/Qt5GuiConfigExtras.cmake.in @@ -2,7 +2,7 @@ !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) @@ -215,10 +189,10 @@ Index: qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in !!ELSE set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") !!ENDIF -Index: qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in +Index: qtbase-opensource-src-5.8.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in -+++ qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in +--- qtbase-opensource-src-5.8.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in ++++ qtbase-opensource-src-5.8.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic) add_executable(Qt5::uic IMPORTED) @@ -228,10 +202,10 @@ Index: qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in !!ELSE set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") !!ENDIF -Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in +Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtras.cmake.in =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in -+++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in +--- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in ++++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtras.cmake.in @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake) add_executable(Qt5::qmake IMPORTED) @@ -277,10 +251,10 @@ Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in !!ELSE set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") !!ENDIF -Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in +Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in -+++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in +--- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in ++++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in @@ -1,6 +1,6 @@ !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) @@ -289,10 +263,10 @@ Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForIn !!ELSE set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") !!ENDIF -Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in +Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in -+++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in +--- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in ++++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in @@ -1,6 +1,6 @@ !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) @@ -301,10 +275,10 @@ Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmak !!ELSE set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") !!ENDIF -Index: qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in +Index: qtbase-opensource-src-5.8.0/src/dbus/Qt5DBusConfigExtras.cmake.in =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in -+++ qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in +--- qtbase-opensource-src-5.8.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in ++++ qtbase-opensource-src-5.8.0/src/dbus/Qt5DBusConfigExtras.cmake.in @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) add_executable(Qt5::qdbuscpp2xml IMPORTED) @@ -323,10 +297,27 @@ Index: qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in !!ELSE set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") !!ENDIF -Index: qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf +Index: qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in =================================================================== ---- qtbase-opensource-src-5.7.0.orig/mkspecs/features/create_cmake.prf -+++ qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf +--- qtbase-opensource-src-5.8.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in ++++ qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in +@@ -2,10 +2,10 @@ + add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) + + !!IF !isEmpty(CMAKE_RELEASE_TYPE) +-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") ++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\") + !!ENDIF + !!IF !isEmpty(CMAKE_DEBUG_TYPE) +-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") ++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\") + !!ENDIF + + list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) +Index: qtbase-opensource-src-5.8.0/mkspecs/features/create_cmake.prf +=================================================================== +--- qtbase-opensource-src-5.8.0.orig/mkspecs/features/create_cmake.prf ++++ qtbase-opensource-src-5.8.0/mkspecs/features/create_cmake.prf @@ -136,28 +136,28 @@ contains(CONFIG, plugin) { win32 { @@ -338,7 +329,7 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf } else:mingw { - CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a - CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a -+ CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}/$$PLUGIN_TYPE/lib$${TARGET}.a ++ CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}.a + CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a } else { # MSVC static - CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib @@ -366,20 +357,3 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf } } cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in -Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -=================================================================== ---- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -+++ qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -@@ -2,10 +2,10 @@ - add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) - - !!IF !isEmpty(CMAKE_RELEASE_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\") - !!ENDIF - !!IF !isEmpty(CMAKE_DEBUG_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\") - !!ENDIF - - list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/compose-search-path.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/compose-search-path.patch index a0e344a7bc68..d0bea4afaa32 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/compose-search-path.patch +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/compose-search-path.patch @@ -1,16 +1,18 @@ -Index: qtbase-opensource-src-5.7.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp +Index: qtbase-opensource-src-5.8.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp -+++ qtbase-opensource-src-5.7.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp -@@ -257,10 +257,7 @@ void TableGenerator::initPossibleLocatio - // the QTCOMPOSE environment variable +--- qtbase-opensource-src-5.8.0.orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp ++++ qtbase-opensource-src-5.8.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp +@@ -258,12 +258,9 @@ void TableGenerator::initPossibleLocatio + m_possibleLocations.reserve(7); if (qEnvironmentVariableIsSet("QTCOMPOSE")) m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE"))); - m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale")); - m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale")); - m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale")); - m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale")); -+ m_possibleLocations.append(QStringLiteral("${libX11}/share/X11/locale")); m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale")); m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); ++ m_possibleLocations.append(QStringLiteral(NIXPKGS_QTCOMPOSE)); } + + QString TableGenerator::findComposeFile() diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/decrypt-ssl-traffic.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/decrypt-ssl-traffic.patch deleted file mode 100644 index 495db07cfbb5..000000000000 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/decrypt-ssl-traffic.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: qtbase-opensource-src-5.5.1/src/network/ssl/qsslsocket_openssl.cpp -=================================================================== ---- qtbase-opensource-src-5.5.1.orig/src/network/ssl/qsslsocket_openssl.cpp -+++ qtbase-opensource-src-5.5.1/src/network/ssl/qsslsocket_openssl.cpp -@@ -48,7 +48,7 @@ - ****************************************************************************/ - - //#define QSSLSOCKET_DEBUG --//#define QT_DECRYPT_SSL_TRAFFIC -+#define QT_DECRYPT_SSL_TRAFFIC - - #include "qssl_p.h" - #include "qsslsocket_openssl_p.h" diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix index be35032785d9..e11d9dd1f29b 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix @@ -34,13 +34,52 @@ stdenv.mkDerivation { name = "qtbase-${version}"; inherit src version; + propagatedBuildInputs = + [ + libxml2 libxslt openssl pcre16 sqlite zlib + + # Text rendering + harfbuzz icu + + # Image formats + libjpeg libpng libtiff + ] + + ++ lib.optional mesaSupported mesa + + ++ lib.optionals (!stdenv.isDarwin) [ + dbus glib udev + + # Text rendering + fontconfig freetype + + # X11 libs + libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil + xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm + ] + + ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + AGL AppKit ApplicationServices Carbon Cocoa + CoreAudio CoreBluetooth CoreLocation CoreServices + DiskArbitration Foundation OpenGL + darwin.cf-private darwin.apple_sdk.sdk darwin.libobjc libiconv + ]); + + buildInputs = [ ] + ++ lib.optionals (!stdenv.isDarwin) [ gtk3 libinput ] + ++ lib.optional developerBuild gdb + ++ lib.optional (cups != null) cups + ++ lib.optional (mysql != null) mysql.lib + ++ lib.optional (postgresql != null) postgresql; + + nativeBuildInputs = + [ bison flex gperf lndir perl pkgconfig python2 ] + ++ lib.optional (!stdenv.isDarwin) patchelf; + outputs = [ "out" "dev" ]; patches = - copyPathsToStore (lib.readPathsFromFile ./. ./series) - ++ [(if stdenv.isDarwin then ./cmake-paths-darwin.patch else ./cmake-paths.patch)] - ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch - ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ]; + copyPathsToStore (lib.readPathsFromFile ./. ./series); postPatch = '' @@ -48,37 +87,19 @@ stdenv.mkDerivation { substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf - sed -i 's/PATHS.*NO_DEFAULT_PATH//' "src/corelib/Qt5Config.cmake.in" - sed -i 's/PATHS.*NO_DEFAULT_PATH//' "src/corelib/Qt5CoreMacros.cmake" - sed -i 's/NO_DEFAULT_PATH//' "src/gui/Qt5GuiConfigExtras.cmake.in" - sed -i 's/PATHS.*NO_DEFAULT_PATH//' "mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in" - - substituteInPlace src/network/kernel/qdnslookup_unix.cpp \ - --replace "@glibc@" "${stdenv.cc.libc.out}" - substituteInPlace src/network/kernel/qhostinfo_unix.cpp \ - --replace "@glibc@" "${stdenv.cc.libc.out}" - - substituteInPlace src/network/ssl/qsslsocket_openssl_symbols.cpp \ - --replace "@openssl@" "${openssl.out}" - '' + lib.optionalString stdenv.isLinux '' - substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \ - --replace "@libXcursor@" "${libXcursor.out}" - - substituteInPlace src/dbus/qdbus_symbols.cpp \ - --replace "@dbus_libs@" "${dbus.lib}" - - substituteInPlace \ - src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \ - --replace "@libX11@" "${libX11.out}" + sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5Config.cmake.in + sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5CoreMacros.cmake + sed -i 's/NO_DEFAULT_PATH//' src/gui/Qt5GuiConfigExtras.cmake.in + sed -i '/PATHS.*NO_DEFAULT_PATH/ d' mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in '' + + lib.optionalString mesaSupported '' - substituteInPlace \ - src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp \ - --replace "@mesa_lib@" "${mesa.out}" - substituteInPlace mkspecs/common/linux.conf \ - --replace "@mesa_lib@" "${mesa.out}" \ - --replace "@mesa_inc@" "${mesa.dev or mesa}" - ''+ lib.optionalString stdenv.isDarwin '' + sed -i mkspecs/common/linux.conf \ + -e "/^QMAKE_INCDIR_OPENGL/ s|$|${mesa.dev or mesa}/include|" \ + -e "/^QMAKE_LIBDIR_OPENGL/ s|$|${mesa.out}/lib|" + '' + + + lib.optionalString stdenv.isDarwin '' sed -i \ -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \ -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \ @@ -106,132 +127,132 @@ stdenv.mkDerivation { -importdir $out/lib/qt5/imports \ -qmldir $out/lib/qt5/qml \ -docdir $out/share/doc/qt5" + + NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QPA_PLATFORM_PLUGIN_PATH=\"''${!outputLib}/lib/qt5/plugins\"" ''; + + NIX_CFLAGS_COMPILE = + [ + "-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields + ''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"'' + ''-DNIXPKGS_LIBRESOLV="${stdenv.cc.libc.out}/lib/libresolv"'' + ''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"'' + ] + + ++ lib.optional mesaSupported + ''-DNIXPKGS_MESA_GL="${mesa.out}/lib/libGL"'' + + ++ lib.optionals stdenv.isDarwin + [ + "-D__MAC_OS_X_VERSION_MAX_ALLOWED=1090" + "-D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))" + # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is + # 10.9 which necessitates the above macro definition that mentions + # 10.10 + ] + + ++ lib.optional decryptSslTraffic "-DQT_DECRYPT_SSL_TRAFFIC"; + prefixKey = "-prefix "; - # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa - # TODO Remove obsolete and useless flags once the build will be totally mastered - configureFlags = '' - -verbose - -confirm-license - -opensource - - -release - -shared - ${lib.optionalString developerBuild "-developer-build"} - -accessibility - -optimized-qmake - -strip - -no-reduce-relocations - -system-proxies - -pkg-config - - -gui - -widgets - -opengl desktop - -qml-debug - -icu - -pch - - ${lib.optionalString (!system-x86_64) "-no-sse2"} - -no-sse3 - -no-ssse3 - -no-sse4.1 - -no-sse4.2 - -no-avx - -no-avx2 - -no-mips_dsp - -no-mips_dspr2 - - -system-zlib - -system-libjpeg - -system-harfbuzz - -system-pcre - -openssl-linked - - -system-sqlite - -${if mysql != null then "plugin" else "no"}-sql-mysql - -${if postgresql != null then "plugin" else "no"}-sql-psql - - -make libs - -make tools - -${lib.optionalString (buildExamples == false) "no"}make examples - -${lib.optionalString (buildTests == false) "no"}make tests - -v - '' + lib.optionalString (!stdenv.isDarwin) '' - -rpath - -glib - -xcb - -qpa xcb - - -${lib.optionalString (cups == null) "no-"}cups - - -no-eglfs - -no-directfb - -no-linuxfb - -no-kms - - -libinput - -gtk - -system-libpng - -system-xcb - -system-xkbcommon - -dbus-linked - '' + lib.optionalString stdenv.isDarwin '' - -platform macx-clang - -no-use-gold-linker - -no-fontconfig - -qt-freetype - -qt-libpng - ''; - # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag # if dependency paths contain the string "pq", which can occur in the hash. # To prevent these failures, we need to override PostgreSQL detection. PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq"; - propagatedBuildInputs = [ - libxml2 libxslt openssl pcre16 sqlite zlib + # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa + # TODO Remove obsolete and useless flags once the build will be totally mastered + configureFlags = + [ + "-verbose" + "-confirm-license" + "-opensource" - # Text rendering - harfbuzz icu + "-release" + "-shared" + "-accessibility" + "-optimized-qmake" + "-strip" + "-system-proxies" + "-pkg-config" + ] + ++ lib.optionals developerBuild [ + "-developer-build" + "-no-warnings-are-errors" + ] + ++ [ + "-gui" + "-widgets" + "-opengl desktop" + "-qml-debug" + "-icu" + "-pch" + ] - # Image formats - libjpeg libpng libtiff - ] - ++ lib.optional mesaSupported mesa - ++ lib.optionals (!stdenv.isDarwin) [ - dbus glib udev + ++ [ + ''${lib.optionalString (!system-x86_64) "-no"}-sse2'' + "-no-sse3" + "-no-ssse3" + "-no-sse4.1" + "-no-sse4.2" + "-no-avx" + "-no-avx2" + "-no-mips_dsp" + "-no-mips_dspr2" + ] - # Text rendering - fontconfig freetype + ++ [ + "-system-zlib" + "-system-libjpeg" + "-system-harfbuzz" + "-system-pcre" + "-openssl-linked" + "-system-sqlite" + ''-${if mysql != null then "plugin" else "no"}-sql-mysql'' + ''-${if postgresql != null then "plugin" else "no"}-sql-psql'' - # X11 libs - libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil - xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm - ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ - AGL AppKit ApplicationServices Carbon Cocoa - CoreAudio CoreBluetooth CoreLocation CoreServices - DiskArbitration Foundation OpenGL - darwin.cf-private darwin.libobjc libiconv - ]); + "-make libs" + "-make tools" + ''-${lib.optionalString (buildExamples == false) "no"}make examples'' + ''-${lib.optionalString (buildTests == false) "no"}make tests'' + "-v" + ] - buildInputs = [ ] - ++ lib.optionals (!stdenv.isDarwin) [ gtk3 libinput ] - ++ lib.optional developerBuild gdb - ++ lib.optional (cups != null) cups - ++ lib.optional (mysql != null) mysql.lib - ++ lib.optional (postgresql != null) postgresql; + ++ lib.optionals (!stdenv.isDarwin) [ + "-rpath" - nativeBuildInputs = [ bison flex gperf lndir perl pkgconfig python2 ] ++ lib.optional (!stdenv.isDarwin) patchelf; + "-system-xcb" + "-xcb" + "-qpa xcb" - # freetype-2.5.4 changed signedness of some struct fields - NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare" - + lib.optionalString stdenv.isDarwin " -D__MAC_OS_X_VERSION_MAX_ALLOWED=1090 -D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))"; - # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is - # 10.9 which necessitates the above macro definition that mentions - # 10.10 + "-system-xkbcommon" + "-libinput" + "-xkbcommon-evdev" + + "-no-eglfs" + "-no-gbm" + "-no-kms" + "-no-linuxfb" + + ''-${lib.optionalString (cups == null) "no-"}cups'' + "-dbus-linked" + "-glib" + "-gtk" + "-inotify" + "-system-libjpeg" + "-system-libpng" + ] + + ++ lib.optionals stdenv.isDarwin [ + "-platform macx-clang" + "-no-use-gold-linker" + "-no-fontconfig" + "-qt-freetype" + "-qt-libpng" + ]; + + enableParallelBuilding = true; postInstall = '' find "$out" -name "*.cmake" | while read file; do @@ -257,28 +278,43 @@ stdenv.mkDerivation { '' # Don't retain build-time dependencies like gdb. sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri + '' - # Move libtool archives and qmake projects + # Move libtool archives into $dev + + '' if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then pushd "''${!outputLib}" - find lib -name '*.a' -o -name '*.la'${if stdenv.isDarwin then "" else "-o -name '*.prl'"} | \ - while read -r file; do - mkdir -p "''${!outputDev}/$(dirname "$file")" - mv "''${!outputLib}/$file" "''${!outputDev}/$file" - done + find lib -name '*.a' -o -name '*.la' | while read -r file; do + mkdir -p "''${!outputDev}/$(dirname "$file")" + mv "''${!outputLib}/$file" "''${!outputDev}/$file" + done popd fi '' + + # Move qmake project files into $dev. + # Don't move .prl files on darwin because they end up in + # "dev/lib/Foo.framework/Foo.prl" which interferes with subsequent + # use of lndir in the qtbase setup-hook. On Linux, the .prl files + # are in lib, and so do not cause a subsequent recreation of deep + # framework directory trees. + + lib.optionalString (!stdenv.isDarwin) '' + if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then + pushd "''${!outputLib}" + find lib -name '*.prl' | while read -r file; do + mkdir -p "''${!outputDev}/$(dirname "$file")" + mv "''${!outputLib}/$file" "''${!outputDev}/$file" + done + popd + fi + '' + # fixup .pc file (where to find 'moc' etc.) + lib.optionalString (!stdenv.isDarwin) '' sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \ -e "/^host_bins=/ c host_bins=$dev/bin" '' - # Don' move .prl files on darwin because they end up in - # "dev/lib/Foo.framework/Foo.prl" which interferes with subsequent - # use of lndir in the qtbase setup-hook. On Linux, the .prl files - # are in lib, and so do not cause a subsequent recreation of deep - # framework directory trees. + + lib.optionalString stdenv.isDarwin '' fixDarwinDylibNames_rpath() { local flags=() @@ -300,8 +336,6 @@ stdenv.mkDerivation { then ../../qtbase-setup-hook-darwin.sh else ../../qtbase-setup-hook.sh; - enableParallelBuilding = true; - meta = with lib; { homepage = http://www.qt.io; description = "A cross-platform application framework for C++"; diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-dbus.patch deleted file mode 100644 index 10b0b6701ddc..000000000000 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-dbus.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: qtbase-opensource-src-5.7.0/src/dbus/qdbus_symbols.cpp -=================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/dbus/qdbus_symbols.cpp -+++ qtbase-opensource-src-5.7.0/src/dbus/qdbus_symbols.cpp -@@ -97,7 +97,7 @@ bool qdbus_loadLibDBus() - #ifdef Q_OS_WIN - QLatin1String("dbus-1"), - #endif -- QLatin1String("libdbus-1") -+ QLatin1String("@dbus_libs@/lib/libdbus-1") - }; - - lib->unload(); diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-gl.patch index ea3073ced50a..c835f2bfe441 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-gl.patch +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-gl.patch @@ -1,17 +1,19 @@ -Index: qtbase-opensource-src-5.5.1/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +Index: qtbase-opensource-src-5.8.0/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp =================================================================== ---- qtbase-opensource-src-5.5.1.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp -+++ qtbase-opensource-src-5.5.1/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp -@@ -563,7 +563,12 @@ void (*QGLXContext::getProcAddress(const - { +--- qtbase-opensource-src-5.8.0.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp ++++ qtbase-opensource-src-5.8.0/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +@@ -576,7 +576,14 @@ QFunctionPointer QGLXContext::getProcAdd + #ifndef QT_NO_LIBRARY extern const QString qt_gl_library_name(); // QLibrary lib(qt_gl_library_name()); + // Check system library paths first QLibrary lib(QLatin1String("GL")); ++#ifdef NIXPKGS_MESA_GL + if (!lib.load()) { + // Fallback to Mesa driver -+ lib.setFileName(QLatin1String("@mesa_lib@/lib/libGL")); ++ lib.setFileName(QLatin1String(NIXPKGS_MESA_GL)); + } ++#endif // NIXPKGS_MESA_GL glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); + #endif } - } diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-libXcursor.patch index 02b7efb73d22..d0e82cf122ac 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-libXcursor.patch +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-libXcursor.patch @@ -1,17 +1,20 @@ -Index: qtbase-opensource-src-5.7.0/src/plugins/platforms/xcb/qxcbcursor.cpp +Index: qtbase-opensource-src-5.8.0/src/plugins/platforms/xcb/qxcbcursor.cpp =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/plugins/platforms/xcb/qxcbcursor.cpp -+++ qtbase-opensource-src-5.7.0/src/plugins/platforms/xcb/qxcbcursor.cpp -@@ -309,10 +309,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c +--- qtbase-opensource-src-5.8.0.orig/src/plugins/platforms/xcb/qxcbcursor.cpp ++++ qtbase-opensource-src-5.8.0/src/plugins/platforms/xcb/qxcbcursor.cpp +@@ -309,13 +309,13 @@ QXcbCursor::QXcbCursor(QXcbConnection *c #if defined(XCB_USE_XLIB) && !defined(QT_NO_LIBRARY) static bool function_ptrs_not_initialized = true; if (function_ptrs_not_initialized) { - QLibrary xcursorLib(QLatin1String("Xcursor"), 1); -+ QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1); ++ QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1); bool xcursorFound = xcursorLib.load(); if (!xcursorFound) { // try without the version number - xcursorLib.setFileName(QLatin1String("Xcursor")); -+ xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor")); ++ xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR)); xcursorFound = xcursorLib.load(); } if (xcursorFound) { + ptrXcursorLibraryLoadCursor = + (PtrXcursorLibraryLoadCursor) xcursorLib.resolve("XcursorLibraryLoadCursor"); + ptrXcursorLibraryGetTheme = diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-openssl.patch deleted file mode 100644 index 9891bfeac5bf..000000000000 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-openssl.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: qtbase-opensource-src-5.7.0/src/network/ssl/qsslsocket_openssl_symbols.cpp -=================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/network/ssl/qsslsocket_openssl_symbols.cpp -+++ qtbase-opensource-src-5.7.0/src/network/ssl/qsslsocket_openssl_symbols.cpp -@@ -658,8 +658,8 @@ static QPair loadO - #endif - #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so - // first attempt: the canonical name is libssl.so. -- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); -- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); -+ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); -+ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); - if (libcrypto->load() && libssl->load()) { - // libssl.so. and libcrypto.so. found - return pair; -@@ -676,8 +676,8 @@ static QPair loadO - // OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third - // attempt, _after_ /Contents/Frameworks has been searched. - // iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place. -- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); -- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1); -+ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1); -+ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1); - if (libcrypto->load() && libssl->load()) { - // libssl.so.0 and libcrypto.so.0 found - return pair; diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-resolv.patch index 98a3610f5fbd..ef7cd4a910a2 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-resolv.patch +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/dlopen-resolv.patch @@ -1,26 +1,26 @@ -Index: qtbase-opensource-src-5.7.0/src/network/kernel/qdnslookup_unix.cpp +Index: qtbase-opensource-src-5.8.0/src/network/kernel/qdnslookup_unix.cpp =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/network/kernel/qdnslookup_unix.cpp -+++ qtbase-opensource-src-5.7.0/src/network/kernel/qdnslookup_unix.cpp -@@ -85,7 +85,7 @@ static bool resolveLibraryInternal() +--- qtbase-opensource-src-5.8.0.orig/src/network/kernel/qdnslookup_unix.cpp ++++ qtbase-opensource-src-5.8.0/src/network/kernel/qdnslookup_unix.cpp +@@ -90,7 +90,7 @@ static bool resolveLibraryInternal() if (!lib.load()) #endif { - lib.setFileName(QLatin1String("resolv")); -+ lib.setFileName(QLatin1String("@glibc@/lib/resolv")); ++ lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); if (!lib.load()) return false; } -Index: qtbase-opensource-src-5.7.0/src/network/kernel/qhostinfo_unix.cpp +Index: qtbase-opensource-src-5.8.0/src/network/kernel/qhostinfo_unix.cpp =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/network/kernel/qhostinfo_unix.cpp -+++ qtbase-opensource-src-5.7.0/src/network/kernel/qhostinfo_unix.cpp +--- qtbase-opensource-src-5.8.0.orig/src/network/kernel/qhostinfo_unix.cpp ++++ qtbase-opensource-src-5.8.0/src/network/kernel/qhostinfo_unix.cpp @@ -100,7 +100,7 @@ static bool resolveLibraryInternal() if (!lib.load()) #endif { - lib.setFileName(QLatin1String("resolv")); -+ lib.setFileName(QLatin1String("@glibc@/lib/libresolv")); ++ lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); if (!lib.load()) return false; } diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/libressl.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/libressl.patch index 4390db977a71..e9c60e7ab076 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/libressl.patch +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/libressl.patch @@ -9,11 +9,11 @@ is defined in openssl, but not in libressl. src/network/ssl/qsslcontext_openssl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: qtbase-opensource-src-5.7.0/src/network/ssl/qsslcontext_openssl.cpp +Index: qtbase-opensource-src-5.8.0/src/network/ssl/qsslcontext_openssl.cpp =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/network/ssl/qsslcontext_openssl.cpp -+++ qtbase-opensource-src-5.7.0/src/network/ssl/qsslcontext_openssl.cpp -@@ -347,7 +347,7 @@ init_context: +--- qtbase-opensource-src-5.8.0.orig/src/network/ssl/qsslcontext_openssl.cpp ++++ qtbase-opensource-src-5.8.0/src/network/ssl/qsslcontext_openssl.cpp +@@ -351,7 +351,7 @@ init_context: const QVector qcurves = sslContext->sslConfiguration.ellipticCurves(); if (!qcurves.isEmpty()) { @@ -22,7 +22,7 @@ Index: qtbase-opensource-src-5.7.0/src/network/ssl/qsslcontext_openssl.cpp // Set the curves to be used if (q_SSLeay() >= 0x10002000L) { // SSL_CTX_ctrl wants a non-const pointer as last argument, -@@ -360,7 +360,7 @@ init_context: +@@ -364,7 +364,7 @@ init_context: sslContext->errorCode = QSslError::UnspecifiedError; } } else diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/mkspecs-libgl.patch deleted file mode 100644 index fda3d3e36533..000000000000 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/mkspecs-libgl.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: qtbase-opensource-src-5.5.1/mkspecs/common/linux.conf -=================================================================== ---- qtbase-opensource-src-5.5.1.orig/mkspecs/common/linux.conf -+++ qtbase-opensource-src-5.5.1/mkspecs/common/linux.conf -@@ -12,8 +12,8 @@ QMAKE_INCDIR = - QMAKE_LIBDIR = - QMAKE_INCDIR_X11 = - QMAKE_LIBDIR_X11 = --QMAKE_INCDIR_OPENGL = --QMAKE_LIBDIR_OPENGL = -+QMAKE_INCDIR_OPENGL = @mesa_inc@/include -+QMAKE_LIBDIR_OPENGL = @mesa_lib@/lib - QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL - QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL - QMAKE_INCDIR_EGL = diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/nix-profiles-library-paths.patch deleted file mode 100644 index ebaf3651a6d0..000000000000 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/nix-profiles-library-paths.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: qtbase-opensource-src-5.7.0/src/corelib/kernel/qcoreapplication.cpp -=================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/corelib/kernel/qcoreapplication.cpp -+++ qtbase-opensource-src-5.7.0/src/corelib/kernel/qcoreapplication.cpp -@@ -2487,7 +2487,17 @@ QStringList QCoreApplication::libraryPat - QStringList *app_libpaths = new QStringList; - coreappdata()->app_libpaths.reset(app_libpaths); - -+ // Add library paths derived from NIX_PROFILES. -+ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); -+ const QString plugindir = QString::fromLatin1("/lib/qt5/plugins"); -+ for (const QByteArray &profile: profiles) { -+ if (!profile.isEmpty()) { -+ app_libpaths->append(QFile::decodeName(profile) + plugindir); -+ } -+ } -+ - const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH"); -+ qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes - if (!libPathEnv.isEmpty()) { - QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts); - for (QStringList::const_iterator it = paths.constBegin(); it != paths.constEnd(); ++it) { diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/qnativesocketengine-type-pun.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/qnativesocketengine-type-pun.patch new file mode 100644 index 000000000000..ad40dfab2f7b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/qnativesocketengine-type-pun.patch @@ -0,0 +1,14 @@ +Index: qtbase-opensource-src-5.8.0/src/network/socket/qnativesocketengine_unix.cpp +=================================================================== +--- qtbase-opensource-src-5.8.0.orig/src/network/socket/qnativesocketengine_unix.cpp ++++ qtbase-opensource-src-5.8.0/src/network/socket/qnativesocketengine_unix.cpp +@@ -979,7 +979,8 @@ qint64 QNativeSocketEnginePrivate::nativ + if (cmsgptr->cmsg_len == CMSG_LEN(sizeof(int)) + && ((cmsgptr->cmsg_level == IPPROTO_IPV6 && cmsgptr->cmsg_type == IPV6_HOPLIMIT) + || (cmsgptr->cmsg_level == IPPROTO_IP && cmsgptr->cmsg_type == IP_TTL))) { +- header->hopLimit = *reinterpret_cast(CMSG_DATA(cmsgptr)); ++ int *ttl = reinterpret_cast(CMSG_DATA(cmsgptr)); ++ header->hopLimit = *ttl; + } + + #ifndef QT_NO_SCTP diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/qpa-plugin-path.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/qpa-plugin-path.patch new file mode 100644 index 000000000000..6d40ed19c00a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/qpa-plugin-path.patch @@ -0,0 +1,15 @@ +Index: qtbase-opensource-src-5.8.0/src/gui/kernel/qguiapplication.cpp +=================================================================== +--- qtbase-opensource-src-5.8.0.orig/src/gui/kernel/qguiapplication.cpp ++++ qtbase-opensource-src-5.8.0/src/gui/kernel/qguiapplication.cpp +@@ -1217,6 +1217,10 @@ void QGuiApplicationPrivate::createPlatf + + // Load the platform integration + QString platformPluginPath = QString::fromLocal8Bit(qgetenv("QT_QPA_PLATFORM_PLUGIN_PATH")); ++ if (!platformPluginPath.isEmpty()) { ++ platformPluginPath.append(QStringLiteral(":")); ++ } ++ platformPluginPath.append(QStringLiteral(NIXPKGS_QPA_PLATFORM_PLUGIN_PATH)); + + + QByteArray platformName; diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/series b/pkgs/development/libraries/qt-5/5.8/qtbase/series index 2196d8383752..0378ca1f5035 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/series +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/series @@ -1,9 +1,9 @@ dlopen-resolv.patch tzdir.patch dlopen-libXcursor.patch -dlopen-openssl.patch -dlopen-dbus.patch xdg-config-dirs.patch -nix-profiles-library-paths.patch -compose-search-path.patch libressl.patch +qpa-plugin-path.patch +dlopen-gl.patch +compose-search-path.patch +cmake-paths.patch diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/tzdir.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/tzdir.patch index f4056dd9cc97..b8c05815a784 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/tzdir.patch +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/tzdir.patch @@ -1,29 +1,28 @@ -Index: qtbase-opensource-src-5.7.0/src/corelib/tools/qtimezoneprivate_tz.cpp +Index: qtbase-opensource-src-5.8.0/src/corelib/tools/qtimezoneprivate_tz.cpp =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/corelib/tools/qtimezoneprivate_tz.cpp -+++ qtbase-opensource-src-5.7.0/src/corelib/tools/qtimezoneprivate_tz.cpp -@@ -68,7 +68,10 @@ typedef QHash Q +--- qtbase-opensource-src-5.8.0.orig/src/corelib/tools/qtimezoneprivate_tz.cpp ++++ qtbase-opensource-src-5.8.0/src/corelib/tools/qtimezoneprivate_tz.cpp +@@ -70,7 +70,11 @@ typedef QHash Q // Parse zone.tab table, assume lists all installed zones, if not will need to read directories static QTzTimeZoneHash loadTzTimeZones() { - QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); -+ QString path = qgetenv("TZDIR"); -+ path += "/zone.tab"; ++ // Try TZDIR first, in case we're running on NixOS. ++ QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); ++ // Fallback to traditional paths in case we are not on NixOS. + if (!QFile::exists(path)) + path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); if (!QFile::exists(path)) path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); -@@ -566,12 +569,18 @@ void QTzTimeZonePrivate::init(const QByt +@@ -642,12 +646,16 @@ void QTzTimeZonePrivate::init(const QByt if (!tzif.open(QIODevice::ReadOnly)) return; } else { - // Open named tz, try modern path first, if fails try legacy path - tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); -+ // Try TZDIR first -+ QString zoneinfoDir = qgetenv("TZDIR"); -+ zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId); -+ tzif.setFileName(zoneinfoDir); ++ // Try TZDIR first, in case we're running on NixOS ++ tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); if (!tzif.open(QIODevice::ReadOnly)) { - tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); - if (!tzif.open(QIODevice::ReadOnly)) diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/xdg-config-dirs.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/xdg-config-dirs.patch index 1f2f316c5b26..b5c21f064a42 100644 --- a/pkgs/development/libraries/qt-5/5.8/qtbase/xdg-config-dirs.patch +++ b/pkgs/development/libraries/qt-5/5.8/qtbase/xdg-config-dirs.patch @@ -1,8 +1,8 @@ -Index: qtbase-opensource-src-5.7.0/src/corelib/io/qsettings.cpp +Index: qtbase-opensource-src-5.8.0/src/corelib/io/qsettings.cpp =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/corelib/io/qsettings.cpp -+++ qtbase-opensource-src-5.7.0/src/corelib/io/qsettings.cpp -@@ -1161,6 +1161,23 @@ QConfFileSettingsPrivate::QConfFileSetti +--- qtbase-opensource-src-5.8.0.orig/src/corelib/io/qsettings.cpp ++++ qtbase-opensource-src-5.8.0/src/corelib/io/qsettings.cpp +@@ -1134,6 +1134,23 @@ QConfFileSettingsPrivate::QConfFileSetti confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false)); confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false)); @@ -26,10 +26,10 @@ Index: qtbase-opensource-src-5.7.0/src/corelib/io/qsettings.cpp for (i = 0; i < NumConfFiles; ++i) { if (confFiles[i]) { spec = i; -Index: qtbase-opensource-src-5.7.0/src/corelib/io/qsettings_p.h +Index: qtbase-opensource-src-5.8.0/src/corelib/io/qsettings_p.h =================================================================== ---- qtbase-opensource-src-5.7.0.orig/src/corelib/io/qsettings_p.h -+++ qtbase-opensource-src-5.7.0/src/corelib/io/qsettings_p.h +--- qtbase-opensource-src-5.8.0.orig/src/corelib/io/qsettings_p.h ++++ qtbase-opensource-src-5.8.0/src/corelib/io/qsettings_p.h @@ -246,7 +246,7 @@ public: F_Organization = 0x1, F_User = 0x0, diff --git a/pkgs/development/libraries/qt-5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/make-qt-wrapper.sh index 8f42682fa23e..4a5651f74c9b 100644 --- a/pkgs/development/libraries/qt-5/make-qt-wrapper.sh +++ b/pkgs/development/libraries/qt-5/make-qt-wrapper.sh @@ -2,9 +2,9 @@ wrapQtProgram() { local prog="$1" shift wrapProgram "$prog" \ - --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ - --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ - --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ + --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ + --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ + --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ --prefix GIO_EXTRA_MODULES : "$GIO_EXTRA_MODULES" \ @@ -17,9 +17,9 @@ makeQtWrapper() { shift shift makeWrapper "$old" "$new" \ - --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ - --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ - --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ + --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ + --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ + --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ --prefix GIO_EXTRA_MODULES : "$GIO_EXTRA_MODULES" \ diff --git a/pkgs/development/libraries/science/math/blas/default.nix b/pkgs/development/libraries/science/math/blas/default.nix index ce35743e8bc6..6f729e8a0b2a 100644 --- a/pkgs/development/libraries/science/math/blas/default.nix +++ b/pkgs/development/libraries/science/math/blas/default.nix @@ -46,6 +46,13 @@ stdenv.mkDerivation rec { ln -s libblas.so.${version} "$out/lib/libblas.so" ''; + preFixup = stdenv.lib.optionalString stdenv.isDarwin '' + for fn in $(find $out/lib -name "*.so*"); do + if [ -L "$fn" ]; then continue; fi + install_name_tool -id "$fn" "$fn" + done + ''; + meta = { description = "Basic Linear Algebra Subprograms"; license = stdenv.lib.licenses.publicDomain; diff --git a/pkgs/development/libraries/shibboleth-sp/default.nix b/pkgs/development/libraries/shibboleth-sp/default.nix new file mode 100644 index 000000000000..de6d6544c13f --- /dev/null +++ b/pkgs/development/libraries/shibboleth-sp/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchgit, autoreconfHook, boost, fcgi, openssl, opensaml-cpp, log4shib, pkgconfig, xercesc, xml-security-c, xml-tooling-c }: + +stdenv.mkDerivation rec { + name = "shibboleth-sp-${version}"; + version = "2.6.0"; + + src = fetchgit { + url = "https://git.shibboleth.net/git/cpp-sp.git"; + rev = "9ebba5c3a16d03769f436e383e4c4cdaa33f5509"; + sha256 = "1b5r4nd098lnjwr2g13f04ycqv5fvbrhpwg6fsdk8xy9cigvfzxj"; + }; + + buildInputs = [ boost fcgi openssl opensaml-cpp log4shib pkgconfig xercesc xml-security-c xml-tooling-c ]; + nativeBuildInputs = [ autoreconfHook ]; + + configureFlags = [ + "--without-apxs" + "--with-xmltooling=${xml-tooling-c}" + "--with-saml=${opensaml-cpp}" + "--with-fastcgi" + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "https://shibboleth.net/products/service-provider.html"; + description = "Enables SSO and Federation web applications written with any programming language or framework"; + platforms = platforms.unix; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix index 199c0d007344..602359965f12 100644 --- a/pkgs/development/libraries/speex/default.nix +++ b/pkgs/development/libraries/speex/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ]; meta = with stdenv.lib; { - hompage = http://www.speex.org/; + homepage = http://www.speex.org/; description = "An Open Source/Free Software patent-free audio compression format designed for speech"; license = licenses.bsd3; platforms = platforms.unix; diff --git a/pkgs/development/libraries/speexdsp/default.nix b/pkgs/development/libraries/speexdsp/default.nix index 9ec7d651ccb2..a96e808a97e4 100644 --- a/pkgs/development/libraries/speexdsp/default.nix +++ b/pkgs/development/libraries/speexdsp/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional stdenv.isAarch64 "--disable-neon"; meta = with stdenv.lib; { - hompage = http://www.speex.org/; + homepage = http://www.speex.org/; description = "An Open Source/Free Software patent-free audio compression format designed for speech"; license = licenses.bsd3; platforms = platforms.unix; diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxwidgets/2.8/default.nix similarity index 71% rename from pkgs/development/libraries/wxGTK-2.8/default.nix rename to pkgs/development/libraries/wxwidgets/2.8/default.nix index 9538f1dd1f85..15db4386e012 100644 --- a/pkgs/development/libraries/wxGTK-2.8/default.nix +++ b/pkgs/development/libraries/wxwidgets/2.8/default.nix @@ -65,6 +65,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { - platforms = stdenv.lib.platforms.linux; + platforms = platforms.linux; + license = licenses.wxWindows; + homepage = "https://www.wxwidgets.org/"; + description = "a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base"; + longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more."; }; } diff --git a/pkgs/development/libraries/wxGTK-2.9/default.nix b/pkgs/development/libraries/wxwidgets/2.9/default.nix similarity index 71% rename from pkgs/development/libraries/wxGTK-2.9/default.nix rename to pkgs/development/libraries/wxwidgets/2.9/default.nix index 28cd79b5549a..af9dde75cf42 100644 --- a/pkgs/development/libraries/wxGTK-2.9/default.nix +++ b/pkgs/development/libraries/wxwidgets/2.9/default.nix @@ -67,6 +67,10 @@ stdenv.mkDerivation { enableParallelBuilding = true; meta = { - platforms = with stdenv.lib.platforms; darwin ++ linux; + platforms = with platforms; darwin ++ linux; + license = licenses.wxWindows; + homepage = "https://www.wxwidgets.org/"; + description = "a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base"; + longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more."; }; } diff --git a/pkgs/development/libraries/wxGTK-3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix similarity index 75% rename from pkgs/development/libraries/wxGTK-3.0/default.nix rename to pkgs/development/libraries/wxwidgets/3.0/default.nix index 4fea863827f1..5b1e0fc067c7 100644 --- a/pkgs/development/libraries/wxGTK-3.0/default.nix +++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix @@ -78,6 +78,10 @@ stdenv.mkDerivation { enableParallelBuilding = true; meta = { - platforms = with stdenv.lib.platforms; darwin ++ linux; + platforms = with platforms; darwin ++ linux; + license = licenses.wxWindows; + homepage = "https://www.wxwidgets.org/"; + description = "a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base"; + longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more."; }; } diff --git a/pkgs/development/libraries/wxmac/default.nix b/pkgs/development/libraries/wxwidgets/3.0/mac.nix similarity index 79% rename from pkgs/development/libraries/wxmac/default.nix rename to pkgs/development/libraries/wxwidgets/3.0/mac.nix index f4e714248338..fc747268cab8 100644 --- a/pkgs/development/libraries/wxmac/default.nix +++ b/pkgs/development/libraries/wxwidgets/3.0/mac.nix @@ -100,6 +100,10 @@ stdenv.mkDerivation rec { meta = { platforms = platforms.darwin; + license = licenses.wxWindows; maintainers = [ maintainers.lnl7 ]; + homepage = "https://www.wxwidgets.org/"; + description = "a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base"; + longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more."; }; } diff --git a/pkgs/development/libraries/xml-tooling-c/default.nix b/pkgs/development/libraries/xml-tooling-c/default.nix new file mode 100644 index 000000000000..139a4c8cccdf --- /dev/null +++ b/pkgs/development/libraries/xml-tooling-c/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchgit, autoreconfHook, boost, curl, openssl, log4shib, xercesc, xml-security-c }: + +stdenv.mkDerivation rec { + name = "xml-tooling-c-${version}"; + version = "1.6.0"; + + src = fetchgit { + url = "https://git.shibboleth.net/git/cpp-xmltooling.git"; + rev = "db08101c3854518a59096be95ed6564838381744"; + sha256 = "0rhzvxm4z3pm28kpk34hayhm12bjjms2kygv1z68vnz8ijzgcinq"; + }; + + buildInputs = [ boost curl openssl log4shib xercesc xml-security-c ]; + nativeBuildInputs = [ autoreconfHook ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A low-level library that provides a high level interface to XML processing for OpenSAML 2"; + platforms = platforms.unix; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix index 237c4e4027f1..1035757fb80e 100644 --- a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix +++ b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix @@ -71,7 +71,6 @@ stdenv.mkDerivation { description = "AVR development environment including binutils, avr-gcc and avr-libc"; # I've tried compiling the packages separately.. too much hassle. This just works. Fine. license = ["GPL" "LGPL"]; # see single packages .. - homepage = []; # dito platforms = platforms.linux; }; } diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix index 4f3f45f4cc93..bdf3f5454805 100644 --- a/pkgs/development/mobile/androidenv/platforms-linux.nix +++ b/pkgs/development/mobile/androidenv/platforms-linux.nix @@ -24,7 +24,7 @@ in }; meta = { description = "Android SDK Platform 2"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -36,7 +36,7 @@ in }; meta = { description = "Android SDK Platform 3"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -48,7 +48,7 @@ in }; meta = { description = "Android SDK Platform 4"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -60,7 +60,7 @@ in }; meta = { description = "Android SDK Platform 5"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -72,7 +72,7 @@ in }; meta = { description = "Android SDK Platform 6"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -84,7 +84,7 @@ in }; meta = { description = "Android SDK Platform 7"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -96,7 +96,7 @@ in }; meta = { description = "Android SDK Platform 8"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -108,7 +108,7 @@ in }; meta = { description = "Android SDK Platform 9"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -120,7 +120,7 @@ in }; meta = { description = "Android SDK Platform 10"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -132,7 +132,7 @@ in }; meta = { description = "Android SDK Platform 11"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -144,7 +144,7 @@ in }; meta = { description = "Android SDK Platform 12"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -156,7 +156,7 @@ in }; meta = { description = "Android SDK Platform 13"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -168,7 +168,7 @@ in }; meta = { description = "Android SDK Platform 14"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -180,7 +180,7 @@ in }; meta = { description = "Android SDK Platform 15"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -192,7 +192,7 @@ in }; meta = { description = "Android SDK Platform 16"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -204,7 +204,7 @@ in }; meta = { description = "Android SDK Platform 17"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -216,7 +216,7 @@ in }; meta = { description = "Android SDK Platform 18"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -228,7 +228,7 @@ in }; meta = { description = "Android SDK Platform 19"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -240,7 +240,7 @@ in }; meta = { description = "Android SDK Platform 20"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -252,7 +252,7 @@ in }; meta = { description = "Android SDK Platform 21"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -264,7 +264,7 @@ in }; meta = { description = "Android SDK Platform 22"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -276,7 +276,7 @@ in }; meta = { description = "Android SDK Platform 23"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -288,7 +288,7 @@ in }; meta = { description = "Android SDK Platform 24"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -300,7 +300,7 @@ in }; meta = { description = "Android SDK Platform 25"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix index d8619b7c0f5d..7bcc5f40769e 100644 --- a/pkgs/development/mobile/androidenv/platforms-macosx.nix +++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix @@ -24,7 +24,7 @@ in }; meta = { description = "Android SDK Platform 2"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -36,7 +36,7 @@ in }; meta = { description = "Android SDK Platform 3"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -48,7 +48,7 @@ in }; meta = { description = "Android SDK Platform 4"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -60,7 +60,7 @@ in }; meta = { description = "Android SDK Platform 5"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -72,7 +72,7 @@ in }; meta = { description = "Android SDK Platform 6"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -84,7 +84,7 @@ in }; meta = { description = "Android SDK Platform 7"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -96,7 +96,7 @@ in }; meta = { description = "Android SDK Platform 8"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -108,7 +108,7 @@ in }; meta = { description = "Android SDK Platform 9"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -120,7 +120,7 @@ in }; meta = { description = "Android SDK Platform 10"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -132,7 +132,7 @@ in }; meta = { description = "Android SDK Platform 11"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -144,7 +144,7 @@ in }; meta = { description = "Android SDK Platform 12"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -156,7 +156,7 @@ in }; meta = { description = "Android SDK Platform 13"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -168,7 +168,7 @@ in }; meta = { description = "Android SDK Platform 14"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -180,7 +180,7 @@ in }; meta = { description = "Android SDK Platform 15"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -192,7 +192,7 @@ in }; meta = { description = "Android SDK Platform 16"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -204,7 +204,7 @@ in }; meta = { description = "Android SDK Platform 17"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -216,7 +216,7 @@ in }; meta = { description = "Android SDK Platform 18"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -228,7 +228,7 @@ in }; meta = { description = "Android SDK Platform 19"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -240,7 +240,7 @@ in }; meta = { description = "Android SDK Platform 20"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -252,7 +252,7 @@ in }; meta = { description = "Android SDK Platform 21"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -264,7 +264,7 @@ in }; meta = { description = "Android SDK Platform 22"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -276,7 +276,7 @@ in }; meta = { description = "Android SDK Platform 23"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -288,7 +288,7 @@ in }; meta = { description = "Android SDK Platform 24"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; @@ -300,7 +300,7 @@ in }; meta = { description = "Android SDK Platform 25"; - url = http://developer.android.com/sdk/; + homepage = http://developer.android.com/sdk/; }; }; diff --git a/pkgs/development/ocaml-modules/base/default.nix b/pkgs/development/ocaml-modules/base/default.nix index 4c92c7f1ca1b..f7627567f9c1 100644 --- a/pkgs/development/ocaml-modules/base/default.nix +++ b/pkgs/development/ocaml-modules/base/default.nix @@ -1,5 +1,8 @@ { stdenv, fetchurl, ocaml, jbuilder, findlib }: +if !stdenv.lib.versionAtLeast ocaml.version "4.03" +then throw "base is not available for OCaml ${ocaml.version}" else + stdenv.mkDerivation { name = "ocaml${ocaml.version}-base-0.9.0"; diff --git a/pkgs/development/ocaml-modules/functoria/default.nix b/pkgs/development/ocaml-modules/functoria/default.nix index bfcdd4168ca7..2d8c00c72383 100644 --- a/pkgs/development/ocaml-modules/functoria/default.nix +++ b/pkgs/development/ocaml-modules/functoria/default.nix @@ -2,6 +2,9 @@ , bos, cmdliner, ocamlgraph }: +if !stdenv.lib.versionAtLeast ocaml.version "4.03" +then throw "functoria is not available for OCaml ${ocaml.version}" else + stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-functoria-${version}"; version = "2.0.2"; diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix index b06760a6e009..3bced92cc3e3 100644 --- a/pkgs/development/ocaml-modules/llvm/default.nix +++ b/pkgs/development/ocaml-modules/llvm/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { patches = [ (fetchpatch { url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/llvm/llvm.3.9/files/cmake.patch; - sha256 = "0vjap0xifgm59rwhjc48wi7jpbbif4dllsy4xs45sg95qq5qanp6"; + sha256 = "1fcc6ylfiw1npdhx7mrsj7h0dx7cym7i9664kpr76zqazb52ikm9"; })]; cmakeFlags = [ "-DLLVM_OCAML_OUT_OF_TREE=TRUE" ]; diff --git a/pkgs/development/ocaml-modules/ocurl/default.nix b/pkgs/development/ocaml-modules/ocurl/default.nix index 974779e473ff..94c2e1208839 100644 --- a/pkgs/development/ocaml-modules/ocurl/default.nix +++ b/pkgs/development/ocaml-modules/ocurl/default.nix @@ -7,7 +7,8 @@ stdenv.mkDerivation rec { sha256 = "0yn7f3g5wva8nqxh76adpq9rihggc405jkqysfghzwnf3yymyqrr"; }; - buildInputs = [ocaml findlib curl ncurses]; + buildInputs = [ ocaml findlib ncurses ]; + propagatedBuildInputs = [ curl ]; createFindlibDestdir = true; meta = { description = "OCaml bindings to libcurl"; diff --git a/pkgs/development/ocaml-modules/spacetime_lib/default.nix b/pkgs/development/ocaml-modules/spacetime_lib/default.nix index c12e47968ef0..1eb789ec2690 100644 --- a/pkgs/development/ocaml-modules/spacetime_lib/default.nix +++ b/pkgs/development/ocaml-modules/spacetime_lib/default.nix @@ -1,5 +1,8 @@ { stdenv, fetchFromGitHub, ocaml, findlib, owee }: +if !stdenv.lib.versionAtLeast ocaml.version "4.04" +then throw "spacetime_lib is not available for OCaml ${ocaml.version}" else + stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-spacetime_lib-${version}"; version = "0.1.0"; diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix index 76f58e695f28..a690399118d8 100644 --- a/pkgs/development/python-modules/astroid/default.nix +++ b/pkgs/development/python-modules/astroid/default.nix @@ -28,7 +28,7 @@ description = "A abstract syntax tree for Python with inference support"; homepage = http://bitbucket.org/logilab/astroid; license = licenses.lgpl2; - platform = platforms.all; + platforms = platforms.all; maintainers = with maintainers; [ nand0p ]; }; } diff --git a/pkgs/development/python-modules/bcrypt.nix b/pkgs/development/python-modules/bcrypt.nix index 94f04880c8e1..8a099983521f 100644 --- a/pkgs/development/python-modules/bcrypt.nix +++ b/pkgs/development/python-modules/bcrypt.nix @@ -1,5 +1,5 @@ { stdenv, buildPythonPackage, isPyPy, fetchurl -, cffi, pycparser, mock, pytest, py }: +, cffi, pycparser, mock, pytest, py, six }: with stdenv.lib; @@ -12,7 +12,7 @@ buildPythonPackage rec { sha256 = "1al54xafv1aharpb22yv5rjjc63fm60z3pn2shbiq48ah9f1fvil"; }; buildInputs = [ pycparser mock pytest py ]; - propagatedBuildInputs = optional (!isPyPy) cffi; + propagatedBuildInputs = [ six ] ++ optional (!isPyPy) cffi; meta = { maintainers = with maintainers; [ domenkozar ]; diff --git a/pkgs/development/python-modules/ipython/5.nix b/pkgs/development/python-modules/ipython/5.nix new file mode 100644 index 000000000000..011c86652902 --- /dev/null +++ b/pkgs/development/python-modules/ipython/5.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, pythonOlder +# Build dependencies +, glibcLocales +# Test dependencies +, nose +, pygments +, testpath +, isPy27 +, mock +# Runtime dependencies +, backports_shutil_get_terminal_size +, jedi +, decorator +, pathlib2 +, pickleshare +, requests2 +, simplegeneric +, traitlets +, prompt_toolkit +, pexpect +, appnope +}: + +buildPythonPackage rec { + pname = "ipython"; + version = "5.3.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "bf5e615e7d96dac5a61fbf98d9e2926d98aa55582681bea7e9382992a3f43c1d"; + }; + + prePatch = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace setup.py --replace "'gnureadline'" " " + ''; + + buildInputs = [ glibcLocales ]; + + checkInputs = [ nose pygments testpath ] ++ lib.optional isPy27 mock; + + propagatedBuildInputs = [ + backports_shutil_get_terminal_size decorator pickleshare prompt_toolkit + simplegeneric traitlets requests2 pathlib2 pexpect + ] ++ lib.optionals stdenv.isDarwin [ appnope ]; + + LC_ALL="en_US.UTF-8"; + + doCheck = false; # Circular dependency with ipykernel + + checkPhase = '' + nosetests + ''; + + meta = { + description = "IPython: Productive Interactive Computing"; + homepage = http://ipython.org/; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ bjornfor jgeerds orivej lnl7 ]; + }; +} diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix index 0823a76e2a69..de7d0a8d81b8 100644 --- a/pkgs/development/python-modules/ipython/default.nix +++ b/pkgs/development/python-modules/ipython/default.nix @@ -8,8 +8,6 @@ # Test dependencies , nose , pygments -, isPy27 -, mock # Runtime dependencies , jedi , decorator @@ -37,7 +35,7 @@ buildPythonPackage rec { buildInputs = [ glibcLocales ]; - checkInputs = [ nose pygments ] ++ lib.optional isPy27 mock; + checkInputs = [ nose pygments ]; propagatedBuildInputs = [ jedi diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index 844d2e229547..67604c3f2537 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -35,7 +35,7 @@ meta = with stdenv.lib; { homepage = http://www.logilab.org/project/pylint; description = "A bug and style checker for Python"; - platform = platforms.all; + platforms = platforms.all; license = licenses.gpl1Plus; maintainers = with maintainers; [ nand0p ]; }; diff --git a/pkgs/development/python-modules/pyside/apiextractor.nix b/pkgs/development/python-modules/pyside/apiextractor.nix index a27a365bb2cd..e02f32f223df 100644 --- a/pkgs/development/python-modules/pyside/apiextractor.nix +++ b/pkgs/development/python-modules/pyside/apiextractor.nix @@ -1,6 +1,9 @@ -{ stdenv, fetchurl, cmake, libxml2, libxslt, python, sphinx, qt4 }: +{ stdenv, fetchurl, cmake, libxml2, libxslt, python2, qt4 }: -stdenv.mkDerivation { +# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`. +let + pythonEnv = python2.withPackages(ps: with ps; [ sphinx ]); +in stdenv.mkDerivation { name = "pyside-apiextractor-0.10.10"; src = fetchurl { @@ -10,7 +13,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; - buildInputs = [ cmake libxml2 libxslt sphinx qt4 ]; + buildInputs = [ cmake qt4 pythonEnv libxml2 libxslt ]; meta = { description = "Eases the development of bindings of Qt-based libraries for high level languages by automating most of the process"; diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix index 4aff09b8f8f5..009afdd3a030 100644 --- a/pkgs/development/python-modules/pyside/default.nix +++ b/pkgs/development/python-modules/pyside/default.nix @@ -1,5 +1,6 @@ { lib, fetchurl, cmake, python, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4 }: +# This derivation provides a Python module and should therefore be called via `python-packages.nix`. buildPythonPackage rec { name = "pyside-${version}"; version = "1.2.4"; diff --git a/pkgs/development/python-modules/pyside/generatorrunner.nix b/pkgs/development/python-modules/pyside/generatorrunner.nix index 28ea88ad1fa4..8ecf2734832a 100644 --- a/pkgs/development/python-modules/pyside/generatorrunner.nix +++ b/pkgs/development/python-modules/pyside/generatorrunner.nix @@ -1,7 +1,12 @@ -{ stdenv, fetchurl, cmake, pysideApiextractor, python, sphinx, qt4 }: +{ stdenv, fetchurl, cmake, pysideApiextractor, python2, qt4 }: -stdenv.mkDerivation { - name = "pyside-generatorrunner-0.6.16"; +# This derivation does not provide any Python module and should therefore be called via `all-packages.nix`. +let + pythonEnv = python2.withPackages(ps: with ps; [ sphinx ]); +in stdenv.mkDerivation rec { + pname = "pyside-generatorrunner"; + version = "0.6.16"; + name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/PySide/Generatorrunner/archive/0.6.16.tar.gz"; @@ -10,7 +15,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; - buildInputs = [ cmake pysideApiextractor sphinx qt4 ]; + buildInputs = [ cmake pysideApiextractor qt4 pythonEnv ]; meta = { description = "Eases the development of binding generators for C++ and Qt-based libraries by providing a framework to help automating most of the process"; diff --git a/pkgs/development/python-modules/pyside/shiboken.nix b/pkgs/development/python-modules/pyside/shiboken.nix index 8c91b63d0e11..cef78c215500 100644 --- a/pkgs/development/python-modules/pyside/shiboken.nix +++ b/pkgs/development/python-modules/pyside/shiboken.nix @@ -1,10 +1,14 @@ -{ stdenv, fetchurl, cmake, libxml2, libxslt, pysideApiextractor, pysideGeneratorrunner, python, sphinx, qt4, isPy3k, isPy35 }: +{ lib, fetchurl, cmake, buildPythonPackage, libxml2, libxslt, pysideApiextractor, pysideGeneratorrunner, python, sphinx, qt4, isPy3k, isPy35 }: +# This derivation provides a Python module and should therefore be called via `python-packages.nix`. # Python 3.5 is not supported: https://github.com/PySide/Shiboken/issues/77 -stdenv.mkDerivation rec { - name = "pyside-shiboken-${version}"; +buildPythonPackage rec { + name = "${pname}-${version}"; + pname = "pyside-shiboken"; version = "1.2.4"; + format = "other"; + src = fetchurl { url = "https://github.com/PySide/Shiboken/archive/${version}.tar.gz"; sha256 = "1536f73a3353296d97a25e24f9554edf3e6a48126886f8d21282c3645ecb96a4"; @@ -25,9 +29,9 @@ stdenv.mkDerivation rec { meta = { description = "Plugin (front-end) for pyside-generatorrunner, that generates bindings for C++ libraries using CPython source code"; - license = stdenv.lib.licenses.gpl2; + license = lib.licenses.gpl2; homepage = "http://www.pyside.org/docs/shiboken/"; - maintainers = [ stdenv.lib.maintainers.chaoflow ]; - platforms = stdenv.lib.platforms.all; + maintainers = [ lib.maintainers.chaoflow ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/development/python-modules/pyside/tools.nix b/pkgs/development/python-modules/pyside/tools.nix index 11f2bd97175c..9d02a016e723 100644 --- a/pkgs/development/python-modules/pyside/tools.nix +++ b/pkgs/development/python-modules/pyside/tools.nix @@ -1,7 +1,11 @@ -{ stdenv, fetchurl, cmake, pyside, python, qt4, pysideShiboken }: +{ lib, fetchurl, cmake, pyside, qt4, pysideShiboken, buildPythonPackage }: -stdenv.mkDerivation { - name = "pyside-tools-0.2.15"; +# This derivation provides a Python module and should therefore be called via `python-packages.nix`. +buildPythonPackage rec { + pname = "pyside-tools"; + version = "0.2.15"; + name = "${pname}-${version}"; + format = "other"; src = fetchurl { url = "https://github.com/PySide/Tools/archive/0.2.15.tar.gz"; @@ -10,13 +14,13 @@ stdenv.mkDerivation { enableParallelBuilding = true; - buildInputs = [ cmake pyside python qt4 pysideShiboken ]; + buildInputs = [ cmake pyside qt4 pysideShiboken ]; meta = { description = "Tools for pyside, the LGPL-licensed Python bindings for the Qt cross-platform application and UI framework"; - license = stdenv.lib.licenses.gpl2; + license = lib.licenses.gpl2; homepage = "http://www.pyside.org"; - maintainers = [ stdenv.lib.maintainers.chaoflow ]; - platforms = stdenv.lib.platforms.all; + maintainers = [ lib.maintainers.chaoflow ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix new file mode 100644 index 000000000000..6a0dd6a36552 --- /dev/null +++ b/pkgs/development/python-modules/tqdm/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildPythonPackage +, fetchPypi +, nose +, coverage +, glibcLocales +, flake8 +, matplotlib +, pandas +}: + +buildPythonPackage rec { + pname = "tqdm"; + version = "4.11.2"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "14baa7a9ea7723d46f60de5f8c6f20e840baa7e3e193bf0d9ec5fe9103a15254"; + }; + + buildInputs = [ nose coverage glibcLocales flake8 ]; + + LC_ALL="en_US.UTF-8"; + + meta = { + description = "A Fast, Extensible Progress Meter"; + homepage = https://github.com/tqdm/tqdm; + license = with lib.licenses; [ mit ]; + maintainers = with lib.maintainers; [ fridh ]; + }; +} diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index e115b2c679d9..83346037dad3 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -78,6 +78,18 @@ in [ darwin.apple_sdk.frameworks.CoreServices ]; }; + # disable bundle install as it can't install anything in addition to what is + # specified in pkgs/applications/misc/jekyll/Gemfile anyway. Also do chmod_R + # to compensate for read-only files in site_template in nix store. + jekyll = attrs: { + postInstall = '' + installPath=$(cat $out/nix-support/gem-meta/install-path) + sed -i $installPath/lib/jekyll/commands/new.rb \ + -e 's@Exec.run("bundle", "install"@Exec.run("true"@' \ + -e 's@FileUtils.cp_r site_template + "/.", path@FileUtils.cp_r site_template + "/.", path; FileUtils.chmod_R "u+w", path@' + ''; + }; + # note that you need version >= v3.16.14.8, # otherwise the gem will fail to link to the libv8 binary. # see: https://github.com/cowboyd/libv8/pull/161 diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix index 045272e19d37..850affb06108 100644 --- a/pkgs/development/tools/backblaze-b2/default.nix +++ b/pkgs/development/tools/backblaze-b2/default.nix @@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec { sha256 = "1gl1z7zg3s1xgx45i6b1bvx9iwviiiinl4my00h66qkhrw7ag8p1"; }; - propagatedBuildInputs = with pythonPackages; [ futures requests2 six tqdm4 ]; + propagatedBuildInputs = with pythonPackages; [ futures requests2 six tqdm ]; checkPhase = '' python test_b2_command_line.py test diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 7b71a8e95d90..b0819f6133b6 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -95,6 +95,6 @@ stdenv.mkDerivation rec { /* Give binutils a lower priority than gcc-wrapper to prevent a collision due to the ld/as wrappers/symlinks in the latter. */ - priority = "10"; + priority = 10; }; } diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix index b6223230c1c9..540db210eb4e 100644 --- a/pkgs/development/tools/misc/sysbench/default.nix +++ b/pkgs/development/tools/misc/sysbench/default.nix @@ -1,20 +1,18 @@ -{ stdenv, fetchgit, libmysql, libxslt, zlib, autoreconfHook }: +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, vim, libmysql, + libaio }: stdenv.mkDerivation rec { - name = "sysbench-2015-04-22"; + name = "sysbench-1.0.6"; - buildInputs = [ autoreconfHook libmysql libxslt zlib ]; + buildInputs = [ autoreconfHook pkgconfig vim libmysql libaio ]; - src = fetchgit { - url = git://github.com/akopytov/sysbench.git; - rev = "2b3042883090c9cf8cb9be2b24d3590cdcee112f"; - sha256 = "1xlb3fracha3wva3dmmjk36b262vblynkmiz8n0mn1vkc78bssaw"; + src = fetchFromGitHub { + owner = "akopytov"; + repo = "sysbench"; + rev = "1.0.6"; + sha256 = "0y3hlhzrggyyxwf378n006zlg2kwhmhh6vq6il0qn9agjmjmhl5l"; }; - preAutoreconf = '' - touch NEWS AUTHORS - ''; - meta = { description = "Modular, cross-platform and multi-threaded benchmark tool"; license = stdenv.lib.licenses.gpl2; diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix index 59130bec50e4..e778337ca5ca 100644 --- a/pkgs/development/tools/ocaml/cppo/default.nix +++ b/pkgs/development/tools/ocaml/cppo/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild }: let pname = "cppo"; - version = "1.3.2"; + version = "1.5.0"; webpage = "http://mjambon.com/${pname}.html"; in -assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12"; +assert stdenv.lib.versionAtLeast ocaml.version "3.12"; stdenv.mkDerivation rec { name = "${pname}-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { owner = "mjambon"; repo = pname; rev = "v${version}"; - sha256 = "06j0zr78f04ahxi2459vjn61z25hkvs4dfj76200ydg3g6ifb3k1"; + sha256 = "1xqldjz9risndnabvadw41fdbi5sa2hl4fnqls7j9xfbby1izbg8"; }; buildInputs = [ ocaml findlib ocamlbuild ]; diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix index fdfac484bf10..c34eb9fc7084 100644 --- a/pkgs/development/tools/parsing/byacc/default.nix +++ b/pkgs/development/tools/parsing/byacc/default.nix @@ -1,17 +1,23 @@ { stdenv, fetchurl }: -stdenv.mkDerivation { - name = "byacc-1.9"; +stdenv.mkDerivation rec { + name = "byacc-${version}"; + version = "20170201"; src = fetchurl { - url = ftp://invisible-island.net/byacc/byacc-20140715.tgz; - sha256 = "1rbzx5ipkvih9rjfdfv6310wcr6mxjbdlsh9zcv5aaz6yxxxil7c"; + urls = [ + "ftp://invisible-island.net/byacc/${name}.tgz" + "http://invisible-mirror.net/archives/byacc/${name}.tgz" + ]; + sha256 = "90b768d177f91204e6e7cef226ae1dc7cac831b625774cebd3e233a917754f91"; }; - meta = { + doCheck = true; + + meta = with stdenv.lib; { description = "Berkeley YACC"; - homepage = http://dickey.his.com/byacc/byacc.html; - license = stdenv.lib.licenses.publicDomain; - platforms = stdenv.lib.platforms.unix; + homepage = http://invisible-island.net/byacc/byacc.html; + license = licenses.publicDomain; + platforms = platforms.unix; }; } diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix index 4a10015bea8a..f0de56b09538 100644 --- a/pkgs/games/factorio/default.nix +++ b/pkgs/games/factorio/default.nix @@ -6,12 +6,11 @@ , username ? "" , password ? "" }: -assert releaseType == "alpha" || releaseType == "headless"; +assert releaseType == "alpha" || releaseType == "headless" || releaseType == "demo"; with stdenv.lib; let - version = "0.15.1"; - isHeadless = releaseType == "headless"; + version = if releaseType != "demo" then "0.15.1" else "0.14.23"; arch = if stdenv.system == "x86_64-linux" then { inUrl = "linux64"; @@ -24,15 +23,18 @@ let authenticatedFetch = callPackage ./fetch.nix { inherit username password; }; fetch = rec { + extension = if releaseType != "demo" then "tar.xz" else "tar.gz"; url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}"; - name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.xz"; + name = "factorio_${releaseType}_${arch.inTar}-${version}.${extension}"; x64 = { - headless = fetchurl { inherit name url; sha256 = "1z84a9yzlld6fv53viwvswp52hlc9fkxzhb2pil7sidzkws3g49l"; }; - alpha = authenticatedFetch { inherit name url; sha256 = "11bxasghrhqb2yg1842v1608x3mjdjv3015jgifpv1xmcqak44jp"; }; + headless = fetchurl { inherit name url; sha256 = "1z84a9yzlld6fv53viwvswp52hlc9fkxzhb2pil7sidzkws3g49l"; }; + alpha = authenticatedFetch { inherit name url; sha256 = "11bxasghrhqb2yg1842v1608x3mjdjv3015jgifpv1xmcqak44jp"; }; + demo = fetchurl { inherit name url; sha256 = "10a2lwmspqviwgymn3zhjgpiynsa6dplgnikdirma5sl2hhcfb6s"; }; }; i386 = { headless = abort "Factorio 32-bit headless binaries are not available for download."; - alpha = abort "Factorio 32-bit client is not available for this version."; + alpha = abort "Factorio 32-bit client is not available for this version."; + demo = abort "Factorio 32-bit demo binaries are not available for download."; }; }; @@ -95,55 +97,62 @@ let platforms = [ "i686-linux" "x86_64-linux" ]; }; }; - headless = base; - alpha = base // { - buildInputs = [ makeWrapper ]; + releases = rec { + headless = base; + demo = base // { - libPath = stdenv.lib.makeLibraryPath [ - alsaLib - libX11 - libXcursor - libXinerama - libXrandr - libXi - mesa_noglu - ]; + buildInputs = [ makeWrapper ]; - installPhase = base.installPhase + '' - wrapProgram $out/bin/factorio \ - --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$libPath \ - --run "$out/share/factorio/update-config.sh" \ - --argv0 "" \ - --add-flags "-c \$HOME/.factorio/config.cfg ${optionalString (mods != []) "--mod-directory=${modDir}"}" + libPath = stdenv.lib.makeLibraryPath [ + alsaLib + libX11 + libXcursor + libXinerama + libXrandr + libXi + mesa_noglu + ]; - # TODO Currently, every time a mod is changed/added/removed using the - # modlist, a new derivation will take up the entire footprint of the - # client. The only way to avoid this is to remove the mods arg from the - # package function. The modsDir derivation will have to be built - # separately and have the user specify it in the .factorio config or - # right along side it using a symlink into the store I think i will - # just remove mods for the client derivation entirely. this is much - # cleaner and more useful for headless mode. + installPhase = base.installPhase + '' + wrapProgram $out/bin/factorio \ + --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$libPath \ + --run "$out/share/factorio/update-config.sh" \ + --argv0 "" \ + --add-flags "-c \$HOME/.factorio/config.cfg ${optionalString (mods != []) "--mod-directory=${modDir}"}" - # TODO: trying to toggle off a mod will result in read-only-fs-error. - # not much we can do about that except warn the user somewhere. In - # fact, no exit will be clean, since this error will happen on close - # regardless. just prints an ugly stacktrace but seems to be otherwise - # harmless, unless maybe the user forgets and tries to use the mod - # manager. + # TODO Currently, every time a mod is changed/added/removed using the + # modlist, a new derivation will take up the entire footprint of the + # client. The only way to avoid this is to remove the mods arg from the + # package function. The modsDir derivation will have to be built + # separately and have the user specify it in the .factorio config or + # right along side it using a symlink into the store I think i will + # just remove mods for the client derivation entirely. this is much + # cleaner and more useful for headless mode. - install -m0644 <(cat << EOF - ${configBaseCfg} - EOF - ) $out/share/factorio/config-base.cfg + # TODO: trying to toggle off a mod will result in read-only-fs-error. + # not much we can do about that except warn the user somewhere. In + # fact, no exit will be clean, since this error will happen on close + # regardless. just prints an ugly stacktrace but seems to be otherwise + # harmless, unless maybe the user forgets and tries to use the mod + # manager. - install -m0755 <(cat << EOF - ${updateConfigSh} - EOF - ) $out/share/factorio/update-config.sh + install -m0644 <(cat << EOF + ${configBaseCfg} + EOF + ) $out/share/factorio/config-base.cfg - cp -a doc-html $out/share/factorio - ''; + install -m0755 <(cat << EOF + ${updateConfigSh} + EOF + ) $out/share/factorio/update-config.sh + ''; + }; + alpha = demo // { + + installPhase = demo.installPhase + '' + cp -a doc-html $out/share/factorio + ''; + }; }; -in stdenv.mkDerivation (if isHeadless then headless else alpha) +in stdenv.mkDerivation (releases.${releaseType}) diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix index 9149f6da033b..89734b321fc0 100644 --- a/pkgs/os-specific/linux/bluez/bluez5.nix +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -53,6 +53,7 @@ stdenv.mkDerivation rec { # FIXME: Move these into a separate package to prevent Bluez from # depending on Python etc. postInstall = '' + cp ./attrib/gatttool $out/bin/gatttool mkdir -p $test/test cp -a test $test pushd $test/test diff --git a/pkgs/os-specific/linux/bridge-utils/default.nix b/pkgs/os-specific/linux/bridge-utils/default.nix index 2fdf728ef4e1..4d4a51b984a5 100644 --- a/pkgs/os-specific/linux/bridge-utils/default.nix +++ b/pkgs/os-specific/linux/bridge-utils/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { description = "http://sourceforge.net/projects/bridge/"; - homepage = [ "http://www.linux-foundation.org/en/Net:Bridge/" "http://sourceforge.net/projects/bridge/" ]; + homepage = "http://www.linux-foundation.org/en/Net:Bridge/"; license = "GPL"; platforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/os-specific/linux/ioport/default.nix b/pkgs/os-specific/linux/ioport/default.nix new file mode 100644 index 000000000000..8ad84014a1af --- /dev/null +++ b/pkgs/os-specific/linux/ioport/default.nix @@ -0,0 +1,17 @@ +{ stdenv, perl, fetchurl }: + +stdenv.mkDerivation { + name = "ioport-1.2"; + src = fetchurl { + url = "http://people.redhat.com/rjones/ioport/files/ioport-1.2.tar.gz"; + sha256 = "1h4d5g78y7kla0zl25jgyrk43wy3m3bygqg0blki357bc55irb3z"; + }; + buildInputs = [ perl ]; + meta = with stdenv.lib; { + description = "Direct access to I/O ports from the command line"; + homepage = http://people.redhat.com/rjones/ioport/; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.cleverca22 ]; + }; +} diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix index a3f21b51b061..6e8893cc37d6 100644 --- a/pkgs/os-specific/linux/kbd/default.nix +++ b/pkgs/os-specific/linux/kbd/default.nix @@ -43,6 +43,6 @@ stdenv.mkDerivation rec { homepage = ftp://ftp.altlinux.org/pub/people/legion/kbd/; description = "Linux keyboard utilities and keyboard maps"; platforms = platforms.linux; - licenses = licenses.gpl2Plus; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/os-specific/linux/kernel/grsecurity-nixos-config.nix b/pkgs/os-specific/linux/kernel/grsecurity-nixos-config.nix deleted file mode 100644 index ed8942b10669..000000000000 --- a/pkgs/os-specific/linux/kernel/grsecurity-nixos-config.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ stdenv }: - -with stdenv.lib; - -'' -# Auto configuration with these constraints will enable most of the -# important features (RAP, UDEREF, ASLR, memory sanitization). -GRKERNSEC_CONFIG_AUTO y -GRKERNSEC_CONFIG_DESKTOP y -GRKERNSEC_CONFIG_PRIORITY_SECURITY y - -# We specify virt guest rather than host here, the latter deselects e.g., -# paravirtualization. -GRKERNSEC_CONFIG_VIRT_GUEST y -# Note: assumes platform supports CPU-level virtualization (so no pentium 4) -GRKERNSEC_CONFIG_VIRT_EPT y -GRKERNSEC_CONFIG_VIRT_KVM y - -# PaX control -PAX_SOFTMODE y -PAX_PT_PAX_FLAGS y -PAX_XATTR_PAX_FLAGS y -PAX_EI_PAX n - -PAX_INITIFY y - -# The bts instrumentation method is compatible with binary only modules. -# -# Note: if platform supports SMEP, we could do without this -PAX_KERNEXEC_PLUGIN_METHOD_BTS y - -# Additional grsec hardening not implied by auto constraints -GRKERNSEC_IO y -GRKERNSEC_SYSFS_RESTRICT y -GRKERNSEC_ROFS y - -GRKERNSEC_MODHARDEN y - -# Disable protections rendered useless by redistribution -GRKERNSEC_HIDESYM n -GRKERNSEC_RANDSTRUCT n - -# Disable protections covered by vanilla mechanisms -GRKERNSEC_DMESG n -GRKERNSEC_KMEM n -GRKERNSEC_PROC n - -# Disable protections that are inappropriate for a general-purpose kernel -GRKERNSEC_NO_SIMULT_CONNECT n - -# Enable additional audititing -GRKERNSEC_AUDIT_MOUNT y -GRKERNSEC_AUDIT_PTRACE y -GRKERNSEC_FORKFAIL y - -# Wishlist: support trusted path execution -GRKERNSEC_TPE n - -GRKERNSEC_SYSCTL y -GRKERNSEC_SYSCTL_DISTRO y -# Assume that appropriate sysctls are toggled once the system is up -GRKERNSEC_SYSCTL_ON n -'' diff --git a/pkgs/os-specific/linux/kernel/grsecurity-nixos-kmod.patch b/pkgs/os-specific/linux/kernel/grsecurity-nixos-kmod.patch deleted file mode 100644 index e0430a69c950..000000000000 --- a/pkgs/os-specific/linux/kernel/grsecurity-nixos-kmod.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ru a/kernel/kmod.c b/kernel/kmod.c ---- a/kernel/kmod.c 2016-04-21 17:06:09.882281660 +0200 -+++ b/kernel/kmod.c 2016-04-21 17:08:17.458949309 +0200 -@@ -294,7 +294,9 @@ - strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7) && - strncmp(sub_info->path, "/usr/libexec/", 13) && strncmp(sub_info->path, "/usr/bin/", 9) && - strncmp(sub_info->path, "/usr/sbin/", 10) && strcmp(sub_info->path, "/bin/false") && -- strcmp(sub_info->path, "/usr/share/apport/apport")) || strstr(sub_info->path, "..")) { -+ strcmp(sub_info->path, "/usr/share/apport/apport") && -+ strncmp(sub_info->path, "/nix/store/", 11) && -+ strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) || strstr(sub_info->path, "..")) { - printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of permitted system paths\n", sub_info->path); - retval = -EPERM; - goto out; diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix new file mode 100644 index 000000000000..a85725d70e1f --- /dev/null +++ b/pkgs/os-specific/linux/kernel/hardened-config.nix @@ -0,0 +1,54 @@ +# Based on recommendations from: +# http://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project#Recommended_settings +# https://wiki.gentoo.org/wiki/Hardened/Hardened_Kernel_Project +# +# The base kernel is assumed to be at least 4.9 or whatever the toplevel +# linux_hardened package expression uses. +# +# Dangerous features that can be permanently (for the boot session) disabled at +# boot via sysctl or kernel cmdline are left enabled here, for improved +# flexibility. + +{ stdenv }: + +with stdenv.lib; + +'' +GCC_PLUGINS y # Enable gcc plugin options + +DEBUG_KERNEL y +DEBUG_RODATA y # Make kernel text & rodata read-only +DEBUG_WX y # A one-time check for W+X mappings at boot; doesn't do anything beyond printing a warning + +# Additional validation of commonly targetted structures +DEBUG_CREDENTIALS y +DEBUG_NOTIFIERS y +DEBUG_LIST y + +HARDENED_USERCOPY y # Bounds check usercopy + +# Wipe on free with page_poison=1 +PAGE_POISONING y +PAGE_POISONING_NO_SANITY y +PAGE_POISONING_ZERO y + +# Stricter /dev/mem +STRICT_DEVMEM y +IO_STRICT_DEVMEM y + +# Disable various dangerous settings +ACPI_CUSTOM_METHOD n # Allows writing directly to physical memory +PROC_KCORE n # Exposes kernel text image layout +INET_DIAG n # Has been used for heap based attacks in the past + +${optionalString (stdenv.system == "x86_64-linux") '' + DEFAULT_MMAP_MIN_ADDR 65536 # Prevent allocation of first 64K of memory + + # Reduce attack surface by disabling various emulations + IA32_EMULATION n + X86_X32 n + + VMAP_STACK y # Catch kernel stack overflows +''} + +'' diff --git a/pkgs/os-specific/linux/kernel/linux-4.10.nix b/pkgs/os-specific/linux/kernel/linux-4.10.nix index cf68997c2fb1..e258b3bf978e 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.10.12"; + version = "4.10.13"; extraMeta.branch = "4.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1i1vzv9y9pdkpyir04pnlsacnlahp15bqqgrl68hn3ni20macx7q"; + sha256 = "1vylg3zv0n0hx9y5ngshz65hkpfm2686mvdcarhdg2mnxqd2kc6s"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index c5b52890c605..bffdf9ac752c 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.4.63"; + version = "4.4.65"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1v2pilwzkdcxvda96g1yy62abqz6w2zhcymgj73maz9836xsjxbv"; + sha256 = "1vdb1804m3x991p3z0apxzsrp3ppdgngbfwj4j2ac062xgsp5x31"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index 706f31ea6c55..34884e41f282 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.9.24"; + version = "4.9.25"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "01ig3hmalzkn783d5pppw1x473y0mma54rx7dfnany15n62w9csh"; + sha256 = "0drfz75k0zj2prawqmxaqgk27zk2vdj2pwip2n7hb9r1b9ly9bc2"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix deleted file mode 100644 index 166836a3275c..000000000000 --- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ stdenv, fetchurl, perl, buildLinux, ... } @ args: - -import ./generic.nix (args // rec { - version = "4.9.24"; - extraMeta.branch = "4.9"; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha512 = "3031ldw2f6dwkm3z1cn7rw8y4diq57rs3na64nzkw7xw4q74cfpzzp5866vf58y0fsyl8l2vgvwza7cdhxywmmxp7q0q5385jn8nnvd"; - }; - - kernelPatches = args.kernelPatches; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.netfilterRPFilter = true; -} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix index e533670014b3..3d244b794e94 100644 --- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix +++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - mptcpVersion = "0.91.2"; - modDirVersion = "4.1.35"; + mptcpVersion = "0.91.3"; + modDirVersion = "4.1.38"; version = "${modDirVersion}-mptcp_v${mptcpVersion}"; extraMeta = { @@ -12,7 +12,7 @@ import ./generic.nix (args // rec { src = fetchurl { url = "https://github.com/multipath-tcp/mptcp/archive/v${mptcpVersion}.tar.gz"; - sha256 = "1jfxycg8i99ry2cr2ksarvqjzlr46sp192wkpb4sb2mynbzf3dmk"; + sha256 = "0vqjnkzcbbvyq24w3cryfmw7hhws1xqkkxqcv71szkbqqs6mcr14"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 22bdc3594ef2..1747d34fe112 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -17,26 +17,6 @@ let ''; }; }; - - grsecPatch = { grbranch ? "test", grver ? "3.1", kver, grrev, sha512 }: rec { - name = "grsecurity-${grver}-${kver}-${grrev}"; - - # Pass these along to allow the caller to determine compatibility - inherit grver kver grrev; - - patch = fetchurl { - urls = [ - "https://grsecurity.net/${grbranch}/${name}.patch" - # When updating versions/hashes, ALWAYS use the official - # version; we use this mirror only because upstream removes - # source files immediately upon releasing a new version ... - "https://raw.githubusercontent.com/slashbeast/grsecurity-scrape/master/${grbranch}/${kver}/${name}.patch" - ]; - inherit sha512; - }; - - features.grsecurity = true; - }; in rec { @@ -99,19 +79,13 @@ rec { sha256 = "00b1rqgd4yr206dxp4mcymr56ymbjcjfa4m82pxw73khj032qw3j"; }; - grsecurity_testing = grsecPatch - { kver = "4.9.24"; - grrev = "201704220732"; - sha512 = "0n9v066z3qh296fyvsg1gnygy7jd0cy0pnywxzglh58dnibl28q2ywjnp4ff30andzzq7rvjkk4n151xvs1n04pf2azkgz6igwfisg7"; - }; + grsecurity_testing = throw '' + Upstream has ceased free support for grsecurity/PaX. - # This patch relaxes grsec constraints on the location of usermode helpers, - # e.g., modprobe, to allow calling into the Nix store. - grsecurity_nixos_kmod = - { - name = "grsecurity-nixos-kmod"; - patch = ./grsecurity-nixos-kmod.patch; - }; + See https://grsecurity.net/passing_the_baton.php + and https://grsecurity.net/passing_the_baton_faq.php + for more information. + ''; crc_regression = { name = "crc-backport-regression"; diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 9645a2d16b52..eb4d1ab04238 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation { meta = { homepage = http://sourceware.org/lvm2/; - descriptions = "Tools to support Logical Volume Management (LVM) on Linux"; + description = "Tools to support Logical Volume Management (LVM) on Linux"; platforms = stdenv.lib.platforms.linux; maintainers = with stdenv.lib.maintainers; [raskin]; inherit version; diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix index 9441ce772c83..cb88a55a1345 100644 --- a/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -32,12 +32,12 @@ let src = if stdenv.system == "i686-linux" then fetchurl { - url = "http://download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run"; + url = "https://download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run"; sha256 = sha256_32bit; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "http://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run"; + url = "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run"; sha256 = sha256_64bit; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix index 6e5b412a9b8f..51a230974c86 100644 --- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix +++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix @@ -14,12 +14,12 @@ stdenv.mkDerivation { src = if stdenv.system == "i686-linux" then fetchurl { - url = "http://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run"; + url = "https://download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run"; sha256 = "08xb7s7cxmj4zv4i3645kjhlhhwxiq6km9ixmsw3vv91f7rkb6d0"; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "http://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run"; + url = "https://download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run"; sha256 = "1p2ls0xj81l8v4n6dbjj3p5wlw1iyhgzyvqcv4h5fdxhhs2cb3md"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; diff --git a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix index bc79e0efe63c..98d557261faf 100644 --- a/pkgs/os-specific/linux/nvidia-x11/persistenced.nix +++ b/pkgs/os-specific/linux/nvidia-x11/persistenced.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { inherit (nvidia_x11) version; src = fetchurl { - url = "ftp://download.nvidia.com/XFree86/nvidia-persistenced/${name}.tar.bz2"; + url = "https://download.nvidia.com/XFree86/nvidia-persistenced/${name}.tar.bz2"; inherit sha256; }; diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix index f89997441649..aed0cfab4363 100644 --- a/pkgs/os-specific/linux/nvidia-x11/settings.nix +++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { inherit (nvidia_x11) version; src = fetchurl { - url = "ftp://download.nvidia.com/XFree86/nvidia-settings/${name}.tar.bz2"; + url = "https://download.nvidia.com/XFree86/nvidia-settings/${name}.tar.bz2"; inherit sha256; }; diff --git a/pkgs/os-specific/linux/rtkit/default.nix b/pkgs/os-specific/linux/rtkit/default.nix index dd6f9ec42afa..fa3c2fc4c7e3 100644 --- a/pkgs/os-specific/linux/rtkit/default.nix +++ b/pkgs/os-specific/linux/rtkit/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://0pointer.de/blog/projects/rtkit; - descriptions = "A daemon that hands out real-time priority to processes"; + description = "A daemon that hands out real-time priority to processes"; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/upstart/check-config.nix b/pkgs/os-specific/linux/upstart/check-config.nix new file mode 100644 index 000000000000..5803b4ed8339 --- /dev/null +++ b/pkgs/os-specific/linux/upstart/check-config.nix @@ -0,0 +1,43 @@ +# Useful tool to check syntax of a config file. Upstart needs a dbus +# session, so this script wraps one up and makes the operation not +# require any prior state. +# +# See: http://mwhiteley.com/scripts/2012/12/11/dbus-init-checkconf.html +{stdenv, coreutils, upstart, writeScript, dbus}: + +writeScript "upstart-check-config" '' + #!${stdenv.shell} + + set -o errexit + set -o nounset + + export PATH=${stdenv.lib.makeBinPath [dbus.out upstart coreutils]}:$PATH + + if [[ $# -ne 1 ]] + then + echo "Usage: $0 upstart-conf-file" >&2 + exit 1 + fi + config=$1 && shift + + dbus_pid_file=$(mktemp) + exec 4<> $dbus_pid_file + + dbus_add_file=$(mktemp) + exec 6<> $dbus_add_file + + dbus-daemon --fork --print-pid 4 --print-address 6 --session + + function clean { + dbus_pid=$(cat $dbus_pid_file) + if [[ -n $dbus_pid ]]; then + kill $dbus_pid + fi + rm -f $dbus_pid_file $dbus_add_file + } + trap "{ clean; }" EXIT + + export DBUS_SESSION_BUS_ADDRESS=$(cat $dbus_add_file) + + init-checkconf $config +'' diff --git a/pkgs/os-specific/linux/upstart/default.nix b/pkgs/os-specific/linux/upstart/default.nix index 938f4edd2fb8..d5b9be34d9c3 100644 --- a/pkgs/os-specific/linux/upstart/default.nix +++ b/pkgs/os-specific/linux/upstart/default.nix @@ -1,17 +1,20 @@ -{ stdenv, fetchurl, pkgconfig, dbus, libnih }: +{ stdenv, fetchurl, pkgconfig, dbus, libnih, python, makeWrapper, utillinux +, writeScript }: -let version = "1.5"; in +let + inherit (stdenv.lib) makeBinPath; + version = "1.5"; -stdenv.mkDerivation rec { + upstart = stdenv.mkDerivation rec { name = "upstart-${version}"; - + src = fetchurl { url = "http://upstart.ubuntu.com/download/${version}/${name}.tar.gz"; sha256 = "01w4ab6nlisz5blb0an1sxjkndwikr7sjp0cmz4lg00g3n7gahmx"; }; - buildInputs = [ pkgconfig dbus libnih ]; - + buildInputs = [ pkgconfig dbus libnih python makeWrapper]; + NIX_CFLAGS_COMPILE = '' -DSHELL="${stdenv.shell}" @@ -33,6 +36,16 @@ stdenv.mkDerivation rec { t=$out/etc/bash_completion.d mkdir -p $t cp ${./upstart-bash-completion} $t/upstart + + # Patch some binaries to refer to the correct binary location. + sed -i "s,/sbin/init,$out/bin/init,g" $out/bin/init-checkconf + sed -i "s,initctl,$out/bin/initctl," $out/bin/initctl2dot + + # Add some missing executable permissions, and wrap binaries. + chmod +x $out/bin/init-checkconf $out/bin/init-checkconf + wrapProgram $out/bin/init-checkconf \ + --prefix PATH : $out/bin:${makeBinPath [utillinux dbus]} + wrapProgram $out/bin/initctl2dot --prefix PATH : $out/bin ''; meta = { @@ -40,4 +53,6 @@ stdenv.mkDerivation rec { description = "An event-based replacement for the /sbin/init daemon"; platforms = stdenv.lib.platforms.linux; }; -} +}; + +in upstart diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix index 581dbc3b1f76..e6102c84f134 100644 --- a/pkgs/servers/asterisk/default.nix +++ b/pkgs/servers/asterisk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, lib, fetchurl, fetchgit, fetchsvn, +{ stdenv, pkgs, lib, fetchurl, fetchgit, fetchsvn, fetchpatch, jansson, libxml2, libxslt, ncurses, openssl, sqlite, utillinux, dmidecode, libuuid, binutils, newt, lua, speex, @@ -18,8 +18,17 @@ let # This patch changes the runtime behavior to look for state # directories in /var rather than ${out}/var. ./runtime-vardirs.patch + (fetchpatch { + url = "http://sources.debian.net/data/main/a/asterisk/1:13.14.1~dfsg-1/debian/patches/pjsip_unresolved_symbol.patch"; + sha256 = "0i6a6zplvzbjcvxqlmr87jmrfza7c3qx0rlym2nlmzzp2m7qpnfp"; + }) ]; + # Disable MD5 verification for pjsip + postPatch = '' + sed -i 's|$(verify_tarball)|true|' third-party/pjproject/Makefile + ''; + src = fetchurl { url = "http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${version}.tar.gz"; inherit sha256; @@ -64,9 +73,9 @@ let }; }; - pjproject-255 = fetchurl { - url = http://www.pjsip.org/release/2.5.5/pjproject-2.5.5.tar.bz2; - sha256 = "1wq8lpfcd4dfrbl7bgy2yzgp3ldjzq5430fqkhcqad0xfrxj0fdb"; + pjproject-26 = fetchurl { + url = http://www.pjsip.org/release/2.6/pjproject-2.6.tar.bz2; + sha256 = "1d67c58jn22f7h6smkykk5vwl3sqpc7xi2vm3j3lbn3lq6hisnig"; }; mp3-202 = fetchsvn { @@ -79,19 +88,19 @@ in { asterisk-lts = common { - version = "13.13.1"; - sha256 = "0yh097rrp1i681qclvwyh7l1gg2i5wx5pjrcvwpbj6g949mc98vd"; + version = "13.15.0"; + sha256 = "0i2qzfa1iyh66nma39kdigb9lp5gz3sn46znd2djz24wgmamb2lb"; externals = { - "externals_cache/pjproject-2.5.5.tar.bz2" = pjproject-255; + "externals_cache/pjproject-2.6.tar.bz2" = pjproject-26; "addons/mp3" = mp3-202; }; }; asterisk-stable = common { - version = "14.2.1"; - sha256 = "193yhyjn0fwrd7hsmr3qwcx3k2pc6cq70v1mnfdwidix4cqm32xj"; + version = "14.4.0"; + sha256 = "095slnhl74hs1c36rgg378azan9zwgryp8him7py4am60lbk3n3w"; externals = { - "externals_cache/pjproject-2.5.5.tar.bz2" = pjproject-255; + "externals_cache/pjproject-2.6.tar.bz2" = pjproject-26; "addons/mp3" = mp3-202; }; }; diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix index 388c355c3f7f..348aba5338c4 100644 --- a/pkgs/servers/http/nginx/mainline.nix +++ b/pkgs/servers/http/nginx/mainline.nix @@ -1,6 +1,6 @@ { callPackage, ... }@args: callPackage ./generic.nix (args // { - version = "1.11.13"; - sha256 = "1lqm2ixld5b55s4i1yy5337c6ifp7jzjfsm51z49hagdz0g602rn"; + version = "1.13.0"; + sha256 = "1mq56rl3rq3bhnrqsywxfrwh0y5m0n0q0sck8ca4x18ganv2mxbr"; }) diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 6c7b7ff001a1..dbcebf842397 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -1,8 +1,7 @@ { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }: buildGoPackage rec { - version = "4.1.2"; - ts = "1486989747"; + version = "4.2.0"; name = "grafana-v${version}"; goPackagePath = "github.com/grafana/grafana"; @@ -10,12 +9,12 @@ buildGoPackage rec { rev = "v${version}"; owner = "grafana"; repo = "grafana"; - sha256 = "0x2knb2lrs6sbj3svcjn70p46fzdy71gh8fgi801g1l0yp9s5yrg"; + sha256 = "0zzvdzakswqidxbsss98nfa8rw80r36f45yviai12xsns9jzmj7z"; }; srcStatic = fetchurl { - url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}-${ts}.linux-x64.tar.gz"; - sha256 = "1i7n1a2xn65flwy2zqs3kqg1ch51653r52qn3gfh5hp92k81q4dq"; + url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}.linux-x64.tar.gz"; + sha256 = "1cs7ghkp13znz9yxv108770xjfsp8vks6xkzpqqhsjis5h5y0g9w"; }; preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace"; diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix index 8bf9eef6cd09..78cd69714e85 100644 --- a/pkgs/servers/monitoring/prometheus/alertmanager.nix +++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "alertmanager-${version}"; - version = "0.5.1"; + version = "0.6.0"; rev = "v${version}"; goPackagePath = "github.com/prometheus/alertmanager"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "alertmanager"; - sha256 = "1z0f8jqbd4v00634qcs41h1zb70ahl63svlzn33gavripk84hwzq"; + sha256 = "04969hqig0llfkvk3b0yqrywcxm6rgd7ph6nn5rx8pnq21i77sqm"; }; # Tests exist, but seem to clash with the firewall. @@ -27,6 +27,17 @@ buildGoPackage rec { -X ${t}.GoVersion=${stdenv.lib.getVersion go} ''; + postBuild = '' + $NIX_BUILD_TOP/go/bin/artifacts + ''; + + postInstall = '' + rm $bin/bin/artifacts + mkdir -p $bin/share/man/man1 $bin/etc/bash_completion.d + cp -v amtool*.1 $bin/share/man/man1 + cp -v amtool_completion.sh $bin/etc/bash_completion.d + ''; + meta = with stdenv.lib; { description = "Alert dispatcher for the Prometheus monitoring system"; homepage = https://github.com/prometheus/alertmanager; diff --git a/pkgs/servers/monitoring/prometheus/node-exporter.nix b/pkgs/servers/monitoring/prometheus/node-exporter.nix index 1115ca85f23f..2d2fb26324c4 100644 --- a/pkgs/servers/monitoring/prometheus/node-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/node-exporter.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "node_exporter-${version}"; - version = "0.13.0"; + version = "0.14.0"; rev = "v${version}"; goPackagePath = "github.com/prometheus/node_exporter"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "node_exporter"; - sha256 = "03xk8zns0dvzs13jgiwl2dxj9aq4bbfmwsg0wq5piravxpszs09q"; + sha256 = "0rm43jjqv7crfahl973swi4warqmqnmv740cg800yvzvnlp37kl4"; }; # FIXME: megacli test fails diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix index d58005f7be2b..572cfe1f17d6 100644 --- a/pkgs/servers/nosql/eventstore/default.nix +++ b/pkgs/servers/nosql/eventstore/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { mkdir -p $out/{bin,lib/eventstore/clusternode} cp -r bin/clusternode/* $out/lib/eventstore/clusternode/ cat > $out/bin/clusternode << EOF - #!/bin/sh + #!${stdenv.shell} exec ${mono}/bin/mono $out/lib/eventstore/clusternode/EventStore.ClusterNode.exe "\$@" EOF chmod +x $out/bin/clusternode diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 680c9dfcb601..ba514ccdbcbc 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -126,7 +126,7 @@ stdenv.mkDerivation rec { meta = { description = "Sound server for POSIX and Win32 systems"; homepage = http://www.pulseaudio.org/; - licenses = lib.licenses.lgpl2Plus; + license = lib.licenses.lgpl2Plus; maintainers = with lib.maintainers; [ lovek323 wkennington ]; platforms = lib.platforms.unix; diff --git a/pkgs/servers/radicale/default.nix b/pkgs/servers/radicale/default.nix index 47bdad75343d..a701ad5d833a 100644 --- a/pkgs/servers/radicale/default.nix +++ b/pkgs/servers/radicale/default.nix @@ -9,13 +9,13 @@ pythonPackages.buildPythonApplication rec { sha256 = "1c5lv8qca21mndkx350wxv34qypqh6gb4rhzms4anr642clq3jg2"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = stdenv.lib.optionals (!pythonPackages.isPy3k) [ pythonPackages.flup pythonPackages.ldap pythonPackages.sqlalchemy ]; - doCheck = true; + doCheck = !pythonPackages.isPy3k; meta = with stdenv.lib; { homepage = http://www.radicale.org/; @@ -29,6 +29,6 @@ pythonPackages.buildPythonApplication rec { ''; license = licenses.gpl3Plus; platform = platforms.all; - maintainers = with maintainers; [ edwtjo pSub ]; + maintainers = with maintainers; [ edwtjo pSub aneeshusa ]; }; } diff --git a/pkgs/servers/web-apps/wallabag/default.nix b/pkgs/servers/web-apps/wallabag/default.nix index 4efb1ca9de6e..c7067ffbd535 100644 --- a/pkgs/servers/web-apps/wallabag/default.nix +++ b/pkgs/servers/web-apps/wallabag/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "wallabag-${version}"; - version = "2.1.6"; + version = "2.2.2"; # remember to rm -r var/cache/* after a rebuild or unexpected errors will occur src = fetchurl { - url = "https://framabag.org/wallabag-release-${version}.tar.gz"; - sha256 = "0znywkrjlmxhacfkdyba2cjhgmrh509mayrfsrnc0rx3haxam7fx"; + url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz"; + sha256 = "0l8zba2risi8lsmff0fbgplfqdiqp7jz0f93z4lbqv8iavaqpna0"; }; outputs = [ "out" "doc" ]; diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix index 2d247148aee6..878e8480bb99 100644 --- a/pkgs/servers/web-apps/wordpress/default.nix +++ b/pkgs/servers/web-apps/wordpress/default.nix @@ -2,8 +2,8 @@ { fetchFromGitHub, lib } : fetchFromGitHub { owner = "WordPress"; repo = "WordPress"; - rev = "4.7.3"; - sha256 = "05gggm40065abylp6bdc0zn0q6ahcggyh4q6rk0ak242q8v5fm5b"; + rev = "4.7.4"; + sha256 = "1ia9d3n085x2r6pvdrv4rk6gdp6xhjhpsq5g7a6448xzv9hf14ri"; meta = { homepage = https://wordpress.org; description = "WordPress is open source software you can use to create a beautiful website, blog, or app."; diff --git a/pkgs/servers/xmpp/pyIRCt/default.nix b/pkgs/servers/xmpp/pyIRCt/default.nix index 2a87eeb7cb5a..ebdc73aec30a 100644 --- a/pkgs/servers/xmpp/pyIRCt/default.nix +++ b/pkgs/servers/xmpp/pyIRCt/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { sed -e '/configFiles/iimport os' -i config.py cp * $out/share/${name} cat > $out/bin/pyIRCt < $out/bin/pyMAILt < LICENSE + cd src && python build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc ''; buildPhase = '' - python src/build_mozc.py build -c Release \ + PYTHONPATH="$PWD:$PYTHONPATH" python build_mozc.py build -c Release \ unix/ibus/ibus.gyp:ibus_mozc \ unix/emacs/emacs.gyp:mozc_emacs_helper \ server/server.gyp:mozc_server \ @@ -53,32 +50,29 @@ in clangStdenv.mkDerivation rec { renderer/renderer.gyp:mozc_renderer ''; - checkPhase = '' - python src/build_mozc.py runtests -c Release - ''; - installPhase = '' - install -d $out/share/licenses/mozc/ - install -m 644 LICENSE src/data/installer/*.html $out/share/licenses/mozc/ + install -d $out/share/licenses/mozc + head -n 29 server/mozc_server.cc > $out/share/licenses/mozc/LICENSE + install -m 644 data/installer/*.html $out/share/licenses/mozc/ - install -D -m 755 src/out_linux/Release/mozc_server $out/lib/mozc/mozc_server - install -m 755 src/out_linux/Release/mozc_tool $out/lib/mozc/mozc_tool + install -D -m 755 out_linux/Release/mozc_server $out/lib/mozc/mozc_server + install -m 755 out_linux/Release/mozc_tool $out/lib/mozc/mozc_tool - install -d $out/share/doc/mozc - install -m 644 src/data/installer/*.html $out/share/doc/mozc/ + install -d $out/share/doc/mozc + install -m 644 data/installer/*.html $out/share/doc/mozc/ - install -D -m 755 src/out_linux/Release/ibus_mozc $out/lib/ibus-mozc/ibus-engine-mozc - install -D -m 644 src/out_linux/Release/gen/unix/ibus/mozc.xml $out/share/ibus/component/mozc.xml - install -D -m 644 src/data/images/unix/ime_product_icon_opensource-32.png $out/share/ibus-mozc/product_icon.png - install -m 644 src/data/images/unix/ui-tool.png $out/share/ibus-mozc/tool.png - install -m 644 src/data/images/unix/ui-properties.png $out/share/ibus-mozc/properties.png - install -m 644 src/data/images/unix/ui-dictionary.png $out/share/ibus-mozc/dictionary.png - install -m 644 src/data/images/unix/ui-direct.png $out/share/ibus-mozc/direct.png - install -m 644 src/data/images/unix/ui-hiragana.png $out/share/ibus-mozc/hiragana.png - install -m 644 src/data/images/unix/ui-katakana_half.png $out/share/ibus-mozc/katakana_half.png - install -m 644 src/data/images/unix/ui-katakana_full.png $out/share/ibus-mozc/katakana_full.png - install -m 644 src/data/images/unix/ui-alpha_half.png $out/share/ibus-mozc/alpha_half.png - install -m 644 src/data/images/unix/ui-alpha_full.png $out/share/ibus-mozc/alpha_full.png - install -D -m 755 src/out_linux/Release/mozc_renderer $out/lib/mozc/mozc_renderer + install -D -m 755 out_linux/Release/ibus_mozc $out/lib/ibus-mozc/ibus-engine-mozc + install -D -m 644 out_linux/Release/gen/unix/ibus/mozc.xml $out/share/ibus/component/mozc.xml + install -D -m 644 data/images/unix/ime_product_icon_opensource-32.png $out/share/ibus-mozc/product_icon.png + install -m 644 data/images/unix/ui-tool.png $out/share/ibus-mozc/tool.png + install -m 644 data/images/unix/ui-properties.png $out/share/ibus-mozc/properties.png + install -m 644 data/images/unix/ui-dictionary.png $out/share/ibus-mozc/dictionary.png + install -m 644 data/images/unix/ui-direct.png $out/share/ibus-mozc/direct.png + install -m 644 data/images/unix/ui-hiragana.png $out/share/ibus-mozc/hiragana.png + install -m 644 data/images/unix/ui-katakana_half.png $out/share/ibus-mozc/katakana_half.png + install -m 644 data/images/unix/ui-katakana_full.png $out/share/ibus-mozc/katakana_full.png + install -m 644 data/images/unix/ui-alpha_half.png $out/share/ibus-mozc/alpha_half.png + install -m 644 data/images/unix/ui-alpha_full.png $out/share/ibus-mozc/alpha_full.png + install -D -m 755 out_linux/Release/mozc_renderer $out/lib/mozc/mozc_renderer ''; } diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix index 6001a785c7a3..872a02ed9ded 100644 --- a/pkgs/tools/misc/fzf/default.nix +++ b/pkgs/tools/misc/fzf/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "fzf-${version}"; - version = "0.16.6"; + version = "0.16.7"; rev = "${version}"; goPackagePath = "github.com/junegunn/fzf"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "junegunn"; repo = "fzf"; - sha256 = "0nzjbm40c4w9d0d34s5qnr9jkrh1vkn508xl2lfwfvmnzsnb9xbn"; + sha256 = "11ka5n7mrm5pb9riah28zyshvfz2svm4wn6fbama39yp6sc01x23"; }; outputs = [ "bin" "out" "man" ]; diff --git a/pkgs/tools/misc/fzf/deps.nix b/pkgs/tools/misc/fzf/deps.nix index 2f033c5b1c2b..289ea9f11ae2 100644 --- a/pkgs/tools/misc/fzf/deps.nix +++ b/pkgs/tools/misc/fzf/deps.nix @@ -23,8 +23,8 @@ fetch = { type = "git"; url = "https://github.com/junegunn/go-shellwords"; - rev = "33bd8f1ebe16d6e5eb688cc885749a63059e9167"; - sha256 = "0xcymw0fm0ir8d9swh1bkpknnqgx5ijjsj433z4d9riy8h8ywpw8"; + rev = "02e3cf038dcea8290e44424da473dd12be796a8a"; + sha256 = "1pg7pl25wvpl2dbpyrv9p1r7prnqimxlf6136vn0dfm54j2x4mnr"; }; } { diff --git a/pkgs/tools/misc/qt5ct/default.nix b/pkgs/tools/misc/qt5ct/default.nix index dd94e379eed9..4377b386d85c 100644 --- a/pkgs/tools/misc/qt5ct/default.nix +++ b/pkgs/tools/misc/qt5ct/default.nix @@ -2,18 +2,18 @@ stdenv.mkDerivation rec { name = "qt5ct-${version}"; - version = "0.24"; + version = "0.30"; src = fetchurl { url = "mirror://sourceforge/qt5ct/qt5ct-${version}.tar.bz2"; - sha256 = "0k62nd945pbgkshycijzrgdyrwj5kcswk33slaj7hr7d6r7bmb6p"; + sha256 = "1k0ywd440qvf84chadjb4fnkn8dkfl56cc3a6wqg6a59drslvng6"; }; buildInputs = [ qtbase qtsvg ]; nativeBuildInputs = [ makeQtWrapper qmakeHook qttools ]; preConfigure = '' - qmakeFlags="$qmakeFlags PLUGINDIR=$out/lib/qt5/plugins/platformthemes/" + qmakeFlags="$qmakeFlags PLUGINDIR=$out/lib/qt5/plugins" ''; preFixup = '' diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 998f2969925c..88750f6e0e10 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -14,11 +14,11 @@ with stdenv.lib; buildPythonApplication rec { name = "youtube-dl-${version}"; - version = "2017.04.17"; + version = "2017.04.28"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz"; - sha256 = "0bihcjghrpj8skh216wwb7i2r990f6b7x63m8vdamq5bw317wvrj"; + sha256 = "0d3mgf8qxb07b7bjf79ppaxhcl4f47q0zjpshp6y2q0lalfskh3j"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/networking/nfdump/default.nix b/pkgs/tools/networking/nfdump/default.nix new file mode 100644 index 000000000000..f7a04eff0461 --- /dev/null +++ b/pkgs/tools/networking/nfdump/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, bzip2, yacc, flex }: + +let version = "1.6.15"; in + +stdenv.mkDerivation rec { + name = "nfdump-${version}"; + + src = fetchFromGitHub { + owner = "phaag"; + repo = "nfdump"; + rev = "v${version}"; + sha256 = "07grsfkfjy05yfqfcmgp5xpavpck9ps6q7x8x8j79fym5d8gwak5"; + }; + + nativeBuildInputs = [yacc flex]; + buildInputs = [bzip2]; + + meta = with stdenv.lib; { + description = "Tools for working with netflow data"; + longDescription = '' + nfdump is a set of tools for working with netflow data. + ''; + homepage = https://github.com/phaag/nfdump; + license = licenses.bsd3; + maintainers = [ maintainers.takikawa ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix index d585be26e26d..70a4bc87b97f 100644 --- a/pkgs/tools/networking/offlineimap/default.nix +++ b/pkgs/tools/networking/offlineimap/default.nix @@ -2,7 +2,7 @@ asciidoc, libxml2, libxslt, docbook_xml_xslt }: pythonPackages.buildPythonApplication rec { - version = "7.0.13"; + version = "7.1.0"; name = "offlineimap-${version}"; namePrefix = ""; @@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec { owner = "OfflineIMAP"; repo = "offlineimap"; rev = "v${version}"; - sha256 = "0108xmp9df6cb1nzw3ym59mir3phgfdgp5d43n44ymsk2cc39xcc"; + sha256 = "10hxzp2hwkarvmwhw9mxbp9wkbclxwm6n0d7i4xs8r1s94yiffb3"; }; postPatch = '' diff --git a/pkgs/tools/package-management/gx/go/default.nix b/pkgs/tools/package-management/gx/go/default.nix index 877d5c6540a0..aa5acfa22d58 100644 --- a/pkgs/tools/package-management/gx/go/default.nix +++ b/pkgs/tools/package-management/gx/go/default.nix @@ -29,6 +29,6 @@ buildGoPackage rec { description = "A tool for importing go packages into gx"; homepage = https://github.com/whyrusleeping/gx-go; license = licenses.mit; - maintainer = with maintainers; [ zimbatm ]; + maintainers = with maintainers; [ zimbatm ]; }; } diff --git a/pkgs/tools/package-management/nix-bundle/default.nix b/pkgs/tools/package-management/nix-bundle/default.nix index b01836e1eb87..e3255afe7fe8 100644 --- a/pkgs/tools/package-management/nix-bundle/default.nix +++ b/pkgs/tools/package-management/nix-bundle/default.nix @@ -1,20 +1,21 @@ -{ stdenv, lib, fetchFromGitHub, nix, makeWrapper }: +{ stdenv, lib, fetchFromGitHub, nix, makeWrapper, coreutils, gnutar, gzip, bzip2 }: stdenv.mkDerivation rec { pname = "nix-bundle"; name = "${pname}-${version}"; - version = "0.1.1"; + version = "0.1.3"; src = fetchFromGitHub { owner = "matthewbauer"; repo = pname; rev = "v${version}"; - sha256 = "13730rfnqjv1m2mky2g0cq77yzp2j215zrvy3lhpiwgmh97vviih"; + sha256 = "15r77pchf4s4cdv4lvw2zw1yic78k8p0n2r954qq370vscw30yac"; }; - buildInputs = [ nix makeWrapper ]; + # coreutils, gnutar is actually needed by nix for bootstrap + buildInputs = [ nix coreutils makeWrapper gnutar gzip bzip2 ]; - binPath = lib.makeBinPath [ nix ]; + binPath = lib.makeBinPath [ nix coreutils gnutar gzip bzip2 ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/tools/package-management/nix-update-source/default.nix b/pkgs/tools/package-management/nix-update-source/default.nix new file mode 100644 index 000000000000..a156c4f8a722 --- /dev/null +++ b/pkgs/tools/package-management/nix-update-source/default.nix @@ -0,0 +1,46 @@ +{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts }: +python3Packages.buildPythonApplication rec { + version = "0.4.0"; + name = "nix-update-source-${version}"; + src = fetchFromGitHub { + owner = "timbertson"; + repo = "nix-update-source"; + rev = "version-0.4.0"; + sha256 = "0gz0f7nx1q697s16ya7q84q1cj020n547k2ffb99ds2r40nckr2g"; + }; + propagatedBuildInputs = [ nix-prefetch-scripts ]; + passthru = { + # NOTE: `fetch` should not be used within nixpkgs because it + # uses a non-idiomatic structure. It is provided for use by + # out-of-tree nix derivations. + fetch = path: + let + fetchers = { + # whitelist of allowed fetchers + inherit (pkgs) fetchgit fetchurl fetchFromGitHub; + }; + json = lib.importJSON path; + fetchFn = builtins.getAttr json.fetch.fn fetchers; + src = fetchFn json.fetch.args; + in + json // json.fetch // { inherit src; }; + updateScript = '' + set -e + echo + cd ${toString ./.} + ${pkgs.nix-update-source}/bin/nix-update-source \ + --prompt version \ + --replace-attr version \ + --set owner timbertson \ + --set repo nix-update-source \ + --set type fetchFromGitHub \ + --set rev 'version-{version}' \ + --modify-nix default.nix + ''; + }; + meta = { + description = "Utility to automate updating of nix derivation sources"; + maintainers = with lib.maintainers; [ timbertson ]; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 4074229ecf71..ffac378eaf71 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz -, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli +, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, readline , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl , storeDir ? "/nix/store" , stateDir ? "/nix/var" @@ -22,7 +22,7 @@ let buildInputs = [ curl openssl sqlite xz ] ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium - ++ lib.optional fromGit brotli # Since 1.12 + ++ lib.optionals fromGit [ brotli readline ] # Since 1.12 ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && lib.versionAtLeast version "1.12pre") (aws-sdk-cpp.override { apis = ["s3"]; @@ -145,12 +145,12 @@ in rec { nixUnstable = (lib.lowPrio (common rec { name = "nix-1.12${suffix}"; - suffix = "pre5152_915f62fa"; + suffix = "pre5308_2f21d522"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "915f62fa19790d8f826aeb4dd3d2bb5bde2f67e9"; - sha256 = "0mf7y7hvzw2x5dp482qy8774djr3vzcjaqq58cp82zdil8l7kwjd"; + rev = "2f21d522c28b1e902bd7f0b5b9e7523975102d81"; + sha256 = "1r3jxz0ydnlxp4b3ggxjgx1q9dv7jyfjm8w1srqjanzn944wnmi9"; }; fromGit = true; })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; }; diff --git a/pkgs/tools/security/masscan/default.nix b/pkgs/tools/security/masscan/default.nix new file mode 100644 index 000000000000..46c90481628d --- /dev/null +++ b/pkgs/tools/security/masscan/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, libpcap }: + +stdenv.mkDerivation rec { + name = "masscan-${version}"; + version = "2016-11-03"; + + src = fetchFromGitHub { + owner = "robertdavidgraham"; + repo = "masscan"; + rev = "dc88677a11dc3d9a5f6aa55cc1377bc17dba1496"; + sha256 = "1mdjqkn4gnbwr5nci6i6xn7qzkjgq7dx37fzd6gghv87xgw7cdbg"; + }; + + buildInputs = [ libpcap ]; + + makeFlags = [ "PREFIX=$(out)" "CC=cc" "-j" ]; + + postInstall = '' + mkdir -p $out/share/man/man8 + mkdir -p $out/share/{doc,licenses}/masscan + mkdir -p $out/etc/masscan + + cp data/exclude.conf $out/etc/masscan + cp -t $out/share/doc/masscan doc/algorithm.js doc/howto-afl.md doc/bot.hml + cp doc/masscan.8 $out/share/man/man8/masscan.8 + cp LICENSE $out/share/licenses/masscan/LICENSE + ''; + + meta = with stdenv.lib; { + description = "Fast scan of the Internet"; + homepage = https://github.com/robertdavidgraham/masscan; + license = licenses.agpl3; + platforms = with platforms; allBut darwin; + maintainers = with maintainers; [ rnhmjoj ]; + }; +} diff --git a/pkgs/tools/security/sshguard/0001-Remove-the-unnecessary-from-ipset-cmds.patch b/pkgs/tools/security/sshguard/0001-Remove-the-unnecessary-from-ipset-cmds.patch new file mode 100644 index 000000000000..f1233a04b7a6 --- /dev/null +++ b/pkgs/tools/security/sshguard/0001-Remove-the-unnecessary-from-ipset-cmds.patch @@ -0,0 +1,27 @@ +From 11f0d238d3149c31c4440b8f6a58fe6a00b82d3a Mon Sep 17 00:00:00 2001 +From: Daniel Aleksandersen +Date: Mon, 13 Mar 2017 16:29:33 +0100 +Subject: [PATCH 1/3] Remove the unnecessary = from ipset cmds + +--- + src/fw/sshg-fw-ipset.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/fw/sshg-fw-ipset.sh b/src/fw/sshg-fw-ipset.sh +index 510bc2c..dc7f86b 100644 +--- a/src/fw/sshg-fw-ipset.sh ++++ b/src/fw/sshg-fw-ipset.sh +@@ -3,8 +3,8 @@ + # This file is part of SSHGuard. + + fw_init() { +- ipset -quiet create -exist sshguard4 hash:ip family=inet +- ipset -quiet create -exist sshguard6 hash:ip family=inet6 ++ ipset -quiet create -exist sshguard4 hash:ip family inet ++ ipset -quiet create -exist sshguard6 hash:ip family inet6 + } + + fw_block() { +-- +2.10.0 + diff --git a/pkgs/tools/security/sshguard/default.nix b/pkgs/tools/security/sshguard/default.nix new file mode 100644 index 000000000000..bb165e53c73d --- /dev/null +++ b/pkgs/tools/security/sshguard/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, autoreconfHook, yacc, flex}: + + +stdenv.mkDerivation rec { + version = "2.0.0"; + name = "sshguard-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/sshguard/sshguard-2.0.0.tar.gz"; + sha256 = "e87c6c4a6dddf06f440ea76464eb6197869c0293f0a60ffa51f8a6a0d7b0cb06"; + }; + + doCheck = true; + + nativeBuildInputs = [ autoreconfHook yacc flex ]; + + configureFlags = [ "--sysconfdir=/etc" ]; + + patches = [ ./0001-Remove-the-unnecessary-from-ipset-cmds.patch ]; + + meta = with stdenv.lib; { + description = "SSHGuard protects hosts from brute-force attacks"; + longDescription = '' + SSHGuard can read log messages from various input sources. Log messages are parsed, line-by-line, for recognized patterns. + If an attack, such as several login failures within a few seconds, is detected, the offending IP is blocked. + ''; + homepage = https://sshguard.net; + license = licenses.bsd3; + maintainers = with maintainers; [ sargon ]; + platforms = with platforms; linux ++ darwin ++ freebsd ++ netbsd ++ openbsd; + }; +} diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 8128b58155c2..4a6095a0a54b 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "tor-0.2.9.10"; + name = "tor-0.3.0.6"; src = fetchurl { url = "https://dist.torproject.org/${name}.tar.gz"; - sha256 = "0h8kpn42mgpkzmnga143hi8nh0ai65ypxh7qhkwbb15j3wz2h4fn"; + sha256 = "057vq8wagppmrlg85dgbsrk1v67yqpbi9n87s8gn0mdm7kli5rd3"; }; outputs = [ "out" "geoip" ]; diff --git a/pkgs/tools/system/acct/default.nix b/pkgs/tools/system/acct/default.nix index 4263709fe9ab..6ec9cc627446 100644 --- a/pkgs/tools/system/acct/default.nix +++ b/pkgs/tools/system/acct/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "acct-6.6.2"; + name = "acct-6.6.3"; src = fetchurl { url = "mirror://gnu/acct/${name}.tar.gz"; - sha256 = "0081hzkcxw9aslpsakridj15m0wbnkdhm210fzbg021vi4pppm4f"; + sha256 = "14x0zklwlg7cc7amlyzffqr8az3fqj1h9dyj0hvl1kpi7cr7kbjy"; }; doCheck = true; diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix index 9f97a403159a..b66cd7d6112e 100644 --- a/pkgs/tools/system/facter/default.nix +++ b/pkgs/tools/system/facter/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "facter-${version}"; - version = "3.6.0"; + version = "3.6.4"; src = fetchFromGitHub { - sha256 = "1fwvjd84nw39lgclkz4kn90z84fs9lsama3ikq0qs1in3y3jfmvi"; + sha256 = "177mmg5a4s4q2p76df4z6c51nfnr73qya1pvvj6fcs1gld01xjr6"; rev = version; repo = "facter"; owner = "puppetlabs"; diff --git a/pkgs/tools/text/platinum-searcher/default.nix b/pkgs/tools/text/platinum-searcher/default.nix index 502af44262b6..c76ba8ea88d5 100644 --- a/pkgs/tools/text/platinum-searcher/default.nix +++ b/pkgs/tools/text/platinum-searcher/default.nix @@ -2,8 +2,8 @@ buildGoPackage rec { name = "the_platinum_searcher-${version}"; - version = "2.1.3"; - rev = "v2.1.3"; + version = "2.1.5"; + rev = "v${version}"; goPackagePath = "github.com/monochromegane/the_platinum_searcher"; @@ -11,11 +11,16 @@ buildGoPackage rec { inherit rev; owner = "monochromegane"; repo = "the_platinum_searcher"; - sha256 = "09pkdfh7fqn3x4l9zaw5wzk20k7nfdwry7br9vfy3vv3fwv61ynp"; + sha256 = "1y7kl3954dimx9hp2bf1vjg1h52hj1v6cm4f5nhrqzwrawp0b6q0"; }; goDeps = ./deps.nix; + preFixup = stdenv.lib.optionalString stdenv.isDarwin '' + # fixes cycle between $out and $bin + install_name_tool -delete_rpath $out/lib $bin/bin/pt + ''; + meta = with stdenv.lib; { homepage = https://github.com/monochromegane/the_platinum_searcher; description = "A code search tool similar to ack and the_silver_searcher(ag)."; diff --git a/pkgs/tools/text/platinum-searcher/deps.nix b/pkgs/tools/text/platinum-searcher/deps.nix index da3f3ff1b8ab..04fb9bd4be34 100644 --- a/pkgs/tools/text/platinum-searcher/deps.nix +++ b/pkgs/tools/text/platinum-searcher/deps.nix @@ -4,8 +4,8 @@ fetch = { type = "git"; url = "https://gopkg.in/yaml.v2"; - rev = "a83829b6f1293c91addabc89d0571c246397bbf4"; - sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"; + rev = "a5b47d31c556af34a302ce5d659e6fea44d90de0"; + sha256 = "0v6l48fshdjrqzyq1kwn22gy7vy434xdr1i0lm3prsf6jbln9fam"; }; } { @@ -13,8 +13,8 @@ fetch = { type = "git"; url = "https://github.com/jessevdk/go-flags"; - rev = "1b89bf73cd2c3a911d7b2a279ab085c4a18cf539"; - sha256 = "027nglc5xx1cm03z9sisg0iqrhwcj6gh5z254rrpl8p4fwrxx680"; + rev = "4e64e4a4e2552194cf594243e23aa9baf3b4297e"; + sha256 = "02x7f1wm8119s27h4dc3a4aw6shydnpnnkvzwg5xm0snn5kb4zxm"; }; } { @@ -22,8 +22,8 @@ fetch = { type = "git"; url = "https://github.com/BurntSushi/toml"; - rev = "056c9bc7be7190eaa7715723883caffa5f8fa3e4"; - sha256 = "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"; + rev = "99064174e013895bbd9b025c31100bd1d9b590ca"; + sha256 = "058qrar8rvw3wb0ci1mf1axnqq2729cvv9zmdr4ms2nn9s97yiz9"; }; } { @@ -31,8 +31,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/text"; - rev = "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e"; - sha256 = "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"; + rev = "a49bea13b776691cb1b49873e5d8df96ec74831a"; + sha256 = "1pcmgf88wml6ca8v63nh3nxsfvpzjv3c4qj2w2wkizbil826g7as"; }; } { @@ -76,8 +76,8 @@ fetch = { type = "git"; url = "https://github.com/shiena/ansicolor"; - rev = "a5e2b567a4dd6cc74545b8a4f27c9d63b9e7735b"; - sha256 = "0gwplb1b4fvav1vjf4b2dypy5rcp2w41vrbxkd1dsmac870cy75p"; + rev = "a422bbe96644373c5753384a59d678f7d261ff10"; + sha256 = "1dcn8a9z6a5dxa2m3fkppnajcls8lanbl38qggkf646yi5qsk1hc"; }; } ] diff --git a/pkgs/tools/typesetting/tex/tetex/default.nix b/pkgs/tools/typesetting/tex/tetex/default.nix index 83bead83ea3e..313474745d10 100644 --- a/pkgs/tools/typesetting/tex/tetex/default.nix +++ b/pkgs/tools/typesetting/tex/tetex/default.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "A full-featured (La)TeX distribution"; homepage = http://www.tug.org/tetex/; - matintainers = with maintainers; [ lovek323 ]; + maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; hydraPlatforms = []; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 33d622d9f526..814febc18369 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -273,7 +273,8 @@ with pkgs; inherit kernel rootModules allowMissing; }; - kdeDerivation = import ../build-support/kde/derivation.nix { inherit stdenv lib; }; + kdeDerivation = makeOverridable (import ../build-support/kde/derivation.nix) + { inherit stdenv lib; }; kdeWrapper = callPackage ../build-support/kde/wrapper.nix { inherit (gnome3) dconf; @@ -856,6 +857,8 @@ with pkgs; devmem2 = callPackage ../os-specific/linux/devmem2 { }; + ioport = callPackage ../os-specific/linux/ioport {}; + diagrams-builder = callPackage ../tools/graphics/diagrams-builder { inherit (haskellPackages) ghcWithPackages diagrams-builder; }; @@ -925,7 +928,6 @@ with pkgs; facter = callPackage ../tools/system/facter { boost = boost160; - ruby = ruby_2_1; }; fasd = callPackage ../tools/misc/fasd { }; @@ -1004,6 +1006,8 @@ with pkgs; mathics = pythonPackages.mathics; + masscan = callPackage ../tools/security/masscan { }; + meson = callPackage ../development/tools/build-managers/meson { }; metricbeat = callPackage ../misc/logging/metricbeat { }; @@ -1014,6 +1018,8 @@ with pkgs; mpdris2 = callPackage ../tools/audio/mpdris2 { }; + nfdump = callPackage ../tools/networking/nfdump { }; + playerctl = callPackage ../tools/audio/playerctl { }; syscall_limiter = callPackage ../os-specific/linux/syscall_limiter {}; @@ -1301,7 +1307,9 @@ with pkgs; m17n = callPackage ../tools/inputmethods/ibus-engines/ibus-m17n { }; mozc = callPackage ../tools/inputmethods/ibus-engines/ibus-mozc { - protobuf = protobuf.override { stdenv = clangStdenv; }; + python = python2; + inherit (python2Packages) gyp; + protobuf = protobuf3_2.override { stdenv = clangStdenv; }; }; table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { @@ -1548,6 +1556,8 @@ with pkgs; docbook2mdoc = callPackage ../tools/misc/docbook2mdoc { }; + dockbarx = callPackage ../applications/misc/dockbarx { }; + dog = callPackage ../tools/system/dog { }; dosfstools = callPackage ../tools/filesystems/dosfstools { }; @@ -3350,9 +3360,7 @@ with pkgs; owncloud90 owncloud91; - owncloud-client = callPackage ../applications/networking/owncloud-client { - inherit (libsForQt5) qtkeychain; - }; + owncloud-client = libsForQt56.callPackage ../applications/networking/owncloud-client { }; p2pvc = callPackage ../applications/video/p2pvc {}; @@ -3380,7 +3388,7 @@ with pkgs; paper-gtk-theme = callPackage ../misc/themes/paper { }; paperwork = callPackage ../applications/office/paperwork { }; - + papertrail = callPackage ../tools/text/papertrail { }; par2cmdline = callPackage ../tools/networking/par2cmdline { }; @@ -3997,6 +4005,8 @@ with pkgs; snort = callPackage ../applications/networking/ids/snort { }; + sshguard = callPackage ../tools/security/sshguard {}; + softhsm = callPackage ../tools/security/softhsm { }; solr = callPackage ../servers/search/solr { }; @@ -4221,7 +4231,14 @@ with pkgs; tor-arm = callPackage ../tools/security/tor/tor-arm.nix { }; - torbrowser = callPackage ../applications/networking/browsers/torbrowser { }; + # added 2017-04-05 + torbrowser = /* builtins.trace '' + WARNING: torbrowser package was renamed to tor-browser-bundle-bin. + + Also, consider using nix-built tor-browser-unwrapped package instead. Read its longDescription. + '' */ tor-browser-bundle-bin; + + tor-browser-bundle-bin = callPackage ../applications/networking/browsers/tor-browser-bundle-bin { }; touchegg = callPackage ../tools/inputmethods/touchegg { }; @@ -5008,9 +5025,6 @@ with pkgs; cross = targetPlatform; crossStageStatic = false; - # XXX: We have troubles cross-compiling libstdc++ on MinGW (see - # ), so don't even try. - langCC = targetPlatform.config != "i686-pc-mingw32"; # Why is this needed? inherit (forcedNativePackages) binutils; }; @@ -6116,6 +6130,11 @@ with pkgs; pythonPackages = python3Packages; }; + # These pyside tools do not provide any Python modules and are meant to be here. + # See ../development/python-modules/pyside/default.nix for details. + pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { }; + pysideGeneratorrunner = callPackage ../development/python-modules/pyside/generatorrunner.nix { }; + svg2tikz = python27Packages.svg2tikz; pyrex = pyrex095; @@ -7378,6 +7397,8 @@ with pkgs; dxflib = callPackage ../development/libraries/dxflib {}; + eccodes = callPackage ../development/libraries/eccodes { }; + eclib = callPackage ../development/libraries/eclib {}; eigen = callPackage ../development/libraries/eigen {}; @@ -7440,17 +7461,14 @@ with pkgs; ffmpeg_2_8 = callPackage ../development/libraries/ffmpeg/2.8.nix { inherit (darwin.apple_sdk.frameworks) Cocoa; }; - ffmpeg_3_1 = callPackage ../development/libraries/ffmpeg/3.1.nix { - inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia; - }; - ffmpeg_3_2 = callPackage ../development/libraries/ffmpeg/3.2.nix { + ffmpeg_3_3 = callPackage ../development/libraries/ffmpeg/3.3.nix { inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia; }; # Aliases ffmpeg_0 = ffmpeg_0_10; ffmpeg_1 = ffmpeg_1_2; ffmpeg_2 = ffmpeg_2_8; - ffmpeg_3 = ffmpeg_3_2; + ffmpeg_3 = ffmpeg_3_3; ffmpeg = ffmpeg_3; ffmpeg-full = callPackage ../development/libraries/ffmpeg-full { @@ -9051,6 +9069,8 @@ with pkgs; log4cplus = callPackage ../development/libraries/log4cplus { }; + log4shib = callPackage ../development/libraries/log4shib { }; + loudmouth = callPackage ../development/libraries/loudmouth { }; luabind = callPackage ../development/libraries/luabind { lua = lua5_1; }; @@ -9310,6 +9330,8 @@ with pkgs; openjpeg_2_1 = callPackage ../development/libraries/openjpeg/2.1.nix { }; openjpeg = openjpeg_2_1; + opensaml-cpp = callPackage ../development/libraries/opensaml-cpp { }; + openscenegraph = callPackage ../development/libraries/openscenegraph { }; openslp = callPackage ../development/libraries/openslp {}; @@ -9522,30 +9544,32 @@ with pkgs; developerBuild = true; }); - qt56 = recurseIntoAttrs (import ../development/libraries/qt-5/5.6 { - inherit newScope; - inherit stdenv fetchurl makeSetupHook makeWrapper; - bison = bison2; # error: too few arguments to function 'int yylex(... - inherit cups; - harfbuzz = harfbuzz-icu; - mesa = mesa_noglu; - inherit perl; - inherit (gst_all_1) gstreamer gst-plugins-base; - }); + qt56 = recurseIntoAttrs (makeOverridable + (import ../development/libraries/qt-5/5.6) { + inherit newScope; + inherit stdenv fetchurl makeSetupHook makeWrapper; + bison = bison2; # error: too few arguments to function 'int yylex(... + inherit cups; + harfbuzz = harfbuzz-icu; + mesa = mesa_noglu; + inherit perl; + inherit (gst_all_1) gstreamer gst-plugins-base; + }); libsForQt56 = recurseIntoAttrs (lib.makeScope qt56.newScope mkLibsForQt5); - qt58 = recurseIntoAttrs (import ../development/libraries/qt-5/5.8 { - inherit newScope; - inherit stdenv fetchurl makeSetupHook makeWrapper; - bison = bison2; # error: too few arguments to function 'int yylex(... - inherit cups; - harfbuzz = harfbuzz-icu; - mesa = mesa_noglu; - inherit perl; - inherit (gst_all_1) gstreamer gst-plugins-base; - inherit (gnome3) gtk3 dconf; - }); + qt58 = recurseIntoAttrs (makeOverridable + (import ../development/libraries/qt-5/5.8) { + inherit newScope; + inherit stdenv fetchurl makeSetupHook makeWrapper; + bison = bison2; # error: too few arguments to function 'int yylex(... + inherit cups; + harfbuzz = harfbuzz-icu; + mesa = mesa_noglu; + inherit perl; + inherit (gst_all_1) gstreamer gst-plugins-base; + inherit (gnome3) gtk3 dconf; + }); libsForQt58 = recurseIntoAttrs (lib.makeScope qt58.newScope mkLibsForQt5); @@ -9589,9 +9613,9 @@ with pkgs; grantlee = callPackage ../development/libraries/grantlee/5.x.nix { }; - kirigami_1 = callPackage ../development/libraries/kirigami { }; - - kirigami_2 = callPackage ../development/libraries/kirigami/v2.nix { }; + inherit (callPackage ../development/libraries/kirigami { }) + kirigami_1 + kirigami_2; kirigami = kirigami_1; @@ -9607,8 +9631,8 @@ with pkgs; libopenshot-audio = callPackage ../applications/video/openshot-qt/libopenshot-audio.nix { }; - libqtav = callPackage ../development/libraries/libqtav { - libva = libva-full; # also wants libva-x11 + libqtav = callPackage ../development/libraries/libqtav { + libva = libva-full; # also wants libva-x11 }; mlt = callPackage ../development/libraries/mlt/qt-5.nix { @@ -9835,6 +9859,8 @@ with pkgs; shapelib = callPackage ../development/libraries/shapelib { }; + shibboleth-sp = callPackage ../development/libraries/shibboleth-sp { }; + skalibs = callPackage ../development/libraries/skalibs { }; slang = callPackage ../development/libraries/slang { }; @@ -10200,26 +10226,26 @@ with pkgs; wxGTK = wxGTK28; - wxGTK28 = callPackage ../development/libraries/wxGTK-2.8 { + wxGTK28 = callPackage ../development/libraries/wxwidgets/2.8 { inherit (gnome2) GConf; withMesa = lib.elem system lib.platforms.mesaPlatforms; }; - wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix { + wxGTK29 = callPackage ../development/libraries/wxwidgets/2.9/default.nix { inherit (gnome2) GConf; inherit (darwin.stubs) setfile; inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime; withMesa = lib.elem system lib.platforms.mesaPlatforms; }; - wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix { + wxGTK30 = callPackage ../development/libraries/wxwidgets/3.0/default.nix { inherit (gnome2) GConf; inherit (darwin.stubs) setfile; inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit; withMesa = lib.elem system lib.platforms.mesaPlatforms; }; - wxmac = callPackage ../development/libraries/wxmac { + wxmac = callPackage ../development/libraries/wxwidgets/3.0/mac.nix { inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel; inherit (darwin.stubs) setfile rez derez; }; @@ -10284,6 +10310,8 @@ with pkgs; xml-security-c = callPackage ../development/libraries/xml-security-c { }; + xml-tooling-c = callPackage ../development/libraries/xml-tooling-c { }; + xlslib = callPackage ../development/libraries/xlslib { }; xvidcore = callPackage ../development/libraries/xvidcore { }; @@ -11615,7 +11643,6 @@ with pkgs; kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.p9_fixes - kernelPatches.packet_fix_race_condition_CVE_2016_8655 kernelPatches.DCCP_double_free_vulnerability_CVE-2017-6074 ] ++ lib.optionals ((platform.kernelArch or null) == "mips") @@ -11886,38 +11913,24 @@ with pkgs; # Build a kernel for Xen dom0 linuxPackages_latest_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; })); + # Hardened linux + linux_hardened = linux_4_9.override { + extraConfig = import ../os-specific/linux/kernel/hardened-config.nix { + inherit stdenv; + }; + }; + + linuxPackages_hardened = + recurseIntoAttrs (linuxPackagesFor linux_hardened); + # Grsecurity packages - linux_grsec_nixos = callPackage ../build-support/grsecurity { - inherit (lib) overrideDerivation; - kernel = callPackage ../os-specific/linux/kernel/linux-grsecurity.nix { - kernelPatches = with self.kernelPatches; [ - bridge_stp_helper - modinst_arg_list_too_long - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - grsecPatch = self.kernelPatches.grsecurity_testing; - kernelPatches = [ self.kernelPatches.grsecurity_nixos_kmod ]; - extraConfig = callPackage ../os-specific/linux/kernel/grsecurity-nixos-config.nix { }; - }; + linux_grsec_nixos = kernelPatches.grsecurity_testing; linuxPackages_grsec_nixos = recurseIntoAttrs (linuxPackagesFor linux_grsec_nixos); - # An unsupported grsec xen guest kernel - linux_grsec_server_xen = linux_grsec_nixos.override { - extraConfig = '' - GRKERNSEC_CONFIG_AUTO y - GRKERNSEC_CONFIG_PRIORITY_SECURITY y - GRKERNSEC_CONFIG_SERVER y - GRKERNSEC_CONFIG_VIRT_GUEST y - GRKERNSEC_CONFIG_VIRT_XEN y - ''; - }; + linux_grsec_server_xen = linux_grsec_nixos; # ChromiumOS kernels linuxPackages_chromiumos_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_chromiumos_3_18); @@ -12285,6 +12298,8 @@ with pkgs; upstart = callPackage ../os-specific/linux/upstart { }; + upstart-check-config = callPackage ../os-specific/linux/upstart/check-config.nix {}; + usbutils = callPackage ../os-specific/linux/usbutils { }; usermount = callPackage ../os-specific/linux/usermount { }; @@ -13784,13 +13799,18 @@ with pkgs; filezilla = callPackage ../applications/networking/ftp/filezilla { }; - inherit (callPackages ../applications/networking/browsers/firefox { - inherit (gnome2) libIDL; - libpng = libpng_apng; - enableGTK3 = true; - python = python2; - gnused = gnused_422; - }) firefox-unwrapped firefox-esr-unwrapped; + firefoxPackages = recurseIntoAttrs (callPackage ../applications/networking/browsers/firefox/packages.nix { + callPackage = pkgs.newScope { + inherit (gnome2) libIDL; + libpng = libpng_apng; + python = python2; + gnused = gnused_422; + }; + }); + + firefox-unwrapped = firefoxPackages.firefox; + firefox-esr-unwrapped = firefoxPackages.firefox-esr; + tor-browser-unwrapped = firefoxPackages.tor-browser; firefox = wrapFirefox firefox-unwrapped { }; firefox-esr = wrapFirefox firefox-esr-unwrapped { }; @@ -13862,6 +13882,8 @@ with pkgs; xfontsel = callPackage ../applications/misc/xfontsel { }; inherit (xorg) xlsfonts; + xrdp = callPackage ../applications/networking/remote/xrdp { }; + freerdp = callPackage ../applications/networking/remote/freerdp { inherit libpulseaudio; inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good; @@ -14054,6 +14076,10 @@ with pkgs; googleearth = callPackage_i686 ../applications/misc/googleearth { }; + google-play-music-desktop-player = callPackage ../applications/audio/google-play-music-desktop-player { + inherit (gnome2) GConf; + }; + google_talk_plugin = callPackage ../applications/networking/browsers/mozilla-plugins/google-talk-plugin { libpng = libpng12; }; @@ -15762,6 +15788,8 @@ with pkgs; telepathy_idle = callPackage ../applications/networking/instant-messengers/telepathy/idle {}; + termdown = (newScope pythonPackages) ../applications/misc/termdown { }; + terminal-notifier = callPackage ../applications/misc/terminal-notifier {}; terminator = callPackage ../applications/misc/terminator { @@ -16092,6 +16120,7 @@ with pkgs; weechat = callPackage ../applications/networking/irc/weechat { inherit (darwin) libobjc; inherit (darwin) libresolv; + guile = guile_2_0; }; westonLite = callPackage ../applications/window-managers/weston { @@ -16143,6 +16172,8 @@ with pkgs; inherit (python27Packages) cheetah; }; + worldengine-cli = python3Packages.worldengine; + wpsoffice = callPackage ../applications/office/wpsoffice {}; wrapFirefox = callPackage ../applications/networking/browsers/firefox/wrapper.nix { }; @@ -16273,7 +16304,7 @@ with pkgs; xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers; # v1.3.2 segfaults with qt 5.7 - xca = libsForQt56.callPackage ../applications/misc/xca { }; + xca = libsForQt5.callPackage ../applications/misc/xca { }; xcalib = callPackage ../tools/X11/xcalib { }; @@ -16605,6 +16636,8 @@ with pkgs; boost = boost160; }; + displaycal = (newScope pythonPackages) ../applications/graphics/displaycal {}; + drumkv1 = callPackage ../applications/audio/drumkv1 { }; duckmarines = callPackage ../games/duckmarines { love = love_0_9; }; @@ -16639,6 +16672,8 @@ with pkgs; factorio-headless = callPackage ../games/factorio { releaseType = "headless"; }; + factorio-demo = callPackage ../games/factorio { releaseType = "demo"; }; + factorio-mods = callPackage ../games/factorio/mods.nix { }; factorio-utils = callPackage ../games/factorio/utils.nix { }; @@ -17469,10 +17504,7 @@ with pkgs; version = "8.5pl3"; }; coq_8_6 = callPackage ../applications/science/logic/coq {}; - coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix { - inherit (ocamlPackages) ocaml findlib lablgtk; - camlp5 = ocamlPackages.camlp5_transitional; - }; + coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {}; coq = coq_8_6; mkCoqPackages_8_4 = self: let callPackage = newScope self; in { @@ -17759,7 +17791,7 @@ with pkgs; yacas = callPackage ../applications/science/math/yacas { }; - speedcrunch = libsForQt56.callPackage ../applications/science/math/speedcrunch { }; + speedcrunch = libsForQt5.callPackage ../applications/science/math/speedcrunch { }; ### SCIENCE / MISC @@ -18083,7 +18115,7 @@ with pkgs; nixui = callPackage ../tools/package-management/nixui { node_webkit = nwjs_0_12; }; - nix-bundle = callPackage ../tools/package-management/nix-bundle { nix = nixStable; }; + nix-bundle = callPackage ../tools/package-management/nix-bundle { nix = nixUnstable; }; inherit (callPackages ../tools/package-management/nix-prefetch-scripts { }) nix-prefetch-bzr @@ -18093,6 +18125,8 @@ with pkgs; nix-prefetch-svn nix-prefetch-scripts; + nix-update-source = callPackage ../tools/package-management/nix-update-source {}; + nix-template-rpm = callPackage ../build-support/templaterpm { inherit (pythonPackages) python toposort; }; nix-repl = callPackage ../tools/package-management/nix-repl { }; @@ -18270,10 +18304,10 @@ with pkgs; inherit (callPackage ../applications/networking/cluster/terraform {}) terraform_0_8_5 terraform_0_8_8 - terraform_0_9_3; + terraform_0_9_4; terraform_0_8 = terraform_0_8_8; - terraform_0_9 = terraform_0_9_3; + terraform_0_9 = terraform_0_9_4; terraform = terraform_0_9; terragrunt = callPackage ../applications/networking/cluster/terragrunt { @@ -18564,6 +18598,7 @@ with pkgs; ghc-standalone-archive = callPackage ../os-specific/darwin/ghc-standalone-archive { inherit (darwin) cctools; }; + chrome-gnome-shell = callPackage ../desktops/gnome-3/extensions/chrome-gnome-shell {}; messenger-for-desktop = callPackage ../applications/networking/instant-messengers/messenger-for-desktop {}; NSPlist = callPackage ../development/libraries/NSPlist {}; diff --git a/pkgs/top-level/impure.nix b/pkgs/top-level/impure.nix index c0f4e0fa089e..c0cf8fb09113 100644 --- a/pkgs/top-level/impure.nix +++ b/pkgs/top-level/impure.nix @@ -22,6 +22,7 @@ in # with unnamed parameters allowed by ... system ? localSystem.system , platform ? localSystem.platform +, crossSystem ? null , # Fallback: The contents of the configuration file found at $NIXPKGS_CONFIG or # $HOME/.config/nixpkgs/config.nix. @@ -61,7 +62,7 @@ in assert args ? localSystem -> !(args ? system || args ? platform); import ./. (builtins.removeAttrs args [ "system" "platform" ] // { - inherit config overlays; + inherit config overlays crossSystem; # Fallback: Assume we are building packages on the current (build, in GNU # Autotools parlance) system. localSystem = { system = builtins.currentSystem; } // localSystem; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 389e11e1d25f..69aecc1861ce 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1,3 +1,11 @@ +# This file contains the Python packages set. +# Each attribute is a Python library or a helper function. +# Expressions for Python libraries are supposed to be in `pkgs/development/python-modules//default.nix`. +# Python packages that do not need to be available for each interpreter version do not belong in this packages set. +# Examples are Python-based cli tools. +# +# For more details, please see the Python section in the Nixpkgs manual. + { pkgs , stdenv , python @@ -49,8 +57,11 @@ let fetchSource = {pname, version, sha256}: # Fetch a source tarball. let - url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.tar.gz"; - in pkgs.fetchurl {inherit url sha256;}; + urls = [ + "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.tar.gz" + "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${pname}-${version}.zip" + ]; + in pkgs.fetchurl {inherit urls sha256;}; fetcher = (if format == "wheel" then fetchWheel else if format == "setuptools" then fetchSource else throw "Unsupported kind ${kind}"); @@ -369,11 +380,9 @@ in { pyside = callPackage ../development/python-modules/pyside { }; - pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { }; - - pysideGeneratorrunner = callPackage ../development/python-modules/pyside/generatorrunner.nix { }; - - pysideShiboken = callPackage ../development/python-modules/pyside/shiboken.nix { }; + pysideShiboken = callPackage ../development/python-modules/pyside/shiboken.nix { + inherit (pkgs) libxml2 libxslt; # Do not need the Python bindings. + }; pysideTools = callPackage ../development/python-modules/pyside/tools.nix { }; @@ -755,6 +764,24 @@ in { }; }; + aniso8601 = buildPythonPackage rec { + name = "aniso8601-${version}"; + version = "1.2.0"; + + meta = { + description = "Parses ISO 8601 strings."; + homepage = "https://bitbucket.org/nielsenb/aniso8601"; + license = licenses.bsd3; + }; + + propagatedBuildInputs = with self; [ dateutil ]; + + src = pkgs.fetchurl { + url = "mirror://pypi/a/aniso8601/${name}.tar.gz"; + sha256 = "502400f82574afa804cc915d83f15c67533d364dcd594f8a6b9d2053f3404dd4"; + }; + }; + asgiref = buildPythonPackage rec { name = "asgiref-${version}"; version = "1.0.0"; @@ -1176,7 +1203,7 @@ in { }; meta = with pkgs.stdenv.lib; { - descriptions = "Library for reading, writing and rewriting python AST"; + description = "Library for reading, writing and rewriting python AST"; homepage = https://github.com/berkerpeksag/astor; license = licenses.bsd3; maintainers = with maintainers; [ nixy ]; @@ -1221,12 +1248,11 @@ in { }; apscheduler = buildPythonPackage rec { - name = "APScheduler-3.0.4"; - disabled = !isPy27; + name = "APScheduler-3.3.1"; src = pkgs.fetchurl { url = "mirror://pypi/A/APScheduler/${name}.tar.gz"; - sha256 = "1ljjhn6cv8b1pccsi3mgc887ypi2vim317r9p0zh0amd0bhkk6wb"; + sha256 = "f68874dff1bdffcc6ce3adb7840c1e4d162c609a3e3f831351df30b75732767b"; }; buildInputs = with self; [ @@ -1236,8 +1262,8 @@ in { twisted mock trollius - funcsigs gevent + setuptools_scm ]; propagatedBuildInputs = with self; [ @@ -1245,6 +1271,7 @@ in { pytz tzlocal futures + funcsigs ]; meta = with pkgs.stdenv.lib; { @@ -1627,6 +1654,23 @@ in { }; }; + noise = buildPythonPackage rec { + name = "noise-${version}"; + version = "1.2.2"; + + src = pkgs.fetchurl { + url = "mirror://pypi/n/noise/${name}.tar.gz"; + sha256 = "0rcv40dcshqpchwkdlhsv3n68h9swm9fh4d1cgzr2hsp6rs7k8jp"; + }; + + meta = with stdenv.lib; { + homepage = "https://github.com/caseman/noise"; + description = "Native-code and shader implementations of Perlin noise"; + license = licenses.mit; + platforms = platforms.all; + }; + }; + awscli = buildPythonPackage rec { name = "awscli-${version}"; version = "1.11.75"; @@ -2031,13 +2075,13 @@ in { }; babelfish = buildPythonPackage rec { - version = "0.5.3"; + version = "0.5.5"; name = "babelfish-${version}"; disabled = isPy3k; src = pkgs.fetchurl { url = "mirror://pypi/b/babelfish/${name}.tar.gz"; - sha256 = "0wrw21dyq7v6lbffwvi1ik43d7dhmcv8xvgrrihhiv7ys1rd3gag"; + sha256 = "8380879fa51164ac54a3e393f83c4551a275f03617f54a99d70151358e444104"; }; meta = { @@ -2474,6 +2518,22 @@ in { propagatedBuildInputs = with self; [ iowait psutil pyzmq tornado mock ]; }; + colorclass = buildPythonPackage rec { + version = "2.2.0"; + name = "colorclass-${version}"; + + src = pkgs.fetchurl { + url = "mirror://pypi/c/colorclass/${name}.tar.gz"; + sha256 = "b05c2a348dfc1aff2d502527d78a5b7b7e2f85da94a96c5081210d8e9ee8e18b"; + }; + + meta = { + homepage = "https://github.com/Robpol86/colorclass"; + license = licenses.mit; + description = "Automatic support for console colors"; + }; + }; + colorlog = buildPythonPackage rec { name = "colorlog-${version}"; version = "2.6.1"; @@ -3795,15 +3855,17 @@ in { cherrypy = buildPythonPackage (rec { name = "cherrypy-${version}"; - version = "3.2.2"; + version = "8.7.0"; src = pkgs.fetchurl { - url = "http://download.cherrypy.org/cherrypy/${version}/CherryPy-${version}.tar.gz"; - sha256 = "14dn129h69wj0h8yr0bjwbrk8kygl6mkfnxc5m3fxhlm4xb8hnnw"; + url = "mirror://pypi/C/CherryPy/CherryPy-${version}.tar.gz"; + sha256 = "cbf418bf46458a67eb841944f2d414c23bf59d090baf2a28704bd67243e6a79f"; }; - # error: invalid command 'test' - doCheck = false; + # wsgiserver.ssl_pyopenssl is broken on py3k. + doCheck = !isPy3k; + buildInputs = with self; [ pytest setuptools_scm pytestrunner ]; + propagatedBuildInputs = with self; [ six ]; meta = { homepage = "http://www.cherrypy.org"; @@ -5214,7 +5276,7 @@ in { meta = { license = licenses.mit; - website = "https://pypi.python.org/pypi/pytest-cache/"; + homepage = "https://pypi.python.org/pypi/pytest-cache/"; description = "pytest plugin with mechanisms for caching across test runs"; }; }; @@ -5232,7 +5294,7 @@ in { meta = { license = licenses.mit; - website = https://pypi.python.org/pypi/pytest-catchlog/; + homepage = https://pypi.python.org/pypi/pytest-catchlog/; description = "py.test plugin to catch log messages. This is a fork of pytest-capturelog."; }; }; @@ -5308,7 +5370,7 @@ in { meta = { license = licenses.mit; - website = "https://pypi.python.org/pypi/pytest-flakes"; + homepage = "https://pypi.python.org/pypi/pytest-flakes"; description = "pytest plugin to check source code with pyflakes"; }; }; @@ -5354,7 +5416,7 @@ in { meta = { license = licenses.mit; - website = "https://pypi.python.org/pypi/pytest-pep8"; + homepage = "https://pypi.python.org/pypi/pytest-pep8"; description = "pytest plugin to check PEP8 requirements"; }; }; @@ -5419,7 +5481,7 @@ in { meta = { license = licenses.asl20; - website = "https://pypi.python.org/pypi/pytest-quickcheck"; + homepage = "https://pypi.python.org/pypi/pytest-quickcheck"; description = "pytest plugin to generate random data inspired by QuickCheck"; }; }; @@ -6191,34 +6253,6 @@ in { }; }; - deform2 = buildPythonPackage rec { - name = "deform-2.0a2"; - - src = pkgs.fetchurl { - url = "mirror://pypi/d/deform/${name}.tar.gz"; - sha256 = "1gfaf1d8zp0mp4h229srlffxdp86w1nni9g4aqsshxysr23x591z"; - }; - - buildInputs = with self; [] ++ optional isPy26 unittest2; - - propagatedBuildInputs = - [ self.beautifulsoup4 - self.peppercorn - self.colander - self.translationstring - self.chameleon - self.zope_deprecation - self.coverage - self.nose - ]; - - meta = { - maintainers = with maintainers; [ garbas domenkozar ]; - platforms = platforms.all; - }; - }; - - deform_bootstrap = buildPythonPackage rec { name = "deform_bootstrap-0.2.9"; @@ -8164,7 +8198,7 @@ in { description = "Cross-platform Bluetooth API for Python"; maintainers = with maintainers; [ leenaars ]; license = licenses.gpl3; - platform = platforms.all; + platforms = platforms.all; }; }; @@ -8402,7 +8436,21 @@ in { }; }; - mwlib = buildPythonPackage rec { + mwlib = let + pyparsing = buildPythonPackage rec { + name = "pyparsing-1.5.7"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "mirror://pypi/p/pyparsing/${name}.tar.gz"; + sha256 = "646e14f90b3689b005c19ac9b6b390c9a39bf976481849993e277d7380e6e79f"; + }; + meta = { + homepage = http://pyparsing.wikispaces.com/; + description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions"; + }; + }; + in buildPythonPackage rec { version = "0.15.15"; name = "mwlib-${version}"; @@ -8420,7 +8468,7 @@ in { pillow py pyPdf - pyparsing1 + pyparsing qserve roman simplejson @@ -8428,6 +8476,15 @@ in { timelib ]; + checkInputs = with self; [ pytest ]; + + checkPhase = '' + py.test + ''; + + # Tests are in build directory but we need extension modules that are in $out + doCheck = false; + meta = { description = "Library for parsing MediaWiki articles and converting them to different output formats"; homepage = "http://pediapress.com/code/"; @@ -8799,7 +8856,7 @@ in { meta = { description = "A Python-based build/distribution/deployment scripting tool"; homepage = http://github.com/paver/paver; - matinainers = with maintainers; [ lovek323 ]; + maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; }; }; @@ -8813,7 +8870,8 @@ in { sha256 = "1z27wdxs5rj5xhhqfzvzn3yg682irkxw6dcs5jj7mcf97psk8gd8"; }; - buildInputs = with self; [ nose pybcrypt]; + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ bcrypt ]; meta = { description = "A password hashing library for Python"; @@ -9089,7 +9147,7 @@ in { description = "Call graph visualizations for Python applications"; maintainers = with maintainers; [ auntie ]; license = licenses.gpl2; - platform = platforms.all; + platforms = platforms.all; }; }; @@ -9225,7 +9283,7 @@ in { description = "Python port of libaxolotl-android"; maintainers = with maintainers; [ abbradar ]; license = licenses.gpl3; - platform = platforms.all; + platforms = platforms.all; }; }; @@ -9243,7 +9301,7 @@ in { description = "Curve25519 with ed25519 signatures"; maintainers = with maintainers; [ abbradar ]; license = licenses.gpl3; - platform = platforms.all; + platforms = platforms.all; }; }; @@ -9268,7 +9326,7 @@ in { description = "Postfix policy engine for Sender Policy Framework (SPF) checking"; maintainers = with maintainers; [ abbradar ]; license = licenses.asl20; - platform = platforms.all; + platforms = platforms.all; }; }; @@ -9473,7 +9531,7 @@ in { description = "Python API for Sendmail Milters (SPF)"; maintainers = with maintainers; [ abbradar ]; license = licenses.gpl2; - platform = platforms.all; + platforms = platforms.all; }; }; @@ -9637,6 +9695,23 @@ in { }; }; + safe = buildPythonPackage rec { + version = "0.4"; + name = "Safe-${version}"; + + src = pkgs.fetchurl { + url = "mirror://pypi/S/Safe/${name}.tar.gz"; + sha256 = "a2fdac9fe8a9dcf02b438201d6ce0b7be78f85dc6492d03edfb89be2adf489de"; + }; + + buildInputs = with self; [ nose ]; + meta = { + homepage = "https://github.com/lepture/safe"; + license = licenses.bsd3; + description = "Check password strength"; + }; + }; + samplerate = buildPythonPackage rec { name = "scikits.samplerate-${version}"; version = "0.3.3"; @@ -9674,7 +9749,7 @@ in { homepage = "http://sarge.readthedocs.org/"; description = "A wrapper for subprocess which provides command pipeline functionality"; license = licenses.bsd3; - platform = platforms.all; + platforms = platforms.all; maintainers = with maintainers; [ abbradar ]; }; }; @@ -10013,7 +10088,7 @@ in { zodb venusian colander - deform2 + deform python_magic pyyaml cryptacular @@ -11478,6 +11553,24 @@ in { }; }; + flask-compress = buildPythonPackage rec { + name = "Flask-Compress-${version}"; + version = "1.3.2"; + + src = pkgs.fetchurl { + url = "mirror://pypi/F/Flask-Compress/${name}.tar.gz"; + sha256 = "4fbb53e7f6ce8b1458a2c3d7a528564912f2641ab2f9f43819fc96ed7f770734"; + }; + + propagatedBuildInputs = with self; [ flask ]; + + meta = { + description = "Compress responses in your Flask app with gzip"; + homepage = "https://libwilliam.github.io/flask-compress/"; + license = licenses.mit; + }; + }; + flask-cors = buildPythonPackage rec { name = "Flask-Cors-${version}"; version = "2.1.2"; @@ -11568,6 +11661,53 @@ in { }; }; + flask-restful = buildPythonPackage rec { + name = "Flask-RESTful-${version}"; + version = "0.3.5"; + + src = pkgs.fetchurl { + url = "mirror://pypi/F/Flask-RESTful/${name}.tar.gz"; + sha256 = "cce4aeff959b571136b5af098bebe7d3deeca7eb1411c4e722ff2c5356ab4c42"; + }; + + # TypeError: Only byte strings can be passed to C code + patchPhase = if isPy3k then '' + rm tests/test_crypto.py tests/test_paging.py + '' else null; + buildInputs = with self; [ nose mock blinker ]; + propagatedBuildInputs = with self; [ flask six pytz aniso8601 pycrypto ]; + PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; + + meta = { + homepage = "http://flask-restful.readthedocs.io/"; + description = "REST API building blocks for Flask"; + license = licenses.bsd3; + }; + }; + + flask-restplus = buildPythonPackage rec { + name = "flask-restplus-${version}"; + # Exactly 0.8.6 is required by flexget + version = "0.8.6"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "mirror://pypi/f/flask-restplus/${name}.tar.gz"; + sha256 = "3bb76cc156b9a09da62396d82b29fa31e4f27cccf79528538fe7155cf2785593"; + }; + + # Requires additional packages. + doCheck = false; + buildInputs = with self; [ nose blinker tzlocal ]; + propagatedBuildInputs = with self; [ flask six jsonschema pytz aniso8601 flask-restful ]; + + meta = { + homepage = "https://github.com/noirbizarre/flask-restplus"; + description = "Fast, easy and documented API development with Flask"; + license = licenses.mit; + }; + }; + flask_script = buildPythonPackage rec { name = "Flask-Script-${version}"; version = "2.0.5"; @@ -12592,6 +12732,27 @@ in { }; }; + rebulk = buildPythonPackage rec { + version = "0.8.2"; + name = "rebulk-${version}"; + + src = pkgs.fetchurl { + url = "mirror://pypi/r/rebulk/${name}.tar.gz"; + sha256 = "8c09901bda7b79a21d46faf489d67d017aa54d38bdabdb53f824068a6640401a"; + }; + + # Some kind of trickery with imports that doesn't work. + doCheck = false; + buildInputs = with self; [ pytest pytestrunner ]; + propagatedBuildInputs = with self; [ six regex ]; + + meta = { + homepage = "https://github.com/Toilal/rebulk/"; + license = licenses.mit; + description = "Advanced string matching from simple patterns"; + }; + }; + gunicorn = callPackage ../development/python-modules/gunicorn.nix { }; hawkauthlib = buildPythonPackage rec { @@ -13077,7 +13238,12 @@ in { ipyparallel = callPackage ../development/python-modules/ipyparallel { }; - ipython = callPackage ../development/python-modules/ipython { }; + # Newer versions of IPython no longer support Python 2.7. + ipython = if isPy27 then self.ipython_5 else self.ipython_6; + + ipython_5 = callPackage ../development/python-modules/ipython/5.nix { }; + + ipython_6 = callPackage ../development/python-modules/ipython { }; ipython_genutils = buildPythonPackage rec { version = "0.2.0"; @@ -14590,7 +14756,7 @@ in { buildInputs = with self; [nose]; meta = { - decription = "The fastest markdown parser in pure Python"; + description = "The fastest markdown parser in pure Python"; homepage = https://github.com/lepture/mistune; license = licenses.bsd3; }; @@ -15565,7 +15731,7 @@ in { propagatedBuildInputs = with self ; [ aiodns pyasn1 pkgs.gnupg1 pyasn1-modules]; meta = { - meta = "Elegant Python library for XMPP"; + description = "Elegant Python library for XMPP"; license = licenses.mit; homepage = https://dev.louiz.org/projects/slixmpp; }; @@ -19291,11 +19457,11 @@ in { }); psycopg2 = buildPythonPackage rec { - name = "psycopg2-2.6.1"; + name = "psycopg2-2.7.1"; disabled = isPyPy; src = pkgs.fetchurl { url = "mirror://pypi/p/psycopg2/${name}.tar.gz"; - sha256 = "0k4hshvrwsh8yagydyxgmd0pjm29lwdxkngcq9fzfzkmpsxrmkva"; + sha256 = "86c9355f5374b008c8479bc00023b295c07d508f7c3b91dbd2e74f8925b1d9c6"; }; buildInputs = optional stdenv.isDarwin pkgs.openssl; propagatedBuildInputs = with self; [ pkgs.postgresql ]; @@ -20181,11 +20347,11 @@ in { pyfiglet = buildPythonPackage rec { name = "pyfiglet-${version}"; - version = "0.7.2"; + version = "0.7.5"; src = pkgs.fetchurl { url = "mirror://pypi/p/pyfiglet/${name}.tar.gz"; - sha256 = "0v8a18wvaqnb1jksyv5dc5n6zj0vrkyhz0ivmm8gfwpa0ky6n68y"; + sha256 = "04jy4182hn5xfs6jf432gxclfj1rhssd7bsf0b4gymrjzkhr8qa4"; }; doCheck = false; @@ -20763,22 +20929,6 @@ in { }; }; - pyparsing1 = buildPythonPackage rec { - name = "pyparsing-1.5.7"; - disabled = isPy3k; - - src = pkgs.fetchurl { - url = "mirror://pypi/p/pyparsing/${name}.tar.gz"; - sha256 = "646e14f90b3689b005c19ac9b6b390c9a39bf976481849993e277d7380e6e79f"; - }; - - meta = { - homepage = http://pyparsing.wikispaces.com/; - description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions"; - }; - }; - - pyparted = buildPythonPackage rec { name = "pyparted-${version}"; version = "3.10.7"; @@ -21265,6 +21415,38 @@ in { }; }; + pyplatec = buildPythonPackage rec { + name = "PyPlatec-${version}"; + version = "1.4.0"; + + src = pkgs.fetchurl { + url = "mirror://pypi/P/PyPlatec/${name}.tar.gz"; + sha256 = "0kqx33flcrrlipccmqs78d14pj5749bp85b6k5fgaq2c7yzz02jg"; + }; + + meta = { + description = "Library to simulate plate tectonics with Python bindings"; + homepage = https://github.com/Mindwerks/plate-tectonics; + license = licenses.lgpl3; + }; + }; + + purepng = buildPythonPackage rec { + name = "purepng-${version}"; + version = "0.2.0"; + + src = pkgs.fetchurl { + url = "mirror://pypi/p/purepng/${name}.tar.gz"; + sha256 = "1kcl7a6d7d59360fbz2jwfk6ha6pmqgn396962p4s62j893d2r0d"; + }; + + meta = { + description = "Pure Python library for PNG image encoding/decoding"; + homepage = https://github.com/scondo/purepng; + license = licenses.mit; + }; + }; + pymaging = buildPythonPackage rec { name = "pymaging-unstable-2016-11-16"; @@ -22821,7 +23003,7 @@ in { buildInputs = with self; [ appdirs ]; meta = with pkgs.stdenv.lib; { - descriptions = "A python Lex/Yacc that works with RPython"; + description = "A python Lex/Yacc that works with RPython"; homepage = https://github.com/alex/rply; license = licenses.bsd3; maintainers = with maintainers; [ nixy ]; @@ -25360,6 +25542,22 @@ in { }; }; + terminaltables = buildPythonPackage rec { + name = "terminaltables-${version}"; + version = "3.1.0"; + + src = pkgs.fetchurl { + url = "mirror://pypi/t/terminaltables/${name}.tar.gz"; + sha256 = "f3eb0eb92e3833972ac36796293ca0906e998dc3be91fbe1f8615b331b853b81"; + }; + + meta = { + description = "Display simple tables in terminals"; + homepage = "https://github.com/Robpol86/terminaltables"; + license = licenses.mit; + }; + }; + keystoneclient = buildPythonPackage rec { name = "keystoneclient-${version}"; version = "1.8.1"; @@ -25666,7 +25864,7 @@ in { meta = { description = "Quick Response code generation for Python"; - home = "https://pypi.python.org/pypi/qrcode"; + homepage = "https://pypi.python.org/pypi/qrcode"; license = licenses.bsd3; }; }; @@ -25726,51 +25924,7 @@ in { }; }; - tqdm = buildPythonPackage rec { - name = "tqdm-${version}"; - version = "4.8.4"; - - src = pkgs.fetchurl { - url = "mirror://pypi/t/tqdm/${name}.tar.gz"; - sha256 = "bab05f8bb6efd2702ab6c532e5e6a758a66c0d2f443e09784b73e4066e6b3a37"; - }; - - buildInputs = with self; [ nose coverage pkgs.glibcLocales flake8 ]; - propagatedBuildInputs = with self; [ matplotlib pandas ]; - - LC_ALL="en_US.UTF-8"; - - doCheck = false; # Many transient failures in performance tests and due to use of sleep - - meta = { - description = "A Fast, Extensible Progress Meter"; - homepage = https://github.com/tqdm/tqdm; - license = with licenses; [ mit ]; - }; - }; - - tqdm4 = buildPythonPackage rec { - name = "tqdm-${version}"; - version = "4.7.6"; - - src = pkgs.fetchurl { - url = "mirror://pypi/t/tqdm/${name}.tar.gz"; - sha256 = "1z801zl1y3cf6ixzw4jlpkbp9a9j92sqzs35l0jaqfq00aj1bdm0"; - }; - - buildInputs = with self; [ nose coverage pkgs.glibcLocales flake8 ]; - propagatedBuildInputs = with self; [ matplotlib pandas ]; - - LC_ALL="en_US.UTF-8"; - - doCheck = false; # Many transient failures in performance tests and due to use of sleep - - meta = { - description = "A Fast, Extensible Progress Meter"; - homepage = https://github.com/tqdm/tqdm; - license = with licenses; [ mit ]; - }; - }; + tqdm = callPackage ../development/python-modules/tqdm { }; smmap = buildPythonPackage rec { name = "smmap-0.9.0"; @@ -28274,6 +28428,54 @@ EOF }; }; + worldengine = buildPythonPackage rec { + name = "worldengine-${version}"; + version = "0.19.0"; + + src = pkgs.fetchFromGitHub { + owner = "Mindwerks"; + repo = "worldengine"; + rev = "v${version}"; + sha256 = "1xrckb0dn2841gvp32n18gib14bpi77hmjw3r9jiyhg402iip7ry"; + }; + + src-data = pkgs.fetchFromGitHub { + owner = "Mindwerks"; + repo = "worldengine-data"; + rev = "029051e"; + sha256 = "06xbf8gj3ljgr11v1n8jbs2q8pdf9wz53xdgkhpm8hdnjahgdxdm"; + }; + + postUnpack = '' + ln -s ${src-data} worldengine-data + ''; + + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ noise numpy pyplatec protobuf3_2 purepng argparse h5py gdal ]; + + prePatch = '' + substituteInPlace setup.py \ + --replace pypng>=0.0.18 purepng \ + --replace 'numpy>=1.9.2, <= 1.10.0.post2' 'numpy' \ + --replace 'argparse==1.2.1' 'argparse' \ + --replace 'protobuf==3.0.0a3' 'protobuf' \ + --replace 'noise==1.2.2' 'noise' \ + --replace 'PyPlatec==1.4.0' 'PyPlatec' \ + ''; + + doCheck = true; + postCheck = '' + nosetests tests + ''; + + meta = { + homepage = http://world-engine.org; + description = "World generator using simulation of plates, rain shadow, erosion, etc"; + platforms = platforms.all; + maintainers = with maintainers; [ rardiol ]; + }; + }; + carbon = buildPythonPackage rec { name = "carbon-${version}"; version = graphiteVersion; @@ -28964,10 +29166,10 @@ EOF # Should be bumped along with EFL! pythonefl = buildPythonPackage rec { name = "python-efl-${version}"; - version = "1.18.0"; + version = "1.19.0"; src = pkgs.fetchurl { url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.xz"; - sha256 = "0p92xsw7sh7965mb097lxy98va5xsrkxdqqaq11fhkpwqccy2l8p"; + sha256 = "105qykdd04mlyzwzyscw6mlc7ajl4wbwhq87ncy1jvw8jjh6jads"; }; preConfigure = '' @@ -28982,9 +29184,9 @@ EOF meta = { description = "Python bindings for EFL and Elementary"; homepage = http://enlightenment.org/; - maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ]; platforms = platforms.linux; license = licenses.gpl3; + maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ]; }; }; @@ -29678,11 +29880,6 @@ EOF export GEOS_DIR=${pkgs.geos} ''; - # The installer does not support the '--old-and-unmanageable' option - installPhase = '' - ${python.interpreter} setup.py install --prefix $out - ''; - # The 'check' target is not supported by the `setup.py` script. # TODO : do the post install checks (`cd examples && ${python.interpreter} run_all.py`) doCheck = false; @@ -31040,6 +31237,9 @@ EOF lockfile clize ]; + # zerobin doesn't have any tests, but includes a copy of cherrypy which + # can wrongly fail the check phase. + doCheck = false; meta = { description = "A client side encrypted pastebin"; homepage = "http://0bin.net/"; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 824289726995..b22eff33dc07 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -20,12 +20,27 @@ let /* Basic list of packages to be natively built, but need a crossSystem defined to get meaning */ basicNativeDrv = { + buildPackages.binutils = nativePlatforms; buildPackages.gccCrossStageFinal = nativePlatforms; buildPackages.gdbCross = nativePlatforms; }; basic = basicCrossDrv // basicNativeDrv; + windows = { + buildPackages.binutils = nativePlatforms; + buildPackages.gccCrossStageFinal = nativePlatforms; + + coreutils = nativePlatforms; + boehmgc = nativePlatforms; + gmp = nativePlatforms; + guile_1_8 = nativePlatforms; + libffi = nativePlatforms; + libtool = nativePlatforms; + libunistring = nativePlatforms; + windows.wxMSW = nativePlatforms; + }; + in { @@ -89,48 +104,30 @@ in /* Test some cross builds on 32 bit mingw-w64 */ crossMingw32 = let crossSystem = { - config = "i686-w64-mingw32"; + config = "i686-pc-mingw32"; arch = "x86"; # Irrelevant libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain platform = {}; }; - in mapTestOnCross crossSystem { - coreutils = nativePlatforms; - boehmgc = nativePlatforms; - gmp = nativePlatforms; - guile_1_8 = nativePlatforms; - libffi = nativePlatforms; - libtool = nativePlatforms; - libunistring = nativePlatforms; - windows.wxMSW = nativePlatforms; - }; + in mapTestOnCross crossSystem windows; /* Test some cross builds on 64 bit mingw-w64 */ crossMingwW64 = let crossSystem = { # That's the triplet they use in the mingw-w64 docs. - config = "x86_64-w64-mingw32"; + config = "x86_64-pc-mingw32"; arch = "x86_64"; # Irrelevant libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain platform = {}; }; - in mapTestOnCross crossSystem { - coreutils = nativePlatforms; - boehmgc = nativePlatforms; - gmp = nativePlatforms; - guile_1_8 = nativePlatforms; - libffi = nativePlatforms; - libtool = nativePlatforms; - libunistring = nativePlatforms; - windows.wxMSW = nativePlatforms; - }; + in mapTestOnCross crossSystem windows; /* Linux on the fuloong */ fuloongminipc = let crossSystem = { - config = "mips64el-unknown-linux"; + config = "mips64el-unknown-linux-gnu"; bigEndian = false; arch = "mips"; float = "hard";