diff --git a/lib/generators.nix b/lib/generators.nix index 501a23599f4..9546f5b5b0a 100644 --- a/lib/generators.nix +++ b/lib/generators.nix @@ -236,12 +236,17 @@ rec { + libStr.concatMapStringsSep introSpace (go (indent + " ")) v + outroSpace + "]" else if isFunction v then - let fna = lib.functionArgs v; + # functionArgs throws in case of (partially applied) builtins + # on nix before commit b2748c6e99239ff6803ba0da76c362790c8be192 + # which includes current nix stable + # TODO remove tryEval workaround when the issue is resolved on nix stable + let fna = builtins.tryEval (lib.functionArgs v); showFnas = concatStringsSep ", " (libAttr.mapAttrsToList (name: hasDefVal: if hasDefVal then name + "?" else name) - fna); - in if fna == {} then "" - else "" + fna.value); + in if !fna.success || fna.value == {} + then "" + else "" else if isAttrs v then # apply pretty values if allowed if attrNames v == [ "__pretty" "val" ] && allowPrettyValues diff --git a/lib/types.nix b/lib/types.nix index 77245158d9f..d0a8e96149d 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -454,7 +454,8 @@ rec { }; functionTo = elemType: mkOptionType { - name = "function that evaluates to a(n) ${elemType.name}"; + name = "functionTo"; + description = "function that evaluates to a(n) ${elemType.name}"; check = isFunction; merge = loc: defs: fnArgs: (mergeDefinitions (loc ++ [ "[function body]" ]) elemType (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs)).mergedValue; diff --git a/nixos/modules/services/web-servers/nginx/location-options.nix b/nixos/modules/services/web-servers/nginx/location-options.nix index 5a7f5188b6c..d8c976f202f 100644 --- a/nixos/modules/services/web-servers/nginx/location-options.nix +++ b/nixos/modules/services/web-servers/nginx/location-options.nix @@ -52,7 +52,7 @@ with lib; default = false; example = true; description = '' - Whether to supporty proxying websocket connections with HTTP/1.1. + Whether to support proxying websocket connections with HTTP/1.1. ''; }; diff --git a/pkgs/applications/audio/carla/default.nix b/pkgs/applications/audio/carla/default.nix index a4b68707ee7..40fb0cfda59 100644 --- a/pkgs/applications/audio/carla/default.nix +++ b/pkgs/applications/audio/carla/default.nix @@ -34,11 +34,12 @@ stdenv.mkDerivation rec { buildInputs = [ file liblo alsaLib fluidsynth ffmpeg_3 jack2 libpulseaudio libsndfile - ] ++ pythonPath - ++ optional withQt qtbase + ] ++ optional withQt qtbase ++ optional withGtk2 gtk2 ++ optional withGtk3 gtk3; + propagatedBuildInputs = pythonPath; + enableParallelBuilding = true; installFlags = [ "PREFIX=$(out)" ]; @@ -53,6 +54,7 @@ stdenv.mkDerivation rec { patchPythonScript "$f" done patchPythonScript "$out/share/carla/carla_settings.py" + patchPythonScript "$out/share/carla/carla_database.py" for program in $out/bin/*; do wrapQtApp "$program" \ diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 7d54db22fa8..8bb049afc66 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -153,8 +153,8 @@ let ./patches/no-build-timestamps.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed) ./patches/widevine-79.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags # ++ optional (versionRange "68" "72") (githubPatch "" "0000000000000000000000000000000000000000000000000000000000000000") - ] ++ optional (versionRange "89" "90") (githubPatch - # To fix the build of chromiumBeta: + ] ++ optional (versionRange "89" "90.0.4402.0") (githubPatch + # To fix the build of chromiumBeta and chromiumDev: "b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9" # add dependency on opus in webcodecs "1r4wmwaxz5xbffmj5wspv2xj8s32j9p6jnwimjmalqg3al2ba64x" ); @@ -279,6 +279,12 @@ let # Disable PGO (defaults to 2 since M89) because it fails without additional changes: # error: Could not read profile ../../chrome/build/pgo_profiles/chrome-linux-master-1610647094-405a32bcf15e5a84949640f99f84a5b9f61e2f2e.profdata: Unsupported instrumentation profile format version chrome_pgo_phase = 0; + } // optionalAttrs (chromiumVersionAtLeast "90") { + # Disable build with TFLite library because it fails without additional changes: + # ninja: error: '../../chrome/test/data/simple_test.tflite', needed by 'test_data/simple_test.tflite', missing and no known rule to make it + # Note: chrome/test/data/simple_test.tflite is in the Git repository but not in chromium-90.0.4400.8.tar.xz + # See also chrome/services/machine_learning/README.md + build_with_tflite_lib = false; } // optionalAttrs ungoogled { chrome_pgo_phase = 0; enable_hangout_services_extension = false; diff --git a/pkgs/development/tools/cloudfoundry-cli/default.nix b/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix similarity index 51% rename from pkgs/development/tools/cloudfoundry-cli/default.nix rename to pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix index 4d7e226463f..de032cc60e9 100644 --- a/pkgs/development/tools/cloudfoundry-cli/default.nix +++ b/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix @@ -1,19 +1,20 @@ -{ lib, stdenv, buildGoPackage, fetchFromGitHub, fetchurl, installShellFiles }: +{ lib, stdenv, buildGoModule, fetchFromGitHub, fetchurl, installShellFiles }: -buildGoPackage rec { +buildGoModule rec { pname = "cloudfoundry-cli"; - version = "7.0.1"; - - goPackagePath = "code.cloudfoundry.org/cli"; - - subPackages = [ "." ]; + version = "7.2.0"; src = fetchFromGitHub { owner = "cloudfoundry"; repo = "cli"; rev = "v${version}"; - sha256 = "0jh4x7xlijp1naak5qyc256zkzlrczl6g4iz94s8wx2zj7np0q5l"; + sha256 = "0cf5vshyz6j70sv7x43r1404hdcmkzxgdb7514kjilp5z6wsr1nv"; }; + # vendor directory stale + deleteVendor = true; + vendorSha256 = "0p0s0dr7kpmmnim4fps62vj4zki2qxxdq5ww0fzrf1372xbl4kp2"; + + subPackages = [ "." ]; # upstream have helpfully moved the bash completion script to a separate # repo which receives no releases or even tags @@ -24,24 +25,16 @@ buildGoPackage rec { nativeBuildInputs = [ installShellFiles ]; - makeTarget = let hps = stdenv.hostPlatform.system; in - if hps == "x86_64-darwin" then - "out/cf-cli_osx" - else if hps == "x86_64-linux" then - "out/cf-cli_linux_x86-64" - else if hps == "i686-linux" then - "out/cf-cli_linux_i686" - else - throw "make target for this platform unknown"; + buildFlagsArray = [ + "-ldflags=" + "-s" + "-w" + "-X code.cloudfoundry.org/cli/version.binaryBuildDate=1970-01-01" + "-X code.cloudfoundry.org/cli/version.binaryVersion=${version}" + ]; - buildPhase = '' - cd go/src/${goPackagePath} - CF_BUILD_DATE="1970-01-01" make $makeTarget - cp $makeTarget out/cf - ''; - - installPhase = '' - install -Dm555 out/cf "$out/bin/cf" + postInstall = '' + mv "$out/bin/cli" "$out/bin/cf" installShellCompletion --bash $bashCompletionScript ''; @@ -50,6 +43,5 @@ buildGoPackage rec { homepage = "https://github.com/cloudfoundry/cli"; maintainers = with maintainers; [ ris ]; license = licenses.asl20; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/applications/networking/protonvpn-cli/default.nix b/pkgs/applications/networking/protonvpn-cli/default.nix index 1c72d4ef88c..a13f8409686 100644 --- a/pkgs/applications/networking/protonvpn-cli/default.nix +++ b/pkgs/applications/networking/protonvpn-cli/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "protonvpn-linux-cli"; - version = "2.2.4"; + version = "2.2.6"; src = fetchFromGitHub { owner = "protonvpn"; repo = "linux-cli"; rev = "v${version}"; - sha256 = "08yca0a0prrnrc7ir7ajd56yxvxpcs4m1k8f5kf273f5whgr7wzw"; + sha256 = "0y7v9ikrmy5dbjlpbpacp08gy838i8z54m8m4ps7ldk1j6kyia3n"; }; propagatedBuildInputs = (with python3Packages; [ @@ -29,8 +29,8 @@ python3Packages.buildPythonApplication rec { meta = with lib; { description = "Linux command-line client for ProtonVPN"; homepage = "https://github.com/protonvpn/linux-cli"; - maintainers = with maintainers; [ jtcoolen jefflabonte ]; + maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ]; license = licenses.gpl3; - platforms = platforms.unix; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index e9496247f06..207ebdf2211 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -1,12 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, fetchpatch, buildGoPackage -, makeWrapper, installShellFiles, pkg-config -, go-md2man, go, containerd, runc, docker-proxy, tini, libtool -, sqlite, iproute, lvm2, systemd, docker-buildx -, btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git -, procps, libseccomp -, nixosTests -, buildxSupport ? false -}: +{ lib, callPackage }: with lib; @@ -16,8 +8,16 @@ rec { , mobyRev, mobySha256 , runcRev, runcSha256 , containerdRev, containerdSha256 - , tiniRev, tiniSha256, buildxSupport - } : + , tiniRev, tiniSha256, buildxSupport ? false + # package dependencies + , stdenv, fetchFromGitHub, fetchpatch, buildGoPackage + , makeWrapper, installShellFiles, pkg-config + , go-md2man, go, containerd, runc, docker-proxy, tini, libtool + , sqlite, iproute, lvm2, systemd, docker-buildx + , btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git + , procps, libseccomp + , nixosTests + }: let docker-runc = runc.overrideAttrs (oldAttrs: { name = "docker-runc-${version}"; @@ -215,7 +215,7 @@ rec { # Get revisions from # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/* - docker_20_10 = makeOverridable dockerGen rec { + docker_20_10 = callPackage dockerGen rec { version = "20.10.2"; rev = "v${version}"; sha256 = "0z0hpm5hrqh7p8my8lmiwpym2shs48my6p0zv2cc34wym0hcly51"; @@ -227,6 +227,5 @@ rec { containerdSha256 = "09xvhjg5f8h90w1y94kqqnqzhbhd62dcdd9wb9sdqakisjk6zrl0"; tiniRev = "de40ad007797e0dcd8b7126f27bb87401d224240"; # v0.19.0 tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn"; - inherit buildxSupport; }; } diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix new file mode 100644 index 00000000000..43534767f51 --- /dev/null +++ b/pkgs/development/libraries/gtk/4.x.nix @@ -0,0 +1,232 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, gettext +, graphene +, docbook-xsl-nons +, docbook_xml_dtd_43 +, gtk-doc +, meson +, ninja +, python3 +, makeWrapper +, shared-mime-info +, isocodes +, glib +, cairo +, pango +, pandoc +, gdk-pixbuf +, gobject-introspection +, fribidi +, xorg +, epoxy +, json-glib +, libxkbcommon +, libxml2 +, librest +, libsoup +, ffmpeg +, gmp +, gnome3 +, gsettings-desktop-schemas +, gst_all_1 +, sassc +, trackerSupport ? stdenv.isLinux +, tracker +, x11Support ? stdenv.isLinux +, waylandSupport ? stdenv.isLinux +, mesa +, vulkan-loader +, vulkan-headers +, wayland +, wayland-protocols +, xineramaSupport ? stdenv.isLinux +, cupsSupport ? stdenv.isLinux +, withGtkDoc ? stdenv.isLinux +, cups ? null +, AppKit +, Cocoa +, broadwaySupport ? true +}: + +assert cupsSupport -> cups != null; + +stdenv.mkDerivation rec { + pname = "gtk4"; + version = "4.0.2"; + + outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc"; + outputBin = "dev"; + + setupHooks = [ + ./hooks/gtk4-clean-immodules-cache.sh + ./hooks/drop-icon-theme-cache.sh + ]; + + src = fetchurl { + url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz"; + sha256 = "115w3mzwm1xsi1q85qvwfm2yxpsjs2rcajgddzbnwhjicyn0frv2"; + }; + + nativeBuildInputs = [ + gettext + gobject-introspection + makeWrapper + meson + ninja + pkg-config + python3 + sassc + ] ++ setupHooks ++ lib.optionals withGtkDoc [ + pandoc + docbook_xml_dtd_43 + docbook-xsl-nons + gtk-doc + # For xmllint + libxml2 + ]; + + buildInputs = [ + libxkbcommon + epoxy + json-glib + isocodes + vulkan-headers + librest + libsoup + ffmpeg + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad + fribidi + ] ++ (with xorg; [ + libICE + libSM + libXcomposite + libXcursor + libXi + libXrandr + libXrender + ]) ++ lib.optionals stdenv.isDarwin [ + AppKit + ] ++ lib.optionals trackerSupport [ + tracker + ] ++ lib.optionals waylandSupport [ + mesa + wayland + wayland-protocols + ] ++ lib.optionals xineramaSupport [ + xorg.libXinerama + ] ++ lib.optionals cupsSupport [ + cups + ] ++ lib.optionals stdenv.isDarwin [ + Cocoa + ]; + #TODO: colord? + + propagatedBuildInputs = [ + # Required by pkg-config files. + cairo + gdk-pixbuf + glib + graphene + pango + vulkan-loader # TODO: Possibly not used on Darwin + + # Required for GSettings schemas at runtime. + # Will be picked up by wrapGAppsHook. + gsettings-desktop-schemas + ]; + + mesonFlags = [ + "-Dgtk_doc=${lib.boolToString withGtkDoc}" + "-Dtests=false" + "-Dtracker3=${lib.boolToString trackerSupport}" + "-Dbroadway_backend=${lib.boolToString broadwaySupport}" + ]; + + doCheck = false; # needs X11 + + separateDebugInfo = stdenv.isLinux; + + # These are the defines that'd you'd get with --enable-debug=minimum (default). + # See: https://developer.gnome.org/gtk3/stable/gtk-building.html#extra-configuration-options + NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"; + + postPatch = '' + files=( + build-aux/meson/post-install.py + demos/gtk-demo/geninclude.py + gdk/broadway/gen-c-array.py + gdk/gen-gdk-gresources-xml.py + gtk/gen-gtk-gresources-xml.py + gtk/gentypefuncs.py + docs/reference/gtk/gtk-markdown-to-docbook + ) + + chmod +x ''${files[@]} + patchShebangs ''${files[@]} + ''; + + postBuild = lib.optionalString withGtkDoc '' + # Meson not building `custom_target`s passed to `custom_files` argument of `gnome.gtkdoc` function + # as part of the `install` target. We have to build the docs manually first. + # https://github.com/mesonbuild/meson/issues/2831 + ninja g{t,d,s}k4-doc + ''; + + preInstall = '' + OLD_PATH="$PATH" + PATH="$PATH:$dev/bin" # so the install script finds gtk4-update-icon-cache + ''; + + postInstall = '' + PATH="$OLD_PATH" + '' + lib.optionalString (!stdenv.isDarwin) '' + # The updater is needed for nixos env and it's tiny. + moveToOutput bin/gtk4-update-icon-cache "$out" + # Launcher + moveToOutput bin/gtk-launch "$out" + + # TODO: patch glib directly + for f in $dev/bin/gtk4-encode-symbolic-svg; do + wrapProgram $f --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + done + ''; + + # Wrap demos + postFixup = lib.optionalString (!stdenv.isDarwin) '' + demos=(gtk4-demo gtk4-demo-application gtk4-icon-browser gtk4-widget-factory) + + for program in ''${demos[@]}; do + wrapProgram $dev/bin/$program \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${pname}-${version}" + done + ''; + + passthru = { + updateScript = gnome3.updateScript { + packageName = "gtk"; + attrPath = "gtk4"; + }; + }; + + meta = with lib; { + description = "A multi-platform toolkit for creating graphical user interfaces"; + longDescription = '' + GTK is a highly usable, feature rich toolkit for creating + graphical user interfaces which boasts cross platform + compatibility and an easy to use API. GTK it is written in C, + but has bindings to many other popular programming languages + such as C++, Python and C# among others. GTK is licensed + under the GNU LGPL 2.1 allowing development of both free and + proprietary software with GTK without any license fees or + royalties. + ''; + homepage = "https://www.gtk.org/"; + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ raskin vcunat lethalman worldofpeace ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/libraries/gtk/hooks/gtk4-clean-immodules-cache.sh b/pkgs/development/libraries/gtk/hooks/gtk4-clean-immodules-cache.sh new file mode 100644 index 00000000000..49f7051aabb --- /dev/null +++ b/pkgs/development/libraries/gtk/hooks/gtk4-clean-immodules-cache.sh @@ -0,0 +1,11 @@ +# shellcheck shell=bash + +fixupOutputHooks+=(_gtk4CleanComments) + +# Clean comments that link to generator of the file +_gtk4CleanComments() { + local f="${prefix:?}/lib/gtk-4.0/4.0.0/immodules.cache" + if [ -f "$f" ]; then + sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f" + fi +} diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 04711833b38..b72d9070ce2 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -89,15 +89,6 @@ let sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am"; }) - # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599 - (fetchpatch { - name = "qtwebengine-bison-3.7-build.patch"; - url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599"; - sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy"; - stripLen = 1; - extraPrefix = "src/3rdparty/"; - }) - ./qtwebengine-darwin-no-platform-check.patch ./qtwebengine-darwin-fix-failed-static-assertion.patch ]; diff --git a/pkgs/development/libraries/qt-5/5.12/fetch.sh b/pkgs/development/libraries/qt-5/5.12/fetch.sh index e93c9acd3f0..6d2cf551dd5 100644 --- a/pkgs/development/libraries/qt-5/5.12/fetch.sh +++ b/pkgs/development/libraries/qt-5/5.12/fetch.sh @@ -1,2 +1,2 @@ -WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.9/submodules/ \ +WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.10/submodules/ \ -A '*.tar.xz' ) diff --git a/pkgs/development/libraries/qt-5/5.12/srcs.nix b/pkgs/development/libraries/qt-5/5.12/srcs.nix index f2ed6d13714..03f8973766a 100644 --- a/pkgs/development/libraries/qt-5/5.12/srcs.nix +++ b/pkgs/development/libraries/qt-5/5.12/srcs.nix @@ -4,323 +4,323 @@ { qt3d = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qt3d-everywhere-src-5.12.9.tar.xz"; - sha256 = "6fcde8c99bc5d09a5d2de99cab10c6f662d7db48139e6d5a3904fa0c580070ad"; - name = "qt3d-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qt3d-everywhere-src-5.12.10.tar.xz"; + sha256 = "1fnhdy0vwh1npq04pw3lzb15rsp0nx8wh57c8lvz9jn945xwc3vd"; + name = "qt3d-everywhere-src-5.12.10.tar.xz"; }; }; qtactiveqt = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtactiveqt-everywhere-src-5.12.9.tar.xz"; - sha256 = "e9df2dacfa4f93b42753066d14d3c504a30b259c177b366e32e6119f714f6527"; - name = "qtactiveqt-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtactiveqt-everywhere-src-5.12.10.tar.xz"; + sha256 = "0lf96ziba5g8izwcjzzaf4n2j336j6627rb3dzwvmsdkd9168zax"; + name = "qtactiveqt-everywhere-src-5.12.10.tar.xz"; }; }; qtandroidextras = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtandroidextras-everywhere-src-5.12.9.tar.xz"; - sha256 = "d6ab58d382feb1d79b7f28033eaa15ecab0c1f97c760fad50f20608189ab1a95"; - name = "qtandroidextras-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtandroidextras-everywhere-src-5.12.10.tar.xz"; + sha256 = "0blapv4jd80wcvzp96zxlrsyca7lwax17y6yij1d14a51353hrnc"; + name = "qtandroidextras-everywhere-src-5.12.10.tar.xz"; }; }; qtbase = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtbase-everywhere-src-5.12.9.tar.xz"; - sha256 = "331dafdd0f3e8623b51bd0da2266e7e7c53aa8e9dc28a8eb6f0b22609c5d337e"; - name = "qtbase-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtbase-everywhere-src-5.12.10.tar.xz"; + sha256 = "0h39r3irahdms4gidg5l4a1kr7kagc4bd0y02sapg3njwrsg3240"; + name = "qtbase-everywhere-src-5.12.10.tar.xz"; }; }; qtcanvas3d = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtcanvas3d-everywhere-src-5.12.9.tar.xz"; - sha256 = "351b105507b97e61eef17a5ce8a96fe090a523101e41c20ea373266203dd3ca0"; - name = "qtcanvas3d-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtcanvas3d-everywhere-src-5.12.10.tar.xz"; + sha256 = "0pbxw89m2s19yk2985c49msd7s1mapydka9b7nzg9phs9nrzvf1m"; + name = "qtcanvas3d-everywhere-src-5.12.10.tar.xz"; }; }; qtcharts = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtcharts-everywhere-src-5.12.9.tar.xz"; - sha256 = "9fc2a64a96b73746389c257684af557e70c5360bead53d61d059f968efdc5b04"; - name = "qtcharts-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtcharts-everywhere-src-5.12.10.tar.xz"; + sha256 = "0cndm8llvfl9jdzn34b886gxgxwsibb24amhblh96cadhhkpwadc"; + name = "qtcharts-everywhere-src-5.12.10.tar.xz"; }; }; qtconnectivity = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtconnectivity-everywhere-src-5.12.9.tar.xz"; - sha256 = "e5457ebc22059954bba6a08b03fd1e6f30e4c8f3146636065bf12c2e6044f41c"; - name = "qtconnectivity-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtconnectivity-everywhere-src-5.12.10.tar.xz"; + sha256 = "19l816zfpx87vwzj18mbib5x3mb9hy1msacpy8i9bagfw9p0i6c0"; + name = "qtconnectivity-everywhere-src-5.12.10.tar.xz"; }; }; qtdatavis3d = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtdatavis3d-everywhere-src-5.12.9.tar.xz"; - sha256 = "0cd4f7535bf26e4e59f89fac991fc8a400bd6193680578f31693235f185f4562"; - name = "qtdatavis3d-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtdatavis3d-everywhere-src-5.12.10.tar.xz"; + sha256 = "1ximhph17kkh40v2ksk51lq21mbjs2ajyf5l32ckhc7n7bmaryb6"; + name = "qtdatavis3d-everywhere-src-5.12.10.tar.xz"; }; }; qtdeclarative = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtdeclarative-everywhere-src-5.12.9.tar.xz"; - sha256 = "c11ae68aedcdea7e721ec22a95265ac91b5e128a5c12d3b61b5b732d3a02be80"; - name = "qtdeclarative-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtdeclarative-everywhere-src-5.12.10.tar.xz"; + sha256 = "05la1zlijcaargfh4ljnmxvvksdwzl409wl7w3m96kwm8s370mmf"; + name = "qtdeclarative-everywhere-src-5.12.10.tar.xz"; }; }; qtdoc = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtdoc-everywhere-src-5.12.9.tar.xz"; - sha256 = "a9d751af85a07bdfc2a30e8f1b08aa249547a8100801f286e77280a9c9ede624"; - name = "qtdoc-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtdoc-everywhere-src-5.12.10.tar.xz"; + sha256 = "0ljc29hnn8knncvq8hsk0rdcwrxbsk1ywlprknkvyb4pggp9rkp6"; + name = "qtdoc-everywhere-src-5.12.10.tar.xz"; }; }; qtgamepad = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtgamepad-everywhere-src-5.12.9.tar.xz"; - sha256 = "da3333af6b9dccd7dd3a25b01de65e317fe4b70b9d39eeb84e01c232063211fe"; - name = "qtgamepad-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtgamepad-everywhere-src-5.12.10.tar.xz"; + sha256 = "1bs50wghy3n8af656angkkkaac0swkq3mfllg3dkjg236ngzdhdh"; + name = "qtgamepad-everywhere-src-5.12.10.tar.xz"; }; }; qtgraphicaleffects = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtgraphicaleffects-everywhere-src-5.12.9.tar.xz"; - sha256 = "1eb4b913d5cb6d0b46a231288b9717f4785fbd212936e98a8b2a8c9024e3a8bf"; - name = "qtgraphicaleffects-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtgraphicaleffects-everywhere-src-5.12.10.tar.xz"; + sha256 = "0hnsb757ircqmid34d0cxbh0mi4qnil22k5ka9a1b8xy00ydkfky"; + name = "qtgraphicaleffects-everywhere-src-5.12.10.tar.xz"; }; }; qtimageformats = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtimageformats-everywhere-src-5.12.9.tar.xz"; - sha256 = "cd8193698f830cce30959564c191e7bb698877aca3a263c652b4a23907c72b6a"; - name = "qtimageformats-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtimageformats-everywhere-src-5.12.10.tar.xz"; + sha256 = "1bh38xp4v914ksg91p9pij1gsdzs3y7sn7diy3d7wn5i039syn0i"; + name = "qtimageformats-everywhere-src-5.12.10.tar.xz"; }; }; qtlocation = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtlocation-everywhere-src-5.12.9.tar.xz"; - sha256 = "be31870104af2910690850c4e28bab3ccb76f1aa8deef1e870bcbc6b276aa2c1"; - name = "qtlocation-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtlocation-everywhere-src-5.12.10.tar.xz"; + sha256 = "1czg0z69ilnxp1sqk0jawlnyp2gx87yb57g8dwjznqxxvaq744dc"; + name = "qtlocation-everywhere-src-5.12.10.tar.xz"; }; }; qtmacextras = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtmacextras-everywhere-src-5.12.9.tar.xz"; - sha256 = "5458f3e13c37eb8bff8588b29703fb33b61d5ea19989c56c99d36f221e269f35"; - name = "qtmacextras-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtmacextras-everywhere-src-5.12.10.tar.xz"; + sha256 = "0mh9p3f1f22pj4i8yxnn56amy53dapmcikza04ll4fvx5hy340v8"; + name = "qtmacextras-everywhere-src-5.12.10.tar.xz"; }; }; qtmultimedia = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtmultimedia-everywhere-src-5.12.9.tar.xz"; - sha256 = "59a2f2418cefe030094687dff0846fb8957abbc0e060501a4fee40cb4a52838c"; - name = "qtmultimedia-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtmultimedia-everywhere-src-5.12.10.tar.xz"; + sha256 = "0g50jzhwbrl5r0lmfz5ffpkp54mf0zfc8m884x51yn2bnngg366c"; + name = "qtmultimedia-everywhere-src-5.12.10.tar.xz"; }; }; qtnetworkauth = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtnetworkauth-everywhere-src-5.12.9.tar.xz"; - sha256 = "a0979689eda667e299fd9cf5a8859bd9c37eabc0a6d9738103a1143035baf0e4"; - name = "qtnetworkauth-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtnetworkauth-everywhere-src-5.12.10.tar.xz"; + sha256 = "12n3xqlskrk2mbcgz5p613sx219j6rmpq8yn7p97xdv7li61gzl2"; + name = "qtnetworkauth-everywhere-src-5.12.10.tar.xz"; }; }; qtpurchasing = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtpurchasing-everywhere-src-5.12.9.tar.xz"; - sha256 = "565587811b3cfd201907d3fcbf7120783de32a4d1d3c59a9efff3720cf0af3e5"; - name = "qtpurchasing-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtpurchasing-everywhere-src-5.12.10.tar.xz"; + sha256 = "1azdg03vxyk140i9z93x0zzlazbmd3qrqxgwk747jsd1ibns9ddy"; + name = "qtpurchasing-everywhere-src-5.12.10.tar.xz"; }; }; qtquickcontrols = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtquickcontrols-everywhere-src-5.12.9.tar.xz"; - sha256 = "d89084ebccf155f4c966d4a2a188e6e870c37535a7751740960f5c38088373f6"; - name = "qtquickcontrols-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtquickcontrols-everywhere-src-5.12.10.tar.xz"; + sha256 = "1cy9vjl9zf95frnydzljqwbx3is8p8w27kdgszvmb67p6xkpblk7"; + name = "qtquickcontrols-everywhere-src-5.12.10.tar.xz"; }; }; qtquickcontrols2 = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtquickcontrols2-everywhere-src-5.12.9.tar.xz"; - sha256 = "ea1c2864630c6ba2540228f81ec5b582619d5ce9e4cb98e91109b4181a65a31d"; - name = "qtquickcontrols2-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtquickcontrols2-everywhere-src-5.12.10.tar.xz"; + sha256 = "0541n8n012d0xwxrfznv1jwh28d35mdx6cl8jadsaxaspgwz4vb3"; + name = "qtquickcontrols2-everywhere-src-5.12.10.tar.xz"; }; }; qtremoteobjects = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtremoteobjects-everywhere-src-5.12.9.tar.xz"; - sha256 = "f87af7e9931280f2b44a529dc174cae14247e1b50f9dc9bde8966adb0406babd"; - name = "qtremoteobjects-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtremoteobjects-everywhere-src-5.12.10.tar.xz"; + sha256 = "147p0xdi22xz2d3501ig78bs97gbyz8ccyhn6dhbw2yalx33gma6"; + name = "qtremoteobjects-everywhere-src-5.12.10.tar.xz"; }; }; qtscript = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtscript-everywhere-src-5.12.9.tar.xz"; - sha256 = "8f2e12e37ff1e7629923cf3b9d446f85e005b2248386e33879ba3b790f1416df"; - name = "qtscript-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtscript-everywhere-src-5.12.10.tar.xz"; + sha256 = "1cfcfwq4shr6yphgwq2jnvgzjjqjrz10qnzr7dccksmfg3i0ad02"; + name = "qtscript-everywhere-src-5.12.10.tar.xz"; }; }; qtscxml = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtscxml-everywhere-src-5.12.9.tar.xz"; - sha256 = "d68d04d83366f11b10a101766baf5253e53ad76a683e0bc15e7dd403d475e61c"; - name = "qtscxml-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtscxml-everywhere-src-5.12.10.tar.xz"; + sha256 = "057zchhm1s5ly2a685y4105pgmzgqp1jkkf9w0ca8xd05z4clb4r"; + name = "qtscxml-everywhere-src-5.12.10.tar.xz"; }; }; qtsensors = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtsensors-everywhere-src-5.12.9.tar.xz"; - sha256 = "77054e2449bcac786cc8f07c0d65c503a22bc629af4844259ff0def27b9889e9"; - name = "qtsensors-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtsensors-everywhere-src-5.12.10.tar.xz"; + sha256 = "10f00njvc7kwjci0g4g3pibl9ra798iplvj2ymql3zppxqqdq25m"; + name = "qtsensors-everywhere-src-5.12.10.tar.xz"; }; }; qtserialbus = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtserialbus-everywhere-src-5.12.9.tar.xz"; - sha256 = "08b16363a47f9b41f87e3b7cf63eaed2435bb6b7e27775c9717ff863e56141ed"; - name = "qtserialbus-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtserialbus-everywhere-src-5.12.10.tar.xz"; + sha256 = "0zd0crs2nrsvncj070fl05g0nm3j5bf16g54c7m9603b6q7bryrx"; + name = "qtserialbus-everywhere-src-5.12.10.tar.xz"; }; }; qtserialport = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtserialport-everywhere-src-5.12.9.tar.xz"; - sha256 = "24a10b65b03fc598acd30f4a52b0b71218e9c03ec4bb31a4ca50aae1b52a986d"; - name = "qtserialport-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtserialport-everywhere-src-5.12.10.tar.xz"; + sha256 = "0anndf6pyssiygj0kk2j80vwil2z0765gccs87djhsni1xvk3n9r"; + name = "qtserialport-everywhere-src-5.12.10.tar.xz"; }; }; qtspeech = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtspeech-everywhere-src-5.12.9.tar.xz"; - sha256 = "2efdaf5f49d2fad4a6c4cde12dfee2ff2c66ab4298f22d6c203ecd6019186847"; - name = "qtspeech-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtspeech-everywhere-src-5.12.10.tar.xz"; + sha256 = "11fycm604r1xswb9dg1g568jxd68zd9m2dzfy4qda6sr4mdaj6jg"; + name = "qtspeech-everywhere-src-5.12.10.tar.xz"; }; }; qtsvg = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtsvg-everywhere-src-5.12.9.tar.xz"; - sha256 = "32ec251e411d31734b873dd82fd68b6a3142227fdf06fe6ad879f16997fb98d2"; - name = "qtsvg-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtsvg-everywhere-src-5.12.10.tar.xz"; + sha256 = "0jrkz8y225g93pznsvc1icanxxc5cfm23ic2y6rprqaqw77z9zxm"; + name = "qtsvg-everywhere-src-5.12.10.tar.xz"; }; }; qttools = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qttools-everywhere-src-5.12.9.tar.xz"; - sha256 = "002dc23410a9d1af6f1cfc696ee18fd3baeddbbfeb9758ddb04bbdb17b2fffdf"; - name = "qttools-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qttools-everywhere-src-5.12.10.tar.xz"; + sha256 = "0v339a1w3kqvfl8hcds032g8zafp8d4c1b2rzihpq6y4mbksdkxh"; + name = "qttools-everywhere-src-5.12.10.tar.xz"; }; }; qttranslations = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qttranslations-everywhere-src-5.12.9.tar.xz"; - sha256 = "50bd3a329e86f14af05ef0dbef94c7a6cd6c1f89ca4d008088a44ba76e6ecf40"; - name = "qttranslations-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qttranslations-everywhere-src-5.12.10.tar.xz"; + sha256 = "1pjkkkkjvs9harz70sir67yf3i528vyn1shmi09hlzlb23nmipp1"; + name = "qttranslations-everywhere-src-5.12.10.tar.xz"; }; }; qtvirtualkeyboard = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtvirtualkeyboard-everywhere-src-5.12.9.tar.xz"; - sha256 = "7598ee3312a2f4e72edf363c16c506740a8b91c5c06544da068a3c0d73f7f807"; - name = "qtvirtualkeyboard-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtvirtualkeyboard-everywhere-src-5.12.10.tar.xz"; + sha256 = "0afw3lj5cg3zj0hzxlhz5l7s1j2y491yxwylc4vchbqjpyvsadgg"; + name = "qtvirtualkeyboard-everywhere-src-5.12.10.tar.xz"; }; }; qtwayland = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwayland-everywhere-src-5.12.9.tar.xz"; - sha256 = "6f416948a98586b9c13c46b36be5ac6bb96a1dde9f50123b5e6dcdd102e9d77e"; - name = "qtwayland-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwayland-everywhere-src-5.12.10.tar.xz"; + sha256 = "1bs61xmc4l03w21wkrxx0llfg5bbnq5ij7w0bnfkx3rk0vncy0q6"; + name = "qtwayland-everywhere-src-5.12.10.tar.xz"; }; }; qtwebchannel = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebchannel-everywhere-src-5.12.9.tar.xz"; - sha256 = "d55a06a0929c86664496e1113e74425d56d175916acd8abbb95c371eb16b43eb"; - name = "qtwebchannel-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebchannel-everywhere-src-5.12.10.tar.xz"; + sha256 = "1jmprqgavqwknnnl6qp0psxz7bc69ivxhm7y4qci95vpx9k5yjg8"; + name = "qtwebchannel-everywhere-src-5.12.10.tar.xz"; }; }; qtwebengine = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebengine-everywhere-src-5.12.9.tar.xz"; - sha256 = "27a9a19e4deb5e7a0fabc13e38fe5a8818730c92f6a343b9084aa17977468e25"; - name = "qtwebengine-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebengine-everywhere-src-5.12.10.tar.xz"; + sha256 = "16zbyfc7qy9f20anfrdi25f6nf1j7zw8kps60mqb18nfjw411d50"; + name = "qtwebengine-everywhere-src-5.12.10.tar.xz"; }; }; qtwebglplugin = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebglplugin-everywhere-src-5.12.9.tar.xz"; - sha256 = "cb7ba4cb66900e5d4315809e2b5ad3e4e381d576a14f6224f8ea58373f997c42"; - name = "qtwebglplugin-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebglplugin-everywhere-src-5.12.10.tar.xz"; + sha256 = "0nhim67rl9dbshnarismnd54qzks8v14a08h8qi7x0dm9bj9ij7q"; + name = "qtwebglplugin-everywhere-src-5.12.10.tar.xz"; }; }; qtwebsockets = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebsockets-everywhere-src-5.12.9.tar.xz"; - sha256 = "08a92c36d52b4d93a539a950698bb2912ea36055015d421f874bf672637f21ef"; - name = "qtwebsockets-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebsockets-everywhere-src-5.12.10.tar.xz"; + sha256 = "0p74ds53d3a30i7pq85b9ql9i4z1p0yyanhmaizw2bv9225py4jr"; + name = "qtwebsockets-everywhere-src-5.12.10.tar.xz"; }; }; qtwebview = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebview-everywhere-src-5.12.9.tar.xz"; - sha256 = "3e0506411d101cc08232946bcacef2fb90884c27eb91eeb97a1a68ed3788a7b6"; - name = "qtwebview-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebview-everywhere-src-5.12.10.tar.xz"; + sha256 = "07pz7wfhyijfdlxnaqpn4hwgvpglma6dfmkcb8xw6hfhg30riaxd"; + name = "qtwebview-everywhere-src-5.12.10.tar.xz"; }; }; qtwinextras = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwinextras-everywhere-src-5.12.9.tar.xz"; - sha256 = "7bab5053197148a5e1609cab12331e4a3f2e1a86bcbde137948330b288803754"; - name = "qtwinextras-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwinextras-everywhere-src-5.12.10.tar.xz"; + sha256 = "1x5k0z0p94zppqsw2fz8ki9v5abf0crzva16wllznn89ylqjyn0j"; + name = "qtwinextras-everywhere-src-5.12.10.tar.xz"; }; }; qtx11extras = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtx11extras-everywhere-src-5.12.9.tar.xz"; - sha256 = "09432392641b56205cbcda6be89d0835bfecad64ad61713a414b951b740c9cec"; - name = "qtx11extras-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtx11extras-everywhere-src-5.12.10.tar.xz"; + sha256 = "0xk10iynkfs31vgpadrmw30k4s1hlnggxy2f3q988qyqd37dh5h8"; + name = "qtx11extras-everywhere-src-5.12.10.tar.xz"; }; }; qtxmlpatterns = { - version = "5.12.9"; + version = "5.12.10"; src = fetchurl { - url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtxmlpatterns-everywhere-src-5.12.9.tar.xz"; - sha256 = "8d0e92fce6b4cbe7f1ecd1e90f6c7d71681b9b8870a577c0b18cadd93b8713b2"; - name = "qtxmlpatterns-everywhere-src-5.12.9.tar.xz"; + url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtxmlpatterns-everywhere-src-5.12.10.tar.xz"; + sha256 = "1qg09yxagz36sry03kv3swwfjc8lrik1asjk2lxlpzzcl2q95lbv"; + name = "qtxmlpatterns-everywhere-src-5.12.10.tar.xz"; }; }; } diff --git a/pkgs/development/php-packages/composer/2.0.nix b/pkgs/development/php-packages/composer/2.0.nix index 4ff982bf8d2..5b0234fa7a1 100644 --- a/pkgs/development/php-packages/composer/2.0.nix +++ b/pkgs/development/php-packages/composer/2.0.nix @@ -1,14 +1,14 @@ { mkDerivation, fetchurl, pkgs, lib, php }: let pname = "composer"; - version = "2.0.8"; + version = "2.0.9"; in mkDerivation { inherit pname version; src = fetchurl { url = "https://getcomposer.org/download/${version}/composer.phar"; - sha256 = "0f0msrqrszhwj7ki9y5wrlwglwanmdcc132l7kz0wvj45gaz0890"; + sha256 = "sha256-JPqlvIB+OZ8y6aIaM/u1sGht+ciFDvq+LAR8LM+5+cw="; }; dontUnpack = true; diff --git a/pkgs/development/php-packages/php-cs-fixer/default.nix b/pkgs/development/php-packages/php-cs-fixer/default.nix index 1ed33e7bb5e..c855b975e54 100644 --- a/pkgs/development/php-packages/php-cs-fixer/default.nix +++ b/pkgs/development/php-packages/php-cs-fixer/default.nix @@ -1,14 +1,14 @@ { mkDerivation, fetchurl, pkgs, lib, php }: let pname = "php-cs-fixer"; - version = "2.18.0"; + version = "2.18.2"; in mkDerivation { inherit pname version; src = fetchurl { url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar"; - sha256 = "sha256-euvk/Rs6fZIJVWprzKiTVNPlGOsCN6t58DzvwYh3wDA="; + sha256 = "sha256-451be1O/y92ib5hZNVbf8iCkD+e9DoK47Z7IkMnwuo0="; }; phases = [ "installPhase" ]; diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix index c363150babc..74b44c21d04 100644 --- a/pkgs/development/php-packages/phpstan/default.nix +++ b/pkgs/development/php-packages/phpstan/default.nix @@ -1,14 +1,14 @@ { mkDerivation, fetchurl, pkgs, lib, php }: let pname = "phpstan"; - version = "0.12.68"; + version = "0.12.70"; in mkDerivation { inherit pname version; src = pkgs.fetchurl { url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; - sha256 = "sha256-qplQi12ecZjtaM8XawiO+qSwEdTXByrxWZLf3N7gfNc="; + sha256 = "sha256-bQvLGrDUh66lipmML1VwrdNKkI6NezBckdlOqnDe7Qk="; }; phases = [ "installPhase" ]; diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix index e1cb9f211bc..55468ba0fdf 100644 --- a/pkgs/development/python-modules/cassandra-driver/default.nix +++ b/pkgs/development/python-modules/cassandra-driver/default.nix @@ -1,47 +1,85 @@ -{ lib, buildPythonPackage, fetchPypi, python, pythonOlder +{ stdenv, lib, buildPythonPackage, fetchFromGitHub, python, pythonOlder , cython , eventlet , futures +, iana-etc +, geomet , libev , mock , nose -, pytest +, pytestCheckHook , pytz , pyyaml , scales , six , sure +, gremlinpython +, gevent +, twisted +, libredirect }: buildPythonPackage rec { pname = "cassandra-driver"; version = "3.24.0"; - src = fetchPypi { - inherit pname version; - sha256 = "83ec8d9a5827ee44bb1c0601a63696a8a9086beaf0151c8255556299246081bd"; + # pypi tarball doesn't include tests + src = fetchFromGitHub { + owner = "datastax"; + repo = "python-driver"; + rev = version; + sha256 = "1rr69hly5q810xpn8rkzxwzlq55wxxp7kwki9vfri3gh674d2wip"; }; nativeBuildInputs = [ cython ]; buildInputs = [ libev ]; - propagatedBuildInputs = [ six ] + propagatedBuildInputs = [ six geomet ] ++ lib.optionals (pythonOlder "3.4") [ futures ]; - checkInputs = [ eventlet mock nose pytest pytz pyyaml sure ]; - - # ignore test files which try to do socket.getprotocolname('tcp') - # as it fails in sandbox mode due to lack of a /etc/protocols file - checkPhase = '' - pytest tests/unit \ - --ignore=tests/unit/io/test_libevreactor.py \ - --ignore=tests/unit/io/test_eventletreactor.py \ - --ignore=tests/unit/io/test_asyncorereactor.py + # Make /etc/protocols accessible to allow socket.getprotobyname('tcp') in sandbox, + # also /etc/resolv.conf is referenced by some tests + preCheck = (lib.optionalString stdenv.isLinux '' + echo "nameserver 127.0.0.1" > resolv.conf + export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf) + export LD_PRELOAD=${libredirect}/lib/libredirect.so + '') + '' + # increase tolerance for time-based test + substituteInPlace tests/unit/io/utils.py --replace 'delta=.15' 'delta=.3' ''; + postCheck = '' + unset NIX_REDIRECTS LD_PRELOAD + ''; + + checkInputs = [ + pytestCheckHook + eventlet + mock + nose + pytz + pyyaml + sure + scales + gremlinpython + gevent + twisted + ]; + + pytestFlagsArray = [ + "tests/unit" + # requires puresasl + "--ignore=tests/unit/advanced/test_auth.py" + ]; + disabledTests = [ + # doesn't seem to be intended to be run directly + "_PoolTests" + # attempts to make connection to localhost + "test_connection_initialization" + ]; meta = with lib; { description = "A Python client driver for Apache Cassandra"; homepage = "http://datastax.github.io/python-driver"; license = licenses.asl20; - broken = true; # geomet doesn't exist + maintainers = with maintainers; [ turion ris ]; }; } diff --git a/pkgs/development/python-modules/django_silk/default.nix b/pkgs/development/python-modules/django_silk/default.nix index 90ba6cf2924..653bcdc5551 100644 --- a/pkgs/development/python-modules/django_silk/default.nix +++ b/pkgs/development/python-modules/django_silk/default.nix @@ -1,7 +1,9 @@ { lib , buildPythonPackage , python +, pythonAtLeast , fetchFromGitHub +, fetchpatch , django , pygments , simplejson @@ -23,15 +25,23 @@ buildPythonPackage rec { pname = "django-silk"; - version = "4.0.1"; + version = "4.1.0"; # pypi tarball doesn't include test project src = fetchFromGitHub { owner = "jazzband"; repo = "django-silk"; rev = version; - sha256 = "0yy9rzxvwlp2xvnw76r9hnqajlp417snam92xpb6ay0hxwslwqyb"; + sha256 = "1km3hmx1sir0c5gqr2p1h2938slhxp2hzf10cb80q98mas8spjkn"; }; + + patches = lib.optional (pythonAtLeast "3.9") (fetchpatch { + # should be able to remove after 4.1.1 + name = "python-3.9-support.patch"; + url = "https://github.com/jazzband/django-silk/commit/134089e4cad7bd3b76fb0f70c423082cb7d2b34a.patch"; + sha256 = "09c1xd9y33h3ibiv5w9af9d79c909rgc1g5sxpd4y232h5id3c8r"; + }); + # "test_time_taken" tests aren't suitable for reproducible execution, but django's # test runner doesn't have an easy way to ignore tests - so instead prevent it from picking # them up as tests diff --git a/pkgs/development/python-modules/geomet/default.nix b/pkgs/development/python-modules/geomet/default.nix new file mode 100644 index 00000000000..a4df450098d --- /dev/null +++ b/pkgs/development/python-modules/geomet/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, fetchpatch +, click +, six +}: + +buildPythonPackage rec { + pname = "geomet"; + version = "0.2.1"; + + # pypi tarball doesn't include tests + src = fetchFromGitHub { + owner = "geomet"; + repo = "geomet"; + rev = version; + sha256 = "0fdi26glsmrsyqk86rnsfcqw79svn2b0ikdv89pq98ihrpwhn85y"; + }; + + patches = [ + (fetchpatch { + name = "python-3.8-support.patch"; + url = "https://github.com/geomet/geomet/commit/dc4cb4a856d3ad814b57b4b7487d86d9e0f0fad4.patch"; + sha256 = "1f1cdfqyp3z01jdjvax77219l3gc75glywqrisqpd2k0m0g7fwh3"; + }) + ]; + + propagatedBuildInputs = [ click six ]; + + meta = with lib; { + homepage = "https://github.com/geomet/geomet"; + license = licenses.asl20; + description = "Convert GeoJSON to WKT/WKB (Well-Known Text/Binary), and vice versa."; + maintainers = with maintainers; [ turion ris ]; + }; +} diff --git a/pkgs/development/python-modules/gremlinpython/default.nix b/pkgs/development/python-modules/gremlinpython/default.nix new file mode 100644 index 00000000000..97d169283b2 --- /dev/null +++ b/pkgs/development/python-modules/gremlinpython/default.nix @@ -0,0 +1,54 @@ +{ stdenv, lib, buildPythonPackage, fetchFromGitHub, python, pythonOlder +, pytestCheckHook, pyhamcrest, pytestrunner, pytest +, six, isodate, tornado, aenum, radish-bdd, mock +}: + +buildPythonPackage rec { + pname = "gremlinpython"; + version = "3.4.8"; + + # pypi tarball doesn't include tests + src = fetchFromGitHub { + owner = "apache"; + repo = "tinkerpop"; + rev = version; + sha256 = "0kcyhfxz7z4f8i64gig8q1q9dhy24cprbh63vwsdiwryg74q4chl"; + }; + sourceRoot = "source/gremlin-python/src/main/jython"; + postPatch = '' + substituteInPlace setup.py \ + --replace 'tornado>=4.4.1,<6.0' 'tornado' \ + --replace 'PyHamcrest>=1.9.0,<2.0.0' 'PyHamcrest' \ + --replace 'radish-bdd==0.8.6' 'radish-bdd' \ + --replace 'mock>=3.0.5,<4.0.0' 'mock' \ + --replace 'pytest>=4.6.4,<5.0.0' 'pytest' + ''; + + nativeBuildInputs = [ pytestrunner ]; # simply to placate requirements + propagatedBuildInputs = [ six isodate tornado aenum ]; + + checkInputs = [ pytestCheckHook pyhamcrest radish-bdd mock ]; + + # disable custom pytest report generation + preCheck = '' + substituteInPlace setup.cfg --replace 'addopts' '#addopts' + ''; + + # many tests expect a running tinkerpop server + pytestFlagsArray = [ + "--ignore=tests/driver/test_client.py" + "--ignore=tests/driver/test_driver_remote_connection.py" + "--ignore=tests/driver/test_driver_remote_connection_threaded.py" + "--ignore=tests/process/test_dsl.py" + "--ignore=tests/structure/io/test_functionalityio.py" + # disabledTests doesn't quite allow us to be precise enough for this + "-k 'not (TestFunctionalGraphSONIO and (test_timestamp or test_datetime or test_uuid))'" + ]; + + meta = with lib; { + description = "Gremlin-Python implements Gremlin, the graph traversal language of Apache TinkerPop, within the Python language"; + homepage = "https://tinkerpop.apache.org/"; + license = licenses.asl20; + maintainers = with maintainers; [ turion ris ]; + }; +} diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix index 617d255d7e5..b7e6225a717 100644 --- a/pkgs/development/tools/analysis/tflint/default.nix +++ b/pkgs/development/tools/analysis/tflint/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "tflint"; - version = "0.23.1"; + version = "0.24.0"; src = fetchFromGitHub { owner = "terraform-linters"; repo = pname; rev = "v${version}"; - sha256 = "19vgan743xsnglwva93fs4sqcbpqbyrxbgn5qff809ns8hj8ir94"; + sha256 = "18alpz29i0w44xnrpw82h16k99q01dd0gkp7ap5cqcf2cyjgzb06"; }; - vendorSha256 = "1y6ra9bkp6wl0pikvyqywhg5w18v3glnyvwqrddkkkabspl05nqx"; + vendorSha256 = "1r58nchag97fs0c7rxxxfa8y0vg9df76mmvn4hdc8vzi4h1025nd"; doCheck = false; diff --git a/pkgs/games/legendary-gl/default.nix b/pkgs/games/legendary-gl/default.nix index edf8b853c3c..eb2f3f38cea 100644 --- a/pkgs/games/legendary-gl/default.nix +++ b/pkgs/games/legendary-gl/default.nix @@ -7,23 +7,28 @@ buildPythonApplication rec { pname = "legendary-gl"; # Name in pypi - version = "0.20.1"; + version = "0.20.6"; src = fetchFromGitHub { owner = "derrod"; repo = "legendary"; rev = version; - sha256 = "0kdrhdvh9gxq1zinh5w852f5fjls9902pcrkhkhm2c0vvq7jfass"; + sha256 = "1v6jbnasz2ilcafs6qyl6na4a8cxy2lgwr0hqsja6d846rfqa8ad"; }; propagatedBuildInputs = [ requests ]; disabled = pythonOlder "3.8"; + # no tests + doCheck = false; + + pythonImportsCheck = [ "legendary" ]; + meta = with lib; { description = "A free and open-source Epic Games Launcher alternative"; homepage = "https://github.com/derrod/legendary"; license = licenses.gpl3; - maintainers = with maintainers; [ wchresta ]; + maintainers = with maintainers; [ equirosa ]; }; } diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix index 0b61a779c48..eb3f8bf19cb 100644 --- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix +++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix @@ -1,16 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64, sqlite }: -stdenv.mkDerivation { +{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64 }: +stdenv.mkDerivation rec { pname = "fts-xapian"; - version = "1.3.1"; + version = "1.4.7"; src = fetchFromGitHub { owner = "grosjo"; repo = "fts-xapian"; - rev = "1.3.1"; - sha256 = "10yl5fyfbx2ijqckx13vbmzj9mpm5pkh8qzichbdgplrzm738q43"; + rev = version; + sha256 = "K2d1FFAilIggNuP0e698s+9bN08x2s/0Jryp7pmeixc="; }; - buildInputs = [ dovecot xapian icu64 sqlite ]; + buildInputs = [ dovecot xapian icu64 ]; nativeBuildInputs = [ autoconf automake libtool pkg-config ]; diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix index 7781124259b..08af694560b 100644 --- a/pkgs/servers/miniflux/default.nix +++ b/pkgs/servers/miniflux/default.nix @@ -2,7 +2,7 @@ let pname = "miniflux"; - version = "2.0.23"; + version = "2.0.27"; in buildGoModule { inherit pname version; @@ -11,14 +11,16 @@ in buildGoModule { owner = pname; repo = pname; rev = version; - sha256 = "0v0n5lvrfn3ngs1s1m3hv95dvnqn8ysksb044m4ifk2cr3b77ryc"; + sha256 = "0sl1hxdybafzpa1bi22b8r4fxdzwynr012ga5jvwcn2rcxbdbd8z"; }; - vendorSha256 = "1iin5r9l8wb9gm0bwgdmpx0cp1q35ij4y7zf98lnj2kvb3jv5crp"; + vendorSha256 = "183whf29zq771rq0z4008gwaps1iipb0m9kp6xyizbnzafwm3zwm"; nativeBuildInputs = [ installShellFiles ]; - doCheck = true; + checkPhase = '' + go test $(go list ./... | grep -v client) + ''; # skip client tests as they require network access buildFlagsArray = '' -ldflags=-s -w -X miniflux.app/version.Version=${version} diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix index 8f4a1664467..4d6c9556501 100644 --- a/pkgs/shells/tcsh/default.nix +++ b/pkgs/shells/tcsh/default.nix @@ -9,8 +9,11 @@ stdenv.mkDerivation rec { src = fetchurl { urls = [ "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" + "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" "ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz" + "ftp://ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz" "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz" + "ftp://ftp.funet.fi/pub/unix/shells/tcsh/old/${pname}-${version}.tar.gz" ]; sha256 = "sha256-viz9ZT0qDH9QbS3RTBIyS6dJvUhAN75t9Eo5c/UiYrc="; }; diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index 5b213db6385..399d6b9ada3 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -19,11 +19,11 @@ let in pythonPackages.buildPythonApplication rec { pname = "duplicity"; - version = "0.8.15"; + version = "0.8.17"; src = fetchurl { url = "https://code.launchpad.net/duplicity/${majorMinor version}-series/${majorMinorPatch version}/+download/duplicity-${version}.tar.gz"; - sha256 = "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc"; + sha256 = "114rwkf9b3h4fcagrx013sb7krc4hafbwl9gawjph2wd9pkv2wx2"; }; patches = [ diff --git a/pkgs/tools/networking/driftnet/default.nix b/pkgs/tools/networking/driftnet/default.nix index a9f9305169c..042f29d3ca3 100644 --- a/pkgs/tools/networking/driftnet/default.nix +++ b/pkgs/tools/networking/driftnet/default.nix @@ -1,31 +1,64 @@ -{ stdenv, lib, fetchFromGitHub, libpcap, libjpeg , libungif, libpng -, giflib, glib, gtk2, cairo, pango, gdk-pixbuf, atk -, pkg-config, autoreconfHook }: +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, cairo +, giflib +, glib +, gtk2-x11 +, libjpeg +, libpcap +, libpng +, libwebsockets +, pkg-config +, libuv +, openssl +}: -with lib; - -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "driftnet"; - version = "1.1.5"; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libpcap libjpeg libungif libpng giflib - glib gtk2 glib cairo pango gdk-pixbuf atk autoreconfHook - ]; + version = "1.3.0"; src = fetchFromGitHub { owner = "deiv"; repo = "driftnet"; - rev = "0ae4a91"; - sha256 = "1sagpx0mw68ggvqd9c3crjhghqmj7391mf2cb6cjw1cpd2hcddsj"; + rev = "v${version}"; + sha256 = "0kd22aqb25kf54jjv3ml8wy8xm7lmbf0xz1wfp31m08cbzsbizib"; }; - meta = { + # https://github.com/deiv/driftnet/pull/33 + # remove on version bump from 1.3.0 + patches = [ + (fetchpatch { + name = "fix-darwin-build"; + url = "https://github.com/deiv/driftnet/pull/33/commits/bef5f3509ab5710161e9e21ea960a997eada534f.patch"; + sha256 = "1b7p9fkgp7dxv965l7q7y632s80h3nnrkaqnak2h0hakwv0i4pvm"; + }) + ]; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkg-config autoreconfHook ]; + + buildInputs = [ + cairo + giflib + glib + gtk2-x11 + libjpeg + libpcap + libpng + libwebsockets + openssl + libuv + ]; + + meta = with lib; { description = "Watches network traffic, and picks out and displays JPEG and GIF images for display"; homepage = "https://github.com/deiv/driftnet"; maintainers = with maintainers; [ offline ]; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; license = licenses.gpl2; }; } diff --git a/pkgs/tools/networking/driftnet/fix-darwin-build.patch b/pkgs/tools/networking/driftnet/fix-darwin-build.patch new file mode 100644 index 00000000000..d1bde0f2e60 --- /dev/null +++ b/pkgs/tools/networking/driftnet/fix-darwin-build.patch @@ -0,0 +1,61 @@ +diff --git a/src/compat/compat.h b/src/compat/compat.h +index 6add422..ea80406 100644 +--- a/src/compat/compat.h ++++ b/src/compat/compat.h +@@ -17,7 +17,7 @@ + #include + #endif + +-#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) || defined(__APPLE__) + #include + #endif + +diff --git a/src/network/layer2.c b/src/network/layer2.c +index 763f0ac..2497b72 100644 +--- a/src/network/layer2.c ++++ b/src/network/layer2.c +@@ -14,7 +14,7 @@ + + #include + +-#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) || defined(__APPLE__) + #include + #include + #else +@@ -29,7 +29,7 @@ + /* + * Freebsd and Cygwin doesn't define 'ethhdr' + */ +-#if defined(__FreeBSD__) || defined(__CYGWIN__) ++#if defined(__FreeBSD__) || defined(__CYGWIN__) || defined(__APPLE__) + + #define ETH_ALEN 6 /* Octets in one ethernet addr */ + #define ETH_P_IP 0x0800 /* Internet Protocol packet */ +diff --git a/src/network/layer3.c b/src/network/layer3.c +index 7864126..aae2041 100644 +--- a/src/network/layer3.c ++++ b/src/network/layer3.c +@@ -15,7 +15,7 @@ + #include + #include + +-#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) || defined(__APPLE__) + #include + #include + #include +diff --git a/src/pid.c b/src/pid.c +index 621834e..94e7dcc 100644 +--- a/src/pid.c ++++ b/src/pid.c +@@ -14,7 +14,7 @@ + + #include "compat/compat.h" + +-#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) || defined(__APPLE__) + #include + #endif + #include diff --git a/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch b/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch new file mode 100644 index 00000000000..d3caea1b26f --- /dev/null +++ b/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch @@ -0,0 +1,26 @@ +diff --color -ur a/program/nikto.pl b/program/nikto.pl +--- a/program/nikto.pl 2021-01-30 12:05:54.915072538 +0100 ++++ b/program/nikto.pl 2021-01-30 12:36:42.877729231 +0100 +@@ -223,7 +223,8 @@ + # Guess Nikto current directory + my $NIKTODIR = abs_path($0); + chomp($NIKTODIR); +- $NIKTODIR =~ s#[\\/]nikto.pl$##; ++ $NIKTODIR =~ s#[\\/]bin[\\/]\.nikto-wrapped$##; ++ + + # Guess user's home directory -- to support Windows + foreach my $var (split(/ /, "HOME USERPROFILE")) { +@@ -231,10 +232,10 @@ + } + + # Read the conf files in order (previous values are over-written with each, if multiple found) +- push(@CF,"$NIKTODIR/nikto.conf.default"); ++ push(@CF,"$NIKTODIR/etc/nikto.conf.default"); + push(@CF,"/etc/nikto.conf"); + push(@CF,"$home/nikto.conf"); +- push(@CF,"$NIKTODIR/nikto.conf"); ++ push(@CF,"$NIKTODIR/etc/nikto.conf"); + push(@CF,"nikto.conf"); + push(@CF,"$VARIABLES{'configfile'}"); + diff --git a/pkgs/tools/networking/nikto/default.nix b/pkgs/tools/networking/nikto/default.nix new file mode 100644 index 00000000000..e1abcb6c140 --- /dev/null +++ b/pkgs/tools/networking/nikto/default.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, fetchFromGitHub +, perlPackages +, makeWrapper +, installShellFiles +}: + +stdenv.mkDerivation rec { + pname = "nikto"; + version = "2.2.0"; + + src = fetchFromGitHub { + owner = "sullo"; + repo = "nikto"; + rev = "c83d0461edd75c02677dea53da2896644f35ecab"; + sha256 = "0vwq2zdxir67cn78ls11qf1smd54nppy266v7ajm5rqdc47q7fy2"; + }; + + # Nikto searches its configuration file based on its current path + # This fixes the current path regex for the wrapped executable. + patches = [ ./NIKTODIR-nix-wrapper-fix.patch ]; + + postPatch = '' + # EXECDIR needs to be changed to the path where we copy the programs stuff + # Forcing SSLeay is needed for SSL support (the auto mode doesn't seem to work otherwise) + substituteInPlace program/nikto.conf.default \ + --replace "# EXECDIR=/opt/nikto" "EXECDIR=$out/share" \ + --replace "LW_SSL_ENGINE=auto" "LW_SSL_ENGINE=SSLeay" + ''; + + nativeBuildInputs = [ makeWrapper installShellFiles ]; + + propagatedBuildInputs = [ perlPackages.NetSSLeay ]; + + buildInputs = [ + perlPackages.perl + ]; + + installPhase = '' + runHook preInstall + install -d "$out/share" + cp -a program/* "$out/share" + install -Dm 755 "program/nikto.pl" "$out/bin/nikto" + install -Dm 644 program/nikto.conf.default "$out/etc/nikto.conf" + installManPage documentation/nikto.1 + install -Dm 644 program/docs/nikto_manual.html "$out/share/doc/${pname}/manual.html" + install -Dm 644 README.md "$out/share/doc/${pname}/README" + runHook postInstall + ''; + + postInstall = '' + wrapProgram $out/bin/nikto \ + --prefix PERL5LIB : $PERL5LIB + ''; + + meta = with lib; { + description = "Web server scanner"; + license = licenses.gpl2Plus; + homepage = "https://cirt.net/Nikto2"; + maintainers = with maintainers; [ shamilton ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e096bc1e36a..5c2e5225ece 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11859,7 +11859,7 @@ in cloudcompare = libsForQt5.callPackage ../applications/graphics/cloudcompare {}; - cloudfoundry-cli = callPackage ../development/tools/cloudfoundry-cli { }; + cloudfoundry-cli = callPackage ../applications/networking/cluster/cloudfoundry-cli { }; clpm = callPackage ../development/tools/clpm {}; @@ -14026,6 +14026,11 @@ in inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; }; + gtk4 = callPackage ../development/libraries/gtk/4.x.nix { + inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; + }; + + # On darwin gtk uses cocoa by default instead of x11. gtk3-x11 = gtk3.override { cairo = cairo.override { x11Support = true; }; @@ -15838,6 +15843,8 @@ in nika-fonts = callPackage ../data/fonts/nika-fonts { }; + nikto = callPackage ../tools/networking/nikto { }; + nlohmann_json = callPackage ../development/libraries/nlohmann_json { }; nntp-proxy = callPackage ../applications/networking/nntp-proxy { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7ab44944f44..91c36a66832 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2526,6 +2526,8 @@ in { geojson-client = callPackage ../development/python-modules/geojson-client { }; + geomet = callPackage ../development/python-modules/geomet { }; + geopandas = callPackage ../development/python-modules/geopandas { }; geopy = if isPy3k then @@ -2793,6 +2795,8 @@ in { grequests = callPackage ../development/python-modules/grequests { }; + gremlinpython = callPackage ../development/python-modules/gremlinpython { }; + grib-api = disabledIf (!isPy27) (toPythonModule (pkgs.grib-api.override { enablePython = true; pythonPackages = self;