diff --git a/doc/configuration.xml b/doc/configuration.xml index 4411b4844e9..c91f38f3093 100644 --- a/doc/configuration.xml +++ b/doc/configuration.xml @@ -378,7 +378,7 @@ myPackages = pkgs.buildEnv { name = "my-packages"; paths = [ aspell bc coreutils ffmpeg nixUnstable emscripten jq nox silver-searcher ]; - pathsToLink = [ "/share/man" "/share/doc" /bin" ]; + pathsToLink = [ "/share/man" "/share/doc" "/bin" ]; extraOutputsToInstall = [ "man" "doc" ]; }; }; @@ -416,7 +416,7 @@ cp ${myProfile} $out/etc/profile.d/my-profile.sh nox silver-searcher ]; - pathsToLink = [ "/share/man" "/share/doc" /bin" "/etc" ]; + pathsToLink = [ "/share/man" "/share/doc" "/bin" "/etc" ]; extraOutputsToInstall = [ "man" "doc" ]; }; }; diff --git a/doc/submitting-changes.xml b/doc/submitting-changes.xml index ffa3a90b5eb..6c6f808f631 100644 --- a/doc/submitting-changes.xml +++ b/doc/submitting-changes.xml @@ -476,7 +476,7 @@ Additional information. It's only for non-breaking mass-rebuild commits. That means it's not to be used for testing, and changes must have been well tested already. - Read + Read policy here. diff --git a/lib/default.nix b/lib/default.nix index 60ce01a93cd..4ca2e2ea6e3 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -51,11 +51,11 @@ let # back-compat aliases platforms = systems.forMeta; - inherit (builtins) add addErrorContext attrNames - concatLists deepSeq elem elemAt filter genericClosure genList - getAttr hasAttr head isAttrs isBool isInt isList - isString length lessThan listToAttrs pathExists readFile - replaceStrings seq stringLength sub substring tail; + inherit (builtins) add addErrorContext attrNames concatLists + deepSeq elem elemAt filter genericClosure genList getAttr + hasAttr head isAttrs isBool isInt isList isString length + lessThan listToAttrs pathExists readFile replaceStrings seq + stringLength sub substring tail; inherit (trivial) id const concat or and boolToString mergeAttrs flip mapNullable inNixShell min max importJSON warn info nixpkgsVersion version mod compare splitByAndCompare @@ -74,30 +74,32 @@ let inherit (lists) singleton foldr fold foldl foldl' imap0 imap1 concatMap flatten remove findSingle findFirst any all count optional optionals toList range partition zipListsWith zipLists - reverseList listDfs toposort sort naturalSort compareLists take drop sublist - last init crossLists unique intersectLists subtractLists - mutuallyExclusive; + reverseList listDfs toposort sort naturalSort compareLists take + drop sublist last init crossLists unique intersectLists + subtractLists mutuallyExclusive; inherit (strings) concatStrings concatMapStrings concatImapStrings intersperse concatStringsSep concatMapStringsSep concatImapStringsSep makeSearchPath makeSearchPathOutput makeLibraryPath makeBinPath makePerlPath optionalString hasPrefix hasSuffix stringToCharacters stringAsChars escape - escapeShellArg escapeShellArgs replaceChars lowerChars upperChars - toLower toUpper addContextFrom splitString removePrefix - removeSuffix versionOlder versionAtLeast getVersion nameFromURL - enableFeature fixedWidthString fixedWidthNumber isStorePath + escapeShellArg escapeShellArgs replaceChars lowerChars + upperChars toLower toUpper addContextFrom splitString + removePrefix removeSuffix versionOlder versionAtLeast getVersion + nameFromURL enableFeature enableFeatureAs withFeature + withFeatureAs fixedWidthString fixedWidthNumber isStorePath toInt readPathsFromFile fileContents; inherit (stringsWithDeps) textClosureList textClosureMap noDepEntry fullDepEntry packEntry stringAfter; inherit (customisation) overrideDerivation makeOverridable - callPackageWith callPackagesWith extendDerivation - hydraJob makeScope; + callPackageWith callPackagesWith extendDerivation hydraJob + makeScope; inherit (meta) addMetaAttrs dontDistribute setName updateName appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio hiPrioSet; inherit (sources) pathType pathIsDirectory cleanSourceFilter cleanSource sourceByRegex sourceFilesBySuffices - commitIdFromGitRepo cleanSourceWith pathHasContext canCleanSource; + commitIdFromGitRepo cleanSourceWith pathHasContext + canCleanSource; inherit (modules) evalModules closeModules unifyModuleSyntax applyIfFunction unpackSubmodule packSubmodule mergeModules mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions @@ -119,8 +121,7 @@ let traceXMLVal traceXMLValMarked traceSeq traceSeqN traceValSeq traceValSeqFn traceValSeqN traceValSeqNFn traceShowVal traceShowValMarked showVal traceCall traceCall2 traceCall3 - traceValIfNot runTests testAllTrue traceCallXml - attrNamesToStr; + traceValIfNot runTests testAllTrue traceCallXml attrNamesToStr; inherit (misc) maybeEnv defaultMergeArg defaultMerge foldArgs defaultOverridableDelayableArgs composedArgsAndFun maybeAttrNullable maybeAttr ifEnable checkFlag getValue @@ -129,7 +130,7 @@ let closePropagation mapAttrsFlatten nvs setAttr setAttrMerge mergeAttrsWithFunc mergeAttrsConcatenateValues mergeAttrsNoOverride mergeAttrByFunc mergeAttrsByFuncDefaults - mergeAttrsByFuncDefaultsClean mergeAttrBy - prepareDerivationArgs nixType imap overridableDelayableArgs; + mergeAttrsByFuncDefaultsClean mergeAttrBy prepareDerivationArgs + nixType imap overridableDelayableArgs; }); in lib diff --git a/lib/meta.nix b/lib/meta.nix index 8516cc1cd6f..199030c103a 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -86,6 +86,4 @@ rec { then { system = elem; } else { parsed = elem; }; in lib.matchAttrs pattern platform; - - enableIfAvailable = p: if p.meta.available or true then [ p ] else []; } diff --git a/lib/modules.nix b/lib/modules.nix index 6c8033322a5..8baae491705 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -310,6 +310,7 @@ rec { in opt // { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value; + inherit (res.defsFinal') highestPrio; definitions = map (def: def.value) res.defsFinal; files = map (def: def.file) res.defsFinal; inherit (res) isDefined; @@ -317,7 +318,7 @@ rec { # Merge definitions of a value of a given type. mergeDefinitions = loc: type: defs: rec { - defsFinal = + defsFinal' = let # Process mkMerge and mkIf properties. defs' = concatMap (m: @@ -325,15 +326,20 @@ rec { ) defs; # Process mkOverride properties. - defs'' = filterOverrides defs'; + defs'' = filterOverrides' defs'; # Sort mkOrder properties. defs''' = # Avoid sorting if we don't have to. - if any (def: def.value._type or "" == "order") defs'' - then sortProperties defs'' - else defs''; - in defs'''; + if any (def: def.value._type or "" == "order") defs''.values + then sortProperties defs''.values + else defs''.values; + in { + values = defs'''; + inherit (defs'') highestPrio; + }; + + defsFinal = defsFinal'.values; # Type-check the remaining definitions, and merge them. mergedValue = foldl' (res: def: @@ -416,13 +422,18 @@ rec { Note that "z" has the default priority 100. */ - filterOverrides = defs: + filterOverrides = defs: (filterOverrides' defs).values; + + filterOverrides' = defs: let defaultPrio = 100; getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio; highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs; strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def; - in concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs; + in { + values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs; + inherit highestPrio; + }; /* Sort a list of properties. The sort priority of a property is 1000 by default, but can be overridden by wrapping the property @@ -664,6 +675,7 @@ rec { in { config, options, ... }: { options = setAttrByPath from (mkOption { + inherit visible; description = "Alias of ."; apply = x: use (toOf config); }); diff --git a/lib/strings.nix b/lib/strings.nix index e6df7d99cb2..e09ec42bfea 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -82,7 +82,7 @@ rec { => "//bin" */ makeSearchPath = subDir: packages: - concatStringsSep ":" (map (path: path + "/" + subDir) packages); + concatStringsSep ":" (map (path: path + "/" + subDir) (builtins.filter (x: x != null) packages)); /* Construct a Unix-style search path, using given package output. If no output is found, fallback to `.out` and then to the default. @@ -414,6 +414,39 @@ rec { */ enableFeature = enable: feat: "--${if enable then "enable" else "disable"}-${feat}"; + /* Create an --{enable-=,disable-} string that can be passed to + standard GNU Autoconf scripts. + + Example: + enableFeature true "shared" "foo" + => "--enable-shared=foo" + enableFeature false "shared" (throw "ignored") + => "--disable-shared" + */ + enableFeatureAs = enable: feat: value: enableFeature enable feat + optionalString enable "=${value}"; + + /* Create an --{with,without}- string that can be passed to + standard GNU Autoconf scripts. + + Example: + withFeature true "shared" + => "--with-shared" + withFeature false "shared" + => "--without-shared" + */ + withFeature = with_: feat: "--${if with_ then "with" else "without"}-${feat}"; + + /* Create an --{with-=,without-} string that can be passed to + standard GNU Autoconf scripts. + + Example: + with_Feature true "shared" "foo" + => "--with-shared=foo" + with_Feature false "shared" (throw "ignored") + => "--without-shared" + */ + withFeatureAs = with_: feat: value: withFeature with_ feat + optionalString with_ "=${value}"; + /* Create a fixed width string with additional prefix to match required width. diff --git a/lib/systems/default.nix b/lib/systems/default.nix index e7346a538d3..ee4c29660a5 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -29,6 +29,7 @@ rec { /**/ if final.isDarwin then "libSystem" else if final.isMinGW then "msvcrt" else if final.isMusl then "musl" + else if final.isUClibc then "uclibc" else if final.isAndroid then "bionic" else if final.isLinux /* default */ then "glibc" # TODO(@Ericson2314) think more about other operating systems @@ -49,5 +50,12 @@ rec { } // mapAttrs (n: v: v final.parsed) inspect.predicates // args; in assert final.useAndroidPrebuilt -> final.isAndroid; + assert lib.foldl + (pass: { assertion, message }: + if assertion final + then pass + else throw message) + true + (final.parsed.abi.assertions or []); final; } diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index fdb120ebb5c..9c43d9b1bbc 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -11,36 +11,41 @@ rec { sheevaplug = rec { config = "armv5tel-unknown-linux-gnueabi"; - arch = "armv5tel"; - float = "soft"; platform = platforms.sheevaplug; }; raspberryPi = rec { config = "armv6l-unknown-linux-gnueabihf"; - arch = "armv6l"; - float = "hard"; - fpu = "vfp"; platform = platforms.raspberrypi; }; armv7l-hf-multiplatform = rec { - config = "arm-unknown-linux-gnueabihf"; - arch = "armv7-a"; - float = "hard"; - fpu = "vfpv3-d16"; + config = "armv7a-unknown-linux-gnueabihf"; platform = platforms.armv7l-hf-multiplatform; }; aarch64-multiplatform = rec { config = "aarch64-unknown-linux-gnu"; - arch = "aarch64"; platform = platforms.aarch64-multiplatform; }; + armv5te-android-prebuilt = rec { + config = "armv5tel-unknown-linux-androideabi"; + sdkVer = "21"; + platform = platforms.armv5te-android; + useAndroidPrebuilt = true; + }; + + armv7a-android-prebuilt = rec { + config = "armv7a-unknown-linux-androideabi"; + sdkVer = "21"; + platform = platforms.armv7a-android; + useAndroidPrebuilt = true; + }; + aarch64-android-prebuilt = rec { config = "aarch64-unknown-linux-android"; - arch = "aarch64"; + sdkVer = "21"; platform = platforms.aarch64-multiplatform; useAndroidPrebuilt = true; }; @@ -51,16 +56,17 @@ rec { }; pogoplug4 = rec { - arch = "armv5tel"; config = "armv5tel-unknown-linux-gnueabi"; - float = "soft"; platform = platforms.pogoplug4; }; + ben-nanonote = rec { + config = "mipsel-unknown-linux-uclibc"; + platform = platforms.ben_nanonote; + }; + fuloongminipc = rec { config = "mipsel-unknown-linux-gnu"; - arch = "mips"; - float = "hard"; platform = platforms.fuloong2f_n32; }; @@ -128,7 +134,6 @@ rec { # 32 bit mingw-w64 mingw32 = { config = "i686-pc-mingw32"; - arch = "x86"; # Irrelevant libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain platform = {}; }; @@ -137,7 +142,6 @@ rec { mingwW64 = { # That's the triplet they use in the mingw-w64 docs. config = "x86_64-pc-mingw32"; - arch = "x86_64"; # Irrelevant libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain platform = {}; }; diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 63f9fab4f67..c0c283469fe 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -3,6 +3,9 @@ with import ./parse.nix { inherit lib; }; with lib.attrsets; with lib.lists; +let abis_ = abis; in +let abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) abis_; in + rec { patterns = rec { isi686 = { cpu = cpuTypes.i686; }; @@ -38,6 +41,7 @@ rec { isAndroid = [ { abi = abis.android; } { abi = abis.androideabi; } ]; isMusl = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf ]; + isUClibc = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ]; isEfi = map (family: { cpu.family = family; }) [ "x86" "arm" "aarch64" ]; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 018fd172e68..d79947ad3de 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -68,20 +68,31 @@ rec { cpuTypes = with significantBytes; setTypes types.openCpuType { arm = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; }; - aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; }; + armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; version = "5"; }; + armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; }; + armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; }; + armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; + armv7r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; + armv7m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; + armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; + armv8a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; + armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; + armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; + aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; version = "8"; }; + i686 = { bits = 32; significantByte = littleEndian; family = "x86"; }; x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; }; + mips = { bits = 32; significantByte = bigEndian; family = "mips"; }; mipsel = { bits = 32; significantByte = littleEndian; family = "mips"; }; mips64 = { bits = 64; significantByte = bigEndian; family = "mips"; }; mips64el = { bits = 64; significantByte = littleEndian; family = "mips"; }; + powerpc = { bits = 32; significantByte = bigEndian; family = "power"; }; + riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; }; riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; }; + wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; }; wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; }; }; @@ -184,17 +195,40 @@ rec { types.abi = enum (attrValues abis); abis = setTypes types.openAbi { - android = {}; - cygnus = {}; - gnu = {}; - msvc = {}; - eabi = {}; - androideabi = {}; - gnueabi = {}; - gnueabihf = {}; - musleabi = {}; - musleabihf = {}; - musl = {}; + cygnus = {}; + msvc = {}; + eabi = {}; + + androideabi = {}; + android = { + assertions = [ + { assertion = platform: !platform.isAarch32; + message = '' + The "android" ABI is not for 32-bit ARM. Use "androideabi" instead. + ''; + } + ]; + }; + + gnueabi = { float = "soft"; }; + gnueabihf = { float = "hard"; }; + gnu = { + assertions = [ + { assertion = platform: !platform.isAarch32; + message = '' + The "gnu" ABI is ambiguous on 32-bit ARM. Use "gnueabi" or "gnueabihf" instead. + ''; + } + ]; + }; + + musleabi = { float = "soft"; }; + musleabihf = { float = "hard"; }; + musl = {}; + + uclibceabihf = { float = "soft"; }; + uclibceabi = { float = "hard"; }; + uclibc = {}; unknown = {}; }; @@ -261,7 +295,12 @@ rec { kernel = getKernel args.kernel; abi = /**/ if args ? abi then getAbi args.abi - else if isLinux parsed then abis.gnu + else if isLinux parsed then + if isAarch32 parsed then + if lib.versionAtLeast (parsed.cpu.version or "0") "6" + then abis.gnueabihf + else abis.gnueabi + else abis.gnu else if isWindows parsed then abis.gnu else abis.unknown; }; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index f39e890fbf1..32f055b6b1c 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -20,12 +20,15 @@ rec { kernelAutoModules = false; }; + ## + ## ARM + ## + pogoplug4 = { name = "pogoplug4"; gcc = { arch = "armv5te"; - float = "soft"; }; kernelMajor = "2.6"; @@ -158,7 +161,6 @@ rec { kernelDTB = true; # Beyond 3.10 gcc = { arch = "armv5te"; - float = "soft"; }; }; @@ -243,7 +245,6 @@ rec { gcc = { arch = "armv6"; fpu = "vfp"; - float = "hard"; # TODO(@Ericson2314) what is this and is it a good idea? It was # used in some cross compilation examples but not others. # @@ -336,7 +337,6 @@ rec { gcc = { cpu = "cortex-a9"; fpu = "vfpv3"; - float = "hard"; }; }; @@ -363,7 +363,6 @@ rec { gcc = { cpu = "cortex-a9"; fpu = "neon"; - float = "hard"; }; }; @@ -376,6 +375,128 @@ rec { kernelBaseConfig = "guruplug_defconfig"; }; + beaglebone = armv7l-hf-multiplatform // { + name = "beaglebone"; + kernelBaseConfig = "bb.org_defconfig"; + kernelAutoModules = false; + kernelExtraConfig = ""; # TBD kernel config + kernelTarget = "zImage"; + }; + + # https://developer.android.com/ndk/guides/abis#armeabi + armv5te-android = { + name = "armeabi"; + gcc = { + arch = "armv5te"; + float = "soft"; + float-abi = "soft"; + }; + }; + + # https://developer.android.com/ndk/guides/abis#v7a + armv7a-android = { + name = "armeabi-v7a"; + gcc = { + arch = "armv7-a"; + float = "hard"; + float-abi = "softfp"; + fpu = "vfpv3-d16"; + }; + }; + + armv7l-hf-multiplatform = { + name = "armv7l-hf-multiplatform"; + kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. + kernelBaseConfig = "multi_v7_defconfig"; + kernelArch = "arm"; + kernelDTB = true; + kernelAutoModules = true; + kernelPreferBuiltin = true; + kernelTarget = "zImage"; + kernelExtraConfig = '' + # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Fix broken sunxi-sid nvmem driver. + TI_CPTS y + + # Hangs ODROID-XU4 + ARM_BIG_LITTLE_CPUIDLE n + ''; + gcc = { + # Some table about fpu flags: + # http://community.arm.com/servlet/JiveServlet/showImage/38-1981-3827/blogentry-103749-004812900+1365712953_thumb.png + # Cortex-A5: -mfpu=neon-fp16 + # Cortex-A7 (rpi2): -mfpu=neon-vfpv4 + # Cortex-A8 (beaglebone): -mfpu=neon + # Cortex-A9: -mfpu=neon-fp16 + # Cortex-A15: -mfpu=neon-vfpv4 + + # More about FPU: + # https://wiki.debian.org/ArmHardFloatPort/VfpComparison + + # vfpv3-d16 is what Debian uses and seems to be the best compromise: NEON is not supported in e.g. Scaleway or Tegra 2, + # and the above page suggests NEON is only an improvement with hand-written assembly. + arch = "armv7-a"; + fpu = "vfpv3-d16"; + + # For Raspberry Pi the 2 the best would be: + # cpu = "cortex-a7"; + # fpu = "neon-vfpv4"; + }; + }; + + aarch64-multiplatform = { + name = "aarch64-multiplatform"; + kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. + kernelBaseConfig = "defconfig"; + kernelArch = "arm64"; + kernelDTB = true; + kernelAutoModules = true; + kernelPreferBuiltin = true; + kernelExtraConfig = '' + # Raspberry Pi 3 stuff. Not needed for kernels >= 4.10. + ARCH_BCM2835 y + BCM2835_MBOX y + BCM2835_WDT y + RASPBERRYPI_FIRMWARE y + RASPBERRYPI_POWER y + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Cavium ThunderX stuff. + PCI_HOST_THUNDER_ECAM y + + # Nvidia Tegra stuff. + PCI_TEGRA y + + # The default (=y) forces us to have the XHCI firmware available in initrd, + # which our initrd builder can't currently do easily. + USB_XHCI_TEGRA m + ''; + kernelTarget = "Image"; + gcc = { + arch = "armv8-a"; + }; + }; + + ## + ## MIPS + ## + + ben_nanonote = { + name = "ben_nanonote"; + kernelMajor = "2.6"; + kernelArch = "mips"; + gcc = { + arch = "mips32"; + float = "soft"; + }; + }; + fuloong2f_n32 = { name = "fuloong2f_n32"; kernelMajor = "2.6"; @@ -449,97 +570,14 @@ rec { kernelTarget = "vmlinux"; gcc = { arch = "loongson2f"; + float = "hard"; abi = "n32"; }; }; - beaglebone = armv7l-hf-multiplatform // { - name = "beaglebone"; - kernelBaseConfig = "bb.org_defconfig"; - kernelAutoModules = false; - kernelExtraConfig = ""; # TBD kernel config - kernelTarget = "zImage"; - }; - - armv7l-hf-multiplatform = { - name = "armv7l-hf-multiplatform"; - kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. - kernelBaseConfig = "multi_v7_defconfig"; - kernelArch = "arm"; - kernelDTB = true; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelTarget = "zImage"; - kernelExtraConfig = '' - # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Fix broken sunxi-sid nvmem driver. - TI_CPTS y - - # Hangs ODROID-XU4 - ARM_BIG_LITTLE_CPUIDLE n - ''; - gcc = { - # Some table about fpu flags: - # http://community.arm.com/servlet/JiveServlet/showImage/38-1981-3827/blogentry-103749-004812900+1365712953_thumb.png - # Cortex-A5: -mfpu=neon-fp16 - # Cortex-A7 (rpi2): -mfpu=neon-vfpv4 - # Cortex-A8 (beaglebone): -mfpu=neon - # Cortex-A9: -mfpu=neon-fp16 - # Cortex-A15: -mfpu=neon-vfpv4 - - # More about FPU: - # https://wiki.debian.org/ArmHardFloatPort/VfpComparison - - # vfpv3-d16 is what Debian uses and seems to be the best compromise: NEON is not supported in e.g. Scaleway or Tegra 2, - # and the above page suggests NEON is only an improvement with hand-written assembly. - arch = "armv7-a"; - fpu = "vfpv3-d16"; - float = "hard"; - - # For Raspberry Pi the 2 the best would be: - # cpu = "cortex-a7"; - # fpu = "neon-vfpv4"; - }; - }; - - aarch64-multiplatform = { - name = "aarch64-multiplatform"; - kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. - kernelBaseConfig = "defconfig"; - kernelArch = "arm64"; - kernelDTB = true; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelExtraConfig = '' - # Raspberry Pi 3 stuff. Not needed for kernels >= 4.10. - ARCH_BCM2835 y - BCM2835_MBOX y - BCM2835_WDT y - RASPBERRYPI_FIRMWARE y - RASPBERRYPI_POWER y - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Cavium ThunderX stuff. - PCI_HOST_THUNDER_ECAM y - - # Nvidia Tegra stuff. - PCI_TEGRA y - - # The default (=y) forces us to have the XHCI firmware available in initrd, - # which our initrd builder can't currently do easily. - USB_XHCI_TEGRA m - ''; - kernelTarget = "Image"; - gcc = { - arch = "armv8-a"; - }; - }; + ## + ## Other + ## riscv-multiplatform = bits: { name = "riscv-multiplatform"; diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 96a91c0fffb..b83e1eb7d82 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -136,7 +136,18 @@ checkConfigOutput "true" "$@" ./define-module-check.nix # Check coerced value. checkConfigOutput "\"42\"" config.value ./declare-coerced-value.nix checkConfigOutput "\"24\"" config.value ./declare-coerced-value.nix ./define-value-string.nix -checkConfigError 'The option value .* in .* is not.*string or signed integer.*' config.value ./declare-coerced-value.nix ./define-value-list.nix +checkConfigError 'The option value .* in .* is not.*string or signed integer convertible to it' config.value ./declare-coerced-value.nix ./define-value-list.nix + +# Check coerced value with unsound coercion +checkConfigOutput "12" config.value ./declare-coerced-value-unsound.nix +checkConfigError 'The option value .* in .* is not.*8 bit signed integer.* or string convertible to it' config.value ./declare-coerced-value-unsound.nix ./define-value-string-bigint.nix +checkConfigError 'unrecognised JSON value' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix + +# Check loaOf with long list. +checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-long-list.nix + +# Check loaOf with many merges of lists. +checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-many-list-merges.nix cat <"]); getSubModules = elemType.getSubModules; substSubModules = m: loaOf (elemType.substSubModules m); @@ -419,16 +430,13 @@ rec { assert coercedType.getSubModules == null; mkOptionType rec { name = "coercedTo"; - description = "${finalType.description} or ${coercedType.description}"; - check = x: finalType.check x || coercedType.check x; + description = "${finalType.description} or ${coercedType.description} convertible to it"; + check = x: finalType.check x || (coercedType.check x && finalType.check (coerceFunc x)); merge = loc: defs: let coerceVal = val: if finalType.check val then val - else let - coerced = coerceFunc val; - in assert finalType.check coerced; coerced; - + else coerceFunc val; in finalType.merge loc (map (def: def // { value = coerceVal def.value; }) defs); getSubOptions = finalType.getSubOptions; getSubModules = finalType.getSubModules; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4b584e6a115..a2db508d4d2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -43,6 +43,11 @@ github = "ChengCat"; name = "Yucheng Zhang"; }; + CrazedProgrammer = { + email = "crazedprogrammer@gmail.com"; + github = "CrazedProgrammer"; + name = "CrazedProgrammer"; + }; CrystalGamma = { email = "nixos@crystalgamma.de"; github = "CrystalGamma"; @@ -676,6 +681,11 @@ github = "bramd"; name = "Bram Duvigneau"; }; + brian-dawn = { + email = "brian.t.dawn@gmail.com"; + github = "brian-dawn"; + name = "Brian Dawn"; + }; bstrik = { email = "dutchman55@gmx.com"; github = "bstrik"; @@ -998,6 +1008,11 @@ github = "demin-dmitriy"; name = "Dmitriy Demin"; }; + demyanrogozhin = { + email = "demyan.rogozhin@gmail.com"; + github = "demyanrogozhin"; + name = "Demyan Rogozhin"; + }; derchris = { email = "derchris@me.com"; github = "derchrisuk"; @@ -1740,6 +1755,11 @@ github = "jdagilliland"; name = "Jason Gilliland"; }; + jD91mZM2 = { + email = "me@krake.one"; + github = "jD91mZM2"; + name = "jD91mZM2"; + }; jefdaj = { email = "jefdaj@gmail.com"; github = "jefdaj"; @@ -1815,6 +1835,11 @@ github = "joamaki"; name = "Jussi Maki"; }; + joelburget = { + email = "joelburget@gmail.com"; + github = "joelburget"; + name = "Joel Burget"; + }; joelmo = { email = "joel.moberg@gmail.com"; github = "joelmo"; @@ -2358,6 +2383,11 @@ github = "meditans"; name = "Carlo Nucera"; }; + megheaiulian = { + email = "iulian.meghea@gmail.com"; + github = "megheaiulian"; + name = "Meghea Iulian"; + }; mehandes = { email = "niewskici@gmail.com"; github = "mehandes"; @@ -2471,6 +2501,16 @@ github = "mmahut"; name = "Marek Mahut"; }; + mmlb = { + email = "me.mmlb@mmlb.me"; + github = "mmlb"; + name = "Manuel Mendez"; + }; + mnacamura = { + email = "m.nacamura@gmail.com"; + github = "mnacamura"; + name = "Mitsuhiro Nakamura"; + }; moaxcp = { email = "moaxcp@gmail.com"; github = "moaxcp"; @@ -3139,6 +3179,11 @@ github = "rittelle"; name = "Lennart Rittel"; }; + rkoe = { + email = "rk@simple-is-better.org"; + github = "rkoe"; + name = "Roland Koebler"; + }; rlupton20 = { email = "richard.lupton@gmail.com"; github = "rlupton20"; @@ -3219,6 +3264,11 @@ github = "rushmorem"; name = "Rushmore Mushambi"; }; + ruuda = { + email = "dev+nix@veniogames.com"; + github = "ruuda"; + name = "Ruud van Asseldonk"; + }; rvl = { email = "dev+nix@rodney.id.au"; github = "rvl"; @@ -3731,6 +3781,11 @@ github = "titanous"; name = "Jonathan Rudenberg"; }; + tmplt = { + email = "tmplt@dragons.rocks"; + github = "tmplt"; + name = "Viktor"; + }; tnias = { email = "phil@grmr.de"; github = "tnias"; diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml index 0990e9d932b..6502aaec83e 100644 --- a/nixos/doc/manual/configuration/linux-kernel.xml +++ b/nixos/doc/manual/configuration/linux-kernel.xml @@ -50,9 +50,9 @@ nixpkgs.config.packageOverrides = pkgs: = [ "fuse" "kvm-intel" "coretemp" ]; If the module is required early during the boot (e.g. to mount the root file - system), you can use : + system), you can use : - = [ "cifs" ]; + = [ "cifs" ]; This causes the specified modules and their dependencies to be added to the initial ramdisk. diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml index 7969d812473..5cb747e6d9f 100644 --- a/nixos/doc/manual/development/option-types.xml +++ b/nixos/doc/manual/development/option-types.xml @@ -21,6 +21,15 @@ + + types.attrs + + + + A free-form attribute set. + + + types.bool diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml index d4e5ff3f431..863110a1c7c 100755 --- a/nixos/doc/manual/development/releases.xml +++ b/nixos/doc/manual/development/releases.xml @@ -70,7 +70,7 @@ - Bump the system.defaultChannel attribute in + Bump the system.nixos.defaultChannel attribute in nixos/modules/misc/version.nix diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml index e500c9d6342..734bc076b85 100644 --- a/nixos/doc/manual/release-notes/rl-1509.xml +++ b/nixos/doc/manual/release-notes/rl-1509.xml @@ -433,9 +433,9 @@ system.autoUpgrade.enable = true; default. If you have existing systems with such host keys and want to continue to use them, please set -system.stateVersion = "14.12"; +system.nixos.stateVersion = "14.12"; - The new option ensures that certain + The new option ensures that certain configuration changes that could break existing systems (such as the sshd host key setting) will maintain compatibility with the specified NixOS release. NixOps sets the state version of existing diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index ec7b2f107e8..0ae630945db 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -53,7 +53,10 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' - + When enabled the iproute2 will copy the files + expected by ip route (e.g., rt_tables) in + /run/iproute2. This allows to write aliases for + routing tables for instance. @@ -101,6 +104,17 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' that can be mapped onto the YAML configuration defined in the docker/distribution docs. + + + gnucash has changed from version 2.4 to 3.x. + If you've been using gnucash (version 2.4) instead of + gnucash26 (version 2.6) you must open your Gnucash + data file(s) with gnucash26 and then save them to + upgrade the file format. Then you may use your data file(s) with + Gnucash 3.x. See the upgrade documentation. + Gnucash 2.4 is still available under the attribute gnucash24. + + @@ -169,6 +183,64 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' for further reference. + + + The module for has two new options now: + + + + + + + Puts the generated Diffie-Hellman parameters into the Nix store instead + of managing them in a stateful manner in + /var/lib/dhparams. + + + + + + The default bit size to use for the generated Diffie-Hellman parameters. + + + + + + The path to the actual generated parameter files should now be queried + using + config.security.dhparams.params.name.path + because it might be either in the Nix store or in a directory configured + by . + + + + For developers: + + Module implementers should not set a specific bit size in order to let + users configure it by themselves if they want to have a different bit + size than the default (2048). + + + An example usage of this would be: + +{ config, ... }: + +{ + security.dhparams.params.myservice = {}; + environment.etc."myservice.conf".text = '' + dhparams = ${config.security.dhparams.params.myservice.path} + ''; +} + + + + + + + networking.networkmanager.useDnsmasq has been deprecated. Use + networking.networkmanager.dns instead. + + diff --git a/nixos/lib/make-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix index 986d80ff1b9..4095d9c6d00 100644 --- a/nixos/lib/make-ext4-fs.nix +++ b/nixos/lib/make-ext4-fs.nix @@ -14,7 +14,7 @@ in pkgs.stdenv.mkDerivation { name = "ext4-fs.img"; - nativeBuildInputs = with pkgs; [e2fsprogs libfaketime perl]; + nativeBuildInputs = with pkgs; [e2fsprogs.bin libfaketime perl]; buildCommand = '' @@ -83,5 +83,12 @@ pkgs.stdenv.mkDerivation { echo "--- Failed to create EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---" return 1 fi + + # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build. + if ! fsck.ext4 -n -f $out; then + echo "--- Fsck failed for EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---" + cat errorlog + return 1 + fi ''; } diff --git a/nixos/maintainers/scripts/ec2/amazon-image.nix b/nixos/maintainers/scripts/ec2/amazon-image.nix index 972c04453ae..eeae27ede0f 100644 --- a/nixos/maintainers/scripts/ec2/amazon-image.nix +++ b/nixos/maintainers/scripts/ec2/amazon-image.nix @@ -8,6 +8,11 @@ in { imports = [ ../../../modules/virtualisation/amazon-image.nix ]; + # Required to provide good EBS experience, + # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes + # TODO change value to 4294967295 when kernel is updated to 4.15 or later + config.boot.kernelParams = [ "nvme_core.io_timeout=255" ]; + options.amazonImage = { name = mkOption { type = types.str; diff --git a/nixos/modules/config/iproute2.nix b/nixos/modules/config/iproute2.nix new file mode 100644 index 00000000000..881ad671a62 --- /dev/null +++ b/nixos/modules/config/iproute2.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.networking.iproute2; + confDir = "/run/iproute2"; +in +{ + options.networking.iproute2.enable = mkEnableOption "copy IP route configuration files"; + + config = mkMerge [ + ({ nixpkgs.config.iproute2.confDir = confDir; }) + + (mkIf cfg.enable { + system.activationScripts.iproute2 = '' + cp -R ${pkgs.iproute}/etc/iproute2 ${confDir} + chmod -R 664 ${confDir} + chmod +x ${confDir} + ''; + }) + ]; +} diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix index 756c8751d00..1ed56386e6e 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix @@ -31,4 +31,6 @@ with lib; # Allow the user to log in as root without a password. users.extraUsers.root.initialHashedPassword = ""; + + system.nixos.stateVersion = mkDefault "18.03"; } diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 74b61a64667..a198c2d49b5 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -628,7 +628,7 @@ $bootLoaderConfig # compatible, in order to avoid breaking some software such as database # servers. You should change this only after NixOS release notes say you # should. - system.stateVersion = "${\(qw(@release@))}"; # Did you read the comment? + system.nixos.stateVersion = "${\(qw(@release@))}"; # Did you read the comment? } EOF diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix index 13a0d7f4f6e..c40e3035420 100644 --- a/nixos/modules/installer/virtualbox-demo.nix +++ b/nixos/modules/installer/virtualbox-demo.nix @@ -21,4 +21,5 @@ with lib; services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" "modesetting" ]; powerManagement.enable = false; + system.nixos.stateVersion = mkDefault "18.03"; } diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index 2e426c01708..b482a5a6752 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -75,20 +75,20 @@ let cfg = config.documentation; in (mkIf cfg.man.enable { environment.systemPackages = [ pkgs.man-db ]; environment.pathsToLink = [ "/share/man" ]; - environment.extraOutputsToInstall = [ "man" ] ++ optional cfg.dev.enable [ "devman" ]; + environment.extraOutputsToInstall = [ "man" ] ++ optional cfg.dev.enable "devman"; }) (mkIf cfg.info.enable { environment.systemPackages = [ pkgs.texinfoInteractive ]; environment.pathsToLink = [ "/share/info" ]; - environment.extraOutputsToInstall = [ "info" ] ++ optional cfg.dev.enable [ "devinfo" ]; + environment.extraOutputsToInstall = [ "info" ] ++ optional cfg.dev.enable "devinfo"; }) (mkIf cfg.doc.enable { # TODO(@oxij): put it here and remove from profiles? # environment.systemPackages = [ pkgs.w3m ]; # w3m-nox? environment.pathsToLink = [ "/share/doc" ]; - environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable [ "devdoc" ]; + environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable "devdoc"; }) ]); diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 0ed820a32ac..cc7d8684982 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -190,7 +190,7 @@ cadvisor = 167; nylon = 168; apache-kafka = 169; - panamax = 170; + #panamax = 170; # unused exim = 172; #fleet = 173; # unused #input = 174; # unused @@ -306,6 +306,7 @@ ceph = 288; duplicati = 289; monetdb = 290; + restic = 291; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -473,9 +474,9 @@ #chronos = 164; # unused gitlab = 165; nylon = 168; - panamax = 170; + #panamax = 170; # unused exim = 172; - fleet = 173; + #fleet = 173; # unused input = 174; sddm = 175; tss = 176; @@ -580,6 +581,7 @@ ceph = 288; duplicati = 289; monetdb = 290; + restic = 291; # 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/misc/version.nix b/nixos/modules/misc/version.nix index 74c86443ab9..33d8a786169 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ options, config, lib, pkgs, ... }: with lib; @@ -12,29 +12,29 @@ in { - options.system = { + options.system.nixos = { - nixos.version = mkOption { + version = mkOption { internal = true; type = types.str; description = "The full NixOS version (e.g. 16.03.1160.f2d4ee1)."; }; - nixos.release = mkOption { + release = mkOption { readOnly = true; type = types.str; default = trivial.release; description = "The NixOS release (e.g. 16.03)."; }; - nixos.versionSuffix = mkOption { + versionSuffix = mkOption { internal = true; type = types.str; default = trivial.versionSuffix; description = "The NixOS version suffix (e.g. 1160.f2d4ee1)."; }; - nixos.revision = mkOption { + revision = mkOption { internal = true; type = types.str; default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo @@ -43,7 +43,7 @@ in description = "The Git revision from which this NixOS configuration was built."; }; - nixos.codeName = mkOption { + codeName = mkOption { readOnly = true; type = types.str; description = "The NixOS release code name (e.g. Emu)."; @@ -76,6 +76,9 @@ in config = { + warnings = lib.optional (options.system.nixos.stateVersion.highestPrio > 1000) + "You don't have `system.nixos.stateVersion` explicitly set. Expect things to break."; + system.nixos = { # These defaults are set here rather than up there so that # changing them would not rebuild the manual diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 505c5497d36..5e0c3c369d7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -9,6 +9,7 @@ ./config/fonts/ghostscript.nix ./config/gnu.nix ./config/i18n.nix + ./config/iproute2.nix ./config/krb5/default.nix ./config/ldap.nix ./config/networking.nix @@ -167,14 +168,13 @@ ./services/backup/mysql-backup.nix ./services/backup/postgresql-backup.nix ./services/backup/restic.nix + ./services/backup/restic-rest-server.nix ./services/backup/rsnapshot.nix ./services/backup/tarsnap.nix ./services/backup/znapzend.nix - ./services/cluster/fleet.nix ./services/cluster/kubernetes/default.nix ./services/cluster/kubernetes/dns.nix ./services/cluster/kubernetes/dashboard.nix - ./services/cluster/panamax.nix ./services/computing/boinc/client.nix ./services/computing/torque/server.nix ./services/computing/torque/mom.nix @@ -215,6 +215,7 @@ ./services/desktops/accountsservice.nix ./services/desktops/dleyna-renderer.nix ./services/desktops/dleyna-server.nix + ./services/desktops/flatpak.nix ./services/desktops/geoclue2.nix ./services/desktops/pipewire.nix ./services/desktops/gnome3/at-spi2-core.nix @@ -514,6 +515,7 @@ ./services/networking/murmur.nix ./services/networking/namecoind.nix ./services/networking/nat.nix + ./services/networking/ndppd.nix ./services/networking/networkmanager.nix ./services/networking/nftables.nix ./services/networking/ngircd.nix @@ -649,6 +651,7 @@ ./services/web-apps/tt-rss.nix ./services/web-apps/selfoss.nix ./services/web-apps/quassel-webserver.nix + ./services/web-apps/youtrack.nix ./services/web-servers/apache-httpd/default.nix ./services/web-servers/caddy.nix ./services/web-servers/fcgiwrap.nix @@ -780,6 +783,7 @@ ./virtualisation/hyperv-guest.nix ./virtualisation/openvswitch.nix ./virtualisation/parallels-guest.nix + ./virtualisation/qemu-guest-agent.nix ./virtualisation/rkt.nix ./virtualisation/virtualbox-guest.nix ./virtualisation/virtualbox-host.nix diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 3bf06a95119..52481d90eab 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -17,6 +17,7 @@ pkgs.ddrescue pkgs.ccrypt pkgs.cryptsetup # needed for dm-crypt volumes + pkgs.mkpasswd # for generating password files # Some networking tools. pkgs.fuse diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index d8845fd8f44..3504a8a924b 100644 --- a/nixos/modules/programs/shell.nix +++ b/nixos/modules/programs/shell.nix @@ -40,7 +40,7 @@ in # Subscribe the root user to the NixOS channel by default. if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then - echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels + echo "${config.system.nixos.defaultChannel} nixos" > $HOME/.nix-channels fi # Create the per-user garbage collector roots directory. diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index a1ead80cc21..8820a6da8c0 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -17,6 +17,7 @@ with lib; (mkRenamedOptionModule [ "networking" "enableIntel2100BGFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) (mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) + (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ]) (mkRenamedOptionModule [ "services" "cadvisor" "host" ] [ "services" "cadvisor" "listenAddress" ]) (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ] @@ -203,6 +204,8 @@ with lib; (mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ]) (mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ]) (mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ]) + (mkRenamedOptionModule [ "system" "stateVersion" ] [ "system" "nixos" "stateVersion" ]) + (mkRenamedOptionModule [ "system" "defaultChannel" ] [ "system" "nixos" "defaultChannel" ]) # Users (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ]) diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix index e430c2ddb90..9e5d636241e 100644 --- a/nixos/modules/security/acme.nix +++ b/nixos/modules/security/acme.nix @@ -257,7 +257,7 @@ in if [ -e /tmp/lastExitCode ] && [ "$(cat /tmp/lastExitCode)" = "0" ]; then ${if data.activationDelay != null then '' - + ${data.preDelay} if [ -d '${lpath}' ]; then @@ -266,6 +266,10 @@ in systemctl --wait start acme-setlive-${cert}.service fi '' else data.postRun} + + # noop ensuring that the "if" block is non-empty even if + # activationDelay == null and postRun == "" + true fi ''; @@ -294,7 +298,7 @@ in chown '${data.user}:${data.group}' '${cpath}' fi ''; - script = + script = '' workdir="$(mktemp -d)" diff --git a/nixos/modules/security/dhparams.nix b/nixos/modules/security/dhparams.nix index 55c75713101..e2b84c3e3b3 100644 --- a/nixos/modules/security/dhparams.nix +++ b/nixos/modules/security/dhparams.nix @@ -1,107 +1,173 @@ { config, lib, pkgs, ... }: -with lib; let + inherit (lib) mkOption types; cfg = config.security.dhparams; -in -{ + + bitType = types.addCheck types.int (b: b >= 16) // { + name = "bits"; + description = "integer of at least 16 bits"; + }; + + paramsSubmodule = { name, config, ... }: { + options.bits = mkOption { + type = bitType; + default = cfg.defaultBitSize; + description = '' + The bit size for the prime that is used during a Diffie-Hellman + key exchange. + ''; + }; + + options.path = mkOption { + type = types.path; + readOnly = true; + description = '' + The resulting path of the generated Diffie-Hellman parameters + file for other services to reference. This could be either a + store path or a file inside the directory specified by + . + ''; + }; + + config.path = let + generated = pkgs.runCommand "dhparams-${name}.pem" { + nativeBuildInputs = [ pkgs.openssl ]; + } "openssl dhparam -out \"$out\" ${toString config.bits}"; + in if cfg.stateful then "${cfg.path}/${name}.pem" else generated; + }; + +in { options = { security.dhparams = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to generate new DH params and clean up old DH params. + ''; + }; + params = mkOption { - description = - '' - Diffie-Hellman parameters to generate. - - The value is the size (in bits) of the DH params to generate. The - generated DH params path can be found in - security.dhparams.path/name.pem. - - Note: The name of the DH params is taken as being the name of the - service it serves: the params will be generated before the said - service is started. - - Warning: If you are removing all dhparams from this list, you have - to leave security.dhparams.enable for at least one activation in - order to have them be cleaned up. This also means if you rollback to - a version without any dhparams the existing ones won't be cleaned - up. - ''; - type = with types; attrsOf int; + type = with types; let + coerce = bits: { inherit bits; }; + in attrsOf (coercedTo int coerce (submodule paramsSubmodule)); default = {}; - example = { nginx = 3072; }; + example = lib.literalExample "{ nginx.bits = 3072; }"; + description = '' + Diffie-Hellman parameters to generate. + + The value is the size (in bits) of the DH params to generate. The + generated DH params path can be found in + config.security.dhparams.params.name.path. + + The name of the DH params is taken as being the name of + the service it serves and the params will be generated before the + said service is started. + + If you are removing all dhparams from this list, you + have to leave for at + least one activation in order to have them be cleaned up. This also + means if you rollback to a version without any dhparams the + existing ones won't be cleaned up. Of course this only applies if + is + true. + + For module implementers:It's recommended + to not set a specific bit size here, so that users can easily + override this by setting + . + ''; + }; + + stateful = mkOption { + type = types.bool; + default = true; + description = '' + Whether generation of Diffie-Hellman parameters should be stateful or + not. If this is enabled, PEM-encoded files for Diffie-Hellman + parameters are placed in the directory specified by + . Otherwise the files are + created within the Nix store. + + If this is false the resulting store + path will be non-deterministic and will be rebuilt every time the + openssl package changes. + ''; + }; + + defaultBitSize = mkOption { + type = bitType; + default = 2048; + description = '' + This allows to override the default bit size for all of the + Diffie-Hellman parameters set in + . + ''; }; path = mkOption { - description = - '' - Path to the directory in which Diffie-Hellman parameters will be - stored. - ''; type = types.str; default = "/var/lib/dhparams"; - }; - - enable = mkOption { - description = - '' - Whether to generate new DH params and clean up old DH params. - ''; - default = false; - type = types.bool; + description = '' + Path to the directory in which Diffie-Hellman parameters will be + stored. This only is relevant if + is + true. + ''; }; }; }; - config = mkIf cfg.enable { + config = lib.mkIf (cfg.enable && cfg.stateful) { systemd.services = { dhparams-init = { - description = "Cleanup old Diffie-Hellman parameters"; - wantedBy = [ "multi-user.target" ]; # Clean up even when no DH params is set - serviceConfig.Type = "oneshot"; - script = - # Create directory - '' - if [ ! -d ${cfg.path} ]; then - mkdir -p ${cfg.path} - fi - '' + - # Remove old dhparams - '' - for file in ${cfg.path}/*; do - if [ ! -f "$file" ]; then - continue - fi - '' + concatStrings (mapAttrsToList (name: value: - '' - if [ "$file" == "${cfg.path}/${name}.pem" ] && \ - ${pkgs.openssl}/bin/openssl dhparam -in "$file" -text | head -n 1 | grep "(${toString value} bit)" > /dev/null; then - continue - fi - '' - ) cfg.params) + - '' - rm $file - done + description = "Clean Up Old Diffie-Hellman Parameters"; - # TODO: Ideally this would be removing the *former* cfg.path, though this - # does not seem really important as changes to it are quite unlikely - rmdir --ignore-fail-on-non-empty ${cfg.path} - ''; - }; - } // - mapAttrs' (name: value: nameValuePair "dhparams-gen-${name}" { - description = "Generate Diffie-Hellman parameters for ${name} if they don't exist yet"; - after = [ "dhparams-init.service" ]; - before = [ "${name}.service" ]; + # Clean up even when no DH params is set wantedBy = [ "multi-user.target" ]; + + serviceConfig.RemainAfterExit = true; serviceConfig.Type = "oneshot"; - script = - '' + + script = '' + if [ ! -d ${cfg.path} ]; then mkdir -p ${cfg.path} - if [ ! -f ${cfg.path}/${name}.pem ]; then - ${pkgs.openssl}/bin/openssl dhparam -out ${cfg.path}/${name}.pem ${toString value} + fi + + # Remove old dhparams + for file in ${cfg.path}/*; do + if [ ! -f "$file" ]; then + continue fi - ''; - }) cfg.params; + ${lib.concatStrings (lib.mapAttrsToList (name: { bits, path, ... }: '' + if [ "$file" = ${lib.escapeShellArg path} ] && \ + ${pkgs.openssl}/bin/openssl dhparam -in "$file" -text \ + | head -n 1 | grep "(${toString bits} bit)" > /dev/null; then + continue + fi + '') cfg.params)} + rm $file + done + + # TODO: Ideally this would be removing the *former* cfg.path, though + # this does not seem really important as changes to it are quite + # unlikely + rmdir --ignore-fail-on-non-empty ${cfg.path} + ''; + }; + } // lib.mapAttrs' (name: { bits, path, ... }: lib.nameValuePair "dhparams-gen-${name}" { + description = "Generate Diffie-Hellman Parameters for ${name}"; + after = [ "dhparams-init.service" ]; + before = [ "${name}.service" ]; + wantedBy = [ "multi-user.target" ]; + unitConfig.ConditionPathExists = "!${path}"; + serviceConfig.Type = "oneshot"; + script = '' + mkdir -p ${lib.escapeShellArg cfg.path} + ${pkgs.openssl}/bin/openssl dhparam -out ${lib.escapeShellArg path} \ + ${toString bits} + ''; + }) cfg.params; }; } diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 48998285d89..bef10b4fe61 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -449,6 +449,10 @@ in item, and value attribute. The syntax and semantics of these attributes must be that described in the limits.conf(5) man page. + + Note that these limits do not apply to systemd services, + whose limits can be changed via + instead. ''; }; diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix new file mode 100644 index 00000000000..d4b47a09941 --- /dev/null +++ b/nixos/modules/services/backup/restic-rest-server.nix @@ -0,0 +1,107 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.restic.server; +in +{ + meta.maintainers = [ maintainers.bachp ]; + + options.services.restic.server = { + enable = mkEnableOption "Restic REST Server"; + + listenAddress = mkOption { + default = ":8000"; + example = "127.0.0.1:8080"; + type = types.str; + description = "Listen on a specific IP address and port."; + }; + + dataDir = mkOption { + default = "/var/lib/restic"; + type = types.path; + description = "The directory for storing the restic repository."; + }; + + appendOnly = mkOption { + default = false; + type = types.bool; + description = '' + Enable append only mode. + This mode allows creation of new backups but prevents deletion and modification of existing backups. + This can be useful when backing up systems that have a potential of being hacked. + ''; + }; + + privateRepos = mkOption { + default = false; + type = types.bool; + description = '' + Enable private repos. + Grants access only when a subdirectory with the same name as the user is specified in the repository URL. + ''; + }; + + prometheus = mkOption { + default = false; + type = types.bool; + description = "Enable Prometheus metrics at /metrics."; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options to pass to Restic REST server. + ''; + }; + + package = mkOption { + default = pkgs.restic-rest-server; + defaultText = "pkgs.restic-rest-server"; + type = types.package; + description = "Restic REST server package to use."; + }; + }; + + config = mkIf cfg.enable { + systemd.services.restic-rest-server = { + description = "Restic REST Server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = '' + ${cfg.package}/bin/rest-server \ + --listen ${cfg.listenAddress} \ + --path ${cfg.dataDir} \ + ${optionalString cfg.appendOnly "--append-only"} \ + ${optionalString cfg.privateRepos "--private-repos"} \ + ${optionalString cfg.prometheus "--prometheus"} \ + ${escapeShellArgs cfg.extraFlags} \ + ''; + Type = "simple"; + User = "restic"; + Group = "restic"; + + # Security hardening + ReadWritePaths = [ cfg.dataDir ]; + PrivateTmp = true; + ProtectSystem = "strict"; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + PrivateDevices = true; + }; + }; + + users.extraUsers.restic = { + group = "restic"; + home = cfg.dataDir; + createHome = true; + uid = config.ids.uids.restic; + }; + + users.extraGroups.restic.gid = config.ids.uids.restic; + }; +} diff --git a/nixos/modules/services/cluster/fleet.nix b/nixos/modules/services/cluster/fleet.nix deleted file mode 100644 index ec03be39594..00000000000 --- a/nixos/modules/services/cluster/fleet.nix +++ /dev/null @@ -1,150 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.fleet; - -in { - - ##### Interface - options.services.fleet = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable fleet service. - ''; - }; - - listen = mkOption { - type = types.listOf types.str; - default = [ "/var/run/fleet.sock" ]; - example = [ "/var/run/fleet.sock" "127.0.0.1:49153" ]; - description = '' - Fleet listening addresses. - ''; - }; - - etcdServers = mkOption { - type = types.listOf types.str; - default = [ "http://127.0.0.1:2379" ]; - description = '' - Fleet list of etcd endpoints to use. - ''; - }; - - publicIp = mkOption { - type = types.nullOr types.str; - default = ""; - description = '' - Fleet IP address that should be published with the local Machine's - state and any socket information. If not set, fleetd will attempt - to detect the IP it should publish based on the machine's IP - routing information. - ''; - }; - - etcdCafile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Fleet TLS ca file when SSL certificate authentication is enabled - in etcd endpoints. - ''; - }; - - etcdKeyfile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Fleet TLS key file when SSL certificate authentication is enabled - in etcd endpoints. - ''; - }; - - etcdCertfile = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Fleet TLS cert file when SSL certificate authentication is enabled - in etcd endpoints. - ''; - }; - - metadata = mkOption { - type = types.attrsOf types.str; - default = {}; - apply = attrs: concatMapStringsSep "," (n: "${n}=${attrs."${n}"}") (attrNames attrs); - example = literalExample '' - { - region = "us-west"; - az = "us-west-1"; - } - ''; - description = '' - Key/value pairs that are published with the local to the fleet registry. - This data can be used directly by a client of fleet to make scheduling decisions. - ''; - }; - - extraConfig = mkOption { - type = types.attrsOf types.str; - apply = mapAttrs' (n: v: nameValuePair ("FLEET_" + n) v); - default = {}; - example = literalExample '' - { - VERBOSITY = 1; - ETCD_REQUEST_TIMEOUT = "2.0"; - AGENT_TTL = "40s"; - } - ''; - description = '' - Fleet extra config. See - - for configuration options. - ''; - }; - - }; - - ##### Implementation - config = mkIf cfg.enable { - systemd.services.fleet = { - description = "Fleet Init System Daemon"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "fleet.socket" "etcd.service" "docker.service" ]; - requires = [ "fleet.socket" ]; - environment = { - FLEET_ETCD_SERVERS = concatStringsSep "," cfg.etcdServers; - FLEET_PUBLIC_IP = cfg.publicIp; - FLEET_ETCD_CAFILE = cfg.etcdCafile; - FLEET_ETCD_KEYFILE = cfg.etcdKeyfile; - FLEET_ETCD_CERTFILE = cfg.etcdCertfile; - FLEET_METADATA = cfg.metadata; - } // cfg.extraConfig; - serviceConfig = { - ExecStart = "${pkgs.fleet}/bin/fleetd"; - Group = "fleet"; - }; - }; - - systemd.sockets.fleet = { - description = "Fleet Socket for the API"; - wantedBy = [ "sockets.target" ]; - listenStreams = cfg.listen; - socketConfig = { - ListenStream = "/var/run/fleet.sock"; - SocketMode = "0660"; - SocketUser = "root"; - SocketGroup = "fleet"; - }; - }; - - services.etcd.enable = mkDefault true; - virtualisation.docker.enable = mkDefault true; - - environment.systemPackages = [ pkgs.fleet ]; - users.extraGroups.fleet.gid = config.ids.gids.fleet; - }; -} diff --git a/nixos/modules/services/cluster/panamax.nix b/nixos/modules/services/cluster/panamax.nix deleted file mode 100644 index 4475e8d8c24..00000000000 --- a/nixos/modules/services/cluster/panamax.nix +++ /dev/null @@ -1,156 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.panamax; - - panamax_api = pkgs.panamax_api.override { dataDir = cfg.dataDir + "/api"; }; - panamax_ui = pkgs.panamax_ui.override { dataDir = cfg.dataDir + "/ui"; }; - -in { - - ##### Interface - options.services.panamax = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable Panamax service. - ''; - }; - - UIPort = mkOption { - type = types.int; - default = 8888; - description = '' - Panamax UI listening port. - ''; - }; - - APIPort = mkOption { - type = types.int; - default = 3000; - description = '' - Panamax UI listening port. - ''; - }; - - dataDir = mkOption { - type = types.str; - default = "/var/lib/panamax"; - description = '' - Data dir for Panamax. - ''; - }; - - fleetctlEndpoint = mkOption { - type = types.str; - default = "http://127.0.0.1:2379"; - description = '' - Panamax fleetctl endpoint. - ''; - }; - - journalEndpoint = mkOption { - type = types.str; - default = "http://127.0.0.1:19531"; - description = '' - Panamax journal endpoint. - ''; - }; - - secretKey = mkOption { - type = types.str; - default = "SomethingVeryLong."; - description = '' - Panamax secret key (do change this). - ''; - }; - - }; - - ##### Implementation - config = mkIf cfg.enable { - systemd.services.panamax-api = { - description = "Panamax API"; - - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "fleet.service" "etcd.service" "docker.service" ]; - - path = [ panamax_api ]; - environment = { - RAILS_ENV = "production"; - JOURNAL_ENDPOINT = cfg.journalEndpoint; - FLEETCTL_ENDPOINT = cfg.fleetctlEndpoint; - PANAMAX_DATABASE_PATH = "${cfg.dataDir}/api/db/mnt/db.sqlite3"; - }; - - preStart = '' - rm -rf ${cfg.dataDir}/state/tmp - mkdir -p ${cfg.dataDir}/api/{db/mnt,state/log,state/tmp} - ln -sf ${panamax_api}/share/panamax-api/_db/{schema.rb,seeds.rb,migrate} ${cfg.dataDir}/api/db/ - - if [ ! -f ${cfg.dataDir}/.created ]; then - bundle exec rake db:setup - bundle exec rake db:seed - bundle exec rake panamax:templates:load || true - touch ${cfg.dataDir}/.created - else - bundle exec rake db:migrate - fi - ''; - - serviceConfig = { - ExecStart = "${panamax_api}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.APIPort}"; - User = "panamax"; - Group = "panamax"; - }; - }; - - systemd.services.panamax-ui = { - description = "Panamax UI"; - - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "panamax_api.service" ]; - - path = [ panamax_ui ]; - environment = { - RAILS_ENV = "production"; - JOURNAL_ENDPOINT = cfg.journalEndpoint; - PMX_API_PORT_3000_TCP_ADDR = "localhost"; - PMX_API_PORT_3000_TCP_PORT = toString cfg.APIPort; - SECRET_KEY_BASE = cfg.secretKey; - }; - - preStart = '' - mkdir -p ${cfg.dataDir}/ui/state/{log,tmp} - chown -R panamax:panamax ${cfg.dataDir} - ''; - - serviceConfig = { - ExecStart = "${panamax_ui}/bin/bundle exec rails server --binding 127.0.0.1 --port ${toString cfg.UIPort}"; - User = "panamax"; - Group = "panamax"; - PermissionsStartOnly = true; - }; - }; - - users.extraUsers.panamax = - { uid = config.ids.uids.panamax; - description = "Panamax user"; - createHome = true; - home = cfg.dataDir; - extraGroups = [ "docker" ]; - }; - - services.journald.enableHttpGateway = mkDefault true; - services.fleet.enable = mkDefault true; - services.cadvisor.enable = mkDefault true; - services.cadvisor.port = mkDefault 3002; - virtualisation.docker.enable = mkDefault true; - - environment.systemPackages = [ panamax_api panamax_ui ]; - users.extraGroups.panamax.gid = config.ids.gids.panamax; - }; -} diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 21a131b90a8..66c9330c355 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -218,7 +218,7 @@ in config = mkIf config.services.mysql.enable { services.mysql.dataDir = - mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql" + mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/mysql" else "/var/mysql"); users.extraUsers.mysql = { diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index f022e0863df..4ad4728ccda 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -147,7 +147,7 @@ in }; superUser = mkOption { type = types.str; - default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root"; + default= if versionAtLeast config.system.nixos.stateVersion "17.09" then "postgres" else "root"; internal = true; description = '' NixOS traditionally used 'root' as superuser, most other distros use 'postgres'. @@ -166,14 +166,14 @@ in services.postgresql.package = # Note: when changing the default, make it conditional on - # ‘system.stateVersion’ to maintain compatibility with existing + # ‘system.nixos.stateVersion’ to maintain compatibility with existing # systems! - mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql96 - else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95 + mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then pkgs.postgresql96 + else if versionAtLeast config.system.nixos.stateVersion "16.03" then pkgs.postgresql95 else pkgs.postgresql94); services.postgresql.dataDir = - mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}" + mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}" else "/var/db/postgresql"); services.postgresql.authentication = mkAfter diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix new file mode 100644 index 00000000000..024dc65629a --- /dev/null +++ b/nixos/modules/services/desktops/flatpak.nix @@ -0,0 +1,52 @@ +# flatpak service. +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.flatpak; +in { + meta = { + doc = ./flatpak.xml; + maintainers = pkgs.flatpak.meta.maintainers; + }; + + ###### interface + options = { + services.flatpak = { + enable = mkEnableOption "flatpak"; + + extraPortals = mkOption { + type = types.listOf types.package; + default = []; + description = '' + List of additional portals to add to path. Portals allow interaction + with system, like choosing files or taking screenshots. At minimum, + a desktop portal implementation should be listed. GNOME already + adds xdg-desktop-portal-gtk; for KDE, there + is xdg-desktop-portal-kde. Other desktop + environments will probably want to do the same. + ''; + }; + }; + }; + + + ###### implementation + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.flatpak ]; + + services.dbus.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; + + systemd.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; + + environment.variables = { + PATH = [ + "$HOME/.local/share/flatpak/exports/bin" + "/var/lib/flatpak/exports/bin" + ]; + + XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals; + }; + }; +} diff --git a/nixos/modules/services/desktops/flatpak.xml b/nixos/modules/services/desktops/flatpak.xml new file mode 100644 index 00000000000..d9c8b711c45 --- /dev/null +++ b/nixos/modules/services/desktops/flatpak.xml @@ -0,0 +1,53 @@ + + +Flatpak + +Source: modules/services/desktop/flatpak.nix + +Upstream documentation: + +Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux. + + + To enable Flatpak, add the following to your configuration.nix: + + + = true; + + + + + For the sandboxed apps to work correctly, desktop integration portals need to be installed. If you run GNOME, this will be handled automatically for you; in other cases, you will need to add something like the following to your configuration.nix: + + + = [ pkgs.xdg-desktop-portal-gtk ]; + + + + + Then, you will need to add a repository, for example, Flathub, either using the following commands: + + + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + flatpak update + + + or by opening the repository file in GNOME Software. + + + + Finally, you can search and install programs: + + + flatpak search bustle + flatpak install flathub org.freedesktop.Bustle + flatpak run org.freedesktop.Bustle + + + Again, GNOME Software offers graphical interface for these tasks. + + diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index 543e732127a..50477fdd25b 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -25,6 +25,7 @@ let ssl_cert = <${cfg.sslServerCert} ssl_key = <${cfg.sslServerKey} ${optionalString (!(isNull cfg.sslCACert)) ("ssl_ca = <" + cfg.sslCACert)} + ssl_dh = <${config.security.dhparams.params.dovecot2.path} disable_plaintext_auth = yes '') @@ -297,10 +298,13 @@ in config = mkIf cfg.enable { - security.pam.services.dovecot2 = mkIf cfg.enablePAM {}; - services.dovecot2.protocols = + security.dhparams = mkIf (! isNull cfg.sslServerCert) { + enable = true; + params.dovecot2 = {}; + }; + services.dovecot2.protocols = optional cfg.enableImap "imap" ++ optional cfg.enablePop3 "pop3" ++ optional cfg.enableLmtp "lmtp"; diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix index 7e880ad09b8..f7441988b27 100644 --- a/nixos/modules/services/misc/matrix-synapse.nix +++ b/nixos/modules/services/misc/matrix-synapse.nix @@ -342,7 +342,7 @@ in { }; database_type = mkOption { type = types.enum [ "sqlite3" "psycopg2" ]; - default = if versionAtLeast config.system.stateVersion "18.03" + default = if versionAtLeast config.system.nixos.stateVersion "18.03" then "psycopg2" else "sqlite3"; description = '' @@ -395,7 +395,14 @@ in { }; url_preview_ip_range_blacklist = mkOption { type = types.listOf types.str; - default = []; + default = [ + "127.0.0.0/8" + "10.0.0.0/8" + "172.16.0.0/12" + "192.168.0.0/16" + "100.64.0.0/10" + "169.254.0.0/16" + ]; description = '' List of IP address CIDR ranges that the URL preview spider is denied from accessing. @@ -412,14 +419,7 @@ in { }; url_preview_url_blacklist = mkOption { type = types.listOf types.str; - default = [ - "127.0.0.0/8" - "10.0.0.0/8" - "172.16.0.0/12" - "192.168.0.0/16" - "100.64.0.0/10" - "169.254.0.0/16" - ]; + default = []; description = '' Optional list of URL matches that the URL preview spider is denied from accessing. diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix index effa29b64f6..468c7f36ecc 100644 --- a/nixos/modules/services/misc/mesos-slave.nix +++ b/nixos/modules/services/misc/mesos-slave.nix @@ -187,7 +187,7 @@ in { systemd.services.mesos-slave = { description = "Mesos Slave"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + after = [ "network.target" ] ++ optionals cfg.withDocker [ "docker.service" ] ; path = [ pkgs.runtimeShellPackage ]; serviceConfig = { ExecStart = '' diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index 39a4fd6beff..e2122ddb8ed 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -14,7 +14,7 @@ let (optionalString (cfg.defaultMode == "norouting") "--routing=none") ] ++ cfg.extraFlags); - defaultDataDir = if versionAtLeast config.system.stateVersion "17.09" then + defaultDataDir = if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/ipfs" else "/var/lib/ipfs/.ipfs"; diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index 20c0b0acf16..c4bd0e7f9ee 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -242,6 +242,9 @@ let # Don't allow traffic to leak out until the script has completed ip46tables -A INPUT -j nixos-drop + + ${cfg.extraStopCommands} + if ${startScript}; then ip46tables -D INPUT -j nixos-drop 2>/dev/null || true else diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix index 02cd53c6fa3..008b09e81a5 100644 --- a/nixos/modules/services/networking/gnunet.nix +++ b/nixos/modules/services/networking/gnunet.nix @@ -102,6 +102,14 @@ in }; }; + package = mkOption { + type = types.package; + default = pkgs.gnunet; + defaultText = "pkgs.gnunet"; + description = "Overridable attribute of the gnunet package to use."; + example = literalExample "pkgs.gnunet_git"; + }; + extraOptions = mkOption { default = ""; description = '' @@ -130,16 +138,16 @@ in # The user tools that talk to `gnunetd' should come from the same source, # so install them globally. - environment.systemPackages = [ pkgs.gnunet ]; + environment.systemPackages = [ cfg.package ]; systemd.services.gnunet = { description = "GNUnet"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.gnunet pkgs.miniupnpc ]; + path = [ cfg.package pkgs.miniupnpc ]; environment.TMPDIR = "/tmp"; serviceConfig.PrivateTemp = true; - serviceConfig.ExecStart = "${pkgs.gnunet}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}"; + serviceConfig.ExecStart = "${cfg.package}/lib/gnunet/libexec/gnunet-service-arm -c ${configFile}"; serviceConfig.User = "gnunet"; serviceConfig.UMask = "0007"; serviceConfig.WorkingDirectory = homeDir; diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix index bf2d0916fa3..63f56437d1c 100644 --- a/nixos/modules/services/networking/hostapd.nix +++ b/nixos/modules/services/networking/hostapd.nix @@ -151,11 +151,6 @@ in config = mkIf cfg.enable { - assertions = [ - { assertion = (cfg.channel >= 1 && cfg.channel <= 13); - message = "channel must be between 1 and 13"; - }]; - environment.systemPackages = [ pkgs.hostapd ]; systemd.services.hostapd = diff --git a/nixos/modules/services/networking/keepalived/default.nix b/nixos/modules/services/networking/keepalived/default.nix index 378cd936584..c9ac2ee2599 100644 --- a/nixos/modules/services/networking/keepalived/default.nix +++ b/nixos/modules/services/networking/keepalived/default.nix @@ -8,10 +8,12 @@ let keepalivedConf = pkgs.writeText "keepalived.conf" '' global_defs { + ${optionalString cfg.enableScriptSecurity "enable_script_security"} ${snmpGlobalDefs} ${cfg.extraGlobalDefs} } + ${vrrpScriptStr} ${vrrpInstancesStr} ${cfg.extraConfig} ''; @@ -26,6 +28,22 @@ let + optionalString enableTraps "enable_traps" ); + vrrpScriptStr = concatStringsSep "\n" (map (s: + '' + vrrp_script ${s.name} { + script "${s.script}" + interval ${toString s.interval} + fall ${toString s.fall} + rise ${toString s.rise} + timeout ${toString s.timeout} + weight ${toString s.weight} + user ${s.user} ${optionalString (s.group != null) s.group} + + ${s.extraConfig} + } + '' + ) vrrpScripts); + vrrpInstancesStr = concatStringsSep "\n" (map (i: '' vrrp_instance ${i.name} { @@ -49,6 +67,18 @@ let ${concatMapStringsSep "\n" virtualIpLine i.virtualIps} } + ${optionalString (builtins.length i.trackScripts > 0) '' + track_script { + ${concatStringsSep "\n" i.trackScripts} + } + ''} + + ${optionalString (builtins.length i.trackInterfaces > 0) '' + track_interface { + ${concatStringsSep "\n" i.trackInterfaces} + } + ''} + ${i.extraConfig} } '' @@ -64,6 +94,12 @@ let notNullOrEmpty = s: !(s == null || s == ""); + vrrpScripts = mapAttrsToList (name: config: + { + inherit name; + } // config + ) cfg.vrrpScripts; + vrrpInstances = mapAttrsToList (iName: iConfig: { name = iName; @@ -86,7 +122,8 @@ let { assertion = !i.vmacXmitBase || i.useVmac; message = "services.keepalived.vrrpInstances.${i.name}.vmacXmitBase has no effect when services.keepalived.vrrpInstances.${i.name}.useVmac is not set."; } - ] ++ flatten (map (virtualIpAssertions i.name) i.virtualIps); + ] ++ flatten (map (virtualIpAssertions i.name) i.virtualIps) + ++ flatten (map (vrrpScriptAssertion i.name) i.trackScripts); virtualIpAssertions = vrrpName: ip: [ { assertion = ip.addr != ""; @@ -94,6 +131,11 @@ let } ]; + vrrpScriptAssertion = vrrpName: scriptName: { + assertion = builtins.hasAttr scriptName cfg.vrrpScripts; + message = "services.keepalived.vrrpInstances.${vrrpName} trackscript ${scriptName} is not defined in services.keepalived.vrrpScripts."; + }; + pidFile = "/run/keepalived.pid"; in @@ -110,6 +152,14 @@ in ''; }; + enableScriptSecurity = mkOption { + type = types.bool; + default = false; + description = '' + Don't run scripts configured to be run as root if any part of the path is writable by a non-root user. + ''; + }; + snmp = { enable = mkOption { @@ -181,8 +231,16 @@ in }; + vrrpScripts = mkOption { + type = types.attrsOf (types.submodule (import ./vrrp-script-options.nix { + inherit lib; + })); + default = {}; + description = "Declarative vrrp script config"; + }; + vrrpInstances = mkOption { - type = types.attrsOf (types.submodule (import ./vrrp-options.nix { + type = types.attrsOf (types.submodule (import ./vrrp-instance-options.nix { inherit lib; })); default = {}; diff --git a/nixos/modules/services/networking/keepalived/vrrp-options.nix b/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix similarity index 88% rename from nixos/modules/services/networking/keepalived/vrrp-options.nix rename to nixos/modules/services/networking/keepalived/vrrp-instance-options.nix index 79eff3ae541..85b9bc33772 100644 --- a/nixos/modules/services/networking/keepalived/vrrp-options.nix +++ b/nixos/modules/services/networking/keepalived/vrrp-instance-options.nix @@ -108,6 +108,20 @@ with lib; description = "Declarative vhost config"; }; + trackScripts = mkOption { + type = types.listOf types.str; + default = []; + example = [ "chk_cmd1" "chk_cmd2" ]; + description = "List of script names to invoke for health tracking."; + }; + + trackInterfaces = mkOption { + type = types.listOf types.str; + default = []; + example = [ "eth0" "eth1" ]; + description = "List of network interfaces to monitor for health tracking."; + }; + extraConfig = mkOption { type = types.lines; default = ""; diff --git a/nixos/modules/services/networking/keepalived/vrrp-script-options.nix b/nixos/modules/services/networking/keepalived/vrrp-script-options.nix new file mode 100644 index 00000000000..a3f794c40a8 --- /dev/null +++ b/nixos/modules/services/networking/keepalived/vrrp-script-options.nix @@ -0,0 +1,64 @@ +{ lib } : + +with lib; +with lib.types; +{ + options = { + + script = mkOption { + type = str; + example = "\${pkgs.curl} -f http://localhost:80"; + description = "(Path of) Script command to execute followed by args, i.e. cmd [args]..."; + }; + + interval = mkOption { + type = int; + default = 1; + description = "Seconds between script invocations."; + }; + + timeout = mkOption { + type = int; + default = 5; + description = "Seconds after which script is considered to have failed."; + }; + + weight = mkOption { + type = int; + default = 0; + description = "Following a failure, adjust the priority by this weight."; + }; + + rise = mkOption { + type = int; + default = 5; + description = "Required number of successes for OK transition."; + }; + + fall = mkOption { + type = int; + default = 3; + description = "Required number of failures for KO transition."; + }; + + user = mkOption { + type = str; + default = "keepalived_script"; + description = "Name of user to run the script under."; + }; + + group = mkOption { + type = nullOr str; + default = null; + description = "Name of group to run the script under. Defaults to user group."; + }; + + extraConfig = mkOption { + type = lines; + default = ""; + description = "Extra lines to be added verbatim to the vrrp_script section."; + }; + + }; + +} diff --git a/nixos/modules/services/networking/matterbridge.nix b/nixos/modules/services/networking/matterbridge.nix index 5526e2ba23a..e2f47840595 100644 --- a/nixos/modules/services/networking/matterbridge.nix +++ b/nixos/modules/services/networking/matterbridge.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: +{ options, config, pkgs, lib, ... }: with lib; @@ -6,7 +6,11 @@ let cfg = config.services.matterbridge; - matterbridgeConfToml = pkgs.writeText "matterbridge.toml" (cfg.configFile); + matterbridgeConfToml = + if cfg.configPath == null then + pkgs.writeText "matterbridge.toml" (cfg.configFile) + else + cfg.configPath; in @@ -15,17 +19,32 @@ in services.matterbridge = { enable = mkEnableOption "Matterbridge chat platform bridge"; + configPath = mkOption { + type = with types; nullOr str; + default = null; + example = "/etc/nixos/matterbridge.toml"; + description = '' + The path to the matterbridge configuration file. + ''; + }; + configFile = mkOption { type = types.str; example = '' - #WARNING: as this file contains credentials, be sure to set correct file permissions [irc] + # WARNING: as this file contains credentials, do not use this option! + # It is kept only for backwards compatibility, and would cause your + # credentials to be in the nix-store, thus with the world-readable + # permission bits. + # Use services.matterbridge.configPath instead. + + [irc] [irc.freenode] Server="irc.freenode.net:6667" Nick="matterbot" [mattermost] [mattermost.work] - #do not prefix it wit http:// or https:// + # Do not prefix it with http:// or https:// Server="yourmattermostserver.domain" Team="yourteam" Login="yourlogin" @@ -44,6 +63,10 @@ in channel="off-topic" ''; description = '' + WARNING: THIS IS INSECURE, as your password will end up in + /nix/store, thus publicly readable. Use + services.matterbridge.configPath instead. + The matterbridge configuration file in the TOML file format. ''; }; @@ -65,32 +88,31 @@ in }; }; - config = mkMerge [ - (mkIf cfg.enable { + config = mkIf cfg.enable { + warnings = optional options.services.matterbridge.configFile.isDefined + "The option services.matterbridge.configFile is insecure and should be replaced with services.matterbridge.configPath"; - users.extraUsers = mkIf (cfg.user == "matterbridge") [ - { name = "matterbridge"; - group = "matterbridge"; - } ]; - - users.extraGroups = mkIf (cfg.group == "matterbridge") [ - { name = "matterbridge"; - } ]; - - systemd.services.matterbridge = { - description = "Matterbridge chat platform bridge"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - serviceConfig = { - User = cfg.user; - Group = cfg.group; - ExecStart = "${pkgs.matterbridge.bin}/bin/matterbridge -conf ${matterbridgeConfToml}"; - Restart = "always"; - RestartSec = "10"; - }; + users.extraUsers = optional (cfg.user == "matterbridge") + { name = "matterbridge"; + group = "matterbridge"; }; - }) - ]; -} + users.extraGroups = optional (cfg.group == "matterbridge") + { name = "matterbridge"; + }; + + systemd.services.matterbridge = { + description = "Matterbridge chat platform bridge"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart = "${pkgs.matterbridge.bin}/bin/matterbridge -conf ${matterbridgeConfToml}"; + Restart = "always"; + RestartSec = "10"; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix index 61d063dbfe0..6401631bf62 100644 --- a/nixos/modules/services/networking/minidlna.nix +++ b/nixos/modules/services/networking/minidlna.nix @@ -1,23 +1,16 @@ # Module for MiniDLNA, a simple DLNA server. - { config, lib, pkgs, ... }: with lib; let - cfg = config.services.minidlna; - port = 8200; - in { - ###### interface - options = { - services.minidlna.enable = mkOption { type = types.bool; default = false; @@ -43,24 +36,48 @@ in ''; }; + services.minidlna.loglevel = mkOption { + type = types.str; + default = "warn"; + example = "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn"; + description = + '' + Defines the type of messages that should be logged, and down to + which level of importance they should be considered. + + The possible types are “artwork”, “database”, “general”, “http”, + “inotify”, “metadata”, “scanner”, “ssdp” and “tivo”. + + The levels are “off”, “fatal”, “error”, “warn”, “info” and + “debug”, listed here in order of decreasing importance. “off” + turns off logging messages entirely, “fatal” logs the most + critical messages only, and so on down to “debug” that logs every + single messages. + + The types are comma-separated, followed by an equal sign (‘=’), + followed by a level that applies to the preceding types. This can + be repeated, separating each of these constructs with a comma. + + Defaults to “general,artwork,database,inotify,scanner,metadata, + http,ssdp,tivo=warn” which logs every type of message at the + “warn” level. + ''; + }; + services.minidlna.config = mkOption { type = types.lines; description = "The contents of MiniDLNA's configuration file."; }; - }; - ###### implementation - config = mkIf cfg.enable { - services.minidlna.config = '' port=${toString port} friendly_name=${config.networking.hostName} MiniDLNA db_dir=/var/cache/minidlna - log_level=warn + log_level=${cfg.loglevel} inotify=yes ${concatMapStrings (dir: '' media_dir=${dir} @@ -98,7 +115,5 @@ in " -f ${pkgs.writeText "minidlna.conf" cfg.config}"; }; }; - }; - } diff --git a/nixos/modules/services/networking/ndppd.nix b/nixos/modules/services/networking/ndppd.nix new file mode 100644 index 00000000000..1d6c48dd8d3 --- /dev/null +++ b/nixos/modules/services/networking/ndppd.nix @@ -0,0 +1,47 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.ndppd; + + configFile = pkgs.runCommand "ndppd.conf" {} '' + substitute ${pkgs.ndppd}/etc/ndppd.conf $out \ + --replace eth0 ${cfg.interface} \ + --replace 1111:: ${cfg.network} + ''; +in { + options = { + services.ndppd = { + enable = mkEnableOption "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces"; + interface = mkOption { + type = types.string; + default = "eth0"; + example = "ens3"; + description = "Interface which is on link-level with router."; + }; + network = mkOption { + type = types.string; + default = "1111::"; + example = "2001:DB8::/32"; + description = "Network that we proxy."; + }; + configFile = mkOption { + type = types.nullOr types.path; + default = null; + description = "Path to configuration file."; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.packages = [ pkgs.ndppd ]; + environment.etc."ndppd.conf".source = if (cfg.configFile != null) then cfg.configFile else configFile; + systemd.services.ndppd = { + serviceConfig.RuntimeDirectory = [ "ndppd" ]; + wantedBy = [ "multi-user.target" ]; + }; + }; + + meta.maintainers = with maintainers; [ gnidorah ]; +} diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 10e96eb4036..f4c4adcaaeb 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -10,7 +10,8 @@ let stateDirs = "/var/lib/NetworkManager /var/lib/dhclient /var/lib/misc"; dns = - if cfg.useDnsmasq then "dnsmasq" + if cfg.dns == "none" then "none" + else if cfg.dns == "dnsmasq" then "dnsmasq" else if config.services.resolved.enable then "systemd-resolved" else if config.services.unbound.enable then "unbound" else "default"; @@ -205,14 +206,20 @@ in { }; }; - useDnsmasq = mkOption { - type = types.bool; - default = false; + dns = mkOption { + type = types.enum [ "auto" "dnsmasq" "none" ]; + default = "auto"; 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. + Options: + - auto: Check for systemd-resolved, unbound, or use default. + - dnsmasq: + 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. + - none: + Disable NetworkManager's DNS integration completely. + It will not touch your /etc/resolv.conf. ''; }; diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index 0b52b1d3e30..fc910e59c32 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -20,6 +20,7 @@ let zoneStats = length (collect (x: (x.zoneStats or null) != null) cfg.zones) > 0; }; + mkZoneFileName = name: if name == "." then "root" else name; nsdEnv = pkgs.buildEnv { name = "nsd-env"; @@ -50,8 +51,9 @@ let }; writeZoneData = name: text: pkgs.writeTextFile { - inherit name text; - destination = "/zones/${name}"; + name = "nsd-zone-${mkZoneFileName name}"; + inherit text; + destination = "/zones/${mkZoneFileName name}"; }; @@ -146,7 +148,7 @@ let zoneConfigFile = name: zone: '' zone: name: "${name}" - zonefile: "${stateDir}/zones/${name}" + zonefile: "${stateDir}/zones/${mkZoneFileName name}" ${maybeString "outgoing-interface: " zone.outgoingInterface} ${forEach " rrl-whitelist: " zone.rrlWhitelist} ${maybeString "zonestats: " zone.zoneStats} @@ -887,6 +889,12 @@ in config = mkIf cfg.enable { + assertions = singleton { + assertion = zoneConfigs ? "." -> cfg.rootServer; + message = "You have a root zone configured. If this is really what you " + + "want, please enable 'services.nsd.rootServer'."; + }; + environment.systemPackages = [ nsdPkg ]; users.extraGroups = singleton { diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix index 391f4bdebba..97ee05046ff 100644 --- a/nixos/modules/services/networking/radicale.nix +++ b/nixos/modules/services/networking/radicale.nix @@ -9,7 +9,7 @@ let confFile = pkgs.writeText "radicale.conf" cfg.config; # This enables us to default to version 2 while still not breaking configurations of people with version 1 - defaultPackage = if versionAtLeast config.system.stateVersion "17.09" then { + defaultPackage = if versionAtLeast config.system.nixos.stateVersion "17.09" then { pkg = pkgs.radicale2; text = "pkgs.radicale2"; } else { @@ -35,7 +35,7 @@ in defaultText = defaultPackage.text; description = '' Radicale package to use. This defaults to version 1.x if - system.stateVersion < 17.09 and version 2.x + system.nixos.stateVersion < 17.09 and version 2.x otherwise. ''; }; diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix index 7f09e8893c4..137c3d61018 100644 --- a/nixos/modules/services/security/sshguard.nix +++ b/nixos/modules/services/security/sshguard.nix @@ -133,6 +133,7 @@ in { ReadOnlyDirectories = "/"; ReadWriteDirectories = "/run/sshguard /var/lib/sshguard"; RuntimeDirectory = "sshguard"; + StateDirectory = "sshguard"; CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_RAW"; }; }; diff --git a/nixos/modules/services/web-apps/nexus.nix b/nixos/modules/services/web-apps/nexus.nix index f6a5ce73a12..d5bd0f12feb 100644 --- a/nixos/modules/services/web-apps/nexus.nix +++ b/nixos/modules/services/web-apps/nexus.nix @@ -42,6 +42,34 @@ in default = 8081; description = "Port to listen on."; }; + + jvmOpts = mkOption { + type = types.lines; + default = '' + -Xms1200M + -Xmx1200M + -XX:MaxDirectMemorySize=2G + -XX:+UnlockDiagnosticVMOptions + -XX:+UnsyncloadClass + -XX:+LogVMOutput + -XX:LogFile=${cfg.home}/nexus3/log/jvm.log + -XX:-OmitStackTraceInFastThrow + -Djava.net.preferIPv4Stack=true + -Dkaraf.home=${pkgs.nexus} + -Dkaraf.base=${pkgs.nexus} + -Dkaraf.etc=${pkgs.nexus}/etc/karaf + -Djava.util.logging.config.file=${pkgs.nexus}/etc/karaf/java.util.logging.properties + -Dkaraf.data=${cfg.home}/nexus3 + -Djava.io.tmpdir=${cfg.home}/nexus3/tmp + -Dkaraf.startLocalConsole=false + ''; + + description = '' + Options for the JVM written to `nexus.jvmopts`. + Please refer to the docs (https://help.sonatype.com/repomanager3/installation/configuring-the-runtime-environment) + for further information. + ''; + }; }; }; @@ -63,13 +91,13 @@ in environment = { NEXUS_USER = cfg.user; NEXUS_HOME = cfg.home; + + VM_OPTS_FILE = pkgs.writeText "nexus.vmoptions" cfg.jvmOpts; }; preStart = '' mkdir -p ${cfg.home}/nexus3/etc - ln -sf ${cfg.home} /run/sonatype-work - chown -R ${cfg.user}:${cfg.group} ${cfg.home} if [ ! -f ${cfg.home}/nexus3/etc/nexus.properties ]; then @@ -77,10 +105,10 @@ in echo "application-port=${toString cfg.listenPort}" >> ${cfg.home}/nexus3/etc/nexus.properties echo "application-host=${toString cfg.listenAddress}" >> ${cfg.home}/nexus3/etc/nexus.properties else - sed 's/^application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties - sed 's/^# application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties - sed 's/^application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties - sed 's/^# application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties + sed 's/^application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties + sed 's/^# application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties + sed 's/^application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties + sed 's/^# application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties fi ''; diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix index 2124a42f01a..fe65fba42a4 100644 --- a/nixos/modules/services/web-servers/caddy.nix +++ b/nixos/modules/services/web-servers/caddy.nix @@ -66,7 +66,7 @@ in { description = "Caddy web server"; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; - environment = mkIf (versionAtLeast config.system.stateVersion "17.09") + environment = mkIf (versionAtLeast config.system.nixos.stateVersion "17.09") { CADDYPATH = cfg.dataDir; }; serviceConfig = { ExecStart = '' diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 815c3147e64..0aa780bf6da 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -38,6 +38,7 @@ let ${toString (flip mapAttrsToList upstream.servers (name: server: '' server ${name} ${optionalString server.backup "backup"}; ''))} + ${upstream.extraConfig} } '')); @@ -492,6 +493,13 @@ in ''; default = {}; }; + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + These lines go to the end of the upstream verbatim. + ''; + }; }; }); description = '' diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 10e8ef0ed38..27b62df7097 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -120,6 +120,7 @@ in { services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ]; systemd.packages = [ pkgs.gnome3.vino ]; + services.flatpak.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; # If gnome3 is installed, build vim for gtk3 too. nixpkgs.config.vim.gui = "gtk3"; diff --git a/nixos/modules/services/x11/desktop-managers/xterm.nix b/nixos/modules/services/x11/desktop-managers/xterm.nix index 29752ff405e..6ff1ef0e4c9 100644 --- a/nixos/modules/services/x11/desktop-managers/xterm.nix +++ b/nixos/modules/services/x11/desktop-managers/xterm.nix @@ -12,6 +12,7 @@ in options = { services.xserver.desktopManager.xterm.enable = mkOption { + type = types.bool; default = true; description = "Enable a xterm terminal as a desktop manager."; }; diff --git a/nixos/modules/services/x11/window-managers/stumpwm.nix b/nixos/modules/services/x11/window-managers/stumpwm.nix index 3d3f2e0028c..27a17178476 100644 --- a/nixos/modules/services/x11/window-managers/stumpwm.nix +++ b/nixos/modules/services/x11/window-managers/stumpwm.nix @@ -15,10 +15,10 @@ in services.xserver.windowManager.session = singleton { name = "stumpwm"; start = '' - ${pkgs.stumpwm}/bin/stumpwm & + ${pkgs.lispPackages.stumpwm}/bin/stumpwm & waitPID=$! ''; }; - environment.systemPackages = [ pkgs.stumpwm ]; + environment.systemPackages = [ pkgs.lispPackages.stumpwm ]; }; } diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index 87a4ab2a586..2ce04ed5342 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -4,6 +4,7 @@ use strict; use warnings; use File::Basename; use File::Slurp; +use Net::DBus; use Sys::Syslog qw(:standard :macros); use Cwd 'abs_path'; @@ -67,17 +68,15 @@ EOF $SIG{PIPE} = "IGNORE"; sub getActiveUnits { - # FIXME: use D-Bus or whatever to query this, since parsing the - # output of list-units is likely to break. - # Use current version of systemctl binary before daemon is reexeced. - my $lines = `LANG= /run/current-system/sw/bin/systemctl list-units --full --no-legend`; + my $mgr = Net::DBus->system->get_service("org.freedesktop.systemd1")->get_object("/org/freedesktop/systemd1"); + my $units = $mgr->ListUnitsByPatterns([], []); my $res = {}; - foreach my $line (split '\n', $lines) { - chomp $line; - last if $line eq ""; - $line =~ /^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s/ or next; - next if $1 eq "UNIT"; - $res->{$1} = { load => $2, state => $3, substate => $4 }; + for my $item (@$units) { + my ($id, $description, $load_state, $active_state, $sub_state, + $following, $unit_path, $job_id, $job_type, $job_path) = @$item; + next unless $following eq ''; + next if $job_id == 0 and $active_state eq 'inactive'; + $res->{$id} = { load => $load_state, state => $active_state, substate => $sub_state }; } return $res; } diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 091a2e412ee..e2d1dd49ef0 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -127,7 +127,8 @@ let configurationName = config.boot.loader.grub.configurationName; # Needed by switch-to-configuration. - perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; + + perl = "${pkgs.perl}/bin/perl " + (concatMapStringsSep " " (lib: "-I${lib}/${pkgs.perl.libPrefix}") (with pkgs.perlPackages; [ FileSlurp NetDBus XMLParser XMLTwig ])); } else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"); # Replace runtime dependencies diff --git a/nixos/modules/system/boot/coredump.nix b/nixos/modules/system/boot/coredump.nix index b27a35b6257..30f367da766 100644 --- a/nixos/modules/system/boot/coredump.nix +++ b/nixos/modules/system/boot/coredump.nix @@ -15,8 +15,11 @@ with lib; Enables storing core dumps in systemd. Note that this alone is not enough to enable core dumps. The maximum file size for core dumps must be specified in limits.conf as well. See - as well as the limits.conf(5) - man page. + and the limits.conf(5) + man page (these specify the core dump limits for user login sessions) + and (where e.g. + DefaultLimitCORE=1000000 can be specified to set + the core dump limit for systemd system-level services). ''; }; diff --git a/nixos/modules/system/boot/grow-partition.nix b/nixos/modules/system/boot/grow-partition.nix index 1e6f9e442b6..8c9b1502558 100644 --- a/nixos/modules/system/boot/grow-partition.nix +++ b/nixos/modules/system/boot/grow-partition.nix @@ -30,7 +30,7 @@ with lib; boot.initrd.postDeviceCommands = '' rootDevice="${config.fileSystems."/".device}" - if [ -e "$rootDevice" ]; then + if waitDevice "$rootDevice"; then rootDevice="$(readlink -f "$rootDevice")" parentDevice="$rootDevice" while [ "''${parentDevice%[0-9]}" != "''${parentDevice}" ]; do diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 54dfb53fd30..7ebfdb134d7 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -454,7 +454,6 @@ in ["firewire_ohci" "firewire_core" "firewire_sbp2"]; # Some modules that may be needed for mounting anything ciphered - # Also load input_leds to get caps lock light working (#12456) boot.initrd.availableKernelModules = [ "dm_mod" "dm_crypt" "cryptd" "input_leds" ] ++ luks.cryptoModules # workaround until https://marc.info/?l=linux-crypto-vger&m=148783562211457&w=4 is merged diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 964ec68cfe2..92e68b72664 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -74,6 +74,32 @@ ln -s /proc/mounts /etc/mtab # to shut up mke2fs touch /etc/udev/hwdb.bin # to shut up udev touch /etc/initrd-release +# Function for waiting a device to appear. +waitDevice() { + local device="$1" + + # USB storage devices tend to appear with some delay. It would be + # great if we had a way to synchronously wait for them, but + # alas... So just wait for a few seconds for the device to + # appear. + if test ! -e $device; then + echo -n "waiting for device $device to appear..." + try=20 + while [ $try -gt 0 ]; do + sleep 1 + # also re-try lvm activation now that new block devices might have appeared + lvm vgchange -ay + # and tell udev to create nodes for the new LVs + udevadm trigger --action=add + if test -e $device; then break; fi + echo -n "." + try=$((try - 1)) + done + echo + [ $try -ne 0 ] + fi +} + # Mount special file systems. specialMount() { local device="$1" @@ -377,40 +403,7 @@ lustrateRoot () { exec 4>&- } -# Function for waiting a device to appear. -waitDevice() { - local device="$1" - # USB storage devices tend to appear with some delay. It would be - # great if we had a way to synchronously wait for them, but - # alas... So just wait for a few seconds for the device to - # appear. - if test ! -e $device; then - echo -n "waiting for device $device to appear..." - try=20 - while [ $try -gt 0 ]; do - sleep 1 - # also re-try lvm activation now that new block devices might have appeared - lvm vgchange -ay - # and tell udev to create nodes for the new LVs - udevadm trigger --action=add - if test -e $device; then break; fi - echo -n "." - try=$((try - 1)) - done - echo - [ $try -ne 0 ] - fi -} - - -# Try to resume - all modules are loaded now. -if test -e /sys/power/tuxonice/resume; then - if test -n "$(cat /sys/power/tuxonice/resume)"; then - echo 0 > /sys/power/tuxonice/user_interface/enabled - echo 1 > /sys/power/tuxonice/do_resume || echo "failed to resume..." - fi -fi if test -e /sys/power/resume -a -e /sys/power/disk; then if test -n "@resumeDevice@" && waitDevice "@resumeDevice@"; then diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix index 7c01f8ea9b7..ae9ee8811f7 100644 --- a/nixos/modules/system/boot/systemd-lib.nix +++ b/nixos/modules/system/boot/systemd-lib.nix @@ -2,9 +2,10 @@ with lib; -let cfg = config.systemd; in - -rec { +let + cfg = config.systemd; + lndir = "${pkgs.xorg.lndir}/bin/lndir"; +in rec { shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s); @@ -136,7 +137,13 @@ rec { for i in ${toString cfg.packages}; do for fn in $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*; do if ! [[ "$fn" =~ .wants$ ]]; then - ln -s $fn $out/ + if [[ -d "$fn" ]]; then + targetDir="$out/$(basename "$fn")" + mkdir -p "$targetDir" + ${lndir} "$fn" "$targetDir" + else + ln -s $fn $out/ + fi fi done done @@ -151,7 +158,7 @@ rec { if [ "$(readlink -f $i/$fn)" = /dev/null ]; then ln -sfn /dev/null $out/$fn else - mkdir $out/$fn.d + mkdir -p $out/$fn.d ln -s $i/$fn $out/$fn.d/overrides.conf fi else diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index 5255f1a1b97..2cff25a8c85 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -217,7 +217,7 @@ in rec { environment = mkOption { default = {}; - type = with types; attrsOf (nullOr (either str package)); + type = with types; attrsOf (nullOr (either str (either path package))); example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; }; description = "Environment variables passed to the service's processes."; }; diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix index 41dec2af9ed..3d46ba72493 100644 --- a/nixos/modules/testing/test-instrumentation.nix +++ b/nixos/modules/testing/test-instrumentation.nix @@ -58,6 +58,9 @@ in systemd.services."serial-getty@${qemuSerialDevice}".enable = false; systemd.services."serial-getty@hvc0".enable = false; + # Only use a serial console, no TTY. + virtualisation.qemu.consoles = [ qemuSerialDevice ]; + boot.initrd.preDeviceCommands = '' echo 600 > /proc/sys/kernel/hung_task_timeout_secs @@ -126,6 +129,9 @@ in users.extraUsers.root.initialHashedPassword = mkOverride 150 ""; services.xserver.displayManager.job.logToJournal = true; + + # set default stateVersion to avoid warnings during eval + system.nixos.stateVersion = mkDefault "18.03"; }; } diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index f74c42a777f..e9e935e9020 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -48,13 +48,6 @@ let cfg = config.ec2; in boot.loader.grub.extraPerEntryConfig = mkIf (!cfg.hvm) "root (hd0)"; boot.loader.timeout = 0; - boot.initrd.postDeviceCommands = - '' - # Force udev to exit to prevent random "Device or resource busy - # while trying to open /dev/xvda" errors from fsck. - udevadm control --exit || true - ''; - boot.initrd.network.enable = true; # Mount all formatted ephemeral disks and activate all swap devices. diff --git a/nixos/modules/virtualisation/amazon-options.nix b/nixos/modules/virtualisation/amazon-options.nix index 349fd3adfc9..9ecdcf23e5f 100644 --- a/nixos/modules/virtualisation/amazon-options.nix +++ b/nixos/modules/virtualisation/amazon-options.nix @@ -3,7 +3,7 @@ options = { ec2 = { hvm = lib.mkOption { - default = lib.versionAtLeast config.system.stateVersion "17.03"; + default = lib.versionAtLeast config.system.nixos.stateVersion "17.03"; internal = true; description = '' Whether the EC2 instance is a HVM instance. diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 248c2fc1fb2..c3044ea124c 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -606,8 +606,8 @@ in { config, pkgs, ... }: { services.postgresql.enable = true; services.postgresql.package = pkgs.postgresql96; - - system.stateVersion = "17.03"; + + system.nixos.stateVersion = "17.03"; }; }; } diff --git a/nixos/modules/virtualisation/qemu-guest-agent.nix b/nixos/modules/virtualisation/qemu-guest-agent.nix new file mode 100644 index 00000000000..e0d2b3dc509 --- /dev/null +++ b/nixos/modules/virtualisation/qemu-guest-agent.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.qemuGuest; +in { + + options.services.qemuGuest = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the qemu guest agent."; + }; + }; + + config = mkIf cfg.enable ( + mkMerge [ + { + + services.udev.extraRules = '' + SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", TAG+="systemd" ENV{SYSTEMD_WANTS}="qemu-guest-agent.service" + ''; + + systemd.services.qemu-guest-agent = { + description = "Run the QEMU Guest Agent"; + serviceConfig = { + ExecStart = "${pkgs.kvm.ga}/bin/qemu-ga"; + Restart = "always"; + RestartSec = 0; + }; + }; + } + ] + ); +} diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 66ff43c8547..0abf7b11703 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -23,9 +23,9 @@ let cfg = config.virtualisation; - qemuGraphics = if cfg.graphics then "" else "-nographic"; - kernelConsole = if cfg.graphics then "" else "console=${qemuSerialDevice}"; - ttys = [ "tty1" "tty2" "tty3" "tty4" "tty5" "tty6" ]; + qemuGraphics = lib.optionalString (!cfg.graphics) "-nographic"; + + consoles = lib.concatMapStringsSep " " (c: "console=${c}") cfg.qemu.consoles; # XXX: This is very ugly and in the future we really should use attribute # sets to build ALL of the QEMU flags instead of this mixed mess of Nix @@ -108,7 +108,7 @@ let ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \ -kernel ${config.system.build.toplevel}/kernel \ -initrd ${config.system.build.toplevel}/initrd \ - -append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${kernelConsole} $QEMU_KERNEL_PARAMS" \ + -append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS" \ ''} \ $extraDisks \ ${qemuGraphics} \ @@ -248,9 +248,10 @@ in default = true; description = '' - Whether to run QEMU with a graphics window, or access - the guest computer serial port through the host tty. - ''; + Whether to run QEMU with a graphics window, or in nographic mode. + Serial console will be enabled on both settings, but this will + change the preferred console. + ''; }; virtualisation.cores = @@ -332,6 +333,23 @@ in description = "Options passed to QEMU."; }; + consoles = mkOption { + type = types.listOf types.str; + default = let + consoles = [ "${qemuSerialDevice},115200n8" "tty0" ]; + in if cfg.graphics then consoles else reverseList consoles; + example = [ "console=tty1" ]; + description = '' + The output console devices to pass to the kernel command line via the + console parameter, the primary console is the last + item of this list. + + By default it enables both serial console and + tty0. The preferred console (last one) is based on + the value of . + ''; + }; + networkingOptions = mkOption { default = [ @@ -356,6 +374,15 @@ in type = types.enum [ "virtio" "scsi" "ide" ]; description = "The interface used for the virtual hard disks."; }; + + guestAgent.enable = + mkOption { + default = true; + type = types.bool; + description = '' + Enable the Qemu guest agent. + ''; + }; }; virtualisation.useBootLoader = @@ -507,6 +534,8 @@ in # Don't run ntpd in the guest. It should get the correct time from KVM. services.timesyncd.enable = false; + services.qemuGuest.enable = cfg.qemu.guestAgent.enable; + system.build.vm = pkgs.runCommand "nixos-vm" { preferLocalBuild = true; } '' mkdir -p $out/bin diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index e010b532a68..989764874c4 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -58,6 +58,8 @@ in rec { nixos.ova.x86_64-linux or [] #(all nixos.tests.containers) + (all nixos.tests.containers-imperative) + (all nixos.tests.containers-ipv4) nixos.tests.chromium.x86_64-linux or [] (all nixos.tests.firefox) (all nixos.tests.firewall) @@ -98,6 +100,7 @@ in rec { (all nixos.tests.misc) (all nixos.tests.mutableUsers) (all nixos.tests.nat.firewall) + (all nixos.tests.nat.firewall-conntrack) (all nixos.tests.nat.standalone) (all nixos.tests.networking.scripted.loopback) (all nixos.tests.networking.scripted.static) @@ -112,6 +115,10 @@ in rec { (all nixos.tests.nfs4) (all nixos.tests.openssh) (all nixos.tests.php-pcre) + (all nixos.tests.predictable-interface-names.predictable) + (all nixos.tests.predictable-interface-names.unpredictable) + (all nixos.tests.predictable-interface-names.predictableNetworkd) + (all nixos.tests.predictable-interface-names.unpredictableNetworkd) (all nixos.tests.printing) (all nixos.tests.proxy) (all nixos.tests.sddm.default) diff --git a/nixos/release.nix b/nixos/release.nix index 5b6640f1d3c..4c0bb7bfb75 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -198,6 +198,7 @@ in rec { modules = singleton ({ config, pkgs, ... }: { fileSystems."/".device = mkDefault "/dev/sda1"; boot.loader.grub.device = mkDefault "/dev/sda"; + system.nixos.stateVersion = mkDefault "18.03"; }); }).config.system.build.toplevel; preferLocalBuild = true; @@ -269,6 +270,7 @@ in rec { tests.containers-macvlans = callTest tests/containers-macvlans.nix {}; tests.couchdb = callTest tests/couchdb.nix {}; tests.deluge = callTest tests/deluge.nix {}; + tests.dhparams = callTest tests/dhparams.nix {}; tests.docker = callTestOnMatchingSystems ["x86_64-linux"] tests/docker.nix {}; tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {}; tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {}; @@ -283,8 +285,8 @@ in rec { tests.env = callTest tests/env.nix {}; tests.ferm = callTest tests/ferm.nix {}; tests.firefox = callTest tests/firefox.nix {}; + tests.flatpak = callTest tests/flatpak.nix {}; tests.firewall = callTest tests/firewall.nix {}; - tests.fleet = callTestOnMatchingSystems ["x86_64-linux"] tests/fleet.nix {}; tests.fwupd = callTest tests/fwupd.nix {}; #tests.gitlab = callTest tests/gitlab.nix {}; tests.gitolite = callTest tests/gitolite.nix {}; @@ -313,10 +315,7 @@ in rec { tests.plotinus = callTest tests/plotinus.nix {}; tests.keymap = callSubTests tests/keymap.nix {}; tests.initrdNetwork = callTest tests/initrd-network.nix {}; - tests.kafka_0_9 = callTest tests/kafka_0_9.nix {}; - tests.kafka_0_10 = callTest tests/kafka_0_10.nix {}; - tests.kafka_0_11 = callTest tests/kafka_0_11.nix {}; - tests.kafka_1_0 = callTest tests/kafka_1_0.nix {}; + tests.kafka = callSubTests tests/kafka.nix {}; tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {}; tests.kernel-latest = callTest tests/kernel-latest.nix {}; tests.kernel-lts = callTest tests/kernel-lts.nix {}; @@ -348,6 +347,7 @@ in rec { tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; }; # TODO: put in networking.nix after the test becomes more complete tests.networkingProxy = callTest tests/networking-proxy.nix {}; + tests.nexus = callTest tests/nexus.nix { }; tests.nfs3 = callTest tests/nfs.nix { version = 3; }; tests.nfs4 = callTest tests/nfs.nix { version = 4; }; tests.nginx = callTest tests/nginx.nix { }; @@ -360,7 +360,6 @@ in rec { tests.openldap = callTest tests/openldap.nix {}; tests.owncloud = callTest tests/owncloud.nix {}; tests.pam-oath-login = callTest tests/pam-oath-login.nix {}; - #tests.panamax = callTestOnMatchingSystems ["x86_64-linux"] tests/panamax.nix {}; tests.peerflix = callTest tests/peerflix.nix {}; tests.php-pcre = callTest tests/php-pcre.nix {}; tests.postgresql = callSubTests tests/postgresql.nix {}; @@ -399,6 +398,7 @@ in rec { tests.virtualbox = callSubTestsOnMatchingSystems ["x86_64-linux"] tests/virtualbox.nix {}; tests.wordpress = callTest tests/wordpress.nix {}; tests.xautolock = callTest tests/xautolock.nix {}; + tests.xdg-desktop-portal = callTest tests/xdg-desktop-portal.nix {}; tests.xfce = callTest tests/xfce.nix {}; tests.xmonad = callTest tests/xmonad.nix {}; tests.xrdp = callTest tests/xrdp.nix {}; diff --git a/nixos/tests/acme.nix b/nixos/tests/acme.nix index d7452744e17..21b0fedcfef 100644 --- a/nixos/tests/acme.nix +++ b/nixos/tests/acme.nix @@ -54,9 +54,11 @@ in import ./make-test.nix { }; testScript = '' + $letsencrypt->waitForUnit("default.target"); $letsencrypt->waitForUnit("boulder.service"); - startAll; + $webserver->waitForUnit("default.target"); $webserver->waitForUnit("acme-certificates.target"); + $client->waitForUnit("default.target"); $client->succeed('curl https://example.com/ | grep -qF "hello world"'); ''; } diff --git a/nixos/tests/common/letsencrypt.nix b/nixos/tests/common/letsencrypt.nix index 10cde45d18a..7c6b3b29e36 100644 --- a/nixos/tests/common/letsencrypt.nix +++ b/nixos/tests/common/letsencrypt.nix @@ -386,6 +386,10 @@ in { services.nginx.enable = true; services.nginx.recommendedProxySettings = true; + # This fixes the test on i686 + services.nginx.commonHttpConfig = '' + server_names_hash_bucket_size 64; + ''; services.nginx.virtualHosts.${wfeDomain} = { onlySSL = true; enableACME = false; diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix index 015b79b1cee..a548b17b1ff 100644 --- a/nixos/tests/containers-imperative.nix +++ b/nixos/tests/containers-imperative.nix @@ -17,7 +17,9 @@ import ./make-test.nix ({ pkgs, ...} : { emptyContainer = import ../lib/eval-config.nix { inherit (config.nixpkgs.localSystem) system; modules = lib.singleton { - containers.foo.config = {}; + containers.foo.config = { + system.nixos.stateVersion = "18.03"; + }; }; }; in [ pkgs.stdenv emptyContainer.config.containers.foo.path pkgs.libxslt ]; diff --git a/nixos/tests/containers-ipv4.nix b/nixos/tests/containers-ipv4.nix index 31d05990a67..821ce1cd07d 100644 --- a/nixos/tests/containers-ipv4.nix +++ b/nixos/tests/containers-ipv4.nix @@ -21,6 +21,7 @@ import ./make-test.nix ({ pkgs, ...} : { services.httpd.adminAddr = "foo@example.org"; networking.firewall.allowedTCPPorts = [ 80 ]; networking.firewall.allowPing = true; + system.nixos.stateVersion = "18.03"; }; }; diff --git a/nixos/tests/dhparams.nix b/nixos/tests/dhparams.nix new file mode 100644 index 00000000000..d11dfeec5d0 --- /dev/null +++ b/nixos/tests/dhparams.nix @@ -0,0 +1,144 @@ +let + common = { pkgs, ... }: { + security.dhparams.enable = true; + environment.systemPackages = [ pkgs.openssl ]; + }; + +in import ./make-test.nix { + name = "dhparams"; + + nodes.generation1 = { pkgs, config, ... }: { + imports = [ common ]; + security.dhparams.params = { + # Use low values here because we don't want the test to run for ages. + foo.bits = 16; + # Also use the old format to make sure the type is coerced in the right + # way. + bar = 17; + }; + + systemd.services.foo = { + description = "Check systemd Ordering"; + wantedBy = [ "multi-user.target" ]; + unitConfig = { + # This is to make sure that the dhparams generation of foo occurs + # before this service so we need this service to start as early as + # possible to provoke a race condition. + DefaultDependencies = false; + + # We check later whether the service has been started or not. + ConditionPathExists = config.security.dhparams.params.foo.path; + }; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + # The reason we only provide an ExecStop here is to ensure that we don't + # accidentally trigger an error because a file system is not yet ready + # during very early startup (we might not even have the Nix store + # available, for example if future changes in NixOS use systemd mount + # units to do early file system initialisation). + serviceConfig.ExecStop = "${pkgs.coreutils}/bin/true"; + }; + }; + + nodes.generation2 = { + imports = [ common ]; + security.dhparams.params.foo.bits = 18; + }; + + nodes.generation3 = common; + + nodes.generation4 = { + imports = [ common ]; + security.dhparams.stateful = false; + security.dhparams.params.foo2.bits = 18; + security.dhparams.params.bar2.bits = 19; + }; + + nodes.generation5 = { + imports = [ common ]; + security.dhparams.defaultBitSize = 30; + security.dhparams.params.foo3 = {}; + security.dhparams.params.bar3 = {}; + }; + + testScript = { nodes, ... }: let + getParamPath = gen: name: let + node = "generation${toString gen}"; + in nodes.${node}.config.security.dhparams.params.${name}.path; + + assertParamBits = gen: name: bits: let + path = getParamPath gen name; + in '' + $machine->nest('check bit size of ${path}', sub { + my $out = $machine->succeed('openssl dhparam -in ${path} -text'); + $out =~ /^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$/m; + die "bit size should be ${toString bits} but it is $1 instead." + if $1 != ${toString bits}; + }); + ''; + + switchToGeneration = gen: let + node = "generation${toString gen}"; + inherit (nodes.${node}.config.system.build) toplevel; + switchCmd = "${toplevel}/bin/switch-to-configuration test"; + in '' + $machine->nest('switch to generation ${toString gen}', sub { + $machine->succeed('${switchCmd}'); + $main::machine = ''$${node}; + }); + ''; + + in '' + my $machine = $generation1; + + $machine->waitForUnit('multi-user.target'); + + subtest "verify startup order", sub { + $machine->succeed('systemctl is-active foo.service'); + }; + + subtest "check bit sizes of dhparam files", sub { + ${assertParamBits 1 "foo" 16} + ${assertParamBits 1 "bar" 17} + }; + + ${switchToGeneration 2} + + subtest "check whether bit size has changed", sub { + ${assertParamBits 2 "foo" 18} + }; + + subtest "ensure that dhparams file for 'bar' was deleted", sub { + $machine->fail('test -e ${getParamPath 1 "bar"}'); + }; + + ${switchToGeneration 3} + + subtest "ensure that 'security.dhparams.path' has been deleted", sub { + $machine->fail( + 'test -e ${nodes.generation3.config.security.dhparams.path}' + ); + }; + + ${switchToGeneration 4} + + subtest "check bit sizes dhparam files", sub { + ${assertParamBits 4 "foo2" 18} + ${assertParamBits 4 "bar2" 19} + }; + + subtest "check whether dhparam files are in the Nix store", sub { + $machine->succeed( + 'expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}', + 'expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}', + ); + }; + + ${switchToGeneration 5} + + subtest "check whether defaultBitSize works as intended", sub { + ${assertParamBits 5 "foo3" 30} + ${assertParamBits 5 "bar3" 30} + }; + ''; +} diff --git a/nixos/tests/flatpak.nix b/nixos/tests/flatpak.nix new file mode 100644 index 00000000000..d1c7cf84314 --- /dev/null +++ b/nixos/tests/flatpak.nix @@ -0,0 +1,23 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "flatpak"; + meta = { + maintainers = pkgs.flatpak.meta.maintainers; + }; + + machine = { config, pkgs, ... }: { + imports = [ ./common/x11.nix ]; + services.xserver.desktopManager.gnome3.enable = true; # TODO: figure out minimal environment where the tests work + services.flatpak.enable = true; + environment.systemPackages = with pkgs; [ gnupg gnome-desktop-testing ostree python2 ]; + virtualisation.memorySize = 2047; + virtualisation.diskSize = 1024; + }; + + testScript = '' + $machine->waitForX(); + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.flatpak.installedTests}/share' --timeout 3600"); + ''; +}) diff --git a/nixos/tests/fleet.nix b/nixos/tests/fleet.nix deleted file mode 100644 index 67c95446526..00000000000 --- a/nixos/tests/fleet.nix +++ /dev/null @@ -1,76 +0,0 @@ -import ./make-test.nix ({ pkgs, ...} : rec { - name = "simple"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ offline ]; - }; - - nodes = { - node1 = - { config, pkgs, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://node1:7001"]; - initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"]; - }; - }; - - services.fleet = { - enable = true; - metadata.name = "node1"; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; - - node2 = - { config, pkgs, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://node2:7001"]; - initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"]; - }; - }; - - services.fleet = { - enable = true; - metadata.name = "node2"; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; - }; - - service = builtins.toFile "hello.service" '' - [Unit] - Description=Hello World - - [Service] - ExecStart=/bin/sh -c "while true; do echo \"Hello, world\"; /var/run/current-system/sw/bin/sleep 1; done" - - [X-Fleet] - MachineMetadata=name=node2 - ''; - - testScript = - '' - startAll; - $node1->waitForUnit("fleet.service"); - $node2->waitForUnit("fleet.service"); - - $node2->waitUntilSucceeds("fleetctl list-machines | grep node1"); - $node1->waitUntilSucceeds("fleetctl list-machines | grep node2"); - - $node1->succeed("cp ${service} hello.service && fleetctl submit hello.service"); - $node1->succeed("fleetctl list-unit-files | grep hello"); - $node1->succeed("fleetctl start hello.service"); - $node1->waitUntilSucceeds("fleetctl list-units | grep running"); - $node1->succeed("fleetctl stop hello.service"); - $node1->succeed("fleetctl destroy hello.service"); - ''; -}) diff --git a/nixos/tests/graphite.nix b/nixos/tests/graphite.nix index a22ef224580..5a1f50bd29b 100644 --- a/nixos/tests/graphite.nix +++ b/nixos/tests/graphite.nix @@ -4,6 +4,7 @@ import ./make-test.nix ({ pkgs, ...} : nodes = { one = { config, pkgs, ... }: { + virtualisation.memorySize = 1024; time.timeZone = "UTC"; services.graphite = { web.enable = true; @@ -21,12 +22,17 @@ import ./make-test.nix ({ pkgs, ...} : testScript = '' startAll; $one->waitForUnit("default.target"); - $one->requireActiveUnit("graphiteWeb.service"); - $one->requireActiveUnit("graphiteApi.service"); - $one->requireActiveUnit("graphitePager.service"); - $one->requireActiveUnit("carbonCache.service"); - $one->requireActiveUnit("seyren.service"); - $one->succeed("echo \"foo 1 `date +%s`\" | nc -q0 localhost 2003"); - $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo") + $one->waitForUnit("graphiteWeb.service"); + $one->waitForUnit("graphiteApi.service"); + $one->waitForUnit("graphitePager.service"); + $one->waitForUnit("carbonCache.service"); + $one->waitForUnit("seyren.service"); + # The services above are of type "simple". systemd considers them active immediately + # even if they're still in preStart (which takes quite long for graphiteWeb). + # Wait for ports to open so we're sure the services are up and listening. + $one->waitForOpenPort(8080); + $one->waitForOpenPort(2003); + $one->succeed("echo \"foo 1 `date +%s`\" | nc -N localhost 2003"); + $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2"); ''; }) diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index 4ebccb7ab86..3d920dccc16 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -65,12 +65,12 @@ in { $hass->waitUntilSucceeds("mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${apiPassword}' -m let_there_be_light"); $hass->succeed("curl http://localhost:8123/api/states/binary_sensor.mqtt_binary_sensor -H 'x-ha-access: ${apiPassword}' | grep -qF '\"state\": \"on\"'"); - # Check that no errors were logged - $hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR"); - # Print log to ease debugging my $log = $hass->succeed("cat ${configDir}/home-assistant.log"); print "\n### home-assistant.log ###\n"; print "$log\n"; + + # Check that no errors were logged + $hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR"); ''; }) diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index acf248d0a5a..7da02d9c204 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -241,6 +241,7 @@ let nixos-artwork.wallpapers.gnome-dark perlPackages.XMLLibXML perlPackages.ListCompare + xorg.lndir # add curl so that rather than seeing the test attempt to download # curl's tarball, we see what it's trying to download diff --git a/nixos/tests/kafka.nix b/nixos/tests/kafka.nix new file mode 100644 index 00000000000..6209b4b8e2b --- /dev/null +++ b/nixos/tests/kafka.nix @@ -0,0 +1,68 @@ +{ system ? builtins.currentSystem }: +with import ../lib/testing.nix { inherit system; }; +with pkgs.lib; + +let + makeKafkaTest = name: kafkaPackage: (makeTest { + inherit name; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ nequissimus ]; + }; + + nodes = { + zookeeper1 = { config, ... }: { + services.zookeeper = { + enable = true; + }; + + networking.firewall.allowedTCPPorts = [ 2181 ]; + virtualisation.memorySize = 1024; + }; + kafka = { config, ... }: { + services.apache-kafka = { + enable = true; + extraProperties = '' + offsets.topic.replication.factor = 1 + zookeeper.session.timeout.ms = 600000 + ''; + package = kafkaPackage; + zookeeper = "zookeeper1:2181"; + # These are the default options, but UseCompressedOops doesn't work with 32bit JVM + jvmOptions = [ + "-server" "-Xmx1G" "-Xms1G" "-XX:+UseParNewGC" "-XX:+UseConcMarkSweepGC" "-XX:+CMSClassUnloadingEnabled" + "-XX:+CMSScavengeBeforeRemark" "-XX:+DisableExplicitGC" "-Djava.awt.headless=true" "-Djava.net.preferIPv4Stack=true" + ] ++ optionals (! pkgs.stdenv.isi686 ) [ "-XX:+UseCompressedOops" ]; + }; + + networking.firewall.allowedTCPPorts = [ 9092 ]; + # i686 tests: qemu-system-i386 can simulate max 2047MB RAM (not 2048) + virtualisation.memorySize = 2047; + }; + }; + + testScript = '' + startAll; + + $zookeeper1->waitForUnit("default.target"); + $zookeeper1->waitForUnit("zookeeper.service"); + $zookeeper1->waitForOpenPort(2181); + + $kafka->waitForUnit("default.target"); + $kafka->waitForUnit("apache-kafka.service"); + $kafka->waitForOpenPort(9092); + + $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic"); + $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic"); + '' + (if name == "kafka_0_9" then '' + $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --zookeeper zookeeper1:2181 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); + '' else '' + $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); + ''); + }); + +in with pkgs; { + kafka_0_9 = makeKafkaTest "kafka_0_9" apacheKafka_0_9; + kafka_0_10 = makeKafkaTest "kafka_0_10" apacheKafka_0_10; + kafka_0_11 = makeKafkaTest "kafka_0_11" apacheKafka_0_11; + kafka_1_0 = makeKafkaTest "kafka_1_0" apacheKafka_1_0; +} diff --git a/nixos/tests/kafka_0_10.nix b/nixos/tests/kafka_0_10.nix deleted file mode 100644 index 6e7820f64bc..00000000000 --- a/nixos/tests/kafka_0_10.nix +++ /dev/null @@ -1,48 +0,0 @@ -import ./make-test.nix ({ pkgs, lib, ... } : -let - kafkaPackage = pkgs.apacheKafka_0_10; -in { - name = "kafka_0_10"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ nequissimus ]; - }; - - nodes = { - zookeeper1 = { config, ... }: { - services.zookeeper = { - enable = true; - }; - - networking.firewall.allowedTCPPorts = [ 2181 ]; - }; - kafka = { config, ... }: { - services.apache-kafka = { - enable = true; - extraProperties = '' - offsets.topic.replication.factor = 1 - ''; - package = kafkaPackage; - zookeeper = "zookeeper1:2181"; - }; - - networking.firewall.allowedTCPPorts = [ 9092 ]; - virtualisation.memorySize = 2048; - }; - }; - - testScript = '' - startAll; - - $zookeeper1->waitForUnit("zookeeper"); - $zookeeper1->waitForUnit("network.target"); - $zookeeper1->waitForOpenPort(2181); - - $kafka->waitForUnit("apache-kafka"); - $kafka->waitForUnit("network.target"); - $kafka->waitForOpenPort(9092); - - $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic"); - $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic"); - $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); - ''; -}) diff --git a/nixos/tests/kafka_0_11.nix b/nixos/tests/kafka_0_11.nix deleted file mode 100644 index 39f9c36bb22..00000000000 --- a/nixos/tests/kafka_0_11.nix +++ /dev/null @@ -1,48 +0,0 @@ -import ./make-test.nix ({ pkgs, lib, ... } : -let - kafkaPackage = pkgs.apacheKafka_0_11; -in { - name = "kafka_0_11"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ nequissimus ]; - }; - - nodes = { - zookeeper1 = { config, ... }: { - services.zookeeper = { - enable = true; - }; - - networking.firewall.allowedTCPPorts = [ 2181 ]; - }; - kafka = { config, ... }: { - services.apache-kafka = { - enable = true; - extraProperties = '' - offsets.topic.replication.factor = 1 - ''; - package = kafkaPackage; - zookeeper = "zookeeper1:2181"; - }; - - networking.firewall.allowedTCPPorts = [ 9092 ]; - virtualisation.memorySize = 2048; - }; - }; - - testScript = '' - startAll; - - $zookeeper1->waitForUnit("zookeeper"); - $zookeeper1->waitForUnit("network.target"); - $zookeeper1->waitForOpenPort(2181); - - $kafka->waitForUnit("apache-kafka"); - $kafka->waitForUnit("network.target"); - $kafka->waitForOpenPort(9092); - - $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic"); - $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic"); - $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); - ''; -}) diff --git a/nixos/tests/kafka_0_9.nix b/nixos/tests/kafka_0_9.nix deleted file mode 100644 index fee82aba2bd..00000000000 --- a/nixos/tests/kafka_0_9.nix +++ /dev/null @@ -1,48 +0,0 @@ -import ./make-test.nix ({ pkgs, lib, ... } : -let - kafkaPackage = pkgs.apacheKafka_0_9; -in { - name = "kafka_0_9"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ nequissimus ]; - }; - - nodes = { - zookeeper1 = { config, ... }: { - services.zookeeper = { - enable = true; - }; - - networking.firewall.allowedTCPPorts = [ 2181 ]; - }; - kafka = { config, ... }: { - services.apache-kafka = { - enable = true; - extraProperties = '' - offsets.topic.replication.factor = 1 - ''; - package = kafkaPackage; - zookeeper = "zookeeper1:2181"; - }; - - networking.firewall.allowedTCPPorts = [ 9092 ]; - virtualisation.memorySize = 2048; - }; - }; - - testScript = '' - startAll; - - $zookeeper1->waitForUnit("zookeeper"); - $zookeeper1->waitForUnit("network.target"); - $zookeeper1->waitForOpenPort(2181); - - $kafka->waitForUnit("apache-kafka"); - $kafka->waitForUnit("network.target"); - $kafka->waitForOpenPort(9092); - - $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic"); - $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic"); - $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --zookeeper zookeeper1:2181 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); - ''; -}) diff --git a/nixos/tests/kafka_1_0.nix b/nixos/tests/kafka_1_0.nix deleted file mode 100644 index 936840dbcfd..00000000000 --- a/nixos/tests/kafka_1_0.nix +++ /dev/null @@ -1,48 +0,0 @@ -import ./make-test.nix ({ pkgs, lib, ... } : -let - kafkaPackage = pkgs.apacheKafka_1_0; -in { - name = "kafka_1_0"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ nequissimus ]; - }; - - nodes = { - zookeeper1 = { config, ... }: { - services.zookeeper = { - enable = true; - }; - - networking.firewall.allowedTCPPorts = [ 2181 ]; - }; - kafka = { config, ... }: { - services.apache-kafka = { - enable = true; - extraProperties = '' - offsets.topic.replication.factor = 1 - ''; - package = kafkaPackage; - zookeeper = "zookeeper1:2181"; - }; - - networking.firewall.allowedTCPPorts = [ 9092 ]; - virtualisation.memorySize = 2048; - }; - }; - - testScript = '' - startAll; - - $zookeeper1->waitForUnit("zookeeper"); - $zookeeper1->waitForUnit("network.target"); - $zookeeper1->waitForOpenPort(2181); - - $kafka->waitForUnit("apache-kafka"); - $kafka->waitForUnit("network.target"); - $kafka->waitForOpenPort(9092); - - $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic"); - $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic"); - $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); - ''; -}) diff --git a/nixos/tests/mesos.nix b/nixos/tests/mesos.nix index 34671df047c..007d7ac2160 100644 --- a/nixos/tests/mesos.nix +++ b/nixos/tests/mesos.nix @@ -66,9 +66,11 @@ import ./make-test.nix ({ pkgs, ...} : rec { testScript = '' startAll; + $master->waitForUnit("zookeeper.service"); $master->waitForUnit("mesos-master.service"); + $slave->waitForUnit("docker.service"); $slave->waitForUnit("mesos-slave.service"); - + $master->waitForOpenPort(2181); $master->waitForOpenPort(5050); $slave->waitForOpenPort(5051); diff --git a/nixos/tests/mysql-backup.nix b/nixos/tests/mysql-backup.nix index f5bcc460cba..ff365098883 100644 --- a/nixos/tests/mysql-backup.nix +++ b/nixos/tests/mysql-backup.nix @@ -23,17 +23,25 @@ import ./make-test.nix ({ pkgs, ... } : { testScript = '' startAll; + # Delete backup file that may be left over from a previous test run. + # This is not needed on Hydra but useful for repeated local test runs. + $master->execute("rm -f /var/backup/mysql/testdb.gz"); + # Need to have mysql started so that it can be populated with data. $master->waitForUnit("mysql.service"); - # Wait for testdb to be populated. - $master->sleep(10); + # Wait for testdb to be fully populated (5 rows). + $master->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"); - # Do a backup and wait for it to finish. + # Do a backup and wait for it to start $master->startJob("mysql-backup.service"); $master->waitForJob("mysql-backup.service"); - # Check that data appears in backup + # wait for backup to fail, because of database 'doesnotexist' + $master->waitUntilFails("systemctl is-active -q mysql-backup.service"); + + # wait for backup file and check that data appears in backup + $master->waitForFile("/var/backup/mysql/testdb.gz"); $master->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello"); # Check that a failed backup is logged diff --git a/nixos/tests/nexus.nix b/nixos/tests/nexus.nix index 1f19fc0867a..d12d06c2c00 100644 --- a/nixos/tests/nexus.nix +++ b/nixos/tests/nexus.nix @@ -1,12 +1,12 @@ # verifies: # 1. nexus service starts on server -# 2. nexus user can be extended on server -# 3. nexus service not can startup on server (creating database and all other initial stuff) +# 2. nexus service can startup on server (creating database and all other initial stuff) +# 3. the web application is reachable via HTTP import ./make-test.nix ({ pkgs, ...} : { name = "nexus"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ ironpinguin ]; + maintainers = [ ironpinguin ma27 ]; }; nodes = { @@ -14,21 +14,19 @@ import ./make-test.nix ({ pkgs, ...} : { server = { config, pkgs, ... }: { virtualisation.memorySize = 2048; + virtualisation.diskSize = 2048; services.nexus.enable = true; - - users.extraUsers.nexus.extraGroups = [ "users" ]; }; + }; testScript = '' startAll; $server->waitForUnit("nexus"); - - print $server->execute("sudo -u nexus groups"); - $server->mustSucceed("sudo -u nexus groups | grep nexus | grep users"); - $server->waitForOpenPort(8081); + + $server->succeed("curl -f 127.0.0.1:8081"); ''; }) diff --git a/nixos/tests/nsd.nix b/nixos/tests/nsd.nix index ad4d4f82243..c3c91e71b5c 100644 --- a/nixos/tests/nsd.nix +++ b/nixos/tests/nsd.nix @@ -41,6 +41,7 @@ in import ./make-test.nix ({ pkgs, ...} : { { address = "dead:beef::1"; prefixLength = 64; } ]; services.nsd.enable = true; + services.nsd.rootServer = true; services.nsd.interfaces = lib.mkForce []; services.nsd.zones."example.com.".data = '' @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 @@ -55,6 +56,11 @@ in import ./make-test.nix ({ pkgs, ...} : { @ A 9.8.7.6 @ AAAA fedc::bbaa ''; + services.nsd.zones.".".data = '' + @ SOA ns.example.com noc.example.com 666 7200 3600 1209600 3600 + root A 1.8.7.4 + root AAAA acbd::4 + ''; }; }; @@ -86,6 +92,9 @@ in import ./make-test.nix ({ pkgs, ...} : { assertHost($_, "a", "deleg.example.com", qr/address 9.8.7.6$/); assertHost($_, "aaaa", "deleg.example.com", qr/address fedc::bbaa$/); + + assertHost($_, "a", "root", qr/address 1.8.7.4$/); + assertHost($_, "aaaa", "root", qr/address acbd::4$/); }; } ''; diff --git a/nixos/tests/panamax.nix b/nixos/tests/panamax.nix deleted file mode 100644 index 088aa79f8c6..00000000000 --- a/nixos/tests/panamax.nix +++ /dev/null @@ -1,21 +0,0 @@ -import ./make-test.nix ({ pkgs, ...} : { - name = "panamax"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ offline ]; - }; - - machine = { config, pkgs, ... }: { - services.panamax.enable = true; - }; - - testScript = - '' - startAll; - $machine->waitForUnit("panamax-api.service"); - $machine->waitForUnit("panamax-ui.service"); - $machine->waitForOpenPort(3000); - $machine->waitForOpenPort(8888); - $machine->succeed("curl --fail http://localhost:8888/ > /dev/null"); - $machine->shutdown; - ''; -}) diff --git a/nixos/tests/plotinus.nix b/nixos/tests/plotinus.nix index 557d65f7960..9058c59c92d 100644 --- a/nixos/tests/plotinus.nix +++ b/nixos/tests/plotinus.nix @@ -15,11 +15,11 @@ import ./make-test.nix ({ pkgs, ... }: { testScript = '' $machine->waitForX; - $machine->execute("xterm -e 'gnome-calculator' &"); - $machine->waitForWindow(qr/Calculator/); - $machine->execute("xdotool key ctrl+shift+p"); - $machine->sleep(1); # wait for the popup - $machine->execute("xdotool key p r e f e r e n c e s Return"); + $machine->succeed("gnome-calculator &"); + $machine->waitForWindow(qr/gnome-calculator/); + $machine->succeed("xdotool search --sync --onlyvisible --class gnome-calculator windowfocus --sync key ctrl+shift+p"); + $machine->sleep(5); # wait for the popup + $machine->succeed("xdotool key --delay 100 p r e f e r e n c e s Return"); $machine->waitForWindow(qr/Preferences/); $machine->screenshot("screen"); ''; diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix index 8ac0639c6a8..e3843038541 100644 --- a/nixos/tests/radicale.nix +++ b/nixos/tests/radicale.nix @@ -43,7 +43,7 @@ in }); }) ]; - system.stateVersion = "17.03"; + system.nixos.stateVersion = "17.03"; }; radicale1_export = lib.recursiveUpdate radicale1 { services.radicale.extraArgs = [ @@ -54,7 +54,7 @@ in services.radicale.extraArgs = [ "--verify-storage" ]; }; radicale2 = lib.recursiveUpdate (common args) { - system.stateVersion = "17.09"; + system.nixos.stateVersion = "17.09"; }; }; diff --git a/nixos/tests/statsd.nix b/nixos/tests/statsd.nix index a9d7dc61cb6..c71949249a4 100644 --- a/nixos/tests/statsd.nix +++ b/nixos/tests/statsd.nix @@ -35,6 +35,6 @@ with lib; testScript = '' $statsd1->start(); $statsd1->waitForUnit("statsd.service"); - $statsd1->succeed("nc -z 127.0.0.1 8126"); + $statsd1->waitUntilSucceeds("nc -z 127.0.0.1 8126"); ''; }) diff --git a/nixos/tests/xdg-desktop-portal.nix b/nixos/tests/xdg-desktop-portal.nix new file mode 100644 index 00000000000..d954b07f73d --- /dev/null +++ b/nixos/tests/xdg-desktop-portal.nix @@ -0,0 +1,17 @@ +# run installed tests +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "xdg-desktop-portal"; + meta = { + maintainers = pkgs.xdg-desktop-portal.meta.maintainers; + }; + + machine = { config, pkgs, ... }: { + environment.systemPackages = with pkgs; [ gnome-desktop-testing ]; + }; + + testScript = '' + $machine->succeed("gnome-desktop-testing-runner -d '${pkgs.xdg-desktop-portal.installedTests}/share'"); + ''; +}) diff --git a/pkgs/applications/altcoins/bitcoin-abc.nix b/pkgs/applications/altcoins/bitcoin-abc.nix index 35488732117..bd365e16730 100644 --- a/pkgs/applications/altcoins/bitcoin-abc.nix +++ b/pkgs/applications/altcoins/bitcoin-abc.nix @@ -7,13 +7,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version; - version = "0.17.0"; + version = "0.17.1"; src = fetchFromGitHub { owner = "bitcoin-ABC"; repo = "bitcoin-abc"; rev = "v${version}"; - sha256 = "1s2y29h2q4fnbrfg2ig1cd3h7g3kdcdyrfq7znq1ndnh8xj1j489"; + sha256 = "1kq9n3s9vhkmfaizsyi2cb91ibi06gb6wx0hkcb9hg3nrrvcka3y"; }; patches = [ ./fix-bitcoin-qt-build.patch ]; diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix index c58178e3edb..9915e0a301a 100644 --- a/pkgs/applications/altcoins/default.nix +++ b/pkgs/applications/altcoins/default.nix @@ -86,4 +86,7 @@ rec { parity = callPackage ./parity { }; parity-beta = callPackage ./parity/beta.nix { }; + parity-ui = callPackage ./parity-ui { }; + + particl-core = callPackage ./particl/particl-core.nix { boost = boost165; miniupnpc = miniupnpc_2; withGui = false; }; } diff --git a/pkgs/applications/altcoins/monero/default.nix b/pkgs/applications/altcoins/monero/default.nix index 8be24522f56..cbba1ecba14 100644 --- a/pkgs/applications/altcoins/monero/default.nix +++ b/pkgs/applications/altcoins/monero/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, git +{ stdenv, fetchFromGitHub, fetchpatch +, cmake, pkgconfig, git , boost, miniupnpc, openssl, unbound, cppzmq , zeromq, pcsclite, readline , CoreData, IOKit, PCSC @@ -21,6 +22,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig git ]; + patches = [ + # fix daemon crash, remove with 0.12.1.0 update + (fetchpatch { + url = "https://github.com/monero-project/monero/commit/08343ab.diff"; + sha256 = "0f1snrl2mk2czwk1ysympzr8ismjx39fcqgy13276vcmw0cfqi83"; + }) + ]; + buildInputs = [ boost miniupnpc openssl unbound cppzmq zeromq pcsclite readline diff --git a/pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch b/pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch new file mode 100644 index 00000000000..5bbec1d39be --- /dev/null +++ b/pkgs/applications/altcoins/nano-wallet/CMakeLists.txt.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b43f02f6..4470abbf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -119,7 +119,7 @@ endif (RAIBLOCKS_SECURE_RPC) + + include_directories (${CMAKE_SOURCE_DIR}) + +-set(Boost_USE_STATIC_LIBS ON) ++add_definitions(-DBOOST_LOG_DYN_LINK) + set(Boost_USE_MULTITHREADED ON) + + if (BOOST_CUSTOM) diff --git a/pkgs/applications/altcoins/nano-wallet/default.nix b/pkgs/applications/altcoins/nano-wallet/default.nix new file mode 100644 index 00000000000..8c4722bd991 --- /dev/null +++ b/pkgs/applications/altcoins/nano-wallet/default.nix @@ -0,0 +1,57 @@ +{lib, pkgs, stdenv, fetchFromGitHub, cmake, pkgconfig, boost, libGL, qtbase}: + +stdenv.mkDerivation rec { + + name = "nano-wallet-${version}"; + version = "12.1"; + + src = fetchFromGitHub { + owner = "nanocurrency"; + repo = "raiblocks"; + rev = "V${version}"; + sha256 = "10ng7qn6y31s2bjahmpivw2plx90ljjjzb87j3l7zmppsjd2iq03"; + fetchSubmodules = true; + }; + + # Use a patch to force dynamic linking + patches = [ + ./CMakeLists.txt.patch + ]; + + cmakeFlags = let + options = { + BOOST_ROOT = "${boost}"; + Boost_USE_STATIC_LIBS = "OFF"; + RAIBLOCKS_GUI = "ON"; + RAIBLOCKS_TEST = "ON"; + Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5"; + Qt5Core_DIR = "${qtbase.dev}/lib/cmake/Qt5Core"; + Qt5Gui_INCLUDE_DIRS = "${qtbase.dev}/include/QtGui"; + Qt5Widgets_INCLUDE_DIRS = "${qtbase.dev}/include/QtWidgets"; + }; + optionToFlag = name: value: "-D${name}=${value}"; + in lib.mapAttrsToList optionToFlag options; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ boost libGL qtbase ]; + + buildPhase = '' + make nano_wallet + ''; + + checkPhase = '' + ./core_test + ''; + + meta = { + inherit version; + description = "Wallet for Nano cryptocurrency"; + homepage = https://nano.org/en/wallet/; + license = lib.licenses.bsd2; + # Fails on Darwin. See: + # https://github.com/NixOS/nixpkgs/pull/39295#issuecomment-386800962 + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ jluttine ]; + }; + +} diff --git a/pkgs/applications/altcoins/parity-ui/default.nix b/pkgs/applications/altcoins/parity-ui/default.nix new file mode 100644 index 00000000000..56a95b6d596 --- /dev/null +++ b/pkgs/applications/altcoins/parity-ui/default.nix @@ -0,0 +1,50 @@ +{ stdenv, pkgs, fetchurl, lib, makeWrapper, nodePackages }: + +let + +uiEnv = pkgs.callPackage ./env.nix { }; + +in stdenv.mkDerivation rec { + name = "parity-ui-${version}"; + version = "0.1.1"; + + src = fetchurl { + url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb"; + sha256 = "1jym6q63m5f4xm06dxiiabhbqnr0hysf2d3swysncs5hg6w00lh3"; + name = "${name}.deb"; + }; + + nativeBuildInputs = [ makeWrapper nodePackages.asar ]; + + buildCommand = '' + mkdir -p $out/usr/ + ar p $src data.tar.xz | tar -C $out -xJ . + substituteInPlace $out/usr/share/applications/parity-ui.desktop \ + --replace "/opt/Parity UI" $out/bin + mv $out/usr/* $out/ + mv "$out/opt/Parity UI" $out/share/parity-ui + rm -r $out/usr/ + rm -r $out/opt/ + + fixupPhase + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" \ + $out/share/parity-ui/parity-ui + + find $out/share/parity-ui -name "*.node" -exec patchelf --set-rpath "${uiEnv.libPath}:$out/share/parity-ui" {} \; + + paxmark m $out/share/parity-ui/parity-ui + + mkdir -p $out/bin + ln -s $out/share/parity-ui/parity-ui $out/bin/parity-ui + ''; + + meta = with stdenv.lib; { + description = "UI for Parity. Fast, light, robust Ethereum implementation"; + homepage = http://parity.io; + license = licenses.gpl3; + maintainers = [ maintainers.sorpaas ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/altcoins/parity-ui/env.nix b/pkgs/applications/altcoins/parity-ui/env.nix new file mode 100644 index 00000000000..a273bf33d10 --- /dev/null +++ b/pkgs/applications/altcoins/parity-ui/env.nix @@ -0,0 +1,19 @@ +{ stdenv, lib, zlib, glib, alsaLib, dbus, gtk2, atk, pango, freetype, fontconfig +, libgnome-keyring3, gdk_pixbuf, gvfs, cairo, cups, expat, libgpgerror, nspr +, nss, xorg, libcap, systemd, libnotify, libsecret, gnome3 }: + +let + packages = [ + stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome-keyring3 + fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr nss + xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst + xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr + xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify + xorg.libxcb libsecret gnome3.gconf + ]; + + libPathNative = lib.makeLibraryPath packages; + libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages; + libPath = "${libPathNative}:${libPath64}"; + +in { inherit packages libPath; } diff --git a/pkgs/applications/altcoins/particl/particl-core.nix b/pkgs/applications/altcoins/particl/particl-core.nix new file mode 100644 index 00000000000..f47b04c1dae --- /dev/null +++ b/pkgs/applications/altcoins/particl/particl-core.nix @@ -0,0 +1,47 @@ +{ stdenv +, autoreconfHook +, boost +, db48 +, fetchurl +, libevent +, libtool +, miniupnpc +, openssl +, pkgconfig +, utillinux +, zeromq +, zlib +, withGui +, unixtools +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "particl-core-${version}"; + version = "0.16.0.5"; + + src = fetchurl { + url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz"; + sha256 = "070crn6nnzrbcaj30w0qbybpm9kfd2ghnvmxp29gckgknw6n0vam"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ + openssl db48 boost zlib miniupnpc libevent zeromq + unixtools.hexdump + ]; + + configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]; + + meta = { + description = "Privacy-Focused Marketplace & Decentralized Application Platform"; + longDescription= '' + An open source, decentralized privacy platform built for global person to person eCommerce. + ''; + homepage = https://particl.io/; + maintainers = with maintainers; [ demyanrogozhin ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix index 1420627c02a..439175b090a 100644 --- a/pkgs/applications/audio/cava/default.nix +++ b/pkgs/applications/audio/cava/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "cava-${version}"; - version = "0.6.0"; + version = "0.6.1"; buildInputs = [ alsaLib @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { owner = "karlstav"; repo = "cava"; rev = version; - sha256 = "01maaq5pfd4a7zilgarwr1nl7jbqyrvir6w7ikchggsckrlk23wr"; + sha256 = "1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy"; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix index f3a9b73aabe..eb4dce81416 100644 --- a/pkgs/applications/audio/mopidy/iris.nix +++ b/pkgs/applications/audio/mopidy/iris.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonApplication rec { pname = "Mopidy-Iris"; - version = "3.17.1"; + version = "3.18.0"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "02k1br077v9c5x6nn0391vh28pvn1zjbkjv8h508vy7k6ch2xjyq"; + sha256 = "0j56pj7cqymdk22bjw33c9rz4n36k693gs3w6kg6y68as8l6qpvb"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix index 660f342dc9d..cacc6e04429 100644 --- a/pkgs/applications/audio/snd/default.nix +++ b/pkgs/applications/audio/snd/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "snd-18.2"; + name = "snd-18.3"; src = fetchurl { url = "mirror://sourceforge/snd/${name}.tar.gz"; - sha256 = "0b0ija3cf2c9sqh3cclk5a7i73vagfkyw211aykfd76w7ibirs3r"; + sha256 = "117sgvdv0a03ys1v27bs99mgzpfm2a7xg6s0q6m1f79jniia12ss"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 1a4f2bdd1b5..5f6772256ca 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl, freetype -, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng, GConf -, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome2 }: +, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng +, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome3 }: let # Please update the stable branch! @@ -20,7 +20,6 @@ let ffmpeg_0_10 fontconfig freetype - GConf gdk_pixbuf glib gtk2 @@ -93,7 +92,7 @@ stdenv.mkDerivation { librarypath="${stdenv.lib.makeLibraryPath deps}:$libdir" wrapProgram $out/share/spotify/spotify \ --prefix LD_LIBRARY_PATH : "$librarypath" \ - --prefix PATH : "${gnome2.zenity}/bin" + --prefix PATH : "${gnome3.zenity}/bin" # Desktop file mkdir -p "$out/share/applications/" diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix index 4c4f958ec49..6bf45f451a5 100644 --- a/pkgs/applications/audio/x42-plugins/default.nix +++ b/pkgs/applications/audio/x42-plugins/default.nix @@ -3,12 +3,12 @@ , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }: stdenv.mkDerivation rec { - version = "20170428"; + version = "20180320"; name = "x42-plugins-${version}"; src = fetchurl { url = "http://gareus.org/misc/x42-plugins/${name}.tar.xz"; - sha256 = "0yi82rak2277x4nzzr5zwbsnha5pi61w975c8src2iwar2b6m0xg"; + sha256 = "167ly9nxqq3g0j35i9jv9rvd8qp4i9ncfcjxmg972cp6q8ak8mdl"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 630f5dd3447..328370c2501 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -13,9 +13,9 @@ let sha256Hash = "1h9f4pkyqxkqxampi8v035czg5d4g6lp4bsrnq5mgpwhjwkr1whk"; }; latestVersion = { - version = "3.2.0.12"; # "Android Studio 3.2 Canary 13" - build = "181.4749738"; - sha256Hash = "0mwsbmxzrs7yavgkckpmfvpz46v7fpa0nxvf8zqa9flmsv8p8l10"; + version = "3.2.0.13"; # "Android Studio 3.2 Canary 14" + build = "181.4763614"; + sha256Hash = "1rx3bip5a7v349whg26kxvj05qlvm7zwacfqnfzfmvvhzbh7xnyh"; }; in rec { # Old alias diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix index ca223803f04..225ec6a9456 100644 --- a/pkgs/applications/editors/atom/default.nix +++ b/pkgs/applications/editors/atom/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "atom-${version}"; - version = "1.26.1"; + version = "1.27.0"; src = fetchurl { url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; - sha256 = "0g83qj9siq1vr2v46rzjf3dy2gns9krh6xlh7w3bhrgfk0vqkm11"; + sha256 = "1r37s6ndxyib644v7nlgha1pkcnz7kxpmlkhh41l5jp4dpc6iik6"; name = "${name}.deb"; }; @@ -34,6 +34,8 @@ stdenv.mkDerivation rec { rm -f $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/bin/git ln -s ${pkgs.git}/bin/git $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/bin/git + rm -f $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git + ln -s ${pkgs.git}/bin/git $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git find $out/share/atom -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$out/share/atom" {} \; @@ -45,7 +47,7 @@ stdenv.mkDerivation rec { description = "A hackable text editor for the 21st Century"; homepage = https://atom.io/; license = licenses.mit; - maintainers = [ maintainers.offline maintainers.nequissimus ]; + maintainers = with maintainers; [ offline nequissimus synthetica ysndr ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 1688e606222..3a09b5c6be4 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -114,16 +114,16 @@ rec { }; eclipse-platform-47 = buildEclipse { - name = "eclipse-platform-4.7.2"; + name = "eclipse-platform-4.7.3a"; description = "Eclipse Platform Oxygen"; sources = { "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/eclipse-platform-4.7.2-linux-gtk-x86_64.tar.gz; - sha256 = "1zl406brvhh25dkd2pi1kvz5386gzkybpwik03aadpzmjrbm9730"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk-x86_64.tar.gz; + sha512 = "caf86cd6efaf66258c75434f1adf552587a7395d57dba4cfd20f86196308cf942866d931f4b352f9d39a6fbf14444fcd2167e6bfd146a28c96c229bb9988156a"; }; "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/eclipse-platform-4.7.2-linux-gtk.tar.gz; - sha256 = "0v0i13ah8d8zmcv0ip1ia5ifnfnl76aibiqpv4q4lih5d1qsa79d"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk.tar.gz; + sha512 = "c633da467774e4ab40f8d51d07b8e7d8403f26f23365c3c3ceeaeec1039b8c23c7508cee1f786bf52db64c7b84e0f91cb31a2848a74ac8271f8504934407bd5c"; }; }; }; @@ -168,16 +168,16 @@ rec { }; eclipse-sdk-47 = buildEclipse { - name = "eclipse-sdk-4.7.2"; + name = "eclipse-sdk-4.7.3a"; description = "Eclipse Oxygen Classic"; sources = { "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/eclipse-SDK-4.7.2-linux-gtk-x86_64.tar.gz; - sha256 = "1j5d72rkl3lq3rpnvq1spsa0zlzbmbkgadfhbz868sqqbavrwbzv"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk-x86_64.tar.gz; + sha512 = "d77e42aca16d26526cef32e363d038258bb8a4616d9dbe6e76dd3656dc2217369436390a82555bde4566bbbdb631813bbaca08602f7bb885cb30e8a26a14873f"; }; "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/eclipse-SDK-4.7.2-linux-gtk.tar.gz; - sha256 = "117436ni79v1kiync8b3wkfkb8a5rv3sbqp6qnwbmanwkvnyvfvc"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk.tar.gz; + sha512 = "b0b936fd4142ae86ec5c30535cd5e4caf6fe313d814ae5b16f300635e4163a79b748b1eee11792a135114f2265678a74821ec80c2bfd69872769b6d0ccbcde3a"; }; }; }; diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index 136ef7dfc23..f381064c92c 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -432,11 +432,11 @@ rec { jsonedit = buildEclipsePlugin rec { name = "jsonedit-${version}"; - version = "1.1.0"; + version = "1.1.1"; srcFeature = fetchurl { url = "https://boothen.github.io/Json-Eclipse-Plugin/features/jsonedit-feature_${version}.jar"; - sha256 = "1qqbzh9sv0s9p0irim7kimvzdkw0hg6yv090bz5ifpzqdxc4v9r5"; + sha256 = "0zkg8d8x3l5jpfxi0mz9dn62wmy4fjgpwdikj280fvsklmcw5b86"; }; srcPlugins = @@ -448,13 +448,13 @@ rec { }; in map fetch [ - { n = "core"; h = "1fl4api6j0wp4vfbyabxqsrjvvpclp8p3b4xnxxpn4v8g12q526m"; } - { n = "editor"; h = "1kn15qampdlpxblj2bv94b3bb15qfwng27lk0n578585yqmb3p66"; } - { n = "folding"; h = "1qnzdx4xx9ma3p6lg1ab8xf3nik1yrww33nksi0j3vnvh8i9ihdm"; } - { n = "model"; h = "0n8855ma1h2as0skrrp2qy3sdkmnhl5vlqxcjv8xlc3faa72174a"; } - { n = "outline"; h = "07i2spmzghs49pkxl8z9c29n6l38x26v20prkh4a7i1rf9whg1q8"; } - { n = "preferences"; h = "0d1m8pb903wpc4vvhsp0gx0h65r432ax898wif3a23c5wxj4nh9i"; } - { n = "text"; h = "0z80d9qgpbx88jrq8b4r478lrcrf52gxqkl94l13wrk7rszjpldh"; } + { n = "core"; h = "0svs0aswnhl26cqw6bmw30cisx4cr50kc5njg272sy5c1dqjm1zq"; } + { n = "editor"; h = "1q62dinrbb18aywbvii4mlr7rxa20rdsxxd6grix9y8h9776q4l5"; } + { n = "folding"; h = "1qh4ijfb1gl9xza5ydi87v1kyima3a9sh7lncwdy1way3pdhln1y"; } + { n = "model"; h = "1pr6k2pdfdwx8jqs7gx7wzn3gxsql3sk6lnjha8m15lv4al6d4kj"; } + { n = "outline"; h = "1jgr2g16j3id8v367jbgd6kx6g2w636fbzmd8jvkvkh7y1jgjqxm"; } + { n = "preferences"; h = "027fhaqa5xbil6dmhvkbpha3pgw6dpmc2im3nlliyds57mdmdb1h"; } + { n = "text"; h = "0clywylyidrxlqs0n816nhgjmk1c3xl7sn904ki4q050amfy0wb2"; } ]; propagatedBuildInputs = [ antlr-runtime_4_7 ]; @@ -470,12 +470,12 @@ rec { jdt = buildEclipseUpdateSite rec { name = "jdt-${version}"; - version = "4.7.2"; + version = "4.7.3a"; src = fetchzip { stripRoot = false; - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.2-201711300510/org.eclipse.jdt-4.7.2.zip; - sha256 = "1yzqnjs88cdyyqv8f1g8fbfyccci29f3pzxxvaz7szxicwzn59mz"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/org.eclipse.jdt-4.7.3a.zip; + sha256 = "10dndhqz894xf79zz07dlmkn7k33mn42nbmycr78xz6d2jy8cscx"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index 9ff1c44dceb..c29cbe52872 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -20,11 +20,11 @@ let in stdenv.mkDerivation rec { name = "nano-${version}"; - version = "2.9.4"; + version = "2.9.7"; src = fetchurl { url = "mirror://gnu/nano/${name}.tar.xz"; - sha256 = "0nm3zy4azr5rkxjq7jfybbj3cnddmvxc49rxyqm9cp2zfdp75y9c"; + sha256 = "1ga4sdk3ikx1ilggc6c77vyfpbmq3nrhg6svgglpf5sv60bv0jmn"; }; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 149f7804a79..480b749d201 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -75,6 +75,7 @@ let cmakeFlags = [ "-DLUA_PRG=${luaPackages.lua}/bin/lua" + "-DGPERF_PRG=${gperf}/bin/gperf" ]; # triggers on buffer overflow bug while running tests diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock index 87b011c4f8b..a95ced76371 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock +++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock @@ -1,9 +1,9 @@ GEM remote: https://rubygems.org/ specs: - msgpack (1.2.2) + msgpack (1.2.4) multi_json (1.13.1) - neovim (0.6.2) + neovim (0.7.0) msgpack (~> 1.0) multi_json (~> 1.0) diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix index aefecbf5ba8..af887161ea6 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix +++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix @@ -2,10 +2,10 @@ msgpack = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1ai0sfdv9jnr333fsvkn7a8vqvn0iwiw83yj603a3i68ds1x6di1"; + sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.4"; }; multi_json = { source = { @@ -19,9 +19,9 @@ dependencies = ["msgpack" "multi_json"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "15r3j9bwlpm1ry7cp6059xb0irvsvvlmw53i28z6sf2khwfj5j53"; + sha256 = "0b487dzz41im8cwzvfjqgf8kkrp6mpkvcbzhazrmqqw8gxyvfbq4"; type = "gem"; }; - version = "0.6.2"; + version = "0.7.0"; }; } diff --git a/pkgs/applications/editors/sublime/3/packages.nix b/pkgs/applications/editors/sublime/3/packages.nix index 01445ade473..8ab7c814407 100644 --- a/pkgs/applications/editors/sublime/3/packages.nix +++ b/pkgs/applications/editors/sublime/3/packages.nix @@ -5,14 +5,14 @@ let in rec { sublime3-dev = common { - buildVersion = "3162"; - x32sha256 = "190il02hqvv64w17w7xc1fz2wkbhk5a5y96jb25dvafmslm46d4i"; - x64sha256 = "1nsjhjs6zajhx7m3dk7i450krg6pb03zffm1n3m1v0xb9zr37xz3"; + buildVersion = "3176"; + x32sha256 = "08asz13888d4ddsz81cfk7k3319dabzz1kgbnshw0756pvyrvr23"; + x64sha256 = "0cppkh5jx2g8f6jyy1bs81fpb90l0kn5m7y3skackpjdxhd7rwbl"; } {}; sublime3 = common { - buildVersion = "3143"; - x32sha256 = "0dgpx4wij2m77f478p746qadavab172166bghxmj7fb61nvw9v5i"; - x64sha256 = "06b554d2cvpxc976rvh89ix3kqc7klnngvk070xrs8wbyb221qcw"; + buildVersion = "3176"; + x32sha256 = "08asz13888d4ddsz81cfk7k3319dabzz1kgbnshw0756pvyrvr23"; + x64sha256 = "0cppkh5jx2g8f6jyy1bs81fpb90l0kn5m7y3skackpjdxhd7rwbl"; } {}; } diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix index 5c10f6fb3bb..41d4c114c75 100644 --- a/pkgs/applications/editors/vscode/default.nix +++ b/pkgs/applications/editors/vscode/default.nix @@ -2,7 +2,7 @@ makeWrapper, libXScrnSaver, libxkbfile, libsecret }: let - version = "1.22.2"; + version = "1.23.0"; channel = "stable"; plat = { @@ -12,9 +12,9 @@ let }.${stdenv.system}; sha256 = { - "i686-linux" = "17iqqg6vdccbl1k4k2ks3kkgg7619j6qdvca4k27pjfqm17mvw5n"; - "x86_64-linux" = "1ng2jhhaghsf7a2dmrimazh817jh0ag88whija179ywgrg3i6xam"; - "x86_64-darwin" = "083hizigzxm45hcy6yqwznj9ibqdaxg2xv8rsyas4ig9x55irrcj"; + "i686-linux" = "1nyrcgnf18752n3i7xaq6gpb2k4wsfzk671kxg6za4ycrriw1f5l"; + "x86_64-linux" = "1mkxyavzav522sl3fjn2hdlbj0bkdl3hagqiw9i6h8wgkxcvsszy"; + "x86_64-darwin" = "123ggzssd5qd80jxar2pf5g2n2473pd2j8pfjyir1c7xkaqji2w6"; }.${stdenv.system}; archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz"; diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix new file mode 100644 index 00000000000..7bcbc8f2e40 --- /dev/null +++ b/pkgs/applications/graphics/avocode/default.nix @@ -0,0 +1,99 @@ +{ stdenv, lib, makeDesktopItem, fetchurl, unzip +, gdk_pixbuf, glib, gtk2, atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome2 +, xorg, mozjpeg +}: + +stdenv.mkDerivation rec { + name = "avocode-${version}"; + version = "2.26.0"; + + src = fetchurl { + url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip"; + sha256 = "11d3nlshyzh5aqf5vsvnjwhr9qn8a2kd848x0ylv91y9p9njgsl5"; + }; + + libPath = stdenv.lib.makeLibraryPath (with xorg; with gnome2; [ + stdenv.cc.cc.lib + gdk_pixbuf + glib + gtk2 + atk + pango + cairo + freetype + fontconfig + dbus + nss + nspr + alsaLib + cups + expat + udev + GConf + libX11 + libxcb + libXi + libXcursor + libXdamage + libXrandr + libXcomposite + libXext + libXfixes + libXrender + libXtst + libXScrnSaver + ]); + + desktopItem = makeDesktopItem { + name = "Avocode"; + exec = "avocode"; + icon = "avocode"; + desktopName = "Avocode"; + genericName = "Design Inspector"; + categories = "Application;Development;"; + comment = "The bridge between designers and developers"; + }; + + buildInputs = [ unzip ]; + + # src is producing multiple folder on unzip so we must + # override unpackCmd to extract it into newly created folder + unpackCmd = '' + mkdir out + unzip $curSrc -d out + ''; + + installPhase = '' + substituteInPlace avocode.desktop.in \ + --replace /path/to/avocode-dir/Avocode $out/bin/avocode \ + --replace /path/to/avocode-dir/avocode.png avocode + + mkdir -p share/applications share/pixmaps + mv avocode.desktop.in share/applications/avocode.desktop + mv avocode.png share/pixmaps/ + + rm resources/cjpeg + cp -av . $out + + mkdir $out/bin + ln -s $out/avocode $out/bin/avocode + ln -s ${mozjpeg}/bin/cjpeg $out/resources/cjpeg + ''; + + postFixup = '' + for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/avocode + patchelf --set-rpath ${libPath}:$out/ $file + done + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://avocode.com/; + description = "The bridge between designers and developers"; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ megheaiulian ]; + }; +} diff --git a/pkgs/applications/graphics/epeg/default.nix b/pkgs/applications/graphics/epeg/default.nix new file mode 100644 index 00000000000..02528a43e31 --- /dev/null +++ b/pkgs/applications/graphics/epeg/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, pkgconfig, libtool, autoconf, automake +, libjpeg, libexif +}: + +stdenv.mkDerivation rec { + name = "epeg-0.9.1.042"; # version taken from configure.ac + + src = fetchFromGitHub { + owner = "mattes"; + repo = "epeg"; + rev = "248ae9fc3f1d6d06e6062a1f7bf5df77d4f7de9b"; + sha256 = "14ad33w3pxrg2yfc2xzyvwyvjirwy2d00889dswisq8b84cmxfia"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig libtool autoconf automake ]; + + propagatedBuildInputs = [ libjpeg libexif ]; + + preConfigure = '' + ./autogen.sh + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/mattes/epeg; + description = "Insanely fast JPEG/ JPG thumbnail scaling"; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ nh2 ]; + }; +} diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index 475c8de97b9..96d4a397c90 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -6,11 +6,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "feh-${version}"; - version = "2.26"; + version = "2.26.1"; src = fetchurl { url = "https://feh.finalrewind.org/${name}.tar.bz2"; - sha256 = "11kckzwk3b734l0n4j41k40liq1v2lbbj1gzir5qc386g7fvzmmi"; + sha256 = "155clzkrzs7fh5nx924851di30hilcg16g192ldqqc12p5z5gikd"; }; outputs = [ "out" "man" "doc" ]; diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index 2536367f6ce..80bc2d49efc 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -43,11 +43,12 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig intltool gettext wrapPython ]; propagatedBuildInputs = [ gegl ]; # needed by gimp-2.0.pc buildInputs = [ - babl gegl gtk2 glib gdk_pixbuf pango cairo gexiv2 harfbuzz isocodes libgudev + babl gegl gtk2 glib gdk_pixbuf pango cairo gexiv2 harfbuzz isocodes freetype fontconfig lcms libpng libjpeg poppler poppler_data libtiff openexr libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes - ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ]; + ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ] + ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ]; pythonPath = [ pygtk ]; diff --git a/pkgs/applications/graphics/graphicsmagick/compat.nix b/pkgs/applications/graphics/graphicsmagick/compat.nix new file mode 100644 index 00000000000..bd1ce2ed893 --- /dev/null +++ b/pkgs/applications/graphics/graphicsmagick/compat.nix @@ -0,0 +1,37 @@ +{ stdenv, graphicsmagick }: + +stdenv.mkDerivation rec { + name = "graphicsmagick-imagemagick-compat-${version}"; + inherit (graphicsmagick) version; + + unpackPhase = "true"; + buildPhase = "true"; + + utils = [ + "composite" + "conjure" + "convert" + "identify" + "mogrify" + "montage" + "animate" + "display" + "import" + ]; + + # TODO: symlink libraries? + installPhase = '' + mkdir -p "$out"/bin + mkdir -p "$out"/share/man/man1 + for util in ''${utils[@]}; do + ln -s ${graphicsmagick}/bin/gm "$out/bin/$util" + ln -s ${graphicsmagick}/share/man/man1/gm.1.gz "$out/share/man/man1/$util.1.gz" + done + ''; + + meta = { + description = "ImageMagick interface for GraphicsMagick"; + license = stdenv.lib.licenses.free; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix index f086a8f5ba6..872afb39ec6 100644 --- a/pkgs/applications/graphics/graphicsmagick/default.nix +++ b/pkgs/applications/graphics/graphicsmagick/default.nix @@ -2,14 +2,13 @@ , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11 , libwebp, quantumdepth ? 8, fixDarwinDylibNames }: -let version = "1.3.28"; in - -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "graphicsmagick-${version}"; + version = "1.3.29"; src = fetchurl { url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz"; - sha256 = "0jlrrimrajcmwp7llivyj14qnzb1mpqd8vw95dl6zbx5m2lnhall"; + sha256 = "1m0cc6kpky06lpcipj7rfwc2jbw2igr0jk97zqmw3j1ld5mg93g1"; }; patches = [ diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index 5af0e627d7d..f86694ebc6c 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -9,11 +9,11 @@ mkDerivation rec { name = "krita-${version}"; - version = "4.0.1"; + version = "4.0.2"; src = fetchurl { url = "https://download.kde.org/stable/krita/${version}/${name}.tar.gz"; - sha256 = "0k55ybvna40dx4fqygnix7bnhjaanak3ckb108hny2k7sspy62pc"; + sha256 = "136nia6z8l9czk3ls2c9dpk617cvfilfhx0s838g5nrqxh4kn0cf"; }; nativeBuildInputs = [ cmake extra-cmake-modules ]; diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index 33fddf6c8d0..9ab5288700c 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -1,20 +1,30 @@ -{ stdenv, fetchurl, qt4, qmake4Hook, bison, flex, eigen, boost, libGLU_combined, glew, opencsg, cgal -, mpfr, gmp, glib, pkgconfig, harfbuzz, qscintilla, gettext +{ stdenv, fetchurl, fetchFromGitHub, qt5, libsForQt5 +, bison, flex, eigen, boost, libGLU_combined, glew, opencsg, cgal +, mpfr, gmp, glib, pkgconfig, harfbuzz, gettext }: stdenv.mkDerivation rec { - version = "2015.03-3"; + version = "2018.04-git"; name = "openscad-${version}"; - src = fetchurl { - url = "http://files.openscad.org/${name}.src.tar.gz"; - sha256 = "0djsgi9yx1nxr2gh1kgsqw5vrbncp8v5li0p1pp02higqf1psajx"; +# src = fetchurl { +# url = "http://files.openscad.org/${name}.src.tar.gz"; +# sha256 = "0djsgi9yx1nxr2gh1kgsqw5vrbncp8v5li0p1pp02higqf1psajx"; +# }; + src = fetchFromGitHub { + owner = "openscad"; + repo = "openscad"; + rev = "179074dff8c23cbc0e651ce8463737df0006f4ca"; + sha256 = "1y63yqyd0v255liik4ff5ak6mj86d8d76w436x76hs5dk6jgpmfb"; }; buildInputs = [ - qt4 qmake4Hook bison flex eigen boost libGLU_combined glew opencsg cgal mpfr gmp glib - pkgconfig harfbuzz qscintilla gettext - ]; + bison flex eigen boost libGLU_combined glew opencsg cgal mpfr gmp glib + pkgconfig harfbuzz gettext + ] + ++ (with qt5; [qtbase qmake]) + ++ (with libsForQt5; [qscintilla]) + ; qmakeFlags = [ "VERSION=${version}" ]; diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix index 757ce52e9c4..e4f565b3b05 100644 --- a/pkgs/applications/graphics/pqiv/default.nix +++ b/pkgs/applications/graphics/pqiv/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation (rec { name = "pqiv-${version}"; - version = "2.10.3"; + version = "2.10.4"; src = fetchFromGitHub { owner = "phillipberndt"; repo = "pqiv"; rev = version; - sha256 = "16nhnv0dcp242jf1099pjr5dwnc65i40cnb3dvx1avdhidcmsx01"; + sha256 = "04fawc3sd625y1bbgfgwmak56pq28sm58dwn5db4h183iy3awdl9"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/graphics/shutter/default.nix b/pkgs/applications/graphics/shutter/default.nix index 2cc127a3fc6..3bc814e1e75 100644 --- a/pkgs/applications/graphics/shutter/default.nix +++ b/pkgs/applications/graphics/shutter/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, fetchpatch, perl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg }: +{ stdenv, fetchurl, fetchpatch, perl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg +, hicolor-icon-theme +}: let perlModules = with perlPackages; @@ -29,6 +31,7 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/shutter \ --set PERL5LIB "${stdenv.lib.makePerlPath perlModules}" \ --prefix PATH : "${imagemagick.out}/bin" \ + --suffix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" ''; diff --git a/pkgs/applications/kde/akonadi-import-wizard.nix b/pkgs/applications/kde/akonadi-import-wizard.nix new file mode 100644 index 00000000000..cc1acbc6dd0 --- /dev/null +++ b/pkgs/applications/kde/akonadi-import-wizard.nix @@ -0,0 +1,20 @@ +{ + mkDerivation, lib, kdepimTeam, + extra-cmake-modules, kdoctools, + akonadi, karchive, kcontacts, kcrash, kidentitymanagement, kio, + kmailtransport, kwallet, mailcommon, mailimporter, messagelib +}: + +mkDerivation { + name = "akonadi-import-wizard"; + meta = { + license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12 ]; + maintainers = kdepimTeam; + }; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + akonadi karchive kcontacts kcrash kidentitymanagement kio + kmailtransport kwallet mailcommon mailimporter messagelib + ]; + outputs = [ "out" "dev" ]; +} diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 5870179b6c0..f602e5c92d9 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -67,6 +67,7 @@ let akonadi = callPackage ./akonadi {}; akonadi-calendar = callPackage ./akonadi-calendar.nix {}; akonadi-contacts = callPackage ./akonadi-contacts.nix {}; + akonadi-import-wizard = callPackage ./akonadi-import-wizard.nix {}; akonadi-mime = callPackage ./akonadi-mime.nix {}; akonadi-notes = callPackage ./akonadi-notes.nix {}; akonadi-search = callPackage ./akonadi-search.nix {}; @@ -101,6 +102,7 @@ let kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {}; kdenlive = callPackage ./kdenlive.nix {}; kdepim-runtime = callPackage ./kdepim-runtime.nix {}; + kdepim-addons = callPackage ./kdepim-addons.nix {}; kdepim-apps-libs = callPackage ./kdepim-apps-libs {}; kdf = callPackage ./kdf.nix {}; kdialog = callPackage ./kdialog.nix {}; diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh index a2feeac7cd9..0646e258b40 100644 --- a/pkgs/applications/kde/fetch.sh +++ b/pkgs/applications/kde/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/applications/18.04.0/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/applications/18.04.1/ -A '*.tar.xz' ) diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix new file mode 100644 index 00000000000..fd3fe2d6c09 --- /dev/null +++ b/pkgs/applications/kde/kdepim-addons.nix @@ -0,0 +1,23 @@ +{ + mkDerivation, lib, kdepimTeam, + extra-cmake-modules, shared-mime-info, + akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews, + incidenceeditor, kcalcore, kcalutils, kconfig, kdbusaddons, kdeclarative, + kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar, + libksieve, mailcommon, mailimporter, messagelib, poppler_qt5, prison +}: + +mkDerivation { + name = "kdepim-addons"; + meta = { + license = with lib.licenses; [ gpl2Plus lgpl21Plus ]; + maintainers = kdepimTeam; + }; + nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; + buildInputs = [ + akonadi-import-wizard akonadi-notes calendarsupport eventviews + incidenceeditor kcalcore kcalutils kconfig kdbusaddons kdeclarative + kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar + libksieve mailcommon mailimporter messagelib poppler_qt5 prison + ]; +} diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix index 36c18a3f997..5514345057d 100644 --- a/pkgs/applications/kde/srcs.nix +++ b/pkgs/applications/kde/srcs.nix @@ -3,1699 +3,1699 @@ { akonadi = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadi-18.04.0.tar.xz"; - sha256 = "1scbc6k2w23qmw4qa147ji7r6p88b97yi9wr46xlshgcn2kj684d"; - name = "akonadi-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadi-18.04.1.tar.xz"; + sha256 = "0dg0r49angzkp5b09zbxjygjaxn1d50db15rwm7v9xsnz6fmc6hv"; + name = "akonadi-18.04.1.tar.xz"; }; }; akonadi-calendar = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadi-calendar-18.04.0.tar.xz"; - sha256 = "09fk8n69f83ygwfsdjx4mv9hwqpifpv9nbdnl19pjgw2ffp99rna"; - name = "akonadi-calendar-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadi-calendar-18.04.1.tar.xz"; + sha256 = "0anmy67dc85afc0aq6y813c6xjr0jnkzsh56889zyz8z7k9xpg2q"; + name = "akonadi-calendar-18.04.1.tar.xz"; }; }; akonadi-calendar-tools = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadi-calendar-tools-18.04.0.tar.xz"; - sha256 = "1b10kybjj803qwsz74dhism6q7q0lmslqvsb8b9ma8wqk9ajs33f"; - name = "akonadi-calendar-tools-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadi-calendar-tools-18.04.1.tar.xz"; + sha256 = "1935d5nwq2s8ijc9nzp7rdsmbyl2b42xwx0vj7cz1835y4w3k2vn"; + name = "akonadi-calendar-tools-18.04.1.tar.xz"; }; }; akonadiconsole = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadiconsole-18.04.0.tar.xz"; - sha256 = "053w5ywm8wlv7ssbvyq0z36jsir9mk0ywlqb0ybnlbvr5dawxnnz"; - name = "akonadiconsole-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadiconsole-18.04.1.tar.xz"; + sha256 = "032r5r5ksifigx8bk82yygvhji1xjx3dd6i7z7mpx5qlc1zmqjpk"; + name = "akonadiconsole-18.04.1.tar.xz"; }; }; akonadi-contacts = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadi-contacts-18.04.0.tar.xz"; - sha256 = "01cfxia8vnwizzavk1vbrxbszsyg1sa3qbz79fab7iw8380zqdm2"; - name = "akonadi-contacts-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadi-contacts-18.04.1.tar.xz"; + sha256 = "1y1qcndsrdphii048cpwnfnd185mywcaw1h1szq71q2ww2aapcmp"; + name = "akonadi-contacts-18.04.1.tar.xz"; }; }; akonadi-import-wizard = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadi-import-wizard-18.04.0.tar.xz"; - sha256 = "123gaxs5zi5b8x1ripr8ldjipx6rpmr3f51mgv40ibx1h967in19"; - name = "akonadi-import-wizard-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadi-import-wizard-18.04.1.tar.xz"; + sha256 = "150i8m7ngb6kdyixvzfgnjwyrs2xpsd53gy2x28091kg2kqb0nl4"; + name = "akonadi-import-wizard-18.04.1.tar.xz"; }; }; akonadi-mime = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadi-mime-18.04.0.tar.xz"; - sha256 = "14xgi5saylbp19gg0lnqpasz5x335wz6dnmpfsicz0j5452yfznw"; - name = "akonadi-mime-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadi-mime-18.04.1.tar.xz"; + sha256 = "0ypfbrr8h2nypdyg8xxs4d53qlbq4kd3ph2yhafp80577xwhqgmw"; + name = "akonadi-mime-18.04.1.tar.xz"; }; }; akonadi-notes = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadi-notes-18.04.0.tar.xz"; - sha256 = "0ahr185jjyh68qf57vaja6c867rm0iy8jp78g4nmzf3dc6y7r01v"; - name = "akonadi-notes-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadi-notes-18.04.1.tar.xz"; + sha256 = "0f4q6ls7z5ikf46v7m0wazdczay8y3yvscw1lnmq5qwnvdfyqcpd"; + name = "akonadi-notes-18.04.1.tar.xz"; }; }; akonadi-search = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akonadi-search-18.04.0.tar.xz"; - sha256 = "1jn23rr9yah2c4cccbkcvxn4rr6p0q4327b0kwjqzag4lkwd2fy0"; - name = "akonadi-search-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akonadi-search-18.04.1.tar.xz"; + sha256 = "01mfj7s3kx5kcjbvj4hljfrmsbpfmfiq0r87cgzg6734c4mzjqsl"; + name = "akonadi-search-18.04.1.tar.xz"; }; }; akregator = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/akregator-18.04.0.tar.xz"; - sha256 = "10hid155gszwh7gxp4pqbcfch6hrf0bsikj8ah2fvdgii96dn9gc"; - name = "akregator-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/akregator-18.04.1.tar.xz"; + sha256 = "0h5pdbrwxa3n086yywqsm0m8x9p1s5jy2hgjivdilxgwnqcj6zpv"; + name = "akregator-18.04.1.tar.xz"; }; }; analitza = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/analitza-18.04.0.tar.xz"; - sha256 = "1yx18mbxvkswpn120rhi092l5wz6s60194q076wdgimx71ngn2v2"; - name = "analitza-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/analitza-18.04.1.tar.xz"; + sha256 = "09y3zz6zn3cs5nn0i0dcx71jrm0lzz3g8af6nz118m6rz71wndnq"; + name = "analitza-18.04.1.tar.xz"; }; }; ark = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ark-18.04.0.tar.xz"; - sha256 = "19bh71j5dvz80mz9xff4ygd0qdvjwsihyx5cb5ay6a2gdf1fhm12"; - name = "ark-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ark-18.04.1.tar.xz"; + sha256 = "10gpm90zsssygl65280z4p43ma75qjswiyv4drlrksydakxvvxk3"; + name = "ark-18.04.1.tar.xz"; }; }; artikulate = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/artikulate-18.04.0.tar.xz"; - sha256 = "1fqv71przn3yfv4dk511bh5bd0cdmwkixwcg17r037nmj3z0xdhg"; - name = "artikulate-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/artikulate-18.04.1.tar.xz"; + sha256 = "0brpb7ijqib7qp5ypvz9gkai7mwdxf915a7makklgzg80mdqnxpv"; + name = "artikulate-18.04.1.tar.xz"; }; }; audiocd-kio = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/audiocd-kio-18.04.0.tar.xz"; - sha256 = "0rf8gk8wymk6lff5g4ivx5lfl31rml1ag40fq78nrvnw0sxkm2b1"; - name = "audiocd-kio-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/audiocd-kio-18.04.1.tar.xz"; + sha256 = "1g3waj7xb14fgb75b0zzhbai93yqv5r1p0n0j3rwhfg9bvkgqgpa"; + name = "audiocd-kio-18.04.1.tar.xz"; }; }; baloo-widgets = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/baloo-widgets-18.04.0.tar.xz"; - sha256 = "1y1wxgwyjdarw6sj7mrsqgljh2fib0vcwwd0nzbnn8ys1v8gqyxj"; - name = "baloo-widgets-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/baloo-widgets-18.04.1.tar.xz"; + sha256 = "1bq2n7lpldi2qiwdgx6l78m41whdjd41n1247985d1cr62bsn5cq"; + name = "baloo-widgets-18.04.1.tar.xz"; }; }; blinken = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/blinken-18.04.0.tar.xz"; - sha256 = "19chf9d9d537a5daqca1i4a58gmxz98x4i5palqs3635w1655ln9"; - name = "blinken-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/blinken-18.04.1.tar.xz"; + sha256 = "0sgaipxfzwjfikyj2r47vp0192s8v0zll2x61i9z6p6lzq7glw0j"; + name = "blinken-18.04.1.tar.xz"; }; }; bomber = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/bomber-18.04.0.tar.xz"; - sha256 = "1vzqmjkxlw2v63f49ix63p6ypjgg31j8r0rzmq8m41262m3pp0sn"; - name = "bomber-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/bomber-18.04.1.tar.xz"; + sha256 = "13ivb42jq2864vdpajds3cwjhhml7ikww66z1r6j4wp8mlmdlnal"; + name = "bomber-18.04.1.tar.xz"; }; }; bovo = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/bovo-18.04.0.tar.xz"; - sha256 = "1p4s7kjrjndcqkrkk3y7dqvyfdrn1yy5id3z3wj06ciwpygvv500"; - name = "bovo-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/bovo-18.04.1.tar.xz"; + sha256 = "1lm465vcmf4glql9krxl36sr6msgayqkzinammw9ian1wmih9qbn"; + name = "bovo-18.04.1.tar.xz"; }; }; calendarsupport = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/calendarsupport-18.04.0.tar.xz"; - sha256 = "0hd1pbqjd75d8fm86b358xd8dni019b2190ly2r3armanjcmdc4r"; - name = "calendarsupport-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/calendarsupport-18.04.1.tar.xz"; + sha256 = "02zw1hyqwy031bg0nyxjvayjfamm0z9iw9v9f71hfrsi9siyf77a"; + name = "calendarsupport-18.04.1.tar.xz"; }; }; cantor = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/cantor-18.04.0.tar.xz"; - sha256 = "1zkpa0ihkylzdf5wlywdvnf34dk21nj5cyczjyh9x5psbr6q0151"; - name = "cantor-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/cantor-18.04.1.tar.xz"; + sha256 = "1hcdf755yzs8kz6qbxan47gn622pg137sqabfbvqjflnphzz7f08"; + name = "cantor-18.04.1.tar.xz"; }; }; cervisia = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/cervisia-18.04.0.tar.xz"; - sha256 = "1ji8i0k6rzmgshpgpk613vkn6kvdwb0ns32cp19j0bd5ljr701wq"; - name = "cervisia-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/cervisia-18.04.1.tar.xz"; + sha256 = "03slkk30k747f73dk98q4b930m7w1cimim053hl9y50n1c63n021"; + name = "cervisia-18.04.1.tar.xz"; }; }; dolphin = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/dolphin-18.04.0.tar.xz"; - sha256 = "0lvdpa3mq6mhfl97a4q1wwg22zccwjf7ja1mbz1dlbjfnck8l1mm"; - name = "dolphin-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/dolphin-18.04.1.tar.xz"; + sha256 = "11wm2wqmkni798xj6g8z7r6qyfy6db9k7xwnp90k2g1qb5n0xnsh"; + name = "dolphin-18.04.1.tar.xz"; }; }; dolphin-plugins = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/dolphin-plugins-18.04.0.tar.xz"; - sha256 = "10kdf2h8i1jnbsnx9j4c8zs6ryakinhxrggrid038xqgxm4fyxcq"; - name = "dolphin-plugins-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/dolphin-plugins-18.04.1.tar.xz"; + sha256 = "00azpyy8xh0d62vayj04l3cbwxgxax430wh35jbv828vng3d2pfc"; + name = "dolphin-plugins-18.04.1.tar.xz"; }; }; dragon = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/dragon-18.04.0.tar.xz"; - sha256 = "0maxlhac9znqsm7qf3c9g7vlramivy63wd8c9aj64c78jqj6l54w"; - name = "dragon-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/dragon-18.04.1.tar.xz"; + sha256 = "1phrgssp3x11dmg07yvyi1hsmigfw8q6bblsizr9xm0pvmgrdjl0"; + name = "dragon-18.04.1.tar.xz"; }; }; eventviews = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/eventviews-18.04.0.tar.xz"; - sha256 = "0ai0259ygriza057dn3l6kfapqc2zdp7prv7qrz0x2akssnvn5f3"; - name = "eventviews-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/eventviews-18.04.1.tar.xz"; + sha256 = "0jq1adi764a4w1kszhbdm49dylbwai4ipasjyrkqnf85xly48g40"; + name = "eventviews-18.04.1.tar.xz"; }; }; ffmpegthumbs = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ffmpegthumbs-18.04.0.tar.xz"; - sha256 = "08hirsm7gbk51i76kkavv50z3289zvphmkfh26lh6rg123f003i6"; - name = "ffmpegthumbs-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ffmpegthumbs-18.04.1.tar.xz"; + sha256 = "06ls31wxgvnc4c7bc3ba14w4w64b9x37q3zmcnslyydghhnr0qnn"; + name = "ffmpegthumbs-18.04.1.tar.xz"; }; }; filelight = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/filelight-18.04.0.tar.xz"; - sha256 = "1mk46a9x40yj7vfjgprhdhmx151lhkv8zb1i4rks01zjpq8bpa43"; - name = "filelight-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/filelight-18.04.1.tar.xz"; + sha256 = "1w169433m5823h1axn4ami9hk4rimi87ypiqagyyl13bncb7s6as"; + name = "filelight-18.04.1.tar.xz"; }; }; granatier = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/granatier-18.04.0.tar.xz"; - sha256 = "1vfp4wqv13qxj5vaiqd6hn07hvmdkyrcdicxn693yprn32gqrn33"; - name = "granatier-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/granatier-18.04.1.tar.xz"; + sha256 = "0q5a2w2bz40qnk7jpcknsc4758k91cd1rh3rxa4v4wlq51id7lzz"; + name = "granatier-18.04.1.tar.xz"; }; }; grantlee-editor = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/grantlee-editor-18.04.0.tar.xz"; - sha256 = "04mw1mskfaqp7klwc0bdwfm3j365pwkwi0yhp86dggxzyisqbx9h"; - name = "grantlee-editor-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/grantlee-editor-18.04.1.tar.xz"; + sha256 = "0ysirk51y993jxvvk98h2r9awsc4zyijavfja6zl0gsnvwwrjnjs"; + name = "grantlee-editor-18.04.1.tar.xz"; }; }; grantleetheme = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/grantleetheme-18.04.0.tar.xz"; - sha256 = "1i3axg318skx2ifg8fln5blpyj6qnzb0r7frqb9prm0rawk6cr03"; - name = "grantleetheme-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/grantleetheme-18.04.1.tar.xz"; + sha256 = "0gzsxxywaqs6lc111hsw736p6gz55xs77v9bpk48igk37r9a0rs8"; + name = "grantleetheme-18.04.1.tar.xz"; }; }; gwenview = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/gwenview-18.04.0.tar.xz"; - sha256 = "0i87k3f1g9w36rzr60c2xw6r41k7zgnbda51mpd3i8q5mvi8r4z5"; - name = "gwenview-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/gwenview-18.04.1.tar.xz"; + sha256 = "0wyxwqsf2nynz4h87lgy1xla8nj7mi94b997pmp70jzy4936l8bi"; + name = "gwenview-18.04.1.tar.xz"; }; }; incidenceeditor = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/incidenceeditor-18.04.0.tar.xz"; - sha256 = "1z76lz8h0f6h81xvk690h1pz6i1ca4k2kcdvxxj99xm3fxdw5gi4"; - name = "incidenceeditor-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/incidenceeditor-18.04.1.tar.xz"; + sha256 = "0kc18pml59mhn9bn0g96mw46dmxq7crgn4033dxsfczak0kdr474"; + name = "incidenceeditor-18.04.1.tar.xz"; }; }; juk = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/juk-18.04.0.tar.xz"; - sha256 = "0k0kiksqmnp14y3ymfiwg0amv4wyk2ls4cbdimbwg0mvpyvfnnqa"; - name = "juk-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/juk-18.04.1.tar.xz"; + sha256 = "01zgxxx00hxag29883xfgw4r0m4j66iwr83bap55ni018xgkf4c3"; + name = "juk-18.04.1.tar.xz"; }; }; k3b = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/k3b-18.04.0.tar.xz"; - sha256 = "167x2mcxj4zq05brxzvhm157sis13xahkv79i9pzbgjb1zx17s3l"; - name = "k3b-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/k3b-18.04.1.tar.xz"; + sha256 = "0py84q63r40mh8pp0r70gzwidfxv9kj5firvr7pp59rk9fsxznl7"; + name = "k3b-18.04.1.tar.xz"; }; }; kaccounts-integration = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kaccounts-integration-18.04.0.tar.xz"; - sha256 = "09l1ycy4000mxx86hkqigbg803190r159d2yjsfrs7q5i2jrsl09"; - name = "kaccounts-integration-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kaccounts-integration-18.04.1.tar.xz"; + sha256 = "1abyhaa7gj2admk6kf555sbwzc7yha3ql41dhw4j3k6kpzkqk9zj"; + name = "kaccounts-integration-18.04.1.tar.xz"; }; }; kaccounts-providers = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kaccounts-providers-18.04.0.tar.xz"; - sha256 = "07ra8pjd89qklvb771wcczbxwll86caz07v43a7fhs3f70nwizia"; - name = "kaccounts-providers-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kaccounts-providers-18.04.1.tar.xz"; + sha256 = "15ygghq434qkj1z5iislm8fz0m8z6rkpiyrcjbmqs0cw4s0mqzp6"; + name = "kaccounts-providers-18.04.1.tar.xz"; }; }; kaddressbook = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kaddressbook-18.04.0.tar.xz"; - sha256 = "0fi5nxhp93i1j4dym2yjsnvbxkqvqlanka3cnzbya4abdzrjd9ir"; - name = "kaddressbook-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kaddressbook-18.04.1.tar.xz"; + sha256 = "0w02gc9l8jhzf15ljig83ddbkzf430k1qbqp821b3rz5s20gg4m5"; + name = "kaddressbook-18.04.1.tar.xz"; }; }; kajongg = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kajongg-18.04.0.tar.xz"; - sha256 = "0cbgy6zkjd5yd6ybm9v7gvp2hs99m7m8w2my36fqp1sczghjs7x5"; - name = "kajongg-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kajongg-18.04.1.tar.xz"; + sha256 = "1vpkj42ylzpakrqy84hkp0hvj4q4x7wnarwwqqj8xp4xi40na481"; + name = "kajongg-18.04.1.tar.xz"; }; }; kalarm = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kalarm-18.04.0.tar.xz"; - sha256 = "0v4zfv48n116j68cfd34vlgk9jyr1zfc8i36i7gjkaq2x9m80g02"; - name = "kalarm-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kalarm-18.04.1.tar.xz"; + sha256 = "0v6maszs79959jkciy5j9xnqggr9ymjzvsibr1j5s30kynlzpxkm"; + name = "kalarm-18.04.1.tar.xz"; }; }; kalarmcal = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kalarmcal-18.04.0.tar.xz"; - sha256 = "0npvwjzrxyf447xyq4kbx5wh94fv7clfjvikwnla9l0s8xwv9gf7"; - name = "kalarmcal-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kalarmcal-18.04.1.tar.xz"; + sha256 = "1j04wdb6vg2896hb8y28lm8sna0lil8021i2kw97crfhramldvjk"; + name = "kalarmcal-18.04.1.tar.xz"; }; }; kalgebra = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kalgebra-18.04.0.tar.xz"; - sha256 = "0qk9dchqlklbxssmhfz38s792nidlfh1bkhrmxh5kvpkjziqg7k6"; - name = "kalgebra-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kalgebra-18.04.1.tar.xz"; + sha256 = "0gg1fb4cgnnrxyrm554847kpa1bs57zgi9ia8f9wmcivyd35vvyf"; + name = "kalgebra-18.04.1.tar.xz"; }; }; kalzium = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kalzium-18.04.0.tar.xz"; - sha256 = "02c51r4pqj9iyy2wzrilpzd5z8b1lvbv2mian2qr1psi56l3magv"; - name = "kalzium-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kalzium-18.04.1.tar.xz"; + sha256 = "00x2jql639rmbvcfj72yjmfb98f9msfwi2g2mqyww43ja3c835ic"; + name = "kalzium-18.04.1.tar.xz"; }; }; kamera = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kamera-18.04.0.tar.xz"; - sha256 = "07p51jjp0lj04gfs1mfbg6k6cdh6ms55yjcag7qhcz32ism0y1vc"; - name = "kamera-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kamera-18.04.1.tar.xz"; + sha256 = "1ra7hdvs6fnkbzqvm5sryk6ymlgj0ngsg98yhznda0qvrrkgfahg"; + name = "kamera-18.04.1.tar.xz"; }; }; kamoso = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kamoso-18.04.0.tar.xz"; - sha256 = "1d7989jr3g02yh10hmnf8mlqypp35xll52v5q6jjqrzbfcmna7dk"; - name = "kamoso-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kamoso-18.04.1.tar.xz"; + sha256 = "1rd08647zx2k7xq8jclxsk0dgjgdaih6fxmnrd7awzjmj0qh89a7"; + name = "kamoso-18.04.1.tar.xz"; }; }; kanagram = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kanagram-18.04.0.tar.xz"; - sha256 = "1drz8641ns1c1070a98w2wasyvf5nc6jrpn1pzfqmv9bljxrmyrc"; - name = "kanagram-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kanagram-18.04.1.tar.xz"; + sha256 = "0g4zmr10jq9vw92z9nbfvigz6pbjg1p1zc1aspwlh38ajk8sr3gb"; + name = "kanagram-18.04.1.tar.xz"; }; }; kapman = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kapman-18.04.0.tar.xz"; - sha256 = "0cpsm35sah99rxy42v5isd90w0j839537jmjck4lg40dx38sdz7m"; - name = "kapman-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kapman-18.04.1.tar.xz"; + sha256 = "14s2kg50r9nlg53vsi1x59kc8z1rgnqcq028a6zwfnv0sdsa7pw5"; + name = "kapman-18.04.1.tar.xz"; }; }; kapptemplate = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kapptemplate-18.04.0.tar.xz"; - sha256 = "1w61s7bj34vq3s9ca3d6kyv9k43qirnyj4mw73wfpxf6ldx19yzp"; - name = "kapptemplate-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kapptemplate-18.04.1.tar.xz"; + sha256 = "064pw1fkbm52pkcg9hyay8mkraw3fdlycgx306p9brahvxb9xjsb"; + name = "kapptemplate-18.04.1.tar.xz"; }; }; kate = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kate-18.04.0.tar.xz"; - sha256 = "04kb8ynkq6xwmjbrgfg4zv652p3zgr2127f6sb8sq0j9qy55pvq5"; - name = "kate-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kate-18.04.1.tar.xz"; + sha256 = "1xbckjsp5imxcda8vrdb5flgb5sjmdylwy1yr5v01nilmqgpmwa8"; + name = "kate-18.04.1.tar.xz"; }; }; katomic = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/katomic-18.04.0.tar.xz"; - sha256 = "119v88k2l1bpmf1gm9njkfv90pv595wwjlzkap06c6rx95scpi0q"; - name = "katomic-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/katomic-18.04.1.tar.xz"; + sha256 = "0g3kkibgnxkg5zxgja7rqad57fpw28qapf8rlbczkmxls581ifw6"; + name = "katomic-18.04.1.tar.xz"; }; }; kbackup = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kbackup-18.04.0.tar.xz"; - sha256 = "0vayj48zgblsphwffs6b0xphzair6sywy0ksp6ab9x64n8f1mw5q"; - name = "kbackup-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kbackup-18.04.1.tar.xz"; + sha256 = "1gv5m4d6zcadamcicllfp8smm7k4846a2qy4pgm006lhk390bsyz"; + name = "kbackup-18.04.1.tar.xz"; }; }; kblackbox = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kblackbox-18.04.0.tar.xz"; - sha256 = "1gpjnic6n4kyh7b6x0mb9162qv223fs6lm7iqh6qxwkixcp06qlx"; - name = "kblackbox-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kblackbox-18.04.1.tar.xz"; + sha256 = "0hv6ziw2dy88fbc1z0vlflagsrr7x97r9c5l4w9v4acr0ih7ms7h"; + name = "kblackbox-18.04.1.tar.xz"; }; }; kblocks = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kblocks-18.04.0.tar.xz"; - sha256 = "1y2h1nwgr67b05ggl2v34jh097mzbljhz9ji332xv4vf2rffwqar"; - name = "kblocks-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kblocks-18.04.1.tar.xz"; + sha256 = "12339f1g73h3qg9a21kqmkqp6ywiw1gvnwdww45dzflf4w931lsw"; + name = "kblocks-18.04.1.tar.xz"; }; }; kblog = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kblog-18.04.0.tar.xz"; - sha256 = "1jnsd6fw3pyip71a2cw65y9yrm4zwczh0770n15jcg5yn5whswgs"; - name = "kblog-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kblog-18.04.1.tar.xz"; + sha256 = "1gndfvny1zh2w1daxmpix5sn2wlbc2430m3a21lvgp3qmhb5rwkr"; + name = "kblog-18.04.1.tar.xz"; }; }; kbounce = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kbounce-18.04.0.tar.xz"; - sha256 = "15926m75gysd6gl2vg7d08y4m0cnfazc9jlyx0cnb8a5nfzh5z21"; - name = "kbounce-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kbounce-18.04.1.tar.xz"; + sha256 = "0qjbzmjgcvxbpvbqxyyh02pk5hr6z871n13awsq770xwbr1pdnwc"; + name = "kbounce-18.04.1.tar.xz"; }; }; kbreakout = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kbreakout-18.04.0.tar.xz"; - sha256 = "0i5pbiimrn2bkq94ggwlx7jhfw4wna5srgffa5531jpn28gq456n"; - name = "kbreakout-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kbreakout-18.04.1.tar.xz"; + sha256 = "0yr9hwlwdp1fi2parzniyq5rfv4fxbxxs63xfggaz7ndbm1h8bif"; + name = "kbreakout-18.04.1.tar.xz"; }; }; kbruch = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kbruch-18.04.0.tar.xz"; - sha256 = "0s7r0hqy4nyrg0ndrb93pd8akldc5k8xx31m4jc8gi23aqvz5wwk"; - name = "kbruch-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kbruch-18.04.1.tar.xz"; + sha256 = "08wb7f2jhz3dkx22sj2k4sairl715nrk7c2swd88dcaskcy411nk"; + name = "kbruch-18.04.1.tar.xz"; }; }; kcachegrind = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kcachegrind-18.04.0.tar.xz"; - sha256 = "0f6f8wx0kffhhzjjcdn47m3428jbh95nzajm8vhbs789h69ax2a0"; - name = "kcachegrind-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kcachegrind-18.04.1.tar.xz"; + sha256 = "1mig7xm67w3vwslymbfm51w8w9cnqzk41kqp998j6g7dfrh8476g"; + name = "kcachegrind-18.04.1.tar.xz"; }; }; kcalc = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kcalc-18.04.0.tar.xz"; - sha256 = "03q09q5whg1wfgm30p426hlljignjs0lvwfak2n4ka9ggyk3vc9d"; - name = "kcalc-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kcalc-18.04.1.tar.xz"; + sha256 = "14j2w9w31cqmsls3zrgifywbz5bxkzkryggfd1jxiz9q526ylpxy"; + name = "kcalc-18.04.1.tar.xz"; }; }; kcalcore = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kcalcore-18.04.0.tar.xz"; - sha256 = "0g4gm47yniy4f11v6rhs3gp2lk8dcrnw8ajchz88s7spii0riv2m"; - name = "kcalcore-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kcalcore-18.04.1.tar.xz"; + sha256 = "0q23pb9pkii6czk3angl3xzlzc90fck1pwc05695rz90iwbxq62x"; + name = "kcalcore-18.04.1.tar.xz"; }; }; kcalutils = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kcalutils-18.04.0.tar.xz"; - sha256 = "1hh3gd81bfkbyr7qvppk8iaywac77y55rwkpvbvin62snipw6ap1"; - name = "kcalutils-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kcalutils-18.04.1.tar.xz"; + sha256 = "05ma56f0ly8nq62p6nlzkscdq5m93142kakhqrsl17c902bvkcmm"; + name = "kcalutils-18.04.1.tar.xz"; }; }; kcharselect = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kcharselect-18.04.0.tar.xz"; - sha256 = "08qgwfz23634wv0fw0rx162rcav5fivsp63srdf4c6my5151nxa9"; - name = "kcharselect-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kcharselect-18.04.1.tar.xz"; + sha256 = "0pv22v1x3n73rxzpihsxz5xxy1c37lq72jcscwylwmwfyszmvdwx"; + name = "kcharselect-18.04.1.tar.xz"; }; }; kcolorchooser = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kcolorchooser-18.04.0.tar.xz"; - sha256 = "02lqg4ra2nrkfnlhirs148bsd3b5a1j81s9z84wg11z8havrabfn"; - name = "kcolorchooser-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kcolorchooser-18.04.1.tar.xz"; + sha256 = "1wzy9a3pz0jwwmgbqxqlfii0faascrxnxq398wzrnx955shlksbm"; + name = "kcolorchooser-18.04.1.tar.xz"; }; }; kcontacts = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kcontacts-18.04.0.tar.xz"; - sha256 = "0ja9xbpvv6klwwg0rzppxhfj2nfb7dydadxw5f9471rzniywn1xb"; - name = "kcontacts-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kcontacts-18.04.1.tar.xz"; + sha256 = "0725cad646qzpgpvxl0vyb1a4hpbk0b6zb3wbdim4al56y7x1rxh"; + name = "kcontacts-18.04.1.tar.xz"; }; }; kcron = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kcron-18.04.0.tar.xz"; - sha256 = "0pm532pajm7kbzg7w7azi5qx5xnkc9k5crxbahpw8n32lq34lm18"; - name = "kcron-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kcron-18.04.1.tar.xz"; + sha256 = "1wlk36s6i53vk4crrvijbfmagh5d8sjbmcacdwdcf4vlb56kxphr"; + name = "kcron-18.04.1.tar.xz"; }; }; kdav = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdav-18.04.0.tar.xz"; - sha256 = "159bll2b3anxj5i7i92cqsz7hqm66n5ihlzk1g7waqdc9b429hr2"; - name = "kdav-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdav-18.04.1.tar.xz"; + sha256 = "16abp767h4rs35yj0j8kgmhm4k09cidnsmh1ihx2b53ya1ivmv9b"; + name = "kdav-18.04.1.tar.xz"; }; }; kdebugsettings = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdebugsettings-18.04.0.tar.xz"; - sha256 = "0fr5a0k9jv8zkzv7fl7r71c2gbd1jj3c0vwpyf5riskymznnrx9g"; - name = "kdebugsettings-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdebugsettings-18.04.1.tar.xz"; + sha256 = "1bz5wcap6kqjv6164zm7wcm31q634785lqlarsc5hqld5xjgr7ig"; + name = "kdebugsettings-18.04.1.tar.xz"; }; }; kde-dev-scripts = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kde-dev-scripts-18.04.0.tar.xz"; - sha256 = "0nnrzpqgzmfg3msx6vqc8js7yzdpscm9599pr4xs4jl4cx5m8vp8"; - name = "kde-dev-scripts-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kde-dev-scripts-18.04.1.tar.xz"; + sha256 = "08wsj1h44lmvvv43k9l3mxvi2hr498hz3d22z0bwcdjaqgvy60r5"; + name = "kde-dev-scripts-18.04.1.tar.xz"; }; }; kde-dev-utils = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kde-dev-utils-18.04.0.tar.xz"; - sha256 = "020dyzf078l91rs7sl1dkdbd08viizinsmbvf1f0kfbkfysccfci"; - name = "kde-dev-utils-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kde-dev-utils-18.04.1.tar.xz"; + sha256 = "13wpa4xrkm3711vdwjkklibaf7as64klw4hpq9s9vx33ma73sf9a"; + name = "kde-dev-utils-18.04.1.tar.xz"; }; }; kdeedu-data = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdeedu-data-18.04.0.tar.xz"; - sha256 = "0rx9ymyv6x29fwl6hvznvylq6gvw992rg3l8mk4qmmzjs4rbjb5q"; - name = "kdeedu-data-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdeedu-data-18.04.1.tar.xz"; + sha256 = "1ccf8bjd2fc2chgf63bwg91c0r4acxf40w81rssi83wjvnhg4d5j"; + name = "kdeedu-data-18.04.1.tar.xz"; }; }; kdegraphics-mobipocket = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdegraphics-mobipocket-18.04.0.tar.xz"; - sha256 = "01g00k3yqsrahslshybd1azd9w0vgmacfs0yrz5ia93amw4azfhn"; - name = "kdegraphics-mobipocket-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdegraphics-mobipocket-18.04.1.tar.xz"; + sha256 = "1y9bjnpbpriyhs007wli7m0q5g9wv2d7izp0qxk4xzmrrw7k5v51"; + name = "kdegraphics-mobipocket-18.04.1.tar.xz"; }; }; kdegraphics-thumbnailers = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdegraphics-thumbnailers-18.04.0.tar.xz"; - sha256 = "1j04bwp9hc9jc7si6jgg4y61jqic27zj094nv2xpwrxnnaz4y4nh"; - name = "kdegraphics-thumbnailers-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdegraphics-thumbnailers-18.04.1.tar.xz"; + sha256 = "06798hwxyd2xvf3aiigwzd53frzi0mqxsbxliznqxxjvk5lcp1ha"; + name = "kdegraphics-thumbnailers-18.04.1.tar.xz"; }; }; kdenetwork-filesharing = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdenetwork-filesharing-18.04.0.tar.xz"; - sha256 = "1qfd7jr171bc4alm139hhdiv9q0x8y7mhrkyb7qspr7a8ki8j5cg"; - name = "kdenetwork-filesharing-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdenetwork-filesharing-18.04.1.tar.xz"; + sha256 = "18dilp18312v1zbrfq5rq223s6cy2lmdmgvp2hg5a25rmldw1yiw"; + name = "kdenetwork-filesharing-18.04.1.tar.xz"; }; }; kdenlive = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdenlive-18.04.0.tar.xz"; - sha256 = "0v54cisilijdq0hyl38fhz0m7lpvphqjvx046ighcqxbrcg6pgah"; - name = "kdenlive-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdenlive-18.04.1.tar.xz"; + sha256 = "059xqybn3r1w432mbnxx5ds1whj5x23ym2lm90wg23b9hmmmhxl3"; + name = "kdenlive-18.04.1.tar.xz"; }; }; kdepim-addons = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdepim-addons-18.04.0.tar.xz"; - sha256 = "0rcfx07cvpm22kskwry78wzhglpc0vzxavmjydi24lll9ac12mvc"; - name = "kdepim-addons-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdepim-addons-18.04.1.tar.xz"; + sha256 = "1qninnlhwmkw6nxxymjww1x7krm87nz5m6p66y3ghrgyl0q16k7b"; + name = "kdepim-addons-18.04.1.tar.xz"; }; }; kdepim-apps-libs = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdepim-apps-libs-18.04.0.tar.xz"; - sha256 = "1ax5y6cdw7klgxky121mk8ilpm257bc8h90pc89ziha888l39wgz"; - name = "kdepim-apps-libs-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdepim-apps-libs-18.04.1.tar.xz"; + sha256 = "1a41km8nhgrc24qlgh64560p8il6q9dlcmy25x92s1xmpn1zg1lc"; + name = "kdepim-apps-libs-18.04.1.tar.xz"; }; }; kdepim-runtime = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdepim-runtime-18.04.0.tar.xz"; - sha256 = "1pxbrr3rcm3yr7il5abz9r06xvd0j1hsphbskjyphylb3r0xv7mz"; - name = "kdepim-runtime-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdepim-runtime-18.04.1.tar.xz"; + sha256 = "0gl2wkkaxpz13rg6zyclcjkc0i7qwqwxcvamgb3cl6l6qkp869w1"; + name = "kdepim-runtime-18.04.1.tar.xz"; }; }; kdesdk-kioslaves = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdesdk-kioslaves-18.04.0.tar.xz"; - sha256 = "18w55iism0b26m6v1j6qlpa4y8zdc12bbc8hi8rwz6nyra2a4r6h"; - name = "kdesdk-kioslaves-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdesdk-kioslaves-18.04.1.tar.xz"; + sha256 = "1mx3pg36mx0b6v2kq3a3spxm40rdk4bgkhzzjwphppqkxc57bgln"; + name = "kdesdk-kioslaves-18.04.1.tar.xz"; }; }; kdesdk-thumbnailers = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdesdk-thumbnailers-18.04.0.tar.xz"; - sha256 = "1gsfn3km6dggnwav17vrbv077dj6xsxixjqrypqf8v5n29vzl72g"; - name = "kdesdk-thumbnailers-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdesdk-thumbnailers-18.04.1.tar.xz"; + sha256 = "0s07h5kfl2h2w0qarz28362n92jdbbq7iw4cy93p949mp6jz1xij"; + name = "kdesdk-thumbnailers-18.04.1.tar.xz"; }; }; kdf = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdf-18.04.0.tar.xz"; - sha256 = "1dxm9q25a9vjja3cx7zd9afx08i84l498sykbnvflf56qq6p9jdv"; - name = "kdf-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdf-18.04.1.tar.xz"; + sha256 = "1hmq92vglivs9q536g3qx0b7v3g7nlvkly81p8brqs55cw0npf8d"; + name = "kdf-18.04.1.tar.xz"; }; }; kdialog = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdialog-18.04.0.tar.xz"; - sha256 = "0ni5imk1a153j4n923im3rs3g691cwlw3g180wcarrg7iads6icn"; - name = "kdialog-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdialog-18.04.1.tar.xz"; + sha256 = "0xmdzwawa43xfv9a2sm2rijiiik7b0cvpbcxvwf7s37gwrw5fk05"; + name = "kdialog-18.04.1.tar.xz"; }; }; kdiamond = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kdiamond-18.04.0.tar.xz"; - sha256 = "0gzxpk3llgh45w3iwbqsshv4mc4whshv7zwaz8ik4wpp9kc72xj9"; - name = "kdiamond-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kdiamond-18.04.1.tar.xz"; + sha256 = "12z0v4w8adlzsnymn5dsc1fpgqx2w3hx38chwc7l2l5bvgx5ycc1"; + name = "kdiamond-18.04.1.tar.xz"; }; }; keditbookmarks = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/keditbookmarks-18.04.0.tar.xz"; - sha256 = "18x6cgligwqqj20q69ins33fvkz3is8a11nkp4zx3kb9q50xsdv7"; - name = "keditbookmarks-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/keditbookmarks-18.04.1.tar.xz"; + sha256 = "1qi8y5j9s9d4i6vqvw5h29b55q73zfgj4v76dxdl1z85ghcv0my4"; + name = "keditbookmarks-18.04.1.tar.xz"; }; }; kfind = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kfind-18.04.0.tar.xz"; - sha256 = "11wgdyparz26gqxlbnawwmhjr2lkqa1j0qqwmiihs0pxfq6q9arw"; - name = "kfind-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kfind-18.04.1.tar.xz"; + sha256 = "15fha4k00s88n0k7ad0bnw9iyyjyxlhjmnlcr84hfbh6wiwn4l4k"; + name = "kfind-18.04.1.tar.xz"; }; }; kfloppy = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kfloppy-18.04.0.tar.xz"; - sha256 = "039lryi6nk69d054svm0yq5x4yd8pja6f8fx0q2wqpnffrsis5yj"; - name = "kfloppy-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kfloppy-18.04.1.tar.xz"; + sha256 = "0rw3r09zil7121ssms1mvccw435nmmgmz0zx0rmfvpk6bks0cim9"; + name = "kfloppy-18.04.1.tar.xz"; }; }; kfourinline = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kfourinline-18.04.0.tar.xz"; - sha256 = "101h7y2vmg966h92k6360qc3rrgcwvnhg2lz09yffgwf8mqyp19q"; - name = "kfourinline-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kfourinline-18.04.1.tar.xz"; + sha256 = "0gm8s8gi9nnilcvmnz4gk26wrszjg7y8xfq4dyqw87axwaqcv2z6"; + name = "kfourinline-18.04.1.tar.xz"; }; }; kgeography = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kgeography-18.04.0.tar.xz"; - sha256 = "1syky2a8crh5vrn3419a1rzv37ld0kh9llkmcszm9h8jaqdsiw5v"; - name = "kgeography-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kgeography-18.04.1.tar.xz"; + sha256 = "16c2gidj8jc4xr35ph392gh4r75vfiqw7n07lpv30d6v3h1mq2jy"; + name = "kgeography-18.04.1.tar.xz"; }; }; kget = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kget-18.04.0.tar.xz"; - sha256 = "16dj0w8rkiybhdcgp9cf4r50nh790psx4b9xxqgfnab3b8lq35mx"; - name = "kget-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kget-18.04.1.tar.xz"; + sha256 = "1kzvalb1a27bn9ac4iqkgar7fydspd9bhva3n0v9gzz34p3lv1f7"; + name = "kget-18.04.1.tar.xz"; }; }; kgoldrunner = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kgoldrunner-18.04.0.tar.xz"; - sha256 = "0ydhz0pm0adwjrbsiqkq6d1cs6l8nw2cj4mxf36144gs333nly1z"; - name = "kgoldrunner-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kgoldrunner-18.04.1.tar.xz"; + sha256 = "0w1vppp0r1prciz6gg5srlj0z05m5wcbpp3wwz6wxh2vnpbm2lc1"; + name = "kgoldrunner-18.04.1.tar.xz"; }; }; kgpg = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kgpg-18.04.0.tar.xz"; - sha256 = "1ayyzc7vwdrhp2pc41yh01lkc9n0q4icy05z6yg14si0c7a62s78"; - name = "kgpg-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kgpg-18.04.1.tar.xz"; + sha256 = "0b2kngq4dqs3qxkvxny72sfm2xlbsmhb986zmpp0wsm09gd6lhyh"; + name = "kgpg-18.04.1.tar.xz"; }; }; khangman = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/khangman-18.04.0.tar.xz"; - sha256 = "01xmvljp3z4x4aihbz4b22avh10hhnvv8y8jy0nd3pggln4mj15c"; - name = "khangman-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/khangman-18.04.1.tar.xz"; + sha256 = "1vcr5gp3gz0dygkn8dhkg3fpyqny8vc61nymwii4v247znhg7hw4"; + name = "khangman-18.04.1.tar.xz"; }; }; khelpcenter = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/khelpcenter-18.04.0.tar.xz"; - sha256 = "1pc6dd4rn4c636sn8lbkdq2svijrpp4fcgf76infk7dsqrxrgnsr"; - name = "khelpcenter-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/khelpcenter-18.04.1.tar.xz"; + sha256 = "00p3s5zmql82dwr4lmfy3yqyyn7h2209lhf49cajh01hd2nasig1"; + name = "khelpcenter-18.04.1.tar.xz"; }; }; kidentitymanagement = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kidentitymanagement-18.04.0.tar.xz"; - sha256 = "129a38ajkpzgm2z921riyawlnx70c41ln3z7hvx159x3ghcsacyw"; - name = "kidentitymanagement-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kidentitymanagement-18.04.1.tar.xz"; + sha256 = "1lb1vl3r7avj45lfrlabbbkq0f7anpx04g20ajn2n8ajfgjpns9q"; + name = "kidentitymanagement-18.04.1.tar.xz"; }; }; kig = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kig-18.04.0.tar.xz"; - sha256 = "1djy20lcs50ykb99akhfw873br9q0x72r3pma6mv69dpv5jpk3v3"; - name = "kig-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kig-18.04.1.tar.xz"; + sha256 = "1ry2rgmy7y4wyxwwz2f7qrj5aw5sjgv46vs4x5203v514p625nzw"; + name = "kig-18.04.1.tar.xz"; }; }; kigo = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kigo-18.04.0.tar.xz"; - sha256 = "0jqkab57z0xhbxf2hcagg5b0pgn2z4dnzirp6ccfybl835nwr4rp"; - name = "kigo-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kigo-18.04.1.tar.xz"; + sha256 = "1l2bdxjv5kiz6f0gmqwd43jghps5l2cvw8228ay4l7r4r9wp0ihr"; + name = "kigo-18.04.1.tar.xz"; }; }; killbots = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/killbots-18.04.0.tar.xz"; - sha256 = "10j82a9yv5v21pp9249nzm42ys104ickwavqys5j43230h0qlyl2"; - name = "killbots-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/killbots-18.04.1.tar.xz"; + sha256 = "06vqgahirw01zfbhr2dj5z7fd2jay3kizvl04wwwp1fr8jsw3plw"; + name = "killbots-18.04.1.tar.xz"; }; }; kimagemapeditor = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kimagemapeditor-18.04.0.tar.xz"; - sha256 = "01cy4nfi9gzgyfqb16vsy3b15bgag0g3dz2l9v0d4fijxpf157br"; - name = "kimagemapeditor-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kimagemapeditor-18.04.1.tar.xz"; + sha256 = "1144z9zasc3x678q8xnk98nn5y0bzaal0lxc6xb51ib4q8q2lhn1"; + name = "kimagemapeditor-18.04.1.tar.xz"; }; }; kimap = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kimap-18.04.0.tar.xz"; - sha256 = "1l22fzslf0zrr230hq17rfg88ifngfwcc1n0v3fzpxnia4cm68by"; - name = "kimap-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kimap-18.04.1.tar.xz"; + sha256 = "03y1n4rf7xdxb82716wijz196dk0rg8d50rs9kycymys9sgq5y0h"; + name = "kimap-18.04.1.tar.xz"; }; }; kio-extras = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kio-extras-18.04.0.tar.xz"; - sha256 = "15icgvanjhvxi2k9hihadvxnx2jpjp2r3gy89brvdsh8lhj9kzil"; - name = "kio-extras-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kio-extras-18.04.1.tar.xz"; + sha256 = "0635iam41i5afjspw08x99irqfsj7pa1w8wz4nfbx9yv2iclq1rh"; + name = "kio-extras-18.04.1.tar.xz"; }; }; kiriki = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kiriki-18.04.0.tar.xz"; - sha256 = "0m98fqnrk1vinkammf5fjkbvj5wwk45v8m4m951nvn0wpzrb0clf"; - name = "kiriki-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kiriki-18.04.1.tar.xz"; + sha256 = "0n258bvhd5cgb978zqqkig6is5fb9idvwa7n860q1r2nimsnch5y"; + name = "kiriki-18.04.1.tar.xz"; }; }; kiten = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kiten-18.04.0.tar.xz"; - sha256 = "1xk58q89hdpy4fhk8ic2ybf60d0xgwfm6ay1gny4qb6klr5xx7ah"; - name = "kiten-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kiten-18.04.1.tar.xz"; + sha256 = "1f6z5assiz6gxvhcp08x71qk3hyc36ib2sr6bmq0q7cbb7xlhbac"; + name = "kiten-18.04.1.tar.xz"; }; }; kjumpingcube = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kjumpingcube-18.04.0.tar.xz"; - sha256 = "1j9v6j3yams0azdc27g76x3baz6wcw173lam5r8z0q5f6xayv9zl"; - name = "kjumpingcube-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kjumpingcube-18.04.1.tar.xz"; + sha256 = "0p4manwh4pndhdnb45fczllpsvswwwgvz1wk8grx2axq0x6pjjln"; + name = "kjumpingcube-18.04.1.tar.xz"; }; }; kldap = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kldap-18.04.0.tar.xz"; - sha256 = "1fjh6insnmnl4yk5n11bsp9xrhyzkb7cf3vsbx6yjn13gwg06xm9"; - name = "kldap-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kldap-18.04.1.tar.xz"; + sha256 = "0arriibg2flqr8rvd4fa8xd4rgr1rl3pwhxxskpfi4i3rl8w1a2i"; + name = "kldap-18.04.1.tar.xz"; }; }; kleopatra = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kleopatra-18.04.0.tar.xz"; - sha256 = "1lqqhy0pyv8v9x20if6sjklbmfnjmip4nfm0adp5wh7r3n9c0908"; - name = "kleopatra-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kleopatra-18.04.1.tar.xz"; + sha256 = "0ayjxvm6sdg1waf44nw360nh740vi29c7m6frq2jyfbxn401x7p3"; + name = "kleopatra-18.04.1.tar.xz"; }; }; klettres = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/klettres-18.04.0.tar.xz"; - sha256 = "0x2vj449dgzlyhyagdcs5f12rd3w025iq5q8qcsml7mnr5vy06n3"; - name = "klettres-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/klettres-18.04.1.tar.xz"; + sha256 = "1vzr8pf6m24ng3kg44ld5hiap7qqfp2w1q7npyr6sq28rrm8jilb"; + name = "klettres-18.04.1.tar.xz"; }; }; klickety = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/klickety-18.04.0.tar.xz"; - sha256 = "1l81xk00bkbxm9fmqjyphf8wijgxp979kfsflvy7zyzga43k64fc"; - name = "klickety-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/klickety-18.04.1.tar.xz"; + sha256 = "1wk6g4a8gmd1z8qqgy30s3f2zgq651dv38gnbk3949j81k92084m"; + name = "klickety-18.04.1.tar.xz"; }; }; klines = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/klines-18.04.0.tar.xz"; - sha256 = "1axp8mv1hxdddw86wsd6dkv7cbzk5b3lswqvwxdbbrpsq8j8vjz1"; - name = "klines-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/klines-18.04.1.tar.xz"; + sha256 = "0zslagiphj37i79896k71j40125nz74qknx75sp3iv2wafy0akgf"; + name = "klines-18.04.1.tar.xz"; }; }; kmag = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmag-18.04.0.tar.xz"; - sha256 = "1yaryycwy5h3pafzsvn4xr96p96j3a3302x6y73i9xm94nz7a60f"; - name = "kmag-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmag-18.04.1.tar.xz"; + sha256 = "163i0axbnxkyqhbri6k48x9jsb5l5ll8hl0zvcsw0srh8bzswvgd"; + name = "kmag-18.04.1.tar.xz"; }; }; kmahjongg = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmahjongg-18.04.0.tar.xz"; - sha256 = "191cl5cnq6q8b3fr22frfwrg0a2bqf9c2x454ab0ysc2qapblfkx"; - name = "kmahjongg-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmahjongg-18.04.1.tar.xz"; + sha256 = "1zl1mr8pg6sz2ydqilgdbh3758vw13af37s9g8pi7axva8adf0fp"; + name = "kmahjongg-18.04.1.tar.xz"; }; }; kmail = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmail-18.04.0.tar.xz"; - sha256 = "1faw94imrr30bg155zs4hszfbv9fszywyk1v24d0l03vyh4w0x8r"; - name = "kmail-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmail-18.04.1.tar.xz"; + sha256 = "057727gsrdf0pkn5n17km5ryjiw5rimxixff0dax939d9403qwfg"; + name = "kmail-18.04.1.tar.xz"; }; }; kmail-account-wizard = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmail-account-wizard-18.04.0.tar.xz"; - sha256 = "0sgasycw0ixh6c04kibyii6f5aygkhwanidnmidhgdnqhgcg31gp"; - name = "kmail-account-wizard-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmail-account-wizard-18.04.1.tar.xz"; + sha256 = "0qky1a0lrmy8mfiq0dqhrd8j7m1lc9p34ivx9vy4rr82r9g3y5jw"; + name = "kmail-account-wizard-18.04.1.tar.xz"; }; }; kmailtransport = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmailtransport-18.04.0.tar.xz"; - sha256 = "122zcgz9vlqzmr2xy4msrzg9ajvyjlwcf7g4br7bja42f5nk704f"; - name = "kmailtransport-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmailtransport-18.04.1.tar.xz"; + sha256 = "09l79049dpkzc3iqdxv4jvglpynrq976gvr8n38k63mr5sajwg72"; + name = "kmailtransport-18.04.1.tar.xz"; }; }; kmbox = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmbox-18.04.0.tar.xz"; - sha256 = "0qljbixj2jka8sngavi41jjcssy293acy1d6syjyagad7z5f0d0k"; - name = "kmbox-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmbox-18.04.1.tar.xz"; + sha256 = "05zcnykb7asamqf8iqs63bl7jk5myywdqydhxz56jr19fw32lyqq"; + name = "kmbox-18.04.1.tar.xz"; }; }; kmime = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmime-18.04.0.tar.xz"; - sha256 = "03hwvwdkb1176d837hbwm8wqj0bl29fdfzirgrp1yri4vadmhrqx"; - name = "kmime-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmime-18.04.1.tar.xz"; + sha256 = "1jlhlxw31c9g7z6yhqjsp76xm85ywrr0in4qazidwb9k8lkqxa7g"; + name = "kmime-18.04.1.tar.xz"; }; }; kmines = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmines-18.04.0.tar.xz"; - sha256 = "0jyrynqqzk5dwwfd05kdzx5lc6cjkbhhp5l8ijyfwdqs63wzj705"; - name = "kmines-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmines-18.04.1.tar.xz"; + sha256 = "0i88pc7j18xighw8ii6gh5gxq9k2zy372ggdyany91dcjgmwhgw7"; + name = "kmines-18.04.1.tar.xz"; }; }; kmix = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmix-18.04.0.tar.xz"; - sha256 = "0xq5jd5nrjb95lhc38n0b6kmmdbr2hrnpq8kvdywv6xazhb0h9mg"; - name = "kmix-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmix-18.04.1.tar.xz"; + sha256 = "1jq71pgnlz95na5fbm504pkrrahiclqbb0cwsqpbpi10m2nzcrwd"; + name = "kmix-18.04.1.tar.xz"; }; }; kmousetool = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmousetool-18.04.0.tar.xz"; - sha256 = "1n36myw2j43mnlawkymyv73l4xkpc5ynqalqka2jigdzqin87gr7"; - name = "kmousetool-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmousetool-18.04.1.tar.xz"; + sha256 = "08g5k9yfd5wrh47zp99hgq634vd9r23gjlr77xg86jqn8dj2lgqx"; + name = "kmousetool-18.04.1.tar.xz"; }; }; kmouth = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmouth-18.04.0.tar.xz"; - sha256 = "03m4ia8s2qg6pnih6i8df3y2dxc8qcxwcnn7kyjd1ygw8i3gjkyk"; - name = "kmouth-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmouth-18.04.1.tar.xz"; + sha256 = "08m5r9vd0gb06izav2g21qkfmg1gjpj0kn0nh785bbhs0bbngrci"; + name = "kmouth-18.04.1.tar.xz"; }; }; kmplot = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kmplot-18.04.0.tar.xz"; - sha256 = "1bl0sw58p4qnbka1kss2w3p0w7r91c29hg3h3ljxlarj8yg7z95v"; - name = "kmplot-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kmplot-18.04.1.tar.xz"; + sha256 = "01rxnc45jc6swsm2h8bw45n96lsalgbfzww18hlq1qpyjr20181h"; + name = "kmplot-18.04.1.tar.xz"; }; }; knavalbattle = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/knavalbattle-18.04.0.tar.xz"; - sha256 = "0hw5syv8csnx1myjdfsd96bxvqcg2c21fpcgmb9dc8gj4nzqqabv"; - name = "knavalbattle-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/knavalbattle-18.04.1.tar.xz"; + sha256 = "1kr37qmb4577i12wghc0qcbbqpxr2wzww1cqv0wcd9jmjd3mq1xw"; + name = "knavalbattle-18.04.1.tar.xz"; }; }; knetwalk = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/knetwalk-18.04.0.tar.xz"; - sha256 = "0r3a9pa9nwhfg5xbp062dsaq8n20mrykfbcp52m9wlln8rwjiz1x"; - name = "knetwalk-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/knetwalk-18.04.1.tar.xz"; + sha256 = "02zpndbbyffakdxxswpmb1hrszh78a3ip6mfr8bqwnwbvzh80cjy"; + name = "knetwalk-18.04.1.tar.xz"; }; }; knotes = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/knotes-18.04.0.tar.xz"; - sha256 = "1gkz3vrsj9irzyhc1djvmkbikiqxn7bgv913ynax8akbbmlh9xlh"; - name = "knotes-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/knotes-18.04.1.tar.xz"; + sha256 = "0jc9mpnwgrbh8pra75gsiy9wm0aylm9a0ssw8bhfivb77dmqr44c"; + name = "knotes-18.04.1.tar.xz"; }; }; kolf = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kolf-18.04.0.tar.xz"; - sha256 = "0cjvm5xg09wnx5n5hz9w3ckxfyhnwxn423f4hm5c8qwij4gnsfsn"; - name = "kolf-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kolf-18.04.1.tar.xz"; + sha256 = "1bahv98dskknyy8rxpnjxywpcw09x58bsdg0aqgh5xdm0ym992ik"; + name = "kolf-18.04.1.tar.xz"; }; }; kollision = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kollision-18.04.0.tar.xz"; - sha256 = "03lkrdh11q4vmbc8a5hflsbk2w39ffr96r6rwazkas7svc2hky6i"; - name = "kollision-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kollision-18.04.1.tar.xz"; + sha256 = "0pr4f9inxp77d761byis30jski642bhcfvbpcpnj9fi3k1cgzcna"; + name = "kollision-18.04.1.tar.xz"; }; }; kolourpaint = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kolourpaint-18.04.0.tar.xz"; - sha256 = "18b01w44bp7hyhxyj5cbfhlmhvcr1bbi1j6i0j62h67sm9fy65vr"; - name = "kolourpaint-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kolourpaint-18.04.1.tar.xz"; + sha256 = "1lfvmk9vhwa8j454pfh0x1klqb360zlsyydiiqm5a4dhc4wvcwzy"; + name = "kolourpaint-18.04.1.tar.xz"; }; }; kompare = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kompare-18.04.0.tar.xz"; - sha256 = "019z54h9dlcxy7hfzxrh0nh3l2jzc993jhdw4s70h7mf2yddl6zi"; - name = "kompare-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kompare-18.04.1.tar.xz"; + sha256 = "0kmf245fbm32hdgmyiv51ham3py7jhc3zpwfcfxbjyi94ikx4n79"; + name = "kompare-18.04.1.tar.xz"; }; }; konqueror = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/konqueror-18.04.0.tar.xz"; - sha256 = "0z7b8w47xs2wm13c82fkcf07qd7ikyi67dg8abfnxhvmri4bsxn2"; - name = "konqueror-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/konqueror-18.04.1.tar.xz"; + sha256 = "0798z1pm7sxi93xy4jibzhff8k37q88l59kyz524kl7m8wnw5scj"; + name = "konqueror-18.04.1.tar.xz"; }; }; konquest = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/konquest-18.04.0.tar.xz"; - sha256 = "0344hjkhq5czxi3wl9vfavli79lh7mqhk8qby0hj53xp6mqh7xfx"; - name = "konquest-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/konquest-18.04.1.tar.xz"; + sha256 = "0h637lpmdsascp178fi5mpl9825n83r094ff8l5k4dnfks5imgv4"; + name = "konquest-18.04.1.tar.xz"; }; }; konsole = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/konsole-18.04.0.tar.xz"; - sha256 = "0r2al3ja1fpkyyq7hrzis9pmkp54idivfmrj71rqk74jfjjjky2k"; - name = "konsole-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/konsole-18.04.1.tar.xz"; + sha256 = "0hnyi5361glmal69brqc9h6zcv8z4l8va6nv0hc2siafmj21yhw6"; + name = "konsole-18.04.1.tar.xz"; }; }; kontact = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kontact-18.04.0.tar.xz"; - sha256 = "14kpnfa2bl92frz6vssfs1q3065vsgl5bfgrgyvbbpxfviy5ciaz"; - name = "kontact-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kontact-18.04.1.tar.xz"; + sha256 = "00xaizfnfvh39xnxq2jp9n9cl7f0a22hlndamjfhw126ji0mz052"; + name = "kontact-18.04.1.tar.xz"; }; }; kontactinterface = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kontactinterface-18.04.0.tar.xz"; - sha256 = "12hmh1wxsxb1n1727qpmarhs83nziy93kb7a8xyahpkky82jn62x"; - name = "kontactinterface-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kontactinterface-18.04.1.tar.xz"; + sha256 = "1zywgcrwzgw56vx2x0f2f0235bs2aikvn2qfizv4m5ac7ydihnyd"; + name = "kontactinterface-18.04.1.tar.xz"; }; }; kopete = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kopete-18.04.0.tar.xz"; - sha256 = "0p22yjpzrgqmdr74pw9pxasb25w9ikdgsrlbcq5yy95il1zppwfl"; - name = "kopete-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kopete-18.04.1.tar.xz"; + sha256 = "1isxabxxx48vjzihycv80fapx69qrvv5zlyfrdg42s9qxqkcgvi8"; + name = "kopete-18.04.1.tar.xz"; }; }; korganizer = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/korganizer-18.04.0.tar.xz"; - sha256 = "02vyycpiqdfik2902pk97jz28s4nh2wax129y6n1mdxjjvw15gp2"; - name = "korganizer-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/korganizer-18.04.1.tar.xz"; + sha256 = "1x3n03200j79xrj4y7046l3sa3qqfys3z2d2b1nl22v8g3l8gyx2"; + name = "korganizer-18.04.1.tar.xz"; }; }; kpat = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kpat-18.04.0.tar.xz"; - sha256 = "02s74cwyp3mpdc8xk6hky3p8s3svdwwkrdfbaxbkh6ysywbm7728"; - name = "kpat-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kpat-18.04.1.tar.xz"; + sha256 = "1fly7cd895v6k991hjvq4cv22dibzsvihzcj9cl9pzc7dk9vp70v"; + name = "kpat-18.04.1.tar.xz"; }; }; kpimtextedit = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kpimtextedit-18.04.0.tar.xz"; - sha256 = "101jj454b4p52yxzcp837075fp3lh3wnkjw8spcfb6k1rjf0ss68"; - name = "kpimtextedit-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kpimtextedit-18.04.1.tar.xz"; + sha256 = "09513fv0kaa7x01lsnpm18vvxijcwb68hdglbw08n5f7135k79mn"; + name = "kpimtextedit-18.04.1.tar.xz"; }; }; kqtquickcharts = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kqtquickcharts-18.04.0.tar.xz"; - sha256 = "1ccfgbm1dbrf0nkkpg7qzrpa0sjdv46cvdn7qc86qqqmbb96zij8"; - name = "kqtquickcharts-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kqtquickcharts-18.04.1.tar.xz"; + sha256 = "08y0nc070pjmf07yifkfd6dm3frma752c42m3ms0ysz96l1x2gr1"; + name = "kqtquickcharts-18.04.1.tar.xz"; }; }; krdc = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/krdc-18.04.0.tar.xz"; - sha256 = "11nk01vhpqlhgn7b928svvpdn5r9hbrc01248xzqkj16iwrdrqr9"; - name = "krdc-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/krdc-18.04.1.tar.xz"; + sha256 = "166990llgfkbysahrfralc6n2g7ix7h4w1fpzss0axfigz5ink1x"; + name = "krdc-18.04.1.tar.xz"; }; }; kreversi = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kreversi-18.04.0.tar.xz"; - sha256 = "1jbvsldl1g1ljl4mzn1l93gi5kb8jrzwqjzfga4dbribif8shmq8"; - name = "kreversi-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kreversi-18.04.1.tar.xz"; + sha256 = "0g6jc7s54i4gzb5q9cg4qczwx9i4zir52zqnjl5akr1w9v8d2m34"; + name = "kreversi-18.04.1.tar.xz"; }; }; krfb = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/krfb-18.04.0.tar.xz"; - sha256 = "1aq285jn4k0s9vwy99w2a1wm4nzwzjafz8a0gy47ydi0m29b1rkc"; - name = "krfb-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/krfb-18.04.1.tar.xz"; + sha256 = "1zd3rgp4265r1fi1kc2s09rrzpa22b9j56cq3l50mzkb80kyi6vl"; + name = "krfb-18.04.1.tar.xz"; }; }; kross-interpreters = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kross-interpreters-18.04.0.tar.xz"; - sha256 = "15cbpq7cs0hnm42c03kyvyshfa10xdsajlbmsixzbmvks34c8b1y"; - name = "kross-interpreters-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kross-interpreters-18.04.1.tar.xz"; + sha256 = "1gybf7diq2amaqs7xaikfh1kp40iwfvxz4bms16b6flck8sja8va"; + name = "kross-interpreters-18.04.1.tar.xz"; }; }; kruler = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kruler-18.04.0.tar.xz"; - sha256 = "0bm1d8n0v4qg8jaciws247bda7q5nab0i80qlg2xb20lygi2fwwr"; - name = "kruler-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kruler-18.04.1.tar.xz"; + sha256 = "0bkf1cm23582hwz4j3xygrwqwbfq27qycvnf2mqw921j08axa376"; + name = "kruler-18.04.1.tar.xz"; }; }; kshisen = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kshisen-18.04.0.tar.xz"; - sha256 = "1m9wa59iz3p2x7zxngp2wqf99ab6p1gai3h0fb4zbqbib98jpmyf"; - name = "kshisen-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kshisen-18.04.1.tar.xz"; + sha256 = "098qqzii4wk0pv5388yighy381k5ffrb8wy4z461yxgxc75d77f7"; + name = "kshisen-18.04.1.tar.xz"; }; }; ksirk = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ksirk-18.04.0.tar.xz"; - sha256 = "0msw4lkrjj5ihbdg9ibjrk7ddcw933kqhbf6aap5jc4lz0r6y1d8"; - name = "ksirk-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ksirk-18.04.1.tar.xz"; + sha256 = "0mxj4vp6da535ghnxisk6j7akhis0fh16kj6bycw8fxxl5jiy0sq"; + name = "ksirk-18.04.1.tar.xz"; }; }; ksmtp = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ksmtp-18.04.0.tar.xz"; - sha256 = "1r89wm8q4vxaqdd1j8qb84qr7zg1dfb731r7qypilvkcc8z1samn"; - name = "ksmtp-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ksmtp-18.04.1.tar.xz"; + sha256 = "0imfcaisvh78s18x2w4iizr4vn6sndr1nk9585vs9dr8wcwbfrl3"; + name = "ksmtp-18.04.1.tar.xz"; }; }; ksnakeduel = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ksnakeduel-18.04.0.tar.xz"; - sha256 = "04lpcp7l4xwnwk073yji84kaw16gi0ybkzlvcg1plpqj6w1y1y8w"; - name = "ksnakeduel-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ksnakeduel-18.04.1.tar.xz"; + sha256 = "07p9nil9x3cyzzxcr59h3rj9h6g1lfssrsi6iqwq0hpdc6h2zl73"; + name = "ksnakeduel-18.04.1.tar.xz"; }; }; kspaceduel = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kspaceduel-18.04.0.tar.xz"; - sha256 = "04shgk89xfp3z26683mc9g612fmnqg01fp8qah7y8mbac3cv4f5i"; - name = "kspaceduel-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kspaceduel-18.04.1.tar.xz"; + sha256 = "0aar147l5bq1ij40ng5wbdixg91678r3d07lrnmdffb47wa1ly7n"; + name = "kspaceduel-18.04.1.tar.xz"; }; }; ksquares = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ksquares-18.04.0.tar.xz"; - sha256 = "17siqdj6l2g2rnaswdzipxlxxx8x4q5wb4z2rc12gf08fggxfmgn"; - name = "ksquares-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ksquares-18.04.1.tar.xz"; + sha256 = "1vr9xdi0jfrjwvq5y04djmnax7q4d5amj8a7mzvvqq427zl6xc3c"; + name = "ksquares-18.04.1.tar.xz"; }; }; ksudoku = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ksudoku-18.04.0.tar.xz"; - sha256 = "1slmfps0861n8p4rqc1ng4981v1jdyppzr990abadqzf344d3ab3"; - name = "ksudoku-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ksudoku-18.04.1.tar.xz"; + sha256 = "0habss3w7m3x8mhh70qq38nymynvihar9clpxmlp6pbyw8sl9v6n"; + name = "ksudoku-18.04.1.tar.xz"; }; }; ksystemlog = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ksystemlog-18.04.0.tar.xz"; - sha256 = "164cfzfjya7yg5pzzpxzfr0r1yf6napvibpjs9y784fl4r2qb780"; - name = "ksystemlog-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ksystemlog-18.04.1.tar.xz"; + sha256 = "1yyrbdzjxrlf96l3bvj675fsbn6440lxr1nd5j4rs09d3fyvl6p1"; + name = "ksystemlog-18.04.1.tar.xz"; }; }; kteatime = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kteatime-18.04.0.tar.xz"; - sha256 = "0sm4kcq618qp5ihnvcw2zp0frnj21mmjapksy7q63skh9ncjgmj3"; - name = "kteatime-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kteatime-18.04.1.tar.xz"; + sha256 = "02849i02h0zmsc3wifzgq9s0mgfdyzdrm61ngq944r260anizxhd"; + name = "kteatime-18.04.1.tar.xz"; }; }; ktimer = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktimer-18.04.0.tar.xz"; - sha256 = "1mgjgs8j4wfkjq766w9lyc21h3l3cfv5qb5a3x1anc74y1vanksj"; - name = "ktimer-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktimer-18.04.1.tar.xz"; + sha256 = "13k0wmjh925sj7l8n4kc0adva1vfbgs6admh80ch0xwk8mmsdjvp"; + name = "ktimer-18.04.1.tar.xz"; }; }; ktnef = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktnef-18.04.0.tar.xz"; - sha256 = "1rys8l7rmwzv79mwmm97yxfq8gsfz4sh6hf7bjq6zhc9q42n3r36"; - name = "ktnef-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktnef-18.04.1.tar.xz"; + sha256 = "1m6nbsnbh8apyqaw2kivkzhk7fp9y2xphmrblqdpf49qpbh6jqlq"; + name = "ktnef-18.04.1.tar.xz"; }; }; ktouch = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktouch-18.04.0.tar.xz"; - sha256 = "10lwc2gz1gwghz95f1dgdv33n4rwly0f8maslv3hb47cr14c259v"; - name = "ktouch-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktouch-18.04.1.tar.xz"; + sha256 = "18piwwdq4hl8yaln7s7p4bw0lwkyjwnw8lknirj1352npycvq2n1"; + name = "ktouch-18.04.1.tar.xz"; }; }; ktp-accounts-kcm = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-accounts-kcm-18.04.0.tar.xz"; - sha256 = "1arcg0wabjqla5mc773vrbwd2abl5zwhhchf88f1i4krcv2crn3s"; - name = "ktp-accounts-kcm-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-accounts-kcm-18.04.1.tar.xz"; + sha256 = "1ihxvngg6cp1vzhpf4hkf2zwxpa5gnlq11lc1ffnhy7fm7ig28nx"; + name = "ktp-accounts-kcm-18.04.1.tar.xz"; }; }; ktp-approver = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-approver-18.04.0.tar.xz"; - sha256 = "0afgd08x857mi7s5br3m5q41k8rm77p6dnvb3idjsmv0m8324md4"; - name = "ktp-approver-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-approver-18.04.1.tar.xz"; + sha256 = "1749l1zklk1q7i3z4mbk24566vps74hj3as4ijybgymczr4rd3gz"; + name = "ktp-approver-18.04.1.tar.xz"; }; }; ktp-auth-handler = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-auth-handler-18.04.0.tar.xz"; - sha256 = "1d7s1rqh231k57bygbyzxiz3cs9diqx4x2f7v66awm20la2p804y"; - name = "ktp-auth-handler-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-auth-handler-18.04.1.tar.xz"; + sha256 = "0llkw1yqi91s8iqdqz8pskccinmjsgbp1081pngpkqcg1iy7bara"; + name = "ktp-auth-handler-18.04.1.tar.xz"; }; }; ktp-call-ui = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-call-ui-18.04.0.tar.xz"; - sha256 = "1qffsq9nnhzlgmm42vg98g172361zra06wgpa7n8y3pvl9mwlrbm"; - name = "ktp-call-ui-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-call-ui-18.04.1.tar.xz"; + sha256 = "1pji4z8h7bk5npl279x5g9hx7zgdhnjdrv669nrd1gi9m20n6vi7"; + name = "ktp-call-ui-18.04.1.tar.xz"; }; }; ktp-common-internals = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-common-internals-18.04.0.tar.xz"; - sha256 = "0cvyw7rs8afi7c1dl58jmibzqy1jdnbkjqsxilnlkj5rmplg10av"; - name = "ktp-common-internals-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-common-internals-18.04.1.tar.xz"; + sha256 = "0jwkwznqcrk39k07srl7c0yznj9p9dp70lkfhjg3syscwm8drydv"; + name = "ktp-common-internals-18.04.1.tar.xz"; }; }; ktp-contact-list = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-contact-list-18.04.0.tar.xz"; - sha256 = "1384rps2wp1qgqq0jj1p9rjkg3gdrsjid87jhdjv95kjxc1a7a1y"; - name = "ktp-contact-list-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-contact-list-18.04.1.tar.xz"; + sha256 = "1806fapr0pv15dmpqb0khdlgrmk9bsf45s1ab7x9pdnghnawn132"; + name = "ktp-contact-list-18.04.1.tar.xz"; }; }; ktp-contact-runner = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-contact-runner-18.04.0.tar.xz"; - sha256 = "02hr0g619h30hr49rxs5yvwna6skzkvca03p9yy70ib22gzpfxli"; - name = "ktp-contact-runner-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-contact-runner-18.04.1.tar.xz"; + sha256 = "0b9xm5p9w5kd67sh13h9caxqj89jzia79hfk9fzxpjbf0kifj72s"; + name = "ktp-contact-runner-18.04.1.tar.xz"; }; }; ktp-desktop-applets = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-desktop-applets-18.04.0.tar.xz"; - sha256 = "09jfw3sn6yn4znir0rcgwwc5h1zp2vc39y4i7fi1rznhdagwy1ji"; - name = "ktp-desktop-applets-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-desktop-applets-18.04.1.tar.xz"; + sha256 = "0jrdz8ccgrbwpb6k73wvsix3h3h16dxzgqy19lykd5igckq1v2qh"; + name = "ktp-desktop-applets-18.04.1.tar.xz"; }; }; ktp-filetransfer-handler = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-filetransfer-handler-18.04.0.tar.xz"; - sha256 = "1wc72ghl2v6bjrw1pb8h8ajigqhyb53nlhya2cqhdf1banpjv0n5"; - name = "ktp-filetransfer-handler-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-filetransfer-handler-18.04.1.tar.xz"; + sha256 = "03v0wgac6knprqi7mfzc3w1rrdkf9lgi2gpscc3k910dyswh1802"; + name = "ktp-filetransfer-handler-18.04.1.tar.xz"; }; }; ktp-kded-module = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-kded-module-18.04.0.tar.xz"; - sha256 = "1845csv2ci5589iws49ma5qrkgs5q6hqb2hzrk6znr6w3d1smbbj"; - name = "ktp-kded-module-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-kded-module-18.04.1.tar.xz"; + sha256 = "0d3vv1ngsbh87wxijvyd2hzhdzwr0r5vx5h3jdl3znjh9ysifwm4"; + name = "ktp-kded-module-18.04.1.tar.xz"; }; }; ktp-send-file = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-send-file-18.04.0.tar.xz"; - sha256 = "137l6b4dpd78x8z99cpz0sp8f5lbdlvzkd2w742jsiylxchrjr5l"; - name = "ktp-send-file-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-send-file-18.04.1.tar.xz"; + sha256 = "1p3vgbsmam687bzp1h6xxv2qr2f6jz6mjbpk5jxjvvz66aq4dj8y"; + name = "ktp-send-file-18.04.1.tar.xz"; }; }; ktp-text-ui = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktp-text-ui-18.04.0.tar.xz"; - sha256 = "12hhfkjglqbd4qxhl10xczk9ha0j494vjldkg05lhm0l233zr9km"; - name = "ktp-text-ui-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktp-text-ui-18.04.1.tar.xz"; + sha256 = "1zsxyizm9vdlrxicxvgmy5irqi914szxkd38xrgspp2vdi4bnvb6"; + name = "ktp-text-ui-18.04.1.tar.xz"; }; }; ktuberling = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/ktuberling-18.04.0.tar.xz"; - sha256 = "12mrb0a5k5z02mjwdn8vlcwr8jxwp7x2f04wzac749csyn0sj86d"; - name = "ktuberling-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/ktuberling-18.04.1.tar.xz"; + sha256 = "1rpval4rl63dfy2p6aq5902ifvv14x1zg8mzzci26kqq8k38jasc"; + name = "ktuberling-18.04.1.tar.xz"; }; }; kturtle = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kturtle-18.04.0.tar.xz"; - sha256 = "0vm28xngj52l6fs7sd54wg4fhss131kh6ihs1ibnzi9in0hvga62"; - name = "kturtle-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kturtle-18.04.1.tar.xz"; + sha256 = "1s2n46nlzc63108gc43h14yjrcd12h93bvbg08ynhfaq26pqz1jk"; + name = "kturtle-18.04.1.tar.xz"; }; }; kubrick = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kubrick-18.04.0.tar.xz"; - sha256 = "0as99qx9vi6zcx61kai7y3ym4vzm8r7ma4p0a2z8rxymps1nk3dy"; - name = "kubrick-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kubrick-18.04.1.tar.xz"; + sha256 = "1gqnfc8gnl96gz5i3ak7swhm36c9dv7n0c4b5f70pnsi5n7klbxr"; + name = "kubrick-18.04.1.tar.xz"; }; }; kwalletmanager = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kwalletmanager-18.04.0.tar.xz"; - sha256 = "1f4124bm86aqbv36v961jca647vvxrlssq5ydnvi1yfx0saza94q"; - name = "kwalletmanager-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kwalletmanager-18.04.1.tar.xz"; + sha256 = "0vj0ch1dk265v6x8xzvskpv5mc564p10pn8m9jjv79wk2xy1vsjz"; + name = "kwalletmanager-18.04.1.tar.xz"; }; }; kwave = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kwave-18.04.0.tar.xz"; - sha256 = "1bw6lcl95aqcvzp2z31krdaiq0hfhndicynarai58rcg2ngbsm53"; - name = "kwave-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kwave-18.04.1.tar.xz"; + sha256 = "0avbyyrhvzfxdib0d80rk7m6gk6kq9rjvv640s08y237m68fncap"; + name = "kwave-18.04.1.tar.xz"; }; }; kwordquiz = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/kwordquiz-18.04.0.tar.xz"; - sha256 = "1rfr1hc6xkciyx5wknzikf4ml1sgcqj8lflxpksdsg9m5nk7w73y"; - name = "kwordquiz-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/kwordquiz-18.04.1.tar.xz"; + sha256 = "1yqynfmlargfwk7nlfzhlxd1df462ssw7qj3pdhym8277jfch58r"; + name = "kwordquiz-18.04.1.tar.xz"; }; }; libgravatar = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libgravatar-18.04.0.tar.xz"; - sha256 = "1wzfvp5acdkpj37bg1hphy0fszvbakzx0azg56zk0h9526h6qrq1"; - name = "libgravatar-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libgravatar-18.04.1.tar.xz"; + sha256 = "19xrc70yh6baxg5jlr3v3d3af46vms28jzvkpgda5ffacnn3xnrj"; + name = "libgravatar-18.04.1.tar.xz"; }; }; libkcddb = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkcddb-18.04.0.tar.xz"; - sha256 = "1967in5041lyjapi3avlns1g7ps8sqvq547gw13snhkjn0dbs1aa"; - name = "libkcddb-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkcddb-18.04.1.tar.xz"; + sha256 = "1nn80sflfgzd3d2kc4d4zwa09ix498svrinn27b9h8x3w3gsbg8f"; + name = "libkcddb-18.04.1.tar.xz"; }; }; libkcompactdisc = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkcompactdisc-18.04.0.tar.xz"; - sha256 = "01c1pmb2v7bd03jdkwdw4l37736ad8igrrwa9cf5jwg6q5ps9xgb"; - name = "libkcompactdisc-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkcompactdisc-18.04.1.tar.xz"; + sha256 = "12zb39zwvl8y2b48vjn34dxj4f65laswd67w5f7m4g0nczq218v1"; + name = "libkcompactdisc-18.04.1.tar.xz"; }; }; libkdcraw = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkdcraw-18.04.0.tar.xz"; - sha256 = "04gc0m4ndkx02yavqmc5xh488rmxw5ppicv902iby0m9ywrjinik"; - name = "libkdcraw-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkdcraw-18.04.1.tar.xz"; + sha256 = "011q982rx5m8609i1zd6q186xw3ps81fnvhjk69hxy5w8pp44m6i"; + name = "libkdcraw-18.04.1.tar.xz"; }; }; libkdegames = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkdegames-18.04.0.tar.xz"; - sha256 = "09wxdvd2ahhh11ncylh5il5fbx1jx6jpwzp1r18cx5k71fw2idp6"; - name = "libkdegames-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkdegames-18.04.1.tar.xz"; + sha256 = "03afnypmn8bz1cgc4lgfmid2hszsq564hsf9m5s57a29vfswnp6m"; + name = "libkdegames-18.04.1.tar.xz"; }; }; libkdepim = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkdepim-18.04.0.tar.xz"; - sha256 = "0m3rlwdy010v4s3157w8jlb6ahcmn4frqxp1ibachpmz6y77gkkq"; - name = "libkdepim-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkdepim-18.04.1.tar.xz"; + sha256 = "02wrkn1h662dqzp7kyrhhhiyahhkgqz75jcd59haxyj66amlgcx6"; + name = "libkdepim-18.04.1.tar.xz"; }; }; libkeduvocdocument = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkeduvocdocument-18.04.0.tar.xz"; - sha256 = "1g10c955gy0530xypr62x9dp4736s6qwr5afb90nlj8rhnq2zmbw"; - name = "libkeduvocdocument-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkeduvocdocument-18.04.1.tar.xz"; + sha256 = "14i25wjfak39bz0y5rkg25mvjxnzpak76sf5w163dmwx2hd7spzr"; + name = "libkeduvocdocument-18.04.1.tar.xz"; }; }; libkexiv2 = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkexiv2-18.04.0.tar.xz"; - sha256 = "11ydba6jdvyvp3j3zzy7gjcmz20zv6nwg07r00xgs34y9n50rhzy"; - name = "libkexiv2-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkexiv2-18.04.1.tar.xz"; + sha256 = "0q6hmghivdj0aq00pg3z5i6mfdj3xgpdd6yw0vr9i4jnk0rfb349"; + name = "libkexiv2-18.04.1.tar.xz"; }; }; libkgapi = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkgapi-18.04.0.tar.xz"; - sha256 = "0bp7y1wjajzzq6q3sygl2vxk685k5hmcvy1i42q5fph28q2b0dli"; - name = "libkgapi-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkgapi-18.04.1.tar.xz"; + sha256 = "0wpxn7qyf56rckarx52ic3yyhv8r043dxjir4f2yf05vkddwkshv"; + name = "libkgapi-18.04.1.tar.xz"; }; }; libkgeomap = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkgeomap-18.04.0.tar.xz"; - sha256 = "0814ql6xpj02sirmz9crn649rabqclhzjnrlk47isgjwsgk5kqmh"; - name = "libkgeomap-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkgeomap-18.04.1.tar.xz"; + sha256 = "16rzw8r1i7isfh86rg86a0h25zwa8h3hnxbzf3fjmdn6mmdkp2va"; + name = "libkgeomap-18.04.1.tar.xz"; }; }; libkipi = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkipi-18.04.0.tar.xz"; - sha256 = "10d7yb6psrj1xl34pkhw6fpmja7mk8bkq80id0snc5nxlr0v1jdb"; - name = "libkipi-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkipi-18.04.1.tar.xz"; + sha256 = "09rx85phr259anznvxyfp4rb51jsid76jrbcgv52vy9cfd7rr8pk"; + name = "libkipi-18.04.1.tar.xz"; }; }; libkleo = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkleo-18.04.0.tar.xz"; - sha256 = "179abszgi7nm763cvyqi2274x7107vb4irblsdfkqmlp924xssdd"; - name = "libkleo-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkleo-18.04.1.tar.xz"; + sha256 = "06kyiv9bshyf2q0k7g7pm1ja35sxddgrzb5ayxnx03na86dm67j9"; + name = "libkleo-18.04.1.tar.xz"; }; }; libkmahjongg = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkmahjongg-18.04.0.tar.xz"; - sha256 = "1grsyjsghjk3ikj7lpib3k94qcsz6r1l3czcawwamf2m83jydk2k"; - name = "libkmahjongg-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkmahjongg-18.04.1.tar.xz"; + sha256 = "09sqi1xyd8hk3x6w5ix6sa191ihil3zjq1qd6j50fr2rpqzfnbm0"; + name = "libkmahjongg-18.04.1.tar.xz"; }; }; libkomparediff2 = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libkomparediff2-18.04.0.tar.xz"; - sha256 = "0vzq25q9hihv8np0l0jdyfipf3w86wm6y7n46dhhqkqw380wrxwy"; - name = "libkomparediff2-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libkomparediff2-18.04.1.tar.xz"; + sha256 = "0d00r0h1fbmhkdn791f3i87ckc4l8wd5rljlm4lfzcr95lbmpzyv"; + name = "libkomparediff2-18.04.1.tar.xz"; }; }; libksane = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libksane-18.04.0.tar.xz"; - sha256 = "1vc7z3dzr0nk3rrfq96p6phbb3rfnkn6wpjnzmc66f4mvq96hn7i"; - name = "libksane-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libksane-18.04.1.tar.xz"; + sha256 = "1k1ffki9gcgah7xymyzbwza00gw3dvkfghcbyy4dpvbb0q4ayw7c"; + name = "libksane-18.04.1.tar.xz"; }; }; libksieve = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/libksieve-18.04.0.tar.xz"; - sha256 = "16x419wzpyl9jj4q49rwmfm75x6minwrg0jvkad5kh541r52a5bn"; - name = "libksieve-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/libksieve-18.04.1.tar.xz"; + sha256 = "0dsb1lj155y32avlgw6clxpbv00z3nrc7a7nlfh29l0wjl09mr50"; + name = "libksieve-18.04.1.tar.xz"; }; }; lokalize = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/lokalize-18.04.0.tar.xz"; - sha256 = "19j0jqn3xzawsyy4fzsy3c2hrjp9920bihzpbq8yalws6w0v8li4"; - name = "lokalize-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/lokalize-18.04.1.tar.xz"; + sha256 = "1svwl30abycdq2jc4a688lbb4yk28dqscchi1zshdii6w00bcys9"; + name = "lokalize-18.04.1.tar.xz"; }; }; lskat = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/lskat-18.04.0.tar.xz"; - sha256 = "1dk73c6v5h5abx5244rnjjfxi2cn2sya1jav3020nif111c2c9f7"; - name = "lskat-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/lskat-18.04.1.tar.xz"; + sha256 = "0isy9ibk93i4b72cdv5210n8gfwiydrw4i0bax2pkyxqymyfr5lj"; + name = "lskat-18.04.1.tar.xz"; }; }; mailcommon = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/mailcommon-18.04.0.tar.xz"; - sha256 = "10psdddw3wzyalh5662rvq68l8i9sxmcl5pavgn03np3g3fws8fd"; - name = "mailcommon-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/mailcommon-18.04.1.tar.xz"; + sha256 = "0s0c4swm1q331hzqg0fqb2r9dwx4aamwan3s5p71vjnibxzbmqck"; + name = "mailcommon-18.04.1.tar.xz"; }; }; mailimporter = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/mailimporter-18.04.0.tar.xz"; - sha256 = "0wwclx24bfczqxvcf5jdfpqa9cx0dv9ygsj5blaqk9g5pgych5hi"; - name = "mailimporter-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/mailimporter-18.04.1.tar.xz"; + sha256 = "1qzc7yjjscbxkinby9carp02wqppx95hirq0m5ihly7avn5cn6dz"; + name = "mailimporter-18.04.1.tar.xz"; }; }; marble = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/marble-18.04.0.tar.xz"; - sha256 = "0q1dr2p4qwcik86fcr0jqvplkwfnj14fysqcqk2pwwdkfnqlsppv"; - name = "marble-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/marble-18.04.1.tar.xz"; + sha256 = "04aa32qnr585lq3s3hmxqlwqranr3wr1zr1xm99pbsb32k2yyyjn"; + name = "marble-18.04.1.tar.xz"; }; }; mbox-importer = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/mbox-importer-18.04.0.tar.xz"; - sha256 = "1kai38svb4bsj1kfhyv94sgxqavj4fgb4laxl2sxvwah3rk6avd5"; - name = "mbox-importer-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/mbox-importer-18.04.1.tar.xz"; + sha256 = "06735201365rpp3lr877pqdkz9206zfzhvbbr432fvg6lx3p5z4s"; + name = "mbox-importer-18.04.1.tar.xz"; }; }; messagelib = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/messagelib-18.04.0.tar.xz"; - sha256 = "14nn6aw1831j0iwwb7d4swxh6i4855izglmifq2ijsbpbdqsq5p2"; - name = "messagelib-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/messagelib-18.04.1.tar.xz"; + sha256 = "1fznlxl1j1n5pbg3v7rmd4lhfjhr1r95b62gyqydlrrwgzzs92b2"; + name = "messagelib-18.04.1.tar.xz"; }; }; minuet = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/minuet-18.04.0.tar.xz"; - sha256 = "0fdyv0qbj04pxsbyvrmbqs7bff7cld28iyw7n8lgv2gdm3n45vbh"; - name = "minuet-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/minuet-18.04.1.tar.xz"; + sha256 = "0fans0fpghdckmp6ww8api4d7kfna1w20yjgssvfqxgyxxni0vps"; + name = "minuet-18.04.1.tar.xz"; }; }; okular = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/okular-18.04.0.tar.xz"; - sha256 = "1ywzpdahnfc0ydvpidphdyh61ql7zwk4m6cpfj2zg9njh276w1d8"; - name = "okular-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/okular-18.04.1.tar.xz"; + sha256 = "0fhfbjlwa4xzf2q2wnidprj7qqizs26i959k61k4j66y66d2za0g"; + name = "okular-18.04.1.tar.xz"; }; }; palapeli = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/palapeli-18.04.0.tar.xz"; - sha256 = "0m4h5h15qcqdhlrsi73c8jxkb3zhz07m2jw3r37603w4g6jk9g8b"; - name = "palapeli-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/palapeli-18.04.1.tar.xz"; + sha256 = "01p1xipacb8w7lcd3n8387c7axjxswvv62rn7sphp736l23wri5c"; + name = "palapeli-18.04.1.tar.xz"; }; }; parley = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/parley-18.04.0.tar.xz"; - sha256 = "0h87zfqssbbvwyvar9yf8hv53bdpv7arncs63l6hfr6ajspla9if"; - name = "parley-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/parley-18.04.1.tar.xz"; + sha256 = "1qh7bg38bvq8drnd7plkdxxqsl6rgd37g3iqnxwljxf723s6hcz5"; + name = "parley-18.04.1.tar.xz"; }; }; picmi = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/picmi-18.04.0.tar.xz"; - sha256 = "1pxa4xql2c78n0jqswgll2hpfn33fgw6yz7g8ydgn5nnbcsfhs6r"; - name = "picmi-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/picmi-18.04.1.tar.xz"; + sha256 = "095xm4nkd0kg0pvbbp3vasll1lfpk491frspk2463q0zhd04hpmi"; + name = "picmi-18.04.1.tar.xz"; }; }; pimcommon = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/pimcommon-18.04.0.tar.xz"; - sha256 = "0xnh0xys4sfqashimc1zsdxbssd3821bp9cx6hb0d8l3bq5x2vrp"; - name = "pimcommon-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/pimcommon-18.04.1.tar.xz"; + sha256 = "0zyd0ja6ir6nbkvf4hk6hi93qr19kns8hgww15y2xmdhdcyf52ja"; + name = "pimcommon-18.04.1.tar.xz"; }; }; pim-data-exporter = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/pim-data-exporter-18.04.0.tar.xz"; - sha256 = "0isr1hv74n9mbihirk4qr109d4shh42k8jgcy9v2hmkplq72vwc7"; - name = "pim-data-exporter-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/pim-data-exporter-18.04.1.tar.xz"; + sha256 = "0k69nmjp0n2mmg1nsghghk2ybnvyr01gnrhqwvknpbncb2cnkgcg"; + name = "pim-data-exporter-18.04.1.tar.xz"; }; }; pim-sieve-editor = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/pim-sieve-editor-18.04.0.tar.xz"; - sha256 = "0q1f72mb925qzikqfpv74dcc5f9ipxszvm0z05lsp1dhrmz1pf9a"; - name = "pim-sieve-editor-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/pim-sieve-editor-18.04.1.tar.xz"; + sha256 = "076hzkia8l61nn3gwma88lsx02d1fb6d00jbibvghqp7raa9f0fx"; + name = "pim-sieve-editor-18.04.1.tar.xz"; }; }; poxml = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/poxml-18.04.0.tar.xz"; - sha256 = "1rwr1ldrkwyfxm56i16mpq0vmqiq2397gcbzg4skqpc727s55nlv"; - name = "poxml-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/poxml-18.04.1.tar.xz"; + sha256 = "1ha1dy5j40269nv5ygb0idd9kkizni3zq4vz64i2y29lvbrqdgh1"; + name = "poxml-18.04.1.tar.xz"; }; }; print-manager = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/print-manager-18.04.0.tar.xz"; - sha256 = "1x70xia2rph40flx4r3cpxcvxfzny83v87l4kgc1n0khavhp9lpx"; - name = "print-manager-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/print-manager-18.04.1.tar.xz"; + sha256 = "10l2w1fyym4nflmqnfsxdnnbllvliwyx7z7ylmi4i4rkcpaafyqx"; + name = "print-manager-18.04.1.tar.xz"; }; }; rocs = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/rocs-18.04.0.tar.xz"; - sha256 = "0q0q9bnmsw23jdbrxrkmmjvyr5jv4s1z8v9h7nsaxqs1k2prflp4"; - name = "rocs-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/rocs-18.04.1.tar.xz"; + sha256 = "1bsm1kjkp9x2rh4n682kjyljisri7mniw5yap4ifksq5lk2vbn8z"; + name = "rocs-18.04.1.tar.xz"; }; }; signon-kwallet-extension = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/signon-kwallet-extension-18.04.0.tar.xz"; - sha256 = "04r92pc8l2vw1dc916n658484v14smqrgg4ngx6rccffm58jfvk0"; - name = "signon-kwallet-extension-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/signon-kwallet-extension-18.04.1.tar.xz"; + sha256 = "0xhvah1xq60wiz6pyjkc66sxsz1v3vdzjbjdr5kklpr98pg9xlib"; + name = "signon-kwallet-extension-18.04.1.tar.xz"; }; }; spectacle = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/spectacle-18.04.0.tar.xz"; - sha256 = "1slqgp1rgzcw4nikh6zmxpp3yc04dfbjcqqx2j4wpa1p2xwfv0c2"; - name = "spectacle-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/spectacle-18.04.1.tar.xz"; + sha256 = "0k8vl79gwm4sj0f5pshz99l6cq323hk7a4r1jqzkdmbdv1mc0rgc"; + name = "spectacle-18.04.1.tar.xz"; }; }; step = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/step-18.04.0.tar.xz"; - sha256 = "048f4n24819vj41a0hdabmqvw6k7wkwwicz0q0slvfqws5c3h1l4"; - name = "step-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/step-18.04.1.tar.xz"; + sha256 = "1zwxjsjv72wjvzwj7cdz3lclw92bp9306bcpm4bpfrlcnr3xny1z"; + name = "step-18.04.1.tar.xz"; }; }; svgpart = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/svgpart-18.04.0.tar.xz"; - sha256 = "1yf535ry8xc7lqhcavn2kjmjs0ngkwinm369q0qp7hfddcpsyfbp"; - name = "svgpart-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/svgpart-18.04.1.tar.xz"; + sha256 = "14qf9xfgvgk8d49qz6vhfivzw8hsmj6q2scjk6vg3i16y62qlym9"; + name = "svgpart-18.04.1.tar.xz"; }; }; sweeper = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/sweeper-18.04.0.tar.xz"; - sha256 = "1yf1xfbv516ia3aqj3l8qcdsbjac9pnm8qb23l26g6n3jnq4b331"; - name = "sweeper-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/sweeper-18.04.1.tar.xz"; + sha256 = "0f8nyxdw2arpa85vwl834jqbydvsx7dswjl8cdy66frx5jyqirim"; + name = "sweeper-18.04.1.tar.xz"; }; }; syndication = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/syndication-18.04.0.tar.xz"; - sha256 = "11fx8f9sfc51w5dg6mylbvk0yaaxvc9y2dsg9xxasiw8v6rjjq3n"; - name = "syndication-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/syndication-18.04.1.tar.xz"; + sha256 = "1gcas0aqgzr6r571d66yn7hw86hdb4akd5vgk5jh3liww25y8qm5"; + name = "syndication-18.04.1.tar.xz"; }; }; umbrello = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/umbrello-18.04.0.tar.xz"; - sha256 = "1lbf82j04j8qax7qnsqwsjrz1m4yq0ca6xc9fdhmvkpnzn5z9ydp"; - name = "umbrello-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/umbrello-18.04.1.tar.xz"; + sha256 = "1vw8py5nm7mpv3qa0lxi72cvbvslxppag6aqhbp2zsnz6b152qhy"; + name = "umbrello-18.04.1.tar.xz"; }; }; zeroconf-ioslave = { - version = "18.04.0"; + version = "18.04.1"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.0/src/zeroconf-ioslave-18.04.0.tar.xz"; - sha256 = "0lqh70bmlrj22d82vhm5a9ylm2yj9rz4zgncfwrh9952q1xkzl22"; - name = "zeroconf-ioslave-18.04.0.tar.xz"; + url = "${mirror}/stable/applications/18.04.1/src/zeroconf-ioslave-18.04.1.tar.xz"; + sha256 = "09nvkcq924v3f8jl36618j0hx2b1dzkvbvspf98mnx9lsliyzsc3"; + name = "zeroconf-ioslave-18.04.1.tar.xz"; }; }; } diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix new file mode 100644 index 00000000000..b0b6111b334 --- /dev/null +++ b/pkgs/applications/misc/1password/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchzip, makeWrapper }: + +stdenv.mkDerivation rec { + name = "1password-${version}"; + version = "0.4"; + src = if stdenv.system == "i686-linux" then fetchzip { + url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip"; + sha256 = "0mhlqvd3az50gnfil0xlq10855v3bg7yb05j6ndg4h2c551jrq41"; + stripRoot = false; + } else fetchzip { + url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip"; + sha256 = "15cv8xi4slid9jicdmc5xx2r9ag63wcx1mn7hcgzxbxbhyrvwhyf"; + stripRoot = false; + }; + + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + mkdir -p $out/bin + install -D op $out/share/1password/op + + # https://github.com/NixOS/patchelf/issues/66#issuecomment-267743051 + makeWrapper $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/op \ + --argv0 op \ + --add-flags $out/share/1password/op + ''; + + meta = with stdenv.lib; { + description = "1Password command-line tool"; + homepage = "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/"; + maintainers = with maintainers; [ joelburget ]; + license = licenses.unfree; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 479aa26a19e..3c1f426fb1b 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -5,12 +5,12 @@ }: stdenv.mkDerivation rec { - version = "3.22.1"; + version = "3.23.0"; name = "calibre-${version}"; src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz"; - sha256 = "1nd8pbcfpfw9b26511mhvsvjyfmgnfpdmzwhi7wpkx36wpa4sask"; + sha256 = "0ds3i3dhkgpwa3c1lcq4zjmiaza8k9and0lbqqw4i6jrnpk691f9"; }; patches = [ diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix index edc1497294f..23b98200d14 100644 --- a/pkgs/applications/misc/dbeaver/default.nix +++ b/pkgs/applications/misc/dbeaver/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { name = "dbeaver-ce-${version}"; - version = "5.0.4"; + version = "5.0.5"; desktopItem = makeDesktopItem { name = "dbeaver"; @@ -29,8 +29,8 @@ stdenv.mkDerivation rec { ]; src = fetchurl { - url = "https://dbeaver.jkiss.org/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz"; - sha256 = "0dfs2xa490dypp4qz8v0wj6d2bjnfqhjmlskpzrf8ih416lz1bd3"; + url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz"; + sha256 = "1rcskrv8d3rjcfcn1sxzcaxnvmzgdsbjc9m11li8i4rln712ysza"; }; installPhase = '' @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = https://dbeaver.jkiss.org; + homepage = https://dbeaver.io/; description = "Universal SQL Client for developers, DBA and analysts. Supports MySQL, PostgreSQL, MariaDB, SQLite, and more"; longDescription = '' Free multi-platform database tool for developers, SQL programmers, database diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix index 9906b1fd858..75640b2c54e 100644 --- a/pkgs/applications/misc/dunst/default.nix +++ b/pkgs/applications/misc/dunst/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchpatch +{ stdenv, fetchFromGitHub , pkgconfig, which, perl, libXrandr , cairo, dbus, systemd, gdk_pixbuf, glib, libX11, libXScrnSaver , libXinerama, libnotify, libxdg_basedir, pango, xproto, librsvg @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { name = "dunst-${version}"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitHub { owner = "dunst-project"; repo = "dunst"; rev = "v${version}"; - sha256 = "0i518v2z9fklzl5w60gkwwmg30yz3bd0k4rxjrxjabx73pvxm1mz"; + sha256 = "1kqlshaflp306yrjjmc28pghi1y5p24vdx4bxf8i4n9khdawb514"; }; nativeBuildInputs = [ perl pkgconfig which systemd ]; diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix index f8ba66c4197..c77f8658220 100644 --- a/pkgs/applications/misc/googleearth/default.nix +++ b/pkgs/applications/misc/googleearth/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, glibc, libGLU_combined, freetype, glib, libSM, libICE, libXi, libXv , libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11, qt4 -, zlib, fontconfig, dpkg }: +, zlib, fontconfig, dpkg, libproxy, libxml2, gstreamer, gst_all_1, dbus }: let arch = @@ -11,6 +11,7 @@ let if arch == "amd64" then "0dwnppn5snl5bwkdrgj4cyylnhngi0g66fn2k41j3dvis83x24k6" else "0gndbxrj3kgc2dhjqwjifr3cl85hgpm695z0wi01wvwzhrjqs0l2"; + version = "7.1.8.3036"; fullPath = stdenv.lib.makeLibraryPath [ glibc glib @@ -28,21 +29,26 @@ let freetype libXext libX11 - qt4 zlib fontconfig + libproxy + libxml2 + gstreamer + dbus + gst_all_1.gstreamer + gst_all_1.gst-plugins-base ]; in stdenv.mkDerivation rec { - version = "7.1.4.1529"; name = "googleearth-${version}"; - src = fetchurl { - url = "https://dl.google.com/earth/client/current/google-earth-stable_current_${arch}.deb"; + url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-stable/google-earth-stable_${version}-r0_${arch}.deb"; inherit sha256; }; - phases = "unpackPhase installPhase"; + phases = [ "unpackPhase" "installPhase" "checkPhase" ]; + + doCheck = true; buildInputs = [ dpkg ]; @@ -55,25 +61,37 @@ stdenv.mkDerivation rec { mv usr/* $out/ rmdir usr mv * $out/ - rm $out/bin/google-earth $out/opt/google/earth/free/google-earth - ln -s $out/opt/google/earth/free/googleearth $out/bin/google-earth + rm $out/bin/google-earth $out/opt/google/earth/free/googleearth + # patch and link googleearth binary + ln -s $out/opt/google/earth/free/googleearth-bin $out/bin/googleearth patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${fullPath}:\$ORIGIN" \ $out/opt/google/earth/free/googleearth-bin + # patch and link gpsbabel binary + ln -s $out/opt/google/earth/free/gpsbabel $out/bin/gpsbabel + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${fullPath}:\$ORIGIN" \ + $out/opt/google/earth/free/gpsbabel + + # patch libraries for a in $out/opt/google/earth/free/*.so* ; do patchelf --set-rpath "${fullPath}:\$ORIGIN" $a done ''; + checkPhase = '' + $out/bin/gpsbabel -V > /dev/null + ''; + dontPatchELF = true; - meta = { + meta = with stdenv.lib; { description = "A world sphere viewer"; homepage = http://earth.google.com; - license = stdenv.lib.licenses.unfree; - maintainers = [ stdenv.lib.maintainers.viric ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.unfree; + maintainers = with maintainers; [ markus1189 ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix index 097386547f5..7477e5c0af2 100644 --- a/pkgs/applications/misc/houdini/runtime.nix +++ b/pkgs/applications/misc/houdini/runtime.nix @@ -29,11 +29,11 @@ let license_dir = "~/.config/houdini"; in stdenv.mkDerivation rec { - version = "16.5.405"; + version = "16.5.439"; name = "houdini-runtime-${version}"; src = requireFile rec { name = "houdini-${version}-linux_x86_64_gcc4.8.tar.gz"; - sha256 = "14i0kzv881jqd5z9jshri1fxxi3pkxdmi5l4p2b51c9i3apsxmw6"; + sha256 = "7e483072a0e6e751a93f2a2f968cccb2d95559c61106ffeb344c95975704321b"; message = '' This nix expression requires that ${name} is already part of the store. Download it from https://sidefx.com and add it to the nix store with: diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix index db50b0d2169..026cf9ecc14 100644 --- a/pkgs/applications/misc/hstr/default.nix +++ b/pkgs/applications/misc/hstr/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "hstr-${version}"; - version = "1.24"; + version = "1.25"; src = fetchurl { url = "https://github.com/dvorka/hstr/releases/download/${version}/hh-${version}-src.tgz"; - sha256 = "0w8is777fwq6r17zhl9xwrv9f7vanllzjiasx1pg6pxvppq7rh0x"; + sha256 = "10njj0a3s5czv497wk3whka3gxr7vmhabs12vaw7kgb07h4ssnhg"; }; buildInputs = [ readline ncurses ]; diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix index f984cb712c7..e4e45dd570b 100644 --- a/pkgs/applications/misc/hugo/default.nix +++ b/pkgs/applications/misc/hugo/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "hugo-${version}"; - version = "0.36.1"; + version = "0.40.3"; goPackagePath = "github.com/gohugoio/hugo"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "gohugoio"; repo = "hugo"; rev = "v${version}"; - sha256 = "179lzkd6f81rssgcwlngx2mhr9nvbj0rsh6yjbf1fsrpxfzr2q9z"; + sha256 = "08d4y6x19cd4qy9pf80zrqarcyarbzxph0yp8mfb1sp2bvq42308"; }; goDeps = ./deps.nix; diff --git a/pkgs/applications/misc/hugo/deps.nix b/pkgs/applications/misc/hugo/deps.nix index cf55ef4b64b..a99eb563dc2 100644 --- a/pkgs/applications/misc/hugo/deps.nix +++ b/pkgs/applications/misc/hugo/deps.nix @@ -14,8 +14,8 @@ fetch = { type = "git"; url = "https://github.com/PuerkitoBio/purell"; - rev = "1c4bec281e4bbc75b4f4a1bd923bdf1bd989a969"; - sha256 = "05aif0xf3i6j6r0ivas8ywagkz92iynsa0xnkbrif4w1chzalx0f"; + rev = "975f53781597ed779763b7b65566e74c4004d8de"; + sha256 = "1j5l793zxrjv09z3cdgs05qn45sbhbm9njsw5cfv168x8z88pd3l"; }; } { @@ -32,8 +32,17 @@ fetch = { type = "git"; url = "https://github.com/alecthomas/chroma"; - rev = "df4ec264daccb2ecb17bde9134830100701199c5"; - sha256 = "1snw7byfkfvvw0579jc0yxk79j1v1rb0jdcvivfsalh064zmjdvd"; + rev = "222a1f0fc811afd47471d4a4e32f3aa09b6f9cdf"; + sha256 = "090yb9f9gld4l0r6x8y2a6a3ghiqbyh19fgmjcjfq8qlv0vj5n4s"; + }; + } + { + goPackagePath = "github.com/bep/debounce"; + fetch = { + type = "git"; + url = "https://github.com/bep/debounce"; + rev = "844797fa1dd9ba969d71b62797ff19d1e49d4eac"; + sha256 = "1sh4zv0hv7f454mhzpl2mbv7ar5rm00wyy5qr78x1h84bgph87wy"; }; } { @@ -41,8 +50,8 @@ fetch = { type = "git"; url = "https://github.com/bep/gitmap"; - rev = "de8030ebafb76c6e84d50ee6d143382637c00598"; - sha256 = "0adkv2ghi0zd104akksa9wjzj7s849wpa1rij03mycgxp4si9ami"; + rev = "012701e8669671499fc43e9792335a1dcbfe2afb"; + sha256 = "10ixv4zwmrpxvpchws78yzsjvw1zplljw3iqvwpina2mkwwp71ql"; }; } { @@ -77,8 +86,8 @@ fetch = { type = "git"; url = "https://github.com/disintegration/imaging"; - rev = "1884593a19ddc6f2ea050403430d02c1d0fc1283"; - sha256 = "13wlkidihz7gc36hd1vy7i81d0v1rbnw97118z3slq1kv1j56zll"; + rev = "bbcee2f5c9d5e94ca42c8b50ec847fec64a6c134"; + sha256 = "0dzwqy1xcm0d481z1fa2r60frdlf5fzjligpiqh5g8lhqskk2lx8"; }; } { @@ -113,8 +122,8 @@ fetch = { type = "git"; url = "https://github.com/gobuffalo/envy"; - rev = "50fabbbaf1e65fc9b739f37a00590c396485d84d"; - sha256 = "0js2hggb1gybk28pk3hcsb1m6rswfdzvvr194z4my4za09ly5jax"; + rev = "ef60bfc50c8f92d1ee64674d8ce7a48f1f67625e"; + sha256 = "15qrmw3l2achpd3hz8fkkz7yzpbvldm1pf1vsr250q24nsh6x7iz"; }; } { @@ -122,8 +131,8 @@ fetch = { type = "git"; url = "https://github.com/gobwas/glob"; - rev = "19c076cdf202b3d1c0489bdfa2f2f289f634474b"; - sha256 = "0176psz3m0pks0ka6pb62g7ccq5izzj0i7c0j20lb7dp3kawphxs"; + rev = "f00a7392b43971b2fdb562418faab1f18da2067a"; + sha256 = "1b7jnb7rx99na25lkm9m9jr583mv7y0lwp57w58sv7ir9iiilx29"; }; } { @@ -131,8 +140,8 @@ fetch = { type = "git"; url = "https://github.com/gorilla/websocket"; - rev = "f37d1588608ec036fa9b0b7b8afbde47dc06aea9"; - sha256 = "1y0z7k4yi8aaw6yjm8s92hvbkyc51b5azpiywminjj1a84czvzvq"; + rev = "21ab95fa12b9bdd8fecf5fa3586aad941cc98785"; + sha256 = "1ygg6cr84461d6k3nzbja0dxhcgf5zvry2w10f6i7291ghrcwhyy"; }; } { @@ -158,8 +167,8 @@ fetch = { type = "git"; url = "https://github.com/hashicorp/hcl"; - rev = "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8"; - sha256 = "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"; + rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"; + sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr"; }; } { @@ -176,8 +185,8 @@ fetch = { type = "git"; url = "https://github.com/joho/godotenv"; - rev = "6bb08516677f8c8274c557fc801bee9ab564ab2c"; - sha256 = "0jqczq5x5zwgs29vrmq87335c99gi5jrvxkwcpidz98yqg95db4f"; + rev = "1709ab122c988931ad53508747b3c061400c2984"; + sha256 = "1pym5lydb28ggxrz80q9s26bj2bd80ax1igm1zfhyhx9i3060kif"; }; } { @@ -203,8 +212,8 @@ fetch = { type = "git"; url = "https://github.com/markbates/inflect"; - rev = "80fa1ea41b0dc859816314ab0b85f07a6bc57923"; - sha256 = "0fmpfcz8g0qsb6h94yqpcms2bdb68qac706b54x0k1crfzl1d1mj"; + rev = "fbc6b23ce49e2578f572d2e72bb72fa03c7145de"; + sha256 = "10rf7kfqnic8x4z8c29whb76w9v847y63wh5b2kfx6rqhrjfilis"; }; } { @@ -212,8 +221,8 @@ fetch = { type = "git"; url = "https://github.com/mattn/go-runewidth"; - rev = "97311d9f7767e3d6f422ea06661bc2c7a19e8a5d"; - sha256 = "0dxlrzn570xl7gb11hjy1v4p3gw3r41yvqhrffgw95ha3q9p50cg"; + rev = "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb"; + sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g"; }; } { @@ -225,15 +234,6 @@ sha256 = "0hlqcwx6qqgy3vs13r10wn0d9x0xmww1v9jm09y2dp1ykgbampnk"; }; } - { - goPackagePath = "github.com/mitchellh/go-homedir"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/go-homedir"; - rev = "b8bc1bf767474819792c23f32d8286a45736f1c6"; - sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q"; - }; - } { goPackagePath = "github.com/mitchellh/mapstructure"; fetch = { @@ -248,8 +248,8 @@ fetch = { type = "git"; url = "https://github.com/muesli/smartcrop"; - rev = "c2a0373a193bac1daf8b6691e2ece069c5d7ac7f"; - sha256 = "1jv68g9wddm2a1kf838anjnr4w17k7sqzz01h4z2lfashw3nanar"; + rev = "f6ebaa786a12a0fdb2d7c6dee72808e68c296464"; + sha256 = "0xbv5wbn0z36nkw9ay3ly6z23lpsrs0khryl1w54fz85lvwh66gp"; }; } { @@ -257,8 +257,8 @@ fetch = { type = "git"; url = "https://github.com/nicksnyder/go-i18n"; - rev = "ec04da47793482067e2e376d810e1622277368e4"; - sha256 = "1c7ip5jidvssr8d4dbx9nchf99m13wblgaz630f7wm73y99dc3lr"; + rev = "8c6996ea1058153460146b16c341a4ae611f7cf7"; + sha256 = "1k8ai8mdi5cqbcxihzx727z3gg46lpkw0s1byb3lrdnmp31l7p9r"; }; } { @@ -266,8 +266,8 @@ fetch = { type = "git"; url = "https://github.com/olekukonko/tablewriter"; - rev = "b8a9be070da40449e501c3c4730a889e42d87a9e"; - sha256 = "1z9frlk9avqhzjv6zz2rg7mvdhzcr9acdgagblijwwkx01f02hw7"; + rev = "d4647c9c7a84d847478d890b816b7d8b62b0b279"; + sha256 = "1274k5r9ardh1f6gsmadxmdds7zy8rkr55fb9swvnm0vazr3y01l"; }; } { @@ -275,8 +275,8 @@ fetch = { type = "git"; url = "https://github.com/pelletier/go-toml"; - rev = "acdc4509485b587f5e675510c4f2c63e90ff68a8"; - sha256 = "1y5m9pngxhsfzcnxh8ma5nsllx74wn0jr47p2n6i3inrjqxr12xh"; + rev = "66540cf1fcd2c3aee6f6787dfa32a6ae9a870f12"; + sha256 = "1n8na0yg90gm0rpifmzrby5r385vvd62cdam3ls7ssy02bjvfw15"; }; } { @@ -284,8 +284,8 @@ fetch = { type = "git"; url = "https://github.com/russross/blackfriday"; - rev = "55d61fa8aa702f59229e6cff85793c22e580eaf5"; - sha256 = "0qmavm5d14kj6im6sqzpqnlhpy524428vkn4hnfwknndr9rycmn0"; + rev = "11635eb403ff09dbc3a6b5a007ab5ab09151c229"; + sha256 = "14j8ibm6h9rydiwfp9b5c7rwhnx04yqyxv1a7p7rmfwyg4zd714n"; }; } { @@ -302,8 +302,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/afero"; - rev = "bbf41cb36dffe15dff5bf7e18c447801e7ffe163"; - sha256 = "19jgsm6y1yp99h0fr77rhamdsn34r8545if7y9q377l3phrz2s0l"; + rev = "63644898a8da0bc22138abf860edaf5277b6102e"; + sha256 = "13piahaq4vw1y1sklq5scrsflqx0a8hzmdqfz1fy4871kf2gl8qw"; }; } { @@ -320,8 +320,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/cobra"; - rev = "be77323fc05148ef091e83b3866c0d47c8e74a8b"; - sha256 = "0kl0psbdg8cyznwvq13sva6r4ggmhwzfxdjmkl2vqhy83xq3a6yn"; + rev = "ef82de70bb3f60c65fb8eebacbb2d122ef517385"; + sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd"; }; } { @@ -356,8 +356,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/pflag"; - rev = "ee5fd03fd6acfd43e44aea0b4135958546ed8e73"; - sha256 = "1fgb1ph3vrqcpdvypp3c1fwj15r587l9yvv5wqcq08shln5rbsnk"; + rev = "583c0c0531f06d5278b7d917446061adc344b5cd"; + sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; }; } { @@ -365,8 +365,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/viper"; - rev = "aafc9e6bc7b7bb53ddaa75a5ef49a17d6e654be5"; - sha256 = "089balmspfs2x68wr4riwh7qvhf0b061wqqqfw8j4p9pxvwrxsdc"; + rev = "15738813a09db5c8e5b60a19d67d3f9bd38da3a4"; + sha256 = "1mjfzg8zvnxckaq6l8gw99i2msrfqn9yr04dc3b7kd5bpxi6zr4v"; }; } { @@ -383,8 +383,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/image"; - rev = "12117c17ca67ffa1ce22e9409f3b0b0a93ac08c7"; - sha256 = "017xpcshrj1r2w20xvpcx0rklpfmbz6h16msv12l3x0w6vy0800s"; + rev = "f315e440302883054d0c2bd85486878cb4f8572c"; + sha256 = "010pc6qjppqd9c7rramiwz7myvip9vhridfxy7wc2qj1kr92b4dc"; }; } { @@ -392,8 +392,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/net"; - rev = "cbe0f9307d0156177f9dd5dc85da1a31abc5f2fb"; - sha256 = "1hmpqkxh97ayyy0xcdvf1bwirwja4wyin3sh0fzjlh93aqmqgylf"; + rev = "f73e4c9ed3b7ebdd5f699a16a880c2b1994e50dd"; + sha256 = "1mvnpln6vm0y1i5bb0ycswds49hyapg3jz643lmlw6d183jdcg0q"; }; } { @@ -401,8 +401,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/sync"; - rev = "fd80eb99c8f653c847d294a001bdf2a3a6f768f5"; - sha256 = "12lzldlj1cqc1babp1hkkn76fglzn5abkqvmbpr4f2j95mf9x836"; + rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca"; + sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; }; } { @@ -410,8 +410,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/sys"; - rev = "37707fdb30a5b38865cfb95e5aab41707daec7fd"; - sha256 = "1abrr2507a737hdqv4q7pw7hv6ls9pdiq9crhdi52r3gcz6hvizg"; + rev = "64746a42f36bf0832f86b76004f1699dbeb33e4f"; + sha256 = "1hbk7cnbywiwxdzbx7lqw6iym9dpwvdyacg06gchxpfw7nfa9r27"; }; } { @@ -419,8 +419,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/text"; - rev = "9e2b64d659da1afe07ce1c9c1dfefc09d188f21e"; - sha256 = "00ichxdybvs76gj805j828qxg7x4h4v64pq1s56ydaw07ja6lmry"; + rev = "7922cc490dd5a7dbaa7fd5d6196b49db59ac042f"; + sha256 = "06sicjc24hv7v9p1l6psaq87w4lycx3mjixd6gsd1wnd4jhqvlnr"; }; } { @@ -428,8 +428,8 @@ fetch = { type = "git"; url = "https://gopkg.in/yaml.v2"; - rev = "d670f9405373e636a5a2765eea47fac0c9bc91a4"; - sha256 = "1w1xid51n8v1mydn2m3vgggw8qgpd5a5sr62snsc77d99fpjsrs0"; + rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; }; } ] diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix index 5e492fc621f..53b965a1bb7 100644 --- a/pkgs/applications/misc/keepass/default.nix +++ b/pkgs/applications/misc/keepass/default.nix @@ -3,11 +3,11 @@ with builtins; buildDotnetPackage rec { baseName = "keepass"; - version = "2.38"; + version = "2.39.1"; src = fetchurl { url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip"; - sha256 = "0m33gfpvv01xc28k4rrc8llbyk6qanm9rsqcnv8ydms0cr78dbbk"; + sha256 = "0y69w9zzxqj7xrn632bw6bibrknjbx1k3qcvi9axn67sqmzaka00"; }; sourceRoot = "."; diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix index 0e1aecaab1d..6b37f9b9145 100644 --- a/pkgs/applications/misc/keepassx/community.nix +++ b/pkgs/applications/misc/keepassx/community.nix @@ -26,13 +26,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "keepassxc-${version}"; - version = "2.3.1"; + version = "2.3.3"; src = fetchFromGitHub { owner = "keepassxreboot"; repo = "keepassxc"; rev = "${version}"; - sha256 = "1xlg8zb22c2f1pi2has4f4qwggd0m2z254f0d6jrgz368x4g3p87"; + sha256 = "08cj1nxbjy2m80h3irnra2qha7fc5ahhzcgkyk9jv4zyys9xv998"; }; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [ diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix index 49635332525..e9c860f0b90 100644 --- a/pkgs/applications/misc/kitty/default.nix +++ b/pkgs/applications/misc/kitty/default.nix @@ -5,7 +5,7 @@ with python3Packages; buildPythonApplication rec { - version = "0.9.0"; + version = "0.9.1"; name = "kitty-${version}"; format = "other"; @@ -13,7 +13,7 @@ buildPythonApplication rec { owner = "kovidgoyal"; repo = "kitty"; rev = "v${version}"; - sha256 = "0q6dwwzq1qq3rgh4myxhidgk4bj1p23bhaw5cxb1q0hdgpc54ni8"; + sha256 = "08j2k3852c64z4mgh1j0dgdj6c2alkckpav67lzg1lxsz3w2izh2"; }; buildInputs = [ diff --git a/pkgs/applications/misc/limesuite/default.nix b/pkgs/applications/misc/limesuite/default.nix new file mode 100644 index 00000000000..4599fab0c6d --- /dev/null +++ b/pkgs/applications/misc/limesuite/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchFromGitHub, cmake +, sqlite, wxGTK30, libusb1, soapysdr +, mesa_glu, libX11, gnuplot, fltk +} : + +let + version = "18.04.1"; + +in stdenv.mkDerivation { + name = "limesuite-${version}"; + + src = fetchFromGitHub { + owner = "myriadrf"; + repo = "LimeSuite"; + rev = "v${version}"; + sha256 = "1aaqnwif1j045hvj011k5dyqxgxx72h33r4al74h5f8al81zvzj9"; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + libusb1 + sqlite + wxGTK30 + fltk + gnuplot + libusb1 + soapysdr + mesa_glu + libX11 + ]; + + postInstall = '' + mkdir -p $out/lib/udev/rules.d + cp ../udev-rules/64-limesuite.rules $out/lib/udev/rules.d + + mkdir -p $out/share/limesuite + cp bin/Release/lms7suite_mcu/* $out/share/limesuite + + cp bin/dualRXTX $out/bin + cp bin/basicRX $out/bin + cp bin/singleRX $out/bin + ''; + + meta = with stdenv.lib; { + description = "Driver and GUI for LMS7002M-based SDR platforms"; + homepage = https://github.com/myriadrf/LimeSuite; + license = licenses.asl20; + maintainers = with maintainers; [ markuskowa ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix index 4fa3b4ee435..b6ec3305cb3 100644 --- a/pkgs/applications/misc/mediainfo-gui/default.nix +++ b/pkgs/applications/misc/mediainfo-gui/default.nix @@ -2,11 +2,11 @@ , desktop-file-utils, libSM, imagemagick }: stdenv.mkDerivation rec { - version = "18.03.1"; + version = "18.05"; name = "mediainfo-gui-${version}"; src = fetchurl { url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "1mpwbqvw6awni5jq7i5yqvf6wgwjc37sl42q20rdq2agdlslqrkr"; + sha256 = "0rgsfplisf729n1j3fyg82wpw88aahisrddn5wq9yx8hz6m96h6r"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix index dcc2a1bf43c..5b2f8125f72 100644 --- a/pkgs/applications/misc/mediainfo/default.nix +++ b/pkgs/applications/misc/mediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }: stdenv.mkDerivation rec { - version = "18.03.1"; + version = "18.05"; name = "mediainfo-${version}"; src = fetchurl { url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "1mpwbqvw6awni5jq7i5yqvf6wgwjc37sl42q20rdq2agdlslqrkr"; + sha256 = "0rgsfplisf729n1j3fyg82wpw88aahisrddn5wq9yx8hz6m96h6r"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix new file mode 100644 index 00000000000..02541842c36 --- /dev/null +++ b/pkgs/applications/misc/multibootusb/default.nix @@ -0,0 +1,59 @@ +{ lib, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }: +python36Packages.buildPythonApplication rec { + pname = "multibootusb"; + name = "${pname}-${version}"; + version = "9.2.0"; + + buildInputs = [ + python36Packages.dbus-python + python36Packages.pyqt5 + python36Packages.pytest-shutil + python36Packages.python + python36Packages.pyudev + python36Packages.six + libxcb + mtools + p7zip + parted + procps + qt5.full + utillinux + ]; + + src = fetchFromGitHub { + owner = "mbusb"; + repo = pname; + rev = "v${version}"; + + sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3"; + }; + + # Skip the fixup stage where stuff is shrinked (can't shrink text files) + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + share="$out/share/${pname}" + mkdir -p "$share" + cp -r data "$share/data" + cp -r scripts "$share/scripts" + cp "${pname}" "$share/${pname}" + + mkdir "$out/bin" + cat > "$out/bin/${pname}" < openssl != null; stdenv.mkDerivation rec { name = "lynx-${version}"; - version = "2.8.9dev.16"; + version = "2.8.9dev.17"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2" "https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2" ]; - sha256 = "1j0vx871ghkm7fgrafnvd2ml3ywcl8d3gyhq02fhfb851c88lc84"; + sha256 = "1lvfsnrw5mmwrmn1m76q9mx287xwm3h5lg8sv7bcqilc0ywi2f54"; }; enableParallelBuilding = true; hardeningEnable = [ "pie" ]; - configureFlags = [ "--enable-widec" ] ++ stdenv.lib.optional sslSupport "--with-ssl"; + configureFlags = [ + "--enable-widec" + "--enable-ipv6" + ] ++ stdenv.lib.optional sslSupport "--with-ssl"; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ nukeReferences ] @@ -40,7 +43,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A text-mode web browser"; - homepage = http://lynx.invisible-island.net/; + homepage = https://lynx.invisible-island.net/; license = licenses.gpl2Plus; platforms = platforms.unix; }; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix index 162dd88054c..6c19b684aaa 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix @@ -73,7 +73,7 @@ let in stdenv.mkDerivation rec { name = "flashplayer-${version}"; - version = "29.0.0.140"; + version = "29.0.0.171"; src = fetchurl { url = @@ -84,14 +84,14 @@ stdenv.mkDerivation rec { sha256 = if debug then if arch == "x86_64" then - "0bj0d899dswfbkbrm08c381yzm0hlqdv53sgbl2z9zj4x8rqyi3p" + "140galarr38lmfnd2chl2msvxizx96kdi000gbikir9xnd7bx1hc" else - "16as2dydgqip6qlg13jh83sd4lb2cgrny4ibqg7jlx1d1a1i0jwh" + "0wzmf12xrmyq8vqqyii932yx4nadrvkn2j9s86xcw67lb40xj5ig" else if arch == "x86_64" then - "10s6j5izsy2v2ljljcv2vk898jg9xmp6zqqazmj07zy7m5vywfi7" + "17c57xgs0w71p4xsjw5an7dg484769wanq3kx86ppaqw8vqhnqc3" else - "0xk8a2brpzfxi87mqqfv8l5xi5j9x71cy0ik64dzwcq7ka16gpz1"; + "06pjbc9050fgi2njzf9vm6py7c22i6chw852rbm8flx3cmplw23b"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix index 42d7aa2f56f..fa9c89b442b 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix @@ -55,7 +55,7 @@ let in stdenv.mkDerivation rec { name = "flashplayer-standalone-${version}"; - version = "29.0.0.140"; + version = "29.0.0.171"; src = fetchurl { url = @@ -65,9 +65,9 @@ stdenv.mkDerivation rec { "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux.x86_64.tar.gz"; sha256 = if debug then - "1gvfm4z46m2y39fswpzhx18dlwcxwwy5mins3kx2m425dgp76zd5" + "1q2lmsb9g2cxbwxb712javmadk6vmcgkihd244394nr10isdzw67" else - "08a21c0l47w97xhwiby8j5055kl37ld5insfd459gz92d3f145fl"; + "0qj5qdc9k53pgqxb5jpcbgfsgavmlyzp0cpz468c4zacsvxgq502"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index 0c0ef501e99..3f44d157660 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -10,14 +10,14 @@ stdenv.mkDerivation rec { name = "palemoon-${version}"; - version = "27.8.3"; + version = "27.9.1"; src = fetchFromGitHub { name = "palemoon-src"; owner = "MoonchildProductions"; repo = "Pale-Moon"; rev = version + "_Release"; - sha256 = "1v3wliq8k5yq17ms214fhwka8x4l3sq8kja59dx4pbvczzb1zyzh"; + sha256 = "1cjd0liy3x7iqx8g8mbwdrr0f2aiqjiaifzzkngcvx3vfmphj97k"; }; desktopItem = makeDesktopItem { diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 2e31f625f2e..0cebdd62140 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -29,13 +29,13 @@ let in python3Packages.buildPythonApplication rec { name = "qutebrowser-${version}${versionPostfix}"; namePrefix = ""; - version = "1.2.1"; + version = "1.3.0"; versionPostfix = ""; # the release tarballs are different from the git checkout! src = fetchurl { url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz"; - sha256 = "1svbski378x276033v07jailm81b0i6hxdakbiqkwvgh6hkczrhw"; + sha256 = "159h669x60pfla71zx28wnrik8rvsrw5i8kbd3xccynk6klm3kw3"; }; # Needs tox diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index a2094305db5..97b719c1471 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -98,7 +98,7 @@ let fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; # Upstream source - version = "7.5.3"; + version = "7.5.4"; lang = "en-US"; @@ -108,7 +108,7 @@ let "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux64-${version}_${lang}.tar.xz" "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz" ]; - sha256 = "0vgw1qsd6rqbbgnsw9zwcv5m308abh7wp1p12mp8g04xndxnzw0d"; + sha256 = "1d5q2vc7kyd2wizl4551yf54rcagh3y2xf1lzvrswxq4kasii3h9"; }; "i686-linux" = fetchurl { @@ -116,7 +116,7 @@ let "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz" "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz" ]; - sha256 = "0scjy51zmyn7za0gii0dvndq06slip64nd0ik2cjyq232agvbxmr"; + sha256 = "18v7ykv23gsylvn9mlkp5547yz3y833i9h126r7195wsqdshizdj"; }; }; in diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix index 6bd9614e08d..8eae85099fb 100644 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { name = "${product}-${version}"; product = "vivaldi"; - version = "1.14.1077.45-1"; + version = "1.15.1147.42-1"; src = fetchurl { url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb"; - sha256 = "0b4iviar927jx6xqyrzgzb3p4p617zm4an1np8jnldadq2a0p56d"; + sha256 = "15cajvn2sv05qdp3y538n2xvyy3il49q8zi5928z1mfirjz3dlwh"; }; unpackPhase = '' diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix index 9f6b6fcb7e1..8a006edda6a 100644 --- a/pkgs/applications/networking/cluster/cni/plugins.nix +++ b/pkgs/applications/networking/cluster/cni/plugins.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "cni-plugins-${version}"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitHub { owner = "containernetworking"; repo = "plugins"; rev = "v${version}"; - sha256 = "0m885v76azs7lrk6m6n53rwh0xadwvdcr90h0l3bxpdv87sj2mnf"; + sha256 = "1sywllwnr6lc812sgkqjdd3y10r82shl88dlnwgnbgzs738q2vp2"; }; buildInputs = [ go ]; diff --git a/pkgs/applications/networking/cluster/kontemplate/default.nix b/pkgs/applications/networking/cluster/kontemplate/default.nix index 56cbef7f005..fd599cd8658 100644 --- a/pkgs/applications/networking/cluster/kontemplate/default.nix +++ b/pkgs/applications/networking/cluster/kontemplate/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "kontemplate-${version}"; - version = "1.4.0"; + version = "1.5.0"; goPackagePath = "github.com/tazjin/kontemplate"; goDeps = ./deps.nix; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "tazjin"; repo = "kontemplate"; rev = "v${version}"; - sha256 = "11aqc9sgyqz3pscx7njnb3xghl7d61vzdgl3bqndady0dxsccrpj"; + sha256 = "0k3yr0ypw6brj1lxqs041zsyi0r09113i0x3xfj48zv4ralq74b6"; }; meta = with lib; { diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix index ddb8951740c..a1e17f60810 100644 --- a/pkgs/applications/networking/cluster/kops/default.nix +++ b/pkgs/applications/networking/cluster/kops/default.nix @@ -1,8 +1,9 @@ -{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }: + +{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }: buildGoPackage rec { name = "kops-${version}"; - version = "1.8.1"; + version = "1.9.0"; goPackagePath = "k8s.io/kops"; @@ -10,7 +11,7 @@ buildGoPackage rec { rev = version; owner = "kubernetes"; repo = "kops"; - sha256 = "12nyr0iw1xwp60apli3nlq2vyn4jk3qjrb404m2syx2mqbnn47my"; + sha256 = "03avkm7gk2dqyvd7245qsca1sbhwk41j9yhc208gcmjgjhkx2vn7"; }; buildInputs = [go-bindata]; @@ -24,8 +25,7 @@ buildGoPackage rec { preBuild = '' (cd go/src/k8s.io/kops - go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/... - go-bindata -o federation/model/bindata.go -pkg model -prefix federation/model federation/model/...) + go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...) ''; postInstall = '' diff --git a/pkgs/applications/networking/cluster/panamax/api/Gemfile b/pkgs/applications/networking/cluster/panamax/api/Gemfile deleted file mode 100644 index 82085aa6db0..00000000000 --- a/pkgs/applications/networking/cluster/panamax/api/Gemfile +++ /dev/null @@ -1,23 +0,0 @@ -source 'https://rubygems.org' - -gem 'rails', '4.1.7' -gem 'puma', '2.8.2' -gem 'sqlite3', '1.3.9' -gem 'faraday_middleware', '0.9.0' -gem 'docker-api', '1.13.0', require: 'docker' -gem 'fleet-api', '0.6.0', require: 'fleet' -gem 'active_model_serializers', '0.9.0' -gem 'octokit', '3.2.0' -gem 'kmts', '2.0.1' - -group :test, :development do - gem 'rspec-rails' - gem 'its' -end - -group :test do - gem 'coveralls', '0.7.0' - gem 'shoulda-matchers', '2.6.1' - gem 'database_cleaner', '1.3.0' - gem 'webmock', '1.20.0' -end diff --git a/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock b/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock deleted file mode 100644 index 597c691700a..00000000000 --- a/pkgs/applications/networking/cluster/panamax/api/Gemfile.lock +++ /dev/null @@ -1,164 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actionmailer (4.1.7) - actionpack (= 4.1.7) - actionview (= 4.1.7) - mail (~> 2.5, >= 2.5.4) - actionpack (4.1.7) - actionview (= 4.1.7) - activesupport (= 4.1.7) - rack (~> 1.5.2) - rack-test (~> 0.6.2) - actionview (4.1.7) - activesupport (= 4.1.7) - builder (~> 3.1) - erubis (~> 2.7.0) - active_model_serializers (0.9.0) - activemodel (>= 3.2) - activemodel (4.1.7) - activesupport (= 4.1.7) - builder (~> 3.1) - activerecord (4.1.7) - activemodel (= 4.1.7) - activesupport (= 4.1.7) - arel (~> 5.0.0) - activesupport (4.1.7) - i18n (~> 0.6, >= 0.6.9) - json (~> 1.7, >= 1.7.7) - minitest (~> 5.1) - thread_safe (~> 0.1) - tzinfo (~> 1.1) - addressable (2.3.6) - archive-tar-minitar (0.5.2) - arel (5.0.1.20140414130214) - builder (3.2.2) - coveralls (0.7.0) - multi_json (~> 1.3) - rest-client - simplecov (>= 0.7) - term-ansicolor - thor - crack (0.4.2) - safe_yaml (~> 1.0.0) - database_cleaner (1.3.0) - diff-lcs (1.2.5) - docile (1.1.5) - docker-api (1.13.0) - archive-tar-minitar - excon (>= 0.37.0) - json - erubis (2.7.0) - excon (0.37.0) - faraday (0.8.9) - multipart-post (~> 1.2.0) - faraday_middleware (0.9.0) - faraday (>= 0.7.4, < 0.9) - fleet-api (0.6.0) - faraday (= 0.8.9) - faraday_middleware (= 0.9.0) - hike (1.2.3) - i18n (0.7.0) - its (0.2.0) - rspec-core - json (1.8.1) - kmts (2.0.1) - mail (2.6.3) - mime-types (>= 1.16, < 3) - mime-types (2.4.3) - minitest (5.5.1) - multi_json (1.10.1) - multipart-post (1.2.0) - octokit (3.2.0) - sawyer (~> 0.5.3) - puma (2.8.2) - rack (>= 1.1, < 2.0) - rack (1.5.2) - rack-test (0.6.3) - rack (>= 1.0) - rails (4.1.7) - actionmailer (= 4.1.7) - actionpack (= 4.1.7) - actionview (= 4.1.7) - activemodel (= 4.1.7) - activerecord (= 4.1.7) - activesupport (= 4.1.7) - bundler (>= 1.3.0, < 2.0) - railties (= 4.1.7) - sprockets-rails (~> 2.0) - railties (4.1.7) - actionpack (= 4.1.7) - activesupport (= 4.1.7) - rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) - rake (10.4.0) - rest-client (1.6.7) - mime-types (>= 1.16) - rspec-core (3.1.7) - rspec-support (~> 3.1.0) - rspec-expectations (3.1.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.1.0) - rspec-mocks (3.1.3) - rspec-support (~> 3.1.0) - rspec-rails (3.1.0) - actionpack (>= 3.0) - activesupport (>= 3.0) - railties (>= 3.0) - rspec-core (~> 3.1.0) - rspec-expectations (~> 3.1.0) - rspec-mocks (~> 3.1.0) - rspec-support (~> 3.1.0) - rspec-support (3.1.2) - safe_yaml (1.0.4) - sawyer (0.5.4) - addressable (~> 2.3.5) - faraday (~> 0.8, < 0.10) - shoulda-matchers (2.6.1) - activesupport (>= 3.0.0) - simplecov (0.9.1) - docile (~> 1.1.0) - multi_json (~> 1.0) - simplecov-html (~> 0.8.0) - simplecov-html (0.8.0) - sprockets (2.12.3) - hike (~> 1.2) - multi_json (~> 1.0) - rack (~> 1.0) - tilt (~> 1.1, != 1.3.0) - sprockets-rails (2.2.4) - actionpack (>= 3.0) - activesupport (>= 3.0) - sprockets (>= 2.8, < 4.0) - sqlite3 (1.3.9) - term-ansicolor (1.3.0) - tins (~> 1.0) - thor (0.19.1) - thread_safe (0.3.4) - tilt (1.4.1) - tins (1.3.0) - tzinfo (1.2.2) - thread_safe (~> 0.1) - webmock (1.20.0) - addressable (>= 2.3.6) - crack (>= 0.3.2) - -PLATFORMS - ruby - -DEPENDENCIES - active_model_serializers (= 0.9.0) - coveralls (= 0.7.0) - database_cleaner (= 1.3.0) - docker-api (= 1.13.0) - faraday_middleware (= 0.9.0) - fleet-api (= 0.6.0) - its - kmts (= 2.0.1) - octokit (= 3.2.0) - puma (= 2.8.2) - rails (= 4.1.7) - rspec-rails - shoulda-matchers (= 2.6.1) - sqlite3 (= 1.3.9) - webmock (= 1.20.0) diff --git a/pkgs/applications/networking/cluster/panamax/api/default.nix b/pkgs/applications/networking/cluster/panamax/api/default.nix deleted file mode 100644 index 1c2e2ccac27..00000000000 --- a/pkgs/applications/networking/cluster/panamax/api/default.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler -, ruby, libxslt, libxml2, sqlite, openssl, docker -, dataDir ? "/var/lib/panamax-api" }@args: - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "panamax-api-${version}"; - version = "0.2.16"; - - env = bundlerEnv { - name = "panamax-api-gems-${version}"; - inherit ruby; - gemdir = ./.; - }; - - bundler = args.bundler.override { inherit ruby; }; - - database_yml = builtins.toFile "database.yml" '' - production: - adapter: sqlite3 - database: <%= ENV["PANAMAX_DATABASE_PATH"] || "${dataDir}/db/mnt/db.sqlite3" %> - timeout: 5000 - ''; - - src = fetchgit { - rev = "refs/tags/v${version}"; - url = "git://github.com/CenturyLinkLabs/panamax-api"; - sha256 = "0dqg0fbmy5cgjh0ql8yqlybhjyyrslgghjrc24wjhd1rghjn2qi6"; - }; - - buildInputs = [ makeWrapper sqlite openssl env.ruby bundler ]; - - setSourceRoot = '' - mkdir -p $out/share - cp -R panamax-api $out/share/panamax-api - export sourceRoot="$out/share/panamax-api" - ''; - - postPatch = '' - find . -type f -exec sed -e 's|/usr/bin/docker|${docker}/bin/docker|g' -i "{}" \; - ''; - - configurePhase = '' - export HOME=$PWD - export GEM_HOME=${env}/${env.ruby.gemPath} - export RAILS_ENV=production - - ln -sf ${database_yml} config/database.yml - ''; - - installPhase = '' - rm -rf log tmp - mv ./db ./_db - ln -sf ${dataDir}/{db,state/log,state/tmp} . - - mkdir -p $out/bin - makeWrapper bin/bundle "$out/bin/bundle" \ - --run "cd $out/share/panamax-api" \ - --prefix "PATH" : "$out/share/panamax-api/bin:${env.ruby}/bin:$PATH" \ - --prefix "HOME" : "$out/share/panamax-api" \ - --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \ - --prefix "GEM_PATH" : "$out/share/panamax-api:${bundler}/${env.ruby.gemPath}" - ''; - - meta = with stdenv.lib; { - broken = true; # needs ruby 2.1 - homepage = https://github.com/CenturyLinkLabs/panamax-api; - description = "The API behind The Panamax UI"; - license = licenses.asl20; - maintainers = with maintainers; [ matejc offline ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/networking/cluster/panamax/api/gemset.nix b/pkgs/applications/networking/cluster/panamax/api/gemset.nix deleted file mode 100644 index 8182543a2bb..00000000000 --- a/pkgs/applications/networking/cluster/panamax/api/gemset.nix +++ /dev/null @@ -1,568 +0,0 @@ -{ - "actionmailer" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5"; - }; - dependencies = [ - "actionpack" - "actionview" - "mail" - ]; - }; - "actionpack" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax"; - }; - dependencies = [ - "actionview" - "activesupport" - "rack" - "rack-test" - ]; - }; - "actionview" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax"; - }; - dependencies = [ - "activesupport" - "builder" - "erubis" - ]; - }; - "active_model_serializers" = { - version = "0.9.0"; - source = { - type = "gem"; - sha256 = "1ws3gx3wwlm17w7k0agwzmcmww6627lvqaqm828lzm3g1xqilkkl"; - }; - dependencies = [ - "activemodel" - ]; - }; - "activemodel" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr"; - }; - dependencies = [ - "activesupport" - "builder" - ]; - }; - "activerecord" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5"; - }; - dependencies = [ - "activemodel" - "activesupport" - "arel" - ]; - }; - "activesupport" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs"; - }; - dependencies = [ - "i18n" - "json" - "minitest" - "thread_safe" - "tzinfo" - ]; - }; - "addressable" = { - version = "2.3.6"; - source = { - type = "gem"; - sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8"; - }; - }; - "archive-tar-minitar" = { - version = "0.5.2"; - source = { - type = "gem"; - sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig"; - }; - }; - "arel" = { - version = "5.0.1.20140414130214"; - source = { - type = "gem"; - sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9"; - }; - }; - "builder" = { - version = "3.2.2"; - source = { - type = "gem"; - sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; - }; - }; - "coveralls" = { - version = "0.7.0"; - source = { - type = "gem"; - sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4"; - }; - dependencies = [ - "multi_json" - "rest-client" - "simplecov" - "term-ansicolor" - "thor" - ]; - }; - "crack" = { - version = "0.4.2"; - source = { - type = "gem"; - sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a"; - }; - dependencies = [ - "safe_yaml" - ]; - }; - "database_cleaner" = { - version = "1.3.0"; - source = { - type = "gem"; - sha256 = "19w25yda684pg29bggq26wy4lpyjvzscwg2hx3hmmmpysiwfnxgn"; - }; - }; - "diff-lcs" = { - version = "1.2.5"; - source = { - type = "gem"; - sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; - }; - }; - "docile" = { - version = "1.1.5"; - source = { - type = "gem"; - sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; - }; - }; - "docker-api" = { - version = "1.13.0"; - source = { - type = "gem"; - sha256 = "1rara27gn7lxaf12dqkx8s1clssg10jndfcy4wz2fv6ms1i1lnp6"; - }; - dependencies = [ - "archive-tar-minitar" - "excon" - "json" - ]; - }; - "erubis" = { - version = "2.7.0"; - source = { - type = "gem"; - sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; - }; - }; - "excon" = { - version = "0.37.0"; - source = { - type = "gem"; - sha256 = "05x7asmsq5m419n1lhzk9bic02gwng4cqmrcqsfnd6kmkwm8csv2"; - }; - }; - "faraday" = { - version = "0.8.9"; - source = { - type = "gem"; - sha256 = "17d79fsgx0xwh0mfxyz5pbr435qlw79phlfvifc546w2axdkp718"; - }; - dependencies = [ - "multipart-post" - ]; - }; - "faraday_middleware" = { - version = "0.9.0"; - source = { - type = "gem"; - sha256 = "1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2"; - }; - dependencies = [ - "faraday" - ]; - }; - "fleet-api" = { - version = "0.6.0"; - source = { - type = "gem"; - sha256 = "0136mzc0fxp6mzh38n6xbg87cw9g9vq1nrlr3ylazbflvmlxgan6"; - }; - dependencies = [ - "faraday" - "faraday_middleware" - ]; - }; - "hike" = { - version = "1.2.3"; - source = { - type = "gem"; - sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm"; - }; - }; - "i18n" = { - version = "0.7.0"; - source = { - type = "gem"; - sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758"; - }; - }; - "its" = { - version = "0.2.0"; - source = { - type = "gem"; - sha256 = "0rxwds9ipqp48mzqcaxzmfcqhawazg0zlhc1avv3i2cmm3np1z8g"; - }; - dependencies = [ - "rspec-core" - ]; - }; - "json" = { - version = "1.8.1"; - source = { - type = "gem"; - sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn"; - }; - }; - "kmts" = { - version = "2.0.1"; - source = { - type = "gem"; - sha256 = "1wk680q443lg35a25am6i8xawf16iqg5xnq1m8xd2gib4dsy1d8v"; - }; - }; - "mail" = { - version = "2.6.3"; - source = { - type = "gem"; - sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp"; - }; - dependencies = [ - "mime-types" - ]; - }; - "mime-types" = { - version = "2.4.3"; - source = { - type = "gem"; - sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq"; - }; - }; - "minitest" = { - version = "5.5.1"; - source = { - type = "gem"; - sha256 = "1h8jn0rgmwy37jnhfcg55iilw0n370vgp8xnh0g5laa8rhv32fyn"; - }; - }; - "multi_json" = { - version = "1.10.1"; - source = { - type = "gem"; - sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c"; - }; - }; - "multipart-post" = { - version = "1.2.0"; - source = { - type = "gem"; - sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc"; - }; - }; - "octokit" = { - version = "3.2.0"; - source = { - type = "gem"; - sha256 = "07ll3x1hv72zssb4hkdw56xg3xk6x4fch4yf38zljvbh388r11ng"; - }; - dependencies = [ - "sawyer" - ]; - }; - "puma" = { - version = "2.8.2"; - source = { - type = "gem"; - sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k"; - }; - dependencies = [ - "rack" - ]; - }; - "rack" = { - version = "1.5.2"; - source = { - type = "gem"; - sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6"; - }; - }; - "rack-test" = { - version = "0.6.3"; - source = { - type = "gem"; - sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; - }; - dependencies = [ - "rack" - ]; - }; - "rails" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0"; - }; - dependencies = [ - "actionmailer" - "actionpack" - "actionview" - "activemodel" - "activerecord" - "activesupport" - "railties" - "sprockets-rails" - ]; - }; - "railties" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz"; - }; - dependencies = [ - "actionpack" - "activesupport" - "rake" - "thor" - ]; - }; - "rake" = { - version = "10.4.0"; - source = { - type = "gem"; - sha256 = "0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8"; - }; - }; - "rest-client" = { - version = "1.6.7"; - source = { - type = "gem"; - sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853"; - }; - dependencies = [ - "mime-types" - ]; - }; - "rspec-core" = { - version = "3.1.7"; - source = { - type = "gem"; - sha256 = "01bawvln663gffljwzpq3mrpa061cghjbvfbq15jvhmip3csxqc9"; - }; - dependencies = [ - "rspec-support" - ]; - }; - "rspec-expectations" = { - version = "3.1.2"; - source = { - type = "gem"; - sha256 = "0m8d36wng1lpbcs54zhg1rxh63rgj345k3p0h0c06lgknz339nzh"; - }; - dependencies = [ - "diff-lcs" - "rspec-support" - ]; - }; - "rspec-mocks" = { - version = "3.1.3"; - source = { - type = "gem"; - sha256 = "0gxk5w3klia4zsnp0svxck43xxwwfdqvhr3srv6p30f3m5q6rmzr"; - }; - dependencies = [ - "rspec-support" - ]; - }; - "rspec-rails" = { - version = "3.1.0"; - source = { - type = "gem"; - sha256 = "1b1in3n1dc1bpf9wb3p3b2ynq05iacmr48jxzc73lj4g44ksh3wq"; - }; - dependencies = [ - "actionpack" - "activesupport" - "railties" - "rspec-core" - "rspec-expectations" - "rspec-mocks" - "rspec-support" - ]; - }; - "rspec-support" = { - version = "3.1.2"; - source = { - type = "gem"; - sha256 = "14y6v9r9lrh91ry9r79h85v0f3y9ja25w42nv5z9n0bipfcwhprb"; - }; - }; - "safe_yaml" = { - version = "1.0.4"; - source = { - type = "gem"; - sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; - }; - }; - "sawyer" = { - version = "0.5.4"; - source = { - type = "gem"; - sha256 = "01kl4zpf0gaacnkra5nikrzfpwj8f10hsvgyzm7z2s1mz4iipx2v"; - }; - dependencies = [ - "addressable" - "faraday" - ]; - }; - "shoulda-matchers" = { - version = "2.6.1"; - source = { - type = "gem"; - sha256 = "1p3jhvd4dsj6d7nbmvnqhqhpmb8pnr05pi7jv9ajwqcys8140mc1"; - }; - dependencies = [ - "activesupport" - ]; - }; - "simplecov" = { - version = "0.9.1"; - source = { - type = "gem"; - sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf"; - }; - dependencies = [ - "docile" - "multi_json" - "simplecov-html" - ]; - }; - "simplecov-html" = { - version = "0.8.0"; - source = { - type = "gem"; - sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9"; - }; - }; - "sprockets" = { - version = "2.12.3"; - source = { - type = "gem"; - sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2"; - }; - dependencies = [ - "hike" - "multi_json" - "rack" - "tilt" - ]; - }; - "sprockets-rails" = { - version = "2.2.4"; - source = { - type = "gem"; - sha256 = "172cdg38cqsfgvrncjzj0kziz7kv6b1lx8pccd0blyphs25qf4gc"; - }; - dependencies = [ - "actionpack" - "activesupport" - "sprockets" - ]; - }; - "sqlite3" = { - version = "1.3.9"; - source = { - type = "gem"; - sha256 = "07m6a6flmyyi0rkg0j7x1a9861zngwjnximfh95cli2zzd57914r"; - }; - }; - "term-ansicolor" = { - version = "1.3.0"; - source = { - type = "gem"; - sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b"; - }; - dependencies = [ - "tins" - ]; - }; - "thor" = { - version = "0.19.1"; - source = { - type = "gem"; - sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; - }; - }; - "thread_safe" = { - version = "0.3.4"; - source = { - type = "gem"; - sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n"; - }; - }; - "tilt" = { - version = "1.4.1"; - source = { - type = "gem"; - sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir"; - }; - }; - "tins" = { - version = "1.3.0"; - source = { - type = "gem"; - sha256 = "1yxa5kyp9mw4w866wlg7c32ingzqxnzh3ir9yf06pwpkmq3mrbdi"; - }; - }; - "tzinfo" = { - version = "1.2.2"; - source = { - type = "gem"; - sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"; - }; - dependencies = [ - "thread_safe" - ]; - }; - "webmock" = { - version = "1.20.0"; - source = { - type = "gem"; - sha256 = "0bl5v0xzcj24lx7xpsnywv3liqnqb5lfxysmmfb2fgi0n8586i6m"; - }; - dependencies = [ - "addressable" - "crack" - ]; - }; -} \ No newline at end of file diff --git a/pkgs/applications/networking/cluster/panamax/ui/Gemfile b/pkgs/applications/networking/cluster/panamax/ui/Gemfile deleted file mode 100644 index 6f7dc59d04d..00000000000 --- a/pkgs/applications/networking/cluster/panamax/ui/Gemfile +++ /dev/null @@ -1,31 +0,0 @@ -source 'https://rubygems.org' - -gem 'rails', '4.1.7' -gem 'puma', '2.8.2' -gem 'sass', '3.3.9' -gem 'therubyracer', '0.12.1', platforms: :ruby -gem 'haml', '4.0.5' -gem 'uglifier', '2.5.1' -gem 'ctl_base_ui' -gem 'activeresource', '4.0.0' -gem 'kramdown', '1.4.0' -gem 'zeroclipboard-rails' - - -group :test, :development do - gem 'rspec-rails' - gem 'its' - gem 'capybara' - gem 'teaspoon' - gem 'phantomjs' - gem 'dotenv-rails', '0.11.1' - gem 'pry' - gem 'pry-byebug' - gem 'pry-stack_explorer' -end - -group :test do - gem 'webmock' - gem 'sinatra', '1.4.5' - gem 'coveralls', '0.7.0' -end diff --git a/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock b/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock deleted file mode 100644 index b273595bbb0..00000000000 --- a/pkgs/applications/networking/cluster/panamax/ui/Gemfile.lock +++ /dev/null @@ -1,226 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - actionmailer (4.1.7) - actionpack (= 4.1.7) - actionview (= 4.1.7) - mail (~> 2.5, >= 2.5.4) - actionpack (4.1.7) - actionview (= 4.1.7) - activesupport (= 4.1.7) - rack (~> 1.5.2) - rack-test (~> 0.6.2) - actionview (4.1.7) - activesupport (= 4.1.7) - builder (~> 3.1) - erubis (~> 2.7.0) - activemodel (4.1.7) - activesupport (= 4.1.7) - builder (~> 3.1) - activerecord (4.1.7) - activemodel (= 4.1.7) - activesupport (= 4.1.7) - arel (~> 5.0.0) - activeresource (4.0.0) - activemodel (~> 4.0) - activesupport (~> 4.0) - rails-observers (~> 0.1.1) - activesupport (4.1.7) - i18n (~> 0.6, >= 0.6.9) - json (~> 1.7, >= 1.7.7) - minitest (~> 5.1) - thread_safe (~> 0.1) - tzinfo (~> 1.1) - addressable (2.3.6) - arel (5.0.1.20140414130214) - binding_of_caller (0.7.2) - debug_inspector (>= 0.0.1) - builder (3.2.2) - byebug (3.5.1) - columnize (~> 0.8) - debugger-linecache (~> 1.2) - slop (~> 3.6) - capybara (2.4.4) - mime-types (>= 1.16) - nokogiri (>= 1.3.3) - rack (>= 1.0.0) - rack-test (>= 0.5.4) - xpath (~> 2.0) - coderay (1.1.0) - columnize (0.8.9) - coveralls (0.7.0) - multi_json (~> 1.3) - rest-client - simplecov (>= 0.7) - term-ansicolor - thor - crack (0.4.2) - safe_yaml (~> 1.0.0) - ctl_base_ui (0.0.5) - haml (~> 4.0) - jquery-rails (~> 3.1) - jquery-ui-rails (~> 4.2) - rails (~> 4.1) - sass (~> 3.3) - debug_inspector (0.0.2) - debugger-linecache (1.2.0) - diff-lcs (1.2.5) - docile (1.1.5) - dotenv (0.11.1) - dotenv-deployment (~> 0.0.2) - dotenv-deployment (0.0.2) - dotenv-rails (0.11.1) - dotenv (= 0.11.1) - erubis (2.7.0) - execjs (2.2.2) - haml (4.0.5) - tilt - hike (1.2.3) - i18n (0.7.0) - its (0.2.0) - rspec-core - jquery-rails (3.1.2) - railties (>= 3.0, < 5.0) - thor (>= 0.14, < 2.0) - jquery-ui-rails (4.2.1) - railties (>= 3.2.16) - json (1.8.2) - kramdown (1.4.0) - libv8 (3.16.14.11) - mail (2.6.3) - mime-types (>= 1.16, < 3) - method_source (0.8.2) - mime-types (2.4.3) - mini_portile (0.6.1) - minitest (5.5.1) - multi_json (1.10.1) - netrc (0.8.0) - nokogiri (1.6.5) - mini_portile (~> 0.6.0) - phantomjs (1.9.7.1) - pry (0.10.1) - coderay (~> 1.1.0) - method_source (~> 0.8.1) - slop (~> 3.4) - pry-byebug (2.0.0) - byebug (~> 3.4) - pry (~> 0.10) - pry-stack_explorer (0.4.9.1) - binding_of_caller (>= 0.7) - pry (>= 0.9.11) - puma (2.8.2) - rack (>= 1.1, < 2.0) - rack (1.5.2) - rack-protection (1.5.3) - rack - rack-test (0.6.3) - rack (>= 1.0) - rails (4.1.7) - actionmailer (= 4.1.7) - actionpack (= 4.1.7) - actionview (= 4.1.7) - activemodel (= 4.1.7) - activerecord (= 4.1.7) - activesupport (= 4.1.7) - bundler (>= 1.3.0, < 2.0) - railties (= 4.1.7) - sprockets-rails (~> 2.0) - rails-observers (0.1.2) - activemodel (~> 4.0) - railties (4.1.7) - actionpack (= 4.1.7) - activesupport (= 4.1.7) - rake (>= 0.8.7) - thor (>= 0.18.1, < 2.0) - rake (10.4.0) - ref (1.0.5) - rest-client (1.7.2) - mime-types (>= 1.16, < 3.0) - netrc (~> 0.7) - rspec-core (3.1.7) - rspec-support (~> 3.1.0) - rspec-expectations (3.1.2) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.1.0) - rspec-mocks (3.1.3) - rspec-support (~> 3.1.0) - rspec-rails (3.1.0) - actionpack (>= 3.0) - activesupport (>= 3.0) - railties (>= 3.0) - rspec-core (~> 3.1.0) - rspec-expectations (~> 3.1.0) - rspec-mocks (~> 3.1.0) - rspec-support (~> 3.1.0) - rspec-support (3.1.2) - safe_yaml (1.0.4) - sass (3.3.9) - simplecov (0.9.1) - docile (~> 1.1.0) - multi_json (~> 1.0) - simplecov-html (~> 0.8.0) - simplecov-html (0.8.0) - sinatra (1.4.5) - rack (~> 1.4) - rack-protection (~> 1.4) - tilt (~> 1.3, >= 1.3.4) - slop (3.6.0) - sprockets (2.12.3) - hike (~> 1.2) - multi_json (~> 1.0) - rack (~> 1.0) - tilt (~> 1.1, != 1.3.0) - sprockets-rails (2.2.4) - actionpack (>= 3.0) - activesupport (>= 3.0) - sprockets (>= 2.8, < 4.0) - teaspoon (0.8.0) - railties (>= 3.2.5, < 5) - term-ansicolor (1.3.0) - tins (~> 1.0) - therubyracer (0.12.1) - libv8 (~> 3.16.14.0) - ref - thor (0.19.1) - thread_safe (0.3.4) - tilt (1.4.1) - tins (1.3.3) - tzinfo (1.2.2) - thread_safe (~> 0.1) - uglifier (2.5.1) - execjs (>= 0.3.0) - json (>= 1.8.0) - webmock (1.20.4) - addressable (>= 2.3.6) - crack (>= 0.3.2) - xpath (2.0.0) - nokogiri (~> 1.3) - zeroclipboard-rails (0.1.0) - railties (>= 3.1) - -PLATFORMS - ruby - -DEPENDENCIES - activeresource (= 4.0.0) - capybara - coveralls (= 0.7.0) - ctl_base_ui - dotenv-rails (= 0.11.1) - haml (= 4.0.5) - its - kramdown (= 1.4.0) - phantomjs - pry - pry-byebug - pry-stack_explorer - puma (= 2.8.2) - rails (= 4.1.7) - rspec-rails - sass (= 3.3.9) - sinatra (= 1.4.5) - teaspoon - therubyracer (= 0.12.1) - uglifier (= 2.5.1) - webmock - zeroclipboard-rails diff --git a/pkgs/applications/networking/cluster/panamax/ui/default.nix b/pkgs/applications/networking/cluster/panamax/ui/default.nix deleted file mode 100644 index 2f60942f014..00000000000 --- a/pkgs/applications/networking/cluster/panamax/ui/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ stdenv, fetchgit, fetchurl, makeWrapper, bundlerEnv, bundler -, ruby, openssl, sqlite, dataDir ? "/var/lib/panamax-ui"}@args: - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "panamax-ui-${version}"; - version = "0.2.14"; - - env = bundlerEnv { - name = "panamax-ui-gems-${version}"; - inherit ruby; - gemdir = ./.; - }; - - bundler = args.bundler.override { inherit ruby; }; - - src = fetchgit { - rev = "refs/tags/v${version}"; - url = "git://github.com/CenturyLinkLabs/panamax-ui"; - sha256 = "01k0h0rjqp5arvwxm2xpfxjsag5qw0qqlg7hx4v8f6jsyc4wmjfl"; - }; - - buildInputs = [ makeWrapper env.ruby openssl sqlite bundler ]; - - setSourceRoot = '' - mkdir -p $out/share - cp -R panamax-ui $out/share/panamax-ui - export sourceRoot="$out/share/panamax-ui" - ''; - - postPatch = '' - find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Journal|NixOS Journal|g' -i "{}" \; - find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Local|NixOS Local|g' -i "{}" \; - find . -type f -iname "*.haml" -exec sed -e 's|CoreOS Host|NixOS Host|g' -i "{}" \; - sed -e 's|CoreOS Local|NixOS Local|g' -i "spec/features/manage_application_spec.rb" - # fix libv8 dependency - substituteInPlace Gemfile.lock --replace "3.16.14.7" "3.16.14.11" - ''; - - configurePhase = '' - export HOME=$PWD - export GEM_HOME=${env}/${env.ruby.gemPath} - ''; - - buildPhase = '' - rm -f ./bin/* - bundle exec rake rails:update:bin - ''; - - installPhase = '' - rm -rf log tmp db - ln -sf ${dataDir}/{db,state/log,state/tmp} . - - mkdir -p $out/bin - makeWrapper bin/bundle "$out/bin/bundle" \ - --run "cd $out/share/panamax-ui" \ - --prefix "PATH" : "$out/share/panamax-ui/bin:${env.ruby}/bin:$PATH" \ - --prefix "HOME" : "$out/share/panamax-ui" \ - --prefix "GEM_HOME" : "${env}/${env.ruby.gemPath}" \ - --prefix "GEM_PATH" : "$out/share/panamax-ui:${bundler}/${env.ruby.gemPath}" - ''; - - meta = with stdenv.lib; { - broken = true; # needs ruby 2.1 - homepage = https://github.com/CenturyLinkLabs/panamax-ui; - description = "The Web GUI for Panamax"; - license = licenses.asl20; - maintainers = with maintainers; [ matejc offline ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/networking/cluster/panamax/ui/gemset.nix b/pkgs/applications/networking/cluster/panamax/ui/gemset.nix deleted file mode 100644 index b41b482edb7..00000000000 --- a/pkgs/applications/networking/cluster/panamax/ui/gemset.nix +++ /dev/null @@ -1,789 +0,0 @@ -{ - "actionmailer" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "0qjv5akjbpgd4cx518k522mssvc3y3nki65hi6fj5nbzi7a6rwq5"; - }; - dependencies = [ - "actionpack" - "actionview" - "mail" - ]; - }; - "actionpack" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "07y1ny00h69xklq260smyl5md052f617gqrzkyw5sxafs5z25zax"; - }; - dependencies = [ - "actionview" - "activesupport" - "rack" - "rack-test" - ]; - }; - "actionview" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "06sp37gfpn2jn7j6vlpp1y6vfi5kig60vyvixrjhyz0g4vgm13ax"; - }; - dependencies = [ - "activesupport" - "builder" - "erubis" - ]; - }; - "activemodel" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "0rlqzz25l7vsphgkilg80kmk20d9h357awi27ax6zzb9klkqh0jr"; - }; - dependencies = [ - "activesupport" - "builder" - ]; - }; - "activerecord" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "0j4r0m32mjbwmz9gs8brln35jzr1cn7h585ggj0w0f1ai4hjsby5"; - }; - dependencies = [ - "activemodel" - "activesupport" - "arel" - ]; - }; - "activeresource" = { - version = "4.0.0"; - source = { - type = "gem"; - sha256 = "0fc5igjijyjzsl9q5kybkdzhc92zv8wsv0ifb0y90i632jx6d4jq"; - }; - dependencies = [ - "activemodel" - "activesupport" - "rails-observers" - ]; - }; - "activesupport" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "13i3mz66d5kp5y39gjwmcfqv0wb6mxm5k1nnz40wvd38dsf7n3bs"; - }; - dependencies = [ - "i18n" - "json" - "minitest" - "thread_safe" - "tzinfo" - ]; - }; - "addressable" = { - version = "2.3.6"; - source = { - type = "gem"; - sha256 = "137fj0whmn1kvaq8wjalp8x4qbblwzvg3g4bfx8d8lfi6f0w48p8"; - }; - }; - "arel" = { - version = "5.0.1.20140414130214"; - source = { - type = "gem"; - sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9"; - }; - }; - "binding_of_caller" = { - version = "0.7.2"; - source = { - type = "gem"; - sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk"; - }; - dependencies = [ - "debug_inspector" - ]; - }; - "builder" = { - version = "3.2.2"; - source = { - type = "gem"; - sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2"; - }; - }; - "byebug" = { - version = "3.5.1"; - source = { - type = "gem"; - sha256 = "0ldc2r0b316rrn2fgdgiznskj9gb0q9n60243laq7nqw9na8wdan"; - }; - dependencies = [ - "columnize" - "debugger-linecache" - "slop" - ]; - }; - "capybara" = { - version = "2.4.4"; - source = { - type = "gem"; - sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f"; - }; - dependencies = [ - "mime-types" - "nokogiri" - "rack" - "rack-test" - "xpath" - ]; - }; - "coderay" = { - version = "1.1.0"; - source = { - type = "gem"; - sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s"; - }; - }; - "columnize" = { - version = "0.8.9"; - source = { - type = "gem"; - sha256 = "1f3azq8pvdaaclljanwhab78hdw40k908ma2cwk59qzj4hvf7mip"; - }; - }; - "coveralls" = { - version = "0.7.0"; - source = { - type = "gem"; - sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4"; - }; - dependencies = [ - "multi_json" - "rest-client" - "simplecov" - "term-ansicolor" - "thor" - ]; - }; - "crack" = { - version = "0.4.2"; - source = { - type = "gem"; - sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a"; - }; - dependencies = [ - "safe_yaml" - ]; - }; - "ctl_base_ui" = { - version = "0.0.5"; - source = { - type = "gem"; - sha256 = "1pji85xmddgld5lqx52zxi5r2kx6rsjwkqlr26bp62xb29r10x57"; - }; - dependencies = [ - "haml" - "jquery-rails" - "jquery-ui-rails" - "rails" - "sass" - ]; - }; - "debug_inspector" = { - version = "0.0.2"; - source = { - type = "gem"; - sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m"; - }; - }; - "debugger-linecache" = { - version = "1.2.0"; - source = { - type = "gem"; - sha256 = "0iwyx190fd5vfwj1gzr8pg3m374kqqix4g4fc4qw29sp54d3fpdz"; - }; - }; - "diff-lcs" = { - version = "1.2.5"; - source = { - type = "gem"; - sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; - }; - }; - "docile" = { - version = "1.1.5"; - source = { - type = "gem"; - sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; - }; - }; - "dotenv" = { - version = "0.11.1"; - source = { - type = "gem"; - sha256 = "09z0y0d6bks7i0sqvd8szfqj9i1kkj01anzly7shi83b3gxhrq9m"; - }; - dependencies = [ - "dotenv-deployment" - ]; - }; - "dotenv-deployment" = { - version = "0.0.2"; - source = { - type = "gem"; - sha256 = "1ad66jq9a09qq1js8wsyil97018s7y6x0vzji0dy34gh65sbjz8c"; - }; - }; - "dotenv-rails" = { - version = "0.11.1"; - source = { - type = "gem"; - sha256 = "0r6hif0i1lipbi7mkxx7wa5clsn65n6wyd9jry262cx396lsfrqy"; - }; - dependencies = [ - "dotenv" - ]; - }; - "erubis" = { - version = "2.7.0"; - source = { - type = "gem"; - sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; - }; - }; - "execjs" = { - version = "2.2.2"; - source = { - type = "gem"; - sha256 = "05m41mnxn4b2p133qzbz5cy9cc5rn57aa0pp2943hxmzbk379z1f"; - }; - }; - "haml" = { - version = "4.0.5"; - source = { - type = "gem"; - sha256 = "1xmzb0k5q271090crzmv7dbw8ss4289bzxklrc0fhw6pw3kcvc85"; - }; - dependencies = [ - "tilt" - ]; - }; - "hike" = { - version = "1.2.3"; - source = { - type = "gem"; - sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm"; - }; - }; - "i18n" = { - version = "0.7.0"; - source = { - type = "gem"; - sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758"; - }; - }; - "its" = { - version = "0.2.0"; - source = { - type = "gem"; - sha256 = "0rxwds9ipqp48mzqcaxzmfcqhawazg0zlhc1avv3i2cmm3np1z8g"; - }; - dependencies = [ - "rspec-core" - ]; - }; - "jquery-rails" = { - version = "3.1.2"; - source = { - type = "gem"; - sha256 = "0h5a565i3l2mbd221m6mz9d1nr53pz19i9qxv08qr1dv0yx2pr3y"; - }; - dependencies = [ - "railties" - "thor" - ]; - }; - "jquery-ui-rails" = { - version = "4.2.1"; - source = { - type = "gem"; - sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v"; - }; - dependencies = [ - "railties" - ]; - }; - "json" = { - version = "1.8.2"; - source = { - type = "gem"; - sha256 = "0zzvv25vjikavd3b1bp6lvbgj23vv9jvmnl4vpim8pv30z8p6vr5"; - }; - }; - "kramdown" = { - version = "1.4.0"; - source = { - type = "gem"; - sha256 = "001vy0ymiwbvkdbb9wpqmswv6imliv7xim00gq6rlk0chnbiaq80"; - }; - }; - libv8 = { - version = "3.16.14.11"; - source = { - type = "gem"; - sha256 = "000vbiy78wk5r1f6p7qncab8ldg7qw5pjz7bchn3lw700gpaacxp"; - }; - }; - "mail" = { - version = "2.6.3"; - source = { - type = "gem"; - sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp"; - }; - dependencies = [ - "mime-types" - ]; - }; - "method_source" = { - version = "0.8.2"; - source = { - type = "gem"; - sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2"; - }; - }; - "mime-types" = { - version = "2.4.3"; - source = { - type = "gem"; - sha256 = "16nissnb31wj7kpcaynx4gr67i7pbkzccfg8k7xmplbkla4rmwiq"; - }; - }; - "mini_portile" = { - version = "0.6.1"; - source = { - type = "gem"; - sha256 = "07gah4k84sar9d850v9gip9b323pw74vwwndh3bbzxpw5iiwsd3l"; - }; - }; - "minitest" = { - version = "5.5.1"; - source = { - type = "gem"; - sha256 = "1h8jn0rgmwy37jnhfcg55iilw0n370vgp8xnh0g5laa8rhv32fyn"; - }; - }; - "multi_json" = { - version = "1.10.1"; - source = { - type = "gem"; - sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c"; - }; - }; - "netrc" = { - version = "0.8.0"; - source = { - type = "gem"; - sha256 = "1j4jbdvd19kq34xiqx1yqb4wmcywyrlaky8hrh09c1hz3c0v5dkb"; - }; - }; - "nokogiri" = { - version = "1.6.5"; - source = { - type = "gem"; - sha256 = "1xmxz6fa0m4p7c7ngpgz6gjgv65lzz63dsf0b6vh7gs2fkiw8j7l"; - }; - dependencies = [ - "mini_portile" - ]; - }; - "phantomjs" = { - version = "1.9.7.1"; - source = { - type = "gem"; - sha256 = "14as0yzwbzvshbp1f8igjxcdxc5vbjgh0jhdvy393il084inlrl7"; - }; - }; - "pry" = { - version = "0.10.1"; - source = { - type = "gem"; - sha256 = "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z"; - }; - dependencies = [ - "coderay" - "method_source" - "slop" - ]; - }; - "pry-byebug" = { - version = "2.0.0"; - source = { - type = "gem"; - sha256 = "17b6720ci9345wkzj369ydyj6hdlg2krd26zivpd4dvaijszzgzq"; - }; - dependencies = [ - "byebug" - "pry" - ]; - }; - "pry-stack_explorer" = { - version = "0.4.9.1"; - source = { - type = "gem"; - sha256 = "1828jqcfdr9nk86n15ky199vf33cfz51wkpv6kx230g0dsh9r85z"; - }; - dependencies = [ - "binding_of_caller" - "pry" - ]; - }; - "puma" = { - version = "2.8.2"; - source = { - type = "gem"; - sha256 = "1l57fmf8vyxfjv7ab5znq0k339cym5ghnm5xxfvd1simjp73db0k"; - }; - dependencies = [ - "rack" - ]; - }; - "rack" = { - version = "1.5.2"; - source = { - type = "gem"; - sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6"; - }; - }; - "rack-protection" = { - version = "1.5.3"; - source = { - type = "gem"; - sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r"; - }; - dependencies = [ - "rack" - ]; - }; - "rack-test" = { - version = "0.6.3"; - source = { - type = "gem"; - sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; - }; - dependencies = [ - "rack" - ]; - }; - "rails" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "059mpljplmhfz8rr4hk40q67fllcpsy809m4mwwbkm8qwif2z5r0"; - }; - dependencies = [ - "actionmailer" - "actionpack" - "actionview" - "activemodel" - "activerecord" - "activesupport" - "railties" - "sprockets-rails" - ]; - }; - "rails-observers" = { - version = "0.1.2"; - source = { - type = "gem"; - sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy"; - }; - dependencies = [ - "activemodel" - ]; - }; - "railties" = { - version = "4.1.7"; - source = { - type = "gem"; - sha256 = "1n08h0rgj0aq5lvslnih6lvqz9wadpz6nnb25i4qhp37fhhyz9yz"; - }; - dependencies = [ - "actionpack" - "activesupport" - "rake" - "thor" - ]; - }; - "rake" = { - version = "10.4.0"; - source = { - type = "gem"; - sha256 = "0a10xzqc1lh6gjkajkslr0n40wjrniyiyzxkp9m5fc8wf7b74zw8"; - }; - }; - "ref" = { - version = "1.0.5"; - source = { - type = "gem"; - sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la"; - }; - }; - "rest-client" = { - version = "1.7.2"; - source = { - type = "gem"; - sha256 = "0h8c0prfi2v5p8iim3wm60xc4yripc13nqwq601bfl85k4gf25i0"; - }; - dependencies = [ - "mime-types" - "netrc" - ]; - }; - "rspec-core" = { - version = "3.1.7"; - source = { - type = "gem"; - sha256 = "01bawvln663gffljwzpq3mrpa061cghjbvfbq15jvhmip3csxqc9"; - }; - dependencies = [ - "rspec-support" - ]; - }; - "rspec-expectations" = { - version = "3.1.2"; - source = { - type = "gem"; - sha256 = "0m8d36wng1lpbcs54zhg1rxh63rgj345k3p0h0c06lgknz339nzh"; - }; - dependencies = [ - "diff-lcs" - "rspec-support" - ]; - }; - "rspec-mocks" = { - version = "3.1.3"; - source = { - type = "gem"; - sha256 = "0gxk5w3klia4zsnp0svxck43xxwwfdqvhr3srv6p30f3m5q6rmzr"; - }; - dependencies = [ - "rspec-support" - ]; - }; - "rspec-rails" = { - version = "3.1.0"; - source = { - type = "gem"; - sha256 = "1b1in3n1dc1bpf9wb3p3b2ynq05iacmr48jxzc73lj4g44ksh3wq"; - }; - dependencies = [ - "actionpack" - "activesupport" - "railties" - "rspec-core" - "rspec-expectations" - "rspec-mocks" - "rspec-support" - ]; - }; - "rspec-support" = { - version = "3.1.2"; - source = { - type = "gem"; - sha256 = "14y6v9r9lrh91ry9r79h85v0f3y9ja25w42nv5z9n0bipfcwhprb"; - }; - }; - "safe_yaml" = { - version = "1.0.4"; - source = { - type = "gem"; - sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; - }; - }; - "sass" = { - version = "3.3.9"; - source = { - type = "gem"; - sha256 = "0k19vj73283i907z4wfkc9qdska2b19z7ps6lcr5s4qzwis1zkmz"; - }; - }; - "simplecov" = { - version = "0.9.1"; - source = { - type = "gem"; - sha256 = "06hylxlalaxxldpbaqa54gc52wxdff0fixdvjyzr6i4ygxwzr7yf"; - }; - dependencies = [ - "docile" - "multi_json" - "simplecov-html" - ]; - }; - "simplecov-html" = { - version = "0.8.0"; - source = { - type = "gem"; - sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9"; - }; - }; - "sinatra" = { - version = "1.4.5"; - source = { - type = "gem"; - sha256 = "0qyna3wzlnvsz69d21lxcm3ixq7db08mi08l0a88011qi4qq701s"; - }; - dependencies = [ - "rack" - "rack-protection" - "tilt" - ]; - }; - "slop" = { - version = "3.6.0"; - source = { - type = "gem"; - sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"; - }; - }; - "sprockets" = { - version = "2.12.3"; - source = { - type = "gem"; - sha256 = "1bn2drr8bc2af359dkfraq0nm0p1pib634kvhwn5lvj3r4vllnn2"; - }; - dependencies = [ - "hike" - "multi_json" - "rack" - "tilt" - ]; - }; - "sprockets-rails" = { - version = "2.2.4"; - source = { - type = "gem"; - sha256 = "172cdg38cqsfgvrncjzj0kziz7kv6b1lx8pccd0blyphs25qf4gc"; - }; - dependencies = [ - "actionpack" - "activesupport" - "sprockets" - ]; - }; - "teaspoon" = { - version = "0.8.0"; - source = { - type = "gem"; - sha256 = "1j3brbm9cv5km9d9wzb6q2b3cvc6m254z48h7h77z1w6c5wr0p3z"; - }; - dependencies = [ - "railties" - ]; - }; - "term-ansicolor" = { - version = "1.3.0"; - source = { - type = "gem"; - sha256 = "1a2gw7gmpmx57sdpyhjwl0zn4bqp7jyjz7aslpvvphd075layp4b"; - }; - dependencies = [ - "tins" - ]; - }; - "therubyracer" = { - version = "0.12.1"; - source = { - type = "gem"; - sha256 = "106fqimqyaalh7p6czbl5m2j69z8gv7cm10mjb8bbb2p2vlmqmi6"; - }; - dependencies = [ - "libv8" - "ref" - ]; - }; - "thor" = { - version = "0.19.1"; - source = { - type = "gem"; - sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z"; - }; - }; - "thread_safe" = { - version = "0.3.4"; - source = { - type = "gem"; - sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n"; - }; - }; - "tilt" = { - version = "1.4.1"; - source = { - type = "gem"; - sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir"; - }; - }; - "tins" = { - version = "1.3.3"; - source = { - type = "gem"; - sha256 = "14jnsg15wakdk1ljh2iv9yvzk8nb7gpzd2zw4yvjikmffqjyqvna"; - }; - }; - "tzinfo" = { - version = "1.2.2"; - source = { - type = "gem"; - sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx"; - }; - dependencies = [ - "thread_safe" - ]; - }; - "uglifier" = { - version = "2.5.1"; - source = { - type = "gem"; - sha256 = "1vihq309mzv9a2i0s8v4imrn1g2kj8z0vr88q3i5b657c4kxzfp0"; - }; - dependencies = [ - "execjs" - "json" - ]; - }; - "webmock" = { - version = "1.20.4"; - source = { - type = "gem"; - sha256 = "01cz13ybxbbvkpl21bcfv0p9ir8m2zcplx93ps01ma54p25z4mxr"; - }; - dependencies = [ - "addressable" - "crack" - ]; - }; - "xpath" = { - version = "2.0.0"; - source = { - type = "gem"; - sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w"; - }; - dependencies = [ - "nokogiri" - ]; - }; - "zeroclipboard-rails" = { - version = "0.1.0"; - source = { - type = "gem"; - sha256 = "00ixal0a0mxaqsyzp06c6zz4qdwqydy1qv4n7hbyqfhbmsdalcfc"; - }; - dependencies = [ - "railties" - ]; - }; -} diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix index 538e9a3786b..eff33643ebc 100644 --- a/pkgs/applications/networking/instant-messengers/baresip/default.nix +++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix @@ -1,6 +1,5 @@ -{stdenv, fetchurl, zlib, openssl, libre, librem, pkgconfig -, cairo, mpg123, gstreamer, gst-ffmpeg, gst-plugins-base, gst-plugins-bad -, gst-plugins-good, alsaLib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg +{stdenv, fetchurl, zlib, openssl, libre, librem, pkgconfig, gst_all_1 +, cairo, mpg123, alsaLib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg , gsm, speex, portaudio, spandsp, libuuid, ccache, libvpx }: stdenv.mkDerivation rec { @@ -11,11 +10,10 @@ stdenv.mkDerivation rec { sha256 = "02bf4fwirf3b7h3cr1jqm0xsjzza4fi9kg88424js2l0xywwzpgf"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [zlib openssl libre librem - cairo mpg123 gstreamer gst-ffmpeg gst-plugins-base gst-plugins-bad gst-plugins-good + buildInputs = [zlib openssl libre librem cairo mpg123 alsaLib SDL libv4l celt libsndfile srtp ffmpeg gsm speex portaudio spandsp libuuid ccache libvpx - ]; + ] ++ (with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-bad gst-plugins-good ]); makeFlags = [ "LIBRE_MK=${libre}/share/re/re.mk" "LIBRE_INC=${libre}/include/re" @@ -26,7 +24,7 @@ stdenv.mkDerivation rec { "CCACHE_DISABLE=1" "USE_ALSA=1" "USE_AMR=1" "USE_CAIRO=1" "USE_CELT=1" - "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1" "USE_GSM=1" "USE_GST=1" + "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1" "USE_GSM=1" "USE_GST1=1" "USE_L16=1" "USE_MPG123=1" "USE_OSS=1" "USE_PLC=1" "USE_VPX=1" "USE_PORTAUDIO=1" "USE_SDL=1" "USE_SNDFILE=1" "USE_SPEEX=1" "USE_SPEEX_AEC=1" "USE_SPEEX_PP=1" "USE_SPEEX_RESAMP=1" "USE_SRTP=1" diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix index ce558130a6c..4946c065492 100644 --- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix +++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix @@ -3,11 +3,11 @@ let configFile = writeText "riot-config.json" conf; in stdenv.mkDerivation rec { name= "riot-web-${version}"; - version = "0.14.1"; + version = "0.14.2"; src = fetchurl { url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; - sha256 = "08paca7wc135hspkv97bgh2a29hbg8vxv0mrp68mgwscpyrl6vnf"; + sha256 = "1qma49a6lvr9anrry3vbhjhvy06bgapknnvbdljnbb3l9c99nmxi"; }; installPhase = '' diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 479b89bcecb..ca13a881176 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -40,13 +40,13 @@ in stdenv.mkDerivation rec { name = "signal-desktop-${version}"; - version = "1.9.0"; + version = "1.11.0"; src = if stdenv.system == "x86_64-linux" then fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "18i9chyarpcw369rqyldckkln1lxy5g9qy9f5gy5gsz9y5qngxqa"; + sha256 = "0s3qlzm7iy9qxca2hlh1hq0dnjr7y5wxad1ssqgmyhxsif0nqm96"; } else throw "Signal for Desktop is not currently supported on ${stdenv.system}"; diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index c47ce04f1f7..0e2c232e6d2 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -14,5 +14,7 @@ in { stable = mkTelegram stableVersion; preview = mkTelegram (stableVersion // { stable = false; + version = "1.2.19"; + sha256Hash = "0val6lfcg3ghcksflm3jclqly0x8plpn3an8v9bix0s5yll1ka4h"; }); } diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix index 2588340de1d..7581482504b 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix @@ -114,7 +114,7 @@ mkDerivation rec { install -m444 "$src/lib/xdg/telegramdesktop.desktop" "$out/share/applications/telegram-desktop.desktop" sed "s,/usr/bin,$out/bin,g" $archPatches/tg.protocol > $out/share/kde4/services/tg.protocol for icon_size in 16 32 48 64 128 256 512; do - install -Dm644 "../../../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram-desktop.png" + install -Dm644 "../../../Telegram/Resources/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram.png" done ''; diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix index f1b3c55d14c..1791a7ff1dd 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://telepathy.freedesktop.org/releases/${project}/${name}.tar.bz2"; - sha256 = "18i00l8lnp5dghqmgmpxnn0is2a20pkisxy0sb78hnd2dz0z6xnl"; + sha256 = "1bjx85k7jyfi5pvl765fzc7q2iz9va51anrc2djv7caksqsdbjlg"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 03b4b980929..692a4362935 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, system, makeWrapper, makeDesktopItem, - alsaLib, dbus, glib, gstreamer, fontconfig, freetype, libpulseaudio, libxml2, - libxslt, libGLU_combined, nspr, nss, sqlite, utillinux, zlib, xorg, udev, expat, libv4l }: + alsaLib, dbus, glib, fontconfig, freetype, libpulseaudio, + utillinux, zlib, xorg, udev, sqlite, expat, libv4l, procps, libGL }: let - version = "2.0.106600.0904"; + version = "2.0.123200.0405"; srcs = { x86_64-linux = fetchurl { url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; - sha256 = "1dcr0rqgjingjqbqv37hqjhhwy8axnjyirrnmjk44b5xnh239w9s"; + sha256 = "1ifwa2xf5mw1ll2j1f39qd7mpyxpc6xj3650dmlnxf525dsm573z"; }; }; @@ -17,25 +17,21 @@ in stdenv.mkDerivation { src = srcs.${system}; - buildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; libPath = stdenv.lib.makeLibraryPath [ alsaLib - dbus + expat glib - gstreamer - fontconfig freetype + libGL libpulseaudio - libxml2 - libxslt - nspr - nss + zlib + dbus + fontconfig sqlite utillinux - zlib udev - expat xorg.libX11 xorg.libSM @@ -79,6 +75,7 @@ in stdenv.mkDerivation { makeWrapper $packagePath/zoom $out/bin/zoom-us \ --prefix LD_LIBRARY_PATH : "$packagePath:$libPath" \ --prefix LD_PRELOAD : "${libv4l}/lib/v4l1compat.so" \ + --prefix PATH : "${procps}/bin" \ --set QT_PLUGIN_PATH "$packagePath/platforms" \ --set QT_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" \ --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale" diff --git a/pkgs/applications/networking/ndppd/default.nix b/pkgs/applications/networking/ndppd/default.nix index 5314d3668eb..a5eb9021048 100644 --- a/pkgs/applications/networking/ndppd/default.nix +++ b/pkgs/applications/networking/ndppd/default.nix @@ -1,6 +1,11 @@ -{ stdenv, fetchFromGitHub, gzip, ... }: +{ stdenv, fetchFromGitHub, fetchurl, gzip, ... }: -stdenv.mkDerivation rec { +let + serviceFile = fetchurl { + url = "https://raw.githubusercontent.com/DanielAdolfsson/ndppd/f37e8eb33dc68b3385ecba9b36a5efd92755580f/ndppd.service"; + sha256 = "1zf54pzjfj9j9gr48075njqrgad4myd3dqmhvzxmjy4gjy9ixmyh"; + }; +in stdenv.mkDerivation rec { name = "ndppd-${version}"; version = "0.2.5"; @@ -19,6 +24,16 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace /bin/gzip ${gzip}/bin/gzip ''; + postInstall = '' + mkdir -p $out/etc + cp ndppd.conf-dist $out/etc/ndppd.conf + + mkdir -p $out/lib/systemd/system + # service file needed for our module is not in release yet + substitute ${serviceFile} $out/lib/systemd/system/ndppd.service \ + --replace /usr/sbin/ndppd $out/sbin/ndppd + ''; + meta = { description = "A daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces"; homepage = https://github.com/DanielAdolfsson/ndppd; diff --git a/pkgs/applications/networking/netperf/default.nix b/pkgs/applications/networking/netperf/default.nix index fe58b1d3e28..421a3cfbe3b 100644 --- a/pkgs/applications/networking/netperf/default.nix +++ b/pkgs/applications/networking/netperf/default.nix @@ -1,21 +1,29 @@ -{ stdenv, fetchFromGitHub }: +{ libsmbios, stdenv, autoreconfHook, fetchFromGitHub }: stdenv.mkDerivation rec { - name = "netperf-2.7.0"; + name = "netperf-20180504"; src = fetchFromGitHub { owner = "HewlettPackard"; repo = "netperf"; - rev = name; - sha256 = "034indn3hicwbvyzgw9f32bv2i7c5iv8b4a11imyn03pw97jzh10"; + rev = "c0a0d9f31f9940abf375a41b43a343cdbf87caab"; + sha256 = "0wfj9kkhar6jb5639f5wxpwsraxw4v9yzg71rsdidvj5fyncjjq2"; }; + buildInputs = [ libsmbios ]; + nativeBuildInputs = [ autoreconfHook ]; + autoreconfPhase = '' + autoreconf -i -I src/missing/m4 + ''; + configureFlags = [ "--enable-demo" ]; + enableParallelBuilding = true; + meta = { description = "Benchmark to measure the performance of many different types of networking"; homepage = http://www.netperf.org/netperf/; license = "Hewlett-Packard BSD-like license"; platforms = stdenv.lib.platforms.linux; - maintainers = []; + maintainers = [ stdenv.lib.maintainers.mmlb ]; }; } diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix index 0b8a584fc6a..74d59c05ec9 100644 --- a/pkgs/applications/networking/newsreaders/liferea/default.nix +++ b/pkgs/applications/networking/newsreaders/liferea/default.nix @@ -6,13 +6,13 @@ let pname = "liferea"; - version = "1.12.2"; + version = "1.12.3"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2"; - sha256 = "18mz1drp6axvjbr9jdw3i0ijl3l2m191198p4c93qnm7g96ldh15"; + sha256 = "0wm2c8qrgnadq63fivai53xm7vl05wgxc0nk39jcriscdikzqpcg"; }; nativeBuildInputs = [ wrapGAppsHook python3Packages.wrapPython intltool pkgconfig ]; diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix index 94e3b7d0ba6..17c5cc86fa6 100644 --- a/pkgs/applications/networking/owncloud-client/default.nix +++ b/pkgs/applications/networking/owncloud-client/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "owncloud-client-${version}"; - version = "2.3.4"; + version = "2.4.1"; src = fetchurl { url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz"; - sha256 = "1fpi1mlp2b8sx2993b4mava5c6qw794dmlayih430299z1l9wh49"; + sha256 = "4462ae581c281123dc62f3604f1aa54c8f4a60cd8157b982e2d76faac0f7aa23"; }; - patches = [ ../nextcloud-client/find-sql.patch ]; + patches = [ ./find-sql.patch ]; nativeBuildInputs = [ pkgconfig cmake ]; buildInputs = [ qtbase qtwebkit qtkeychain sqlite ]; diff --git a/pkgs/applications/networking/owncloud-client/find-sql.patch b/pkgs/applications/networking/owncloud-client/find-sql.patch new file mode 100644 index 00000000000..44dea6414e9 --- /dev/null +++ b/pkgs/applications/networking/owncloud-client/find-sql.patch @@ -0,0 +1,12 @@ +*** a/cmake/modules/QtVersionAbstraction.cmake +--- b/cmake/modules/QtVersionAbstraction.cmake +*************** +*** 8,13 **** +--- 8,14 ---- + find_package(Qt5Core REQUIRED) + find_package(Qt5Network REQUIRED) + find_package(Qt5Xml REQUIRED) ++ find_package(Qt5Sql REQUIRED) + find_package(Qt5Concurrent REQUIRED) + if(UNIT_TESTING) + find_package(Qt5Test REQUIRED) diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/svn.nix deleted file mode 100644 index 688bb11acd0..00000000000 --- a/pkgs/applications/networking/p2p/gnunet/svn.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ stdenv, fetchsvn, libextractor, libmicrohttpd, libgcrypt -, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig -, libxml2, ncurses, gettext, libunistring, libidn -, makeWrapper, autoconf, automake -, withVerbose ? false }: - -let - rev = "27840"; -in -stdenv.mkDerivation rec { - name = "gnunet-svn-${rev}"; - - src = fetchsvn { - url = https://gnunet.org/svn/gnunet; - inherit rev; - sha256 = "0zhxvvj5rbhca2ykfx3g93dv94xyhqsnj011a6gql7zd5vfhaf6v"; - }; - - buildInputs = [ - libextractor libmicrohttpd libgcrypt gmp curl libtool - zlib adns sqlite libxml2 ncurses libidn - pkgconfig gettext libunistring makeWrapper - autoconf automake - ]; - - configureFlags = stdenv.lib.optional withVerbose "--enable-logging=verbose "; - - preConfigure = '' - # Brute force: since nix-worker chroots don't provide - # /etc/{resolv.conf,hosts}, replace all references to `localhost' - # by their IPv4 equivalent. - for i in $(find . \( -name \*.c -or -name \*.conf \) \ - -exec grep -l '\' {} \;) - do - echo "$i: substituting \`127.0.0.1' to \`localhost'..." - sed -i "$i" -e's/\/127.0.0.1/g' - done - - # Make sure the tests don't rely on `/tmp', for the sake of chroot - # builds. - for i in $(find . \( -iname \*test\*.c -or -name \*.conf \) \ - -exec grep -l /tmp {} \;) - do - echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..." - substituteInPlace "$i" --replace "/tmp" "$TMPDIR" - done - - # Ensure NSS installation works fine - configureFlags="$configureFlags --with-nssdir=$out/lib" - patchShebangs src/gns/nss/install-nss-plugin.sh - - sh contrib/pogen.sh - sh bootstrap - ''; - - doCheck = false; - - /* FIXME: Tests must be run this way, but there are still a couple of - failures. - - postInstall = - '' export GNUNET_PREFIX="$out" - export PATH="$out/bin:$PATH" - make -k check - ''; - */ - - meta = { - description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework"; - - longDescription = '' - GNUnet is a framework for secure peer-to-peer networking that - does not use any centralized or otherwise trusted services. A - first service implemented on top of the networking layer - allows anonymous censorship-resistant file-sharing. Anonymity - is provided by making messages originating from a peer - indistinguishable from messages that the peer is routing. All - peers act as routers and use link-encrypted connections with - stable bandwidth utilization to communicate with each other. - GNUnet uses a simple, excess-based economic model to allocate - resources. Peers in GNUnet monitor each others behavior with - respect to resource usage; peers that contribute to the - network are rewarded with better service. - ''; - - homepage = https://gnunet.org/; - - license = stdenv.lib.licenses.gpl2Plus; - - maintainers = with stdenv.lib.maintainers; [ viric ]; - platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix index 90d68a96e5c..b2e9333beb3 100644 --- a/pkgs/applications/networking/p2p/qbittorrent/default.nix +++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix @@ -10,11 +10,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "qbittorrent-${version}"; - version = "4.0.4"; + version = "4.1.0"; src = fetchurl { url = "mirror://sourceforge/qbittorrent/${name}.tar.xz"; - sha256 = "13sw0sdw2agm49plp9xvkg6wva274drpvgz76dqj4j2kfxx9s2jk"; + sha256 = "0fdr74sc31x421sb69vlgal1hxpccjxxk8hrrzz9f5bg4jv895pw"; }; nativeBuildInputs = [ pkgconfig which ]; diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix index d5982f33e78..e1fee1bd78b 100644 --- a/pkgs/applications/networking/remote/citrix-receiver/default.nix +++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix @@ -91,6 +91,17 @@ let x86hash = "117fwynpxfnrw98933y8z8v2q4g6ycs1sngvpbki2qj09bjkwmag"; x64suffix = "102"; x86suffix = "102"; + homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; # This version has disappeared from Citrix's website... *sigh* + }; + + "13.9.1" = { + major = "13"; + minor = "9"; + patch = "1"; + x64hash = "A9A9157CE8C287E8AA11447A0E3C3AB7C227330E9D8882C6F7B938A4DD5925BC"; + x86hash = "A93E9770FD10FDD3586A2D47448559EA037265717A7000B9BD2B1DCCE7B0A483"; + x64suffix = "6"; + x86suffix = "6"; homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; }; }; diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix index 35926836e30..279dc508225 100644 --- a/pkgs/applications/networking/seafile-client/default.nix +++ b/pkgs/applications/networking/seafile-client/default.nix @@ -5,14 +5,14 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "6.1.7"; + version = "6.1.8"; name = "seafile-client-${version}"; src = fetchFromGitHub { owner = "haiwen"; repo = "seafile-client"; rev = "v${version}"; - sha256 = "1wf258sxn4pqdn1xypqwlxbnls771k2c6whpbinpns3knv5zvgaq"; + sha256 = "0gy7jfxr5f8qvbqj80g7fzaw9b3vax750c4z5cr7f43rv99284pc"; }; nativeBuildInputs = [ pkgconfig cmake makeWrapper ]; diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index d8ff5f3100a..8c745a4aa3f 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -82,6 +82,11 @@ in stdenv.mkDerivation { enableParallelBuilding = true; + shellHook = '' + # to be able to run the resulting binary + export WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 + ''; + meta = with stdenv.lib; { homepage = https://www.wireshark.org/; description = "Powerful network protocol analyzer"; diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix index b1e2258271b..d1b333587a6 100644 --- a/pkgs/applications/networking/znc/default.nix +++ b/pkgs/applications/networking/znc/default.nix @@ -9,11 +9,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "znc-${version}"; - version = "1.6.6"; + version = "1.7.0"; src = fetchurl { url = "http://znc.in/releases/archive/${name}.tar.gz"; - sha256 = "09cmsnxvi7jg9a0dicf60fxnxdff4aprw7h8vjqlj5ywf6y43f3z"; + sha256 = "0vxra50418bsjfdpf8vl70fijv8syvasjqdxfyjliff6k91k2zn0"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/office/gnucash/2.4.nix b/pkgs/applications/office/gnucash/2.4.nix new file mode 100644 index 00000000000..252c6d878d0 --- /dev/null +++ b/pkgs/applications/office/gnucash/2.4.nix @@ -0,0 +1,85 @@ +{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx +, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui +, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade +, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar +}: + +/* If you experience GConf errors when running GnuCash on NixOS, see + * http://wiki.nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications + * for a possible solution. + */ + +stdenv.mkDerivation rec { + name = "gnucash-2.4.15"; + + src = fetchurl { + url = "mirror://sourceforge/gnucash/${name}.tar.bz2"; + sha256 = "058mgfwic6a2g7jq6iip5hv45md1qaxy25dj4lvlzjjr141wm4gx"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml + libgnomeprint goffice enchant gettext intltool perl guile slibGuile + swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl + perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar + ]; + propagatedUserEnvPkgs = [ gconf ]; + + configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking"; + + postInstall = '' + # Auto-updaters don't make sense in Nix. + rm $out/bin/gnc-fq-update + + sed -i $out/bin/update-gnucash-gconf \ + -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|' + + for prog in $(echo "$out/bin/"*) + do + # Don't wrap the gnc-fq-* scripts, since gnucash calls them as + # "perl