diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 029501c7787a..091498fae003 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -25,6 +25,12 @@ in mkDerivation { url = "https://github.com/sddm/sddm/commit/e1dedeeab6de565e043f26ac16033e613c222ef9.patch"; sha256 = "sha256-OPyrUI3bbH+PGDBfoL4Ohb4wIvmy9TeYZhE0JxR/D58="; }) + # Fix build with Qt 5.15.3 + # See: https://github.com/sddm/sddm/pull/1325 + (fetchpatch { + url = "https://github.com/sddm/sddm/commit/e93bf95c54ad8c2a1604f8d7be05339164b19308.patch"; + sha256 = "sha256:1rh6sdvzivjcl5b05fczarvxhgpjhi7019hvf2gadnwgwdg104r4"; + }) ]; postPatch = diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index a1d5be70c012..183311c5f18a 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -2,15 +2,8 @@ # Updates -Before a major version update, make a copy of this directory. (We like to -keep the old version around for a short time after major updates.) Add a -top-level attribute to `top-level/all-packages.nix`. - -1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`. -2. From the top of the Nixpkgs tree, run - `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/$VERSION`. -3. Check that the new packages build correctly. -4. Commit the changes and open a pull request. +Run `./fetch.sh` to update package sources from Git. +Check for any minor version changes. */ @@ -28,58 +21,12 @@ top-level attribute to `top-level/all-packages.nix`. let + srcs = import ./srcs.nix { inherit lib fetchgit fetchFromGitHub; }; + qtCompatVersion = srcs.qtbase.version; stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; - mirror = "https://download.qt.io"; - srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // { - # qtwebkit does not have an official release tarball on the qt mirror and is - # mostly maintained by the community. - qtwebkit = rec { - src = fetchFromGitHub { - owner = "qt"; - repo = "qtwebkit"; - rev = "v${version}"; - sha256 = "0x8rng96h19xirn7qkz3lydal6v4vn00bcl0s3brz36dfs0z8wpg"; - }; - version = "5.212.0-alpha4"; - }; - qtwebengine = - let - branchName = "5.15.6"; - rev = "v${branchName}-lts"; - in - { - version = "${branchName}-${lib.substring 0 7 rev}"; - - src = fetchgit { - url = "https://github.com/qt/qtwebengine.git"; - sha256 = "17bw9yf04zmr9ck5jkrd435c8b03zpf937vn2nwgsr8p78wkg3kr"; - inherit rev branchName; - fetchSubmodules = true; - leaveDotGit = true; - name = "qtwebengine-${lib.substring 0 7 rev}.tar.gz"; - postFetch = '' - # remove submodule .git directory - rm -rf "$out/src/3rdparty/.git" - - # compress to not exceed the 2GB output limit - # try to make a deterministic tarball - tar -I 'gzip -n' \ - --sort=name \ - --mtime=1970-01-01 \ - --owner=root --group=root \ - --numeric-owner --mode=go=rX,u+rw,a-s \ - --transform='s@^@source/@' \ - -cf temp -C "$out" . - rm -r "$out" - mv temp "$out" - ''; - }; - }; - }; - patches = { qtbase = lib.optionals stdenv.isDarwin [ ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch @@ -107,16 +54,6 @@ let ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch ./qtbase.patch.d/0010-qtbase-assert.patch ./qtbase.patch.d/0011-fix-header_module.patch - (fetchpatch { # This can be removed when https://codereview.qt-project.org/c/qt/qtbase/+/339323 is included in an release. - name = "0014-gcc11-compat.patch"; - url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=049e14870c13235cd066758f29c42dc96c1ccdf8"; - sha256 = "1cb2hwi859hds0fa2cbap014qaa7mah9p0rcxcm2cvj2ybl33qfc"; - }) - (fetchpatch { # This can be removed when https://codereview.qt-project.org/c/qt/qtbase/+/363880/3 is included in an release. - name = "qtbase-mysql-version-vs-functionality-check.patch"; - url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=211369133cf40b2f522caaff259c19069ed23ca4"; - sha256 = "19kq9h10qm344fpdqa9basrbzh1y5kr48c6jzz3nvk61pk4ja1k4"; - }) ]; qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; diff --git a/pkgs/development/libraries/qt-5/5.15/fetch.sh b/pkgs/development/libraries/qt-5/5.15/fetch.sh old mode 100644 new mode 100755 index 81ceb3ef77ea..dcada3649078 --- a/pkgs/development/libraries/qt-5/5.15/fetch.sh +++ b/pkgs/development/libraries/qt-5/5.15/fetch.sh @@ -1,2 +1,17 @@ -WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/ \ - -A '*.tar.xz' ) +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix-prefetch-scripts jq + +set -eox pipefail + +here="$(dirname "${BASH_SOURCE[0]}")" +modules="${here}/modules" +srcs="${here}/srcs-generated.json" + +while read -r module; do + if [[ -z "$module" ]]; then continue; fi + url="https://invent.kde.org/qt/qt/${module}.git" + nix-prefetch-git --url $url --rev refs/heads/kde/5.15 \ + | jq "{key: \"${module}\", value: {url,rev,sha256}}" +done < "$modules" | jq -s 'from_entries' > "${srcs}.tmp" + +mv "${srcs}.tmp" "$srcs" diff --git a/pkgs/development/libraries/qt-5/5.15/modules b/pkgs/development/libraries/qt-5/5.15/modules new file mode 100644 index 000000000000..d6ce8822d541 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.15/modules @@ -0,0 +1,41 @@ +qt3d +qtactiveqt +qtandroidextras +qtbase +qtcharts +qtconnectivity +qtdatavis3d +qtdeclarative +qtdoc +qtgamepad +qtgraphicaleffects +qtimageformats +qtlocation +qtlottie +qtmacextras +qtmultimedia +qtnetworkauth +qtpurchasing +qtquick3d +qtquickcontrols +qtquickcontrols2 +qtquicktimeline +qtremoteobjects +qtscript +qtscxml +qtsensors +qtserialbus +qtserialport +qtspeech +qtsvg +qttools +qttranslations +qtvirtualkeyboard +qtwayland +qtwebchannel +qtwebglplugin +qtwebsockets +qtwebview +qtwinextras +qtx11extras +qtxmlpatterns diff --git a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json new file mode 100644 index 000000000000..76c4237dcaf7 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json @@ -0,0 +1,207 @@ +{ + "qt3d": { + "url": "https://invent.kde.org/qt/qt/qt3d.git", + "rev": "7edec6e014de27b9dd03f63875c471aac606a918", + "sha256": "0qv4vhciigqd8bnqzrs7y71ls7jx1p9cal2rh78m42qgskk1ci59" + }, + "qtactiveqt": { + "url": "https://invent.kde.org/qt/qt/qtactiveqt.git", + "rev": "f0d03da0e37a84029a4eae1733813521482ac1fb", + "sha256": "0llk76lf0mh4mzj7pwd8cs55wpmfq8v1bsdzvizb1sx0vfbjh8g6" + }, + "qtandroidextras": { + "url": "https://invent.kde.org/qt/qt/qtandroidextras.git", + "rev": "8cce1098c59534352aa0f343ea73861f603ac04a", + "sha256": "130a1yda2m7pa10as3rccz84m3617422n6s51pdn4kp8p8rk7cs6" + }, + "qtbase": { + "url": "https://invent.kde.org/qt/qt/qtbase.git", + "rev": "c9fde86b0a2440133bc08f4811b6ca793be47f0a", + "sha256": "1fqhdkv3sp3nbzqi2a5wvxn5d4v0xcrq2bl609bdyj4nx367a8wp" + }, + "qtcharts": { + "url": "https://invent.kde.org/qt/qt/qtcharts.git", + "rev": "130463160b4923069eb98da49edaf7d93180f4f8", + "sha256": "19g35cddbfh307mk76wac1ps03warynlsj7xi8i596bxiaf7i4pw" + }, + "qtconnectivity": { + "url": "https://invent.kde.org/qt/qt/qtconnectivity.git", + "rev": "69a87a9b831e36a578594a0a13130c384ad03121", + "sha256": "0ph07rdf9qfxnw3z2nqbmh6na65z0p2snmlzdw80amd7s0g255kw" + }, + "qtdatavis3d": { + "url": "https://invent.kde.org/qt/qt/qtdatavis3d.git", + "rev": "c085311c02dd216e5a041b90c164d55b3cf3ce92", + "sha256": "0xya1m2csb42yisl90s9822p9q92n7ags909nlbapfsb49qwsqnj" + }, + "qtdeclarative": { + "url": "https://invent.kde.org/qt/qt/qtdeclarative.git", + "rev": "55324650f9e759a43dce927f823c9858574106c3", + "sha256": "0cxz4pqvb8l0wqpc4hr0xmc72csqf7dpbbzdqgil9nyyg21ihkz0" + }, + "qtdoc": { + "url": "https://invent.kde.org/qt/qt/qtdoc.git", + "rev": "897e90fe304d844beaf694b82a93a50237fa8b9e", + "sha256": "1c4m9vlgg6bfw7hwzanl5s4vslg0r7xiz50lanhqrlcrr9i36xs1" + }, + "qtgamepad": { + "url": "https://invent.kde.org/qt/qt/qtgamepad.git", + "rev": "64afa18a0a1e9588060e2e6d917bb01ccdd48a81", + "sha256": "1h9yb0asprynnb2qyjbmyglrkk9f9v19g6zzpk0gmixrp0h8gk46" + }, + "qtgraphicaleffects": { + "url": "https://invent.kde.org/qt/qt/qtgraphicaleffects.git", + "rev": "c36998dc1581167b12cc3de8e4ac68c2a5d9f76e", + "sha256": "0x11n2fym765z3gyb4xnfl7v6zrip1wjkkl6nx1bxaya173fvdw8" + }, + "qtimageformats": { + "url": "https://invent.kde.org/qt/qt/qtimageformats.git", + "rev": "cb82c74310837fe4e832c8ab72176a5d63e4355f", + "sha256": "0j4cv5sa6mm3adcjw8cv6kbzrslmhjc1rgxqgc130l8vm3vmgbkr" + }, + "qtlocation": { + "url": "https://invent.kde.org/qt/qt/qtlocation.git", + "rev": "861e372b6ad81570d4f496e42fb25a6699b72f2f", + "sha256": "1g24pg9v6sv5zf80r48innp3h4g0hss69hnr7ygfzfvfnmmn6g52" + }, + "qtlottie": { + "url": "https://invent.kde.org/qt/qt/qtlottie.git", + "rev": "fa8c8bfc6742ab98b61d1351e054e0e73e9a42f4", + "sha256": "1xgykaw8qjnaip6h9jx0nfadc9amb6aclk758vm5pp43dvs5j96r" + }, + "qtmacextras": { + "url": "https://invent.kde.org/qt/qt/qtmacextras.git", + "rev": "e72896968697e2a8af16a312e1560948e4c40f30", + "sha256": "1hndpbr1nnybn7frg76q99bk1c8fhvra6wjm0q78p4a8pinrvcms" + }, + "qtmultimedia": { + "url": "https://invent.kde.org/qt/qt/qtmultimedia.git", + "rev": "bd29c87027637a013f2c5e3b549fcda84e4d7545", + "sha256": "11pz9zzrhsr3n78ga7l3kp3gi20rpxsa4iz3wclhcbcm2xr3nd94" + }, + "qtnetworkauth": { + "url": "https://invent.kde.org/qt/qt/qtnetworkauth.git", + "rev": "53870ee9bb9117702cd1f11cb1c5d1cfc2d5394a", + "sha256": "0idaysqpwrghih7ijrm9hagj9jw3fy9nw539fr4d9rmcggnkkzn2" + }, + "qtpurchasing": { + "url": "https://invent.kde.org/qt/qt/qtpurchasing.git", + "rev": "cbf444fb570ca4f4ca21d963d2ae4010f10d473e", + "sha256": "1cki7n62wqm3xxn36mka0y67ngn7jvjkrvr08vsassbjb7kfsmxp" + }, + "qtquick3d": { + "url": "https://invent.kde.org/qt/qt/qtquick3d.git", + "rev": "3e3e53c834b25dc2959dd30f319d12d6f84ee1e3", + "sha256": "1b1khfg26zl3p28yvhwjfldqy3flh10pb5hm5z0av03rz7jy7l8s" + }, + "qtquickcontrols": { + "url": "https://invent.kde.org/qt/qt/qtquickcontrols.git", + "rev": "cf3f6d7fec824cdf01f9b329ab3b92b1c0e0a420", + "sha256": "1vxp0kwigwhqyyfm0xg8llyd1l1f4l18hmk6xqkm57xpi15x55bc" + }, + "qtquickcontrols2": { + "url": "https://invent.kde.org/qt/qt/qtquickcontrols2.git", + "rev": "be66bf9a5618c745d2a6ee2262967af6307b3b07", + "sha256": "11h3f3rb2kqgsw7njzhjwazw1k03v12i83irjndylafiaqw6c6ks" + }, + "qtquicktimeline": { + "url": "https://invent.kde.org/qt/qt/qtquicktimeline.git", + "rev": "67503cdadea43b95ddad0de1a04951aff0ce1a07", + "sha256": "0h4b3ibcf6rsmqmcfbwbk9pbvw3b9cac8nx2538aqvnpyyp1vhid" + }, + "qtremoteobjects": { + "url": "https://invent.kde.org/qt/qt/qtremoteobjects.git", + "rev": "4d6d1e35fb8e0cb900b5e5e9266edea51dc4f735", + "sha256": "1zbxl5jk7x8qklrnbbaikymyviigqdq7vf0wc8gzls4126vcx146" + }, + "qtscript": { + "url": "https://invent.kde.org/qt/qt/qtscript.git", + "rev": "5cec94b2c1503f106f4ef4778d016410ebb86211", + "sha256": "1xdri98cw7m78k9kfb53cgh8wyz98q3i623jhhcv01rvy1zsf8m1" + }, + "qtscxml": { + "url": "https://invent.kde.org/qt/qt/qtscxml.git", + "rev": "7a15000f42c7a3171719727cd056f82a78244ed7", + "sha256": "1i2ajsj9pb1s4lk4djj1h1ay9mkz1z3m75a747cspyc1p1iymipq" + }, + "qtsensors": { + "url": "https://invent.kde.org/qt/qt/qtsensors.git", + "rev": "921a31375f29e429e95352b08b2b9dbfea663cb1", + "sha256": "1ijayk6lf34nwv7s3ib3cfqx9sjrmr1c6jnziwmxa1l6fy3ik4g8" + }, + "qtserialbus": { + "url": "https://invent.kde.org/qt/qt/qtserialbus.git", + "rev": "8884c5e43df846deac5a0c7c290eeb633d6bfe32", + "sha256": "1ydb5x21j26pl58mr6klnwixkqx8h119nvnzvyawz83gji3ay3a5" + }, + "qtserialport": { + "url": "https://invent.kde.org/qt/qt/qtserialport.git", + "rev": "941d1d8560d1f3e40077c251fbde6fd6a5b0f0d4", + "sha256": "0x7ly67gddmz0hqls9109bk4rgaa97ksyv24qk4brrhzkpr7q9cx" + }, + "qtspeech": { + "url": "https://invent.kde.org/qt/qt/qtspeech.git", + "rev": "a0efc38377e5bf7eed2d354d1cb4d7a0d5dc7e1b", + "sha256": "1ljf45f65pfp8x367qnzl0ssz7n17cxhk29qvqpz9z7rh65zqix5" + }, + "qtsvg": { + "url": "https://invent.kde.org/qt/qt/qtsvg.git", + "rev": "24128cdf8bef53eddf31a5709bbbc46293006b1c", + "sha256": "0vinjcbq4saxhlmvb5i93bzgg30qc3j8r2qfwrzaxc4vmfhfgi56" + }, + "qttools": { + "url": "https://invent.kde.org/qt/qt/qttools.git", + "rev": "33693a928986006d79c1ee743733cde5966ac402", + "sha256": "02n0lppsp6g4s9bdvnfxpf7ndkbs9bzm0clcwvirwf2cd8q95a4n" + }, + "qttranslations": { + "url": "https://invent.kde.org/qt/qt/qttranslations.git", + "rev": "8fbbdf21f127197f97b58c7d80d2fa2a59135638", + "sha256": "06r2jb2fsdr5fvxs748war0lr4mm3l3d3b37xc4n73y294vwrmn7" + }, + "qtvirtualkeyboard": { + "url": "https://invent.kde.org/qt/qt/qtvirtualkeyboard.git", + "rev": "353b75b2e34bdae901625bbddf5c5e3f3e6c0de5", + "sha256": "12nv773zc05yrbai1z6i481yinih0kxcjzgm9pa0580qz69gd9a5" + }, + "qtwayland": { + "url": "https://invent.kde.org/qt/qt/qtwayland.git", + "rev": "992833ca741efe8f533c61abfaf129a1d8bfcfee", + "sha256": "1w8mq38k6s0fncqv113bw1pc7g10ysfmsbyg23hxh9fr5q4ia4q7" + }, + "qtwebchannel": { + "url": "https://invent.kde.org/qt/qt/qtwebchannel.git", + "rev": "47be9a51b01d9fd9e7f6dca81e98d4eedcec6d38", + "sha256": "167rp43c86xr4grzxs4bl46y6sf1q9xa0641mgp4r94g2ipxyc1d" + }, + "qtwebglplugin": { + "url": "https://invent.kde.org/qt/qt/qtwebglplugin.git", + "rev": "550a8cee241bbf8c11863dec9587d579dcb1108b", + "sha256": "0p1y0b8zsm7rrkhhylndp282ghgki2cjrgc4n5zhjn732ahxg515" + }, + "qtwebsockets": { + "url": "https://invent.kde.org/qt/qt/qtwebsockets.git", + "rev": "e7883bc64440b1ff4666272ac6eb710ee4bc221b", + "sha256": "1rj99y1f0wn6g1m2k53xkni5v79zgq25yv8b9wx2bz0n2r9iasca" + }, + "qtwebview": { + "url": "https://invent.kde.org/qt/qt/qtwebview.git", + "rev": "920de5f1cd9f9001cfef1bfd2c19e6720793362f", + "sha256": "04hnqalabhypkd2hgl45jxf9p1p6dgjwlc5b7gs4f6588lafgd3f" + }, + "qtwinextras": { + "url": "https://invent.kde.org/qt/qt/qtwinextras.git", + "rev": "3df03dab21f3e84d5a7274c64dd879854ca1bfe7", + "sha256": "12dkw982xcm7hxw3lxhg34wny4srbickxm9s3nz7bdyp9dmqnygx" + }, + "qtx11extras": { + "url": "https://invent.kde.org/qt/qt/qtx11extras.git", + "rev": "3898f5484fd4864b047729bfeda9a1222f32364f", + "sha256": "04rp8arml19b03iybd7sa78dsdv7386m9ymmgqciwl13dhwjssra" + }, + "qtxmlpatterns": { + "url": "https://invent.kde.org/qt/qt/qtxmlpatterns.git", + "rev": "189e28d0aff1f3d7960228ba318b83e3cadac98c", + "sha256": "0vs9j2i1dnlivcrzz175zz66ql1m8mrdqkglvyqjqv6cb7mpskrq" + } +} diff --git a/pkgs/development/libraries/qt-5/5.15/srcs.nix b/pkgs/development/libraries/qt-5/5.15/srcs.nix index 70e9c3a80225..e254912b6009 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs.nix +++ b/pkgs/development/libraries/qt-5/5.15/srcs.nix @@ -1,342 +1,72 @@ -# DO NOT EDIT! This file is generated automatically. -# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/5.15 -{ fetchurl, mirror }: +{ lib, fetchgit, fetchFromGitHub }: -{ - qt3d = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qt3d-everywhere-src-5.15.2.tar.xz"; - sha256 = "03ed6a48c813c75296c19f5d721184ab168280b69d2656cf16f877d3d4c55c1d"; - name = "qt3d-everywhere-src-5.15.2.tar.xz"; - }; +let + version = "5.15.3"; + overrides = { + qtscript.version = "5.15.4"; }; - qtactiveqt = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtactiveqt-everywhere-src-5.15.2.tar.xz"; - sha256 = "868161fee0876d17079cd5bed58d1667bf19ffd0018cbe515129f11510ad2a5c"; - name = "qtactiveqt-everywhere-src-5.15.2.tar.xz"; + + mk = name: args: + let + override = overrides.${name} or {}; + in + { + version = override.version or version; + src = override.src or + fetchgit { + inherit (args) url rev sha256; + fetchLFS = false; + fetchSubmodules = false; + deepClone = false; + leaveDotGit = false; + }; }; - }; - qtandroidextras = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtandroidextras-everywhere-src-5.15.2.tar.xz"; - sha256 = "5813278690d89a9c232eccf697fc280034de6f9f02a7c40d95ad5fcf8ac8dabd"; - name = "qtandroidextras-everywhere-src-5.15.2.tar.xz"; +in +lib.mapAttrs mk (lib.importJSON ./srcs-generated.json) +// { + # qtwebkit does not have an official release tarball on the qt mirror and is + # mostly maintained by the community. + qtwebkit = rec { + src = fetchFromGitHub { + owner = "qt"; + repo = "qtwebkit"; + rev = "v${version}"; + sha256 = "0x8rng96h19xirn7qkz3lydal6v4vn00bcl0s3brz36dfs0z8wpg"; }; + version = "5.212.0-alpha4"; }; - qtbase = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtbase-everywhere-src-5.15.2.tar.xz"; - sha256 = "909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8"; - name = "qtbase-everywhere-src-5.15.2.tar.xz"; + + qtwebengine = + let + branchName = "5.15.6"; + rev = "v${branchName}-lts"; + in + { + version = "${branchName}-${lib.substring 0 7 rev}"; + + src = fetchgit { + url = "https://github.com/qt/qtwebengine.git"; + sha256 = "17bw9yf04zmr9ck5jkrd435c8b03zpf937vn2nwgsr8p78wkg3kr"; + inherit rev branchName; + fetchSubmodules = true; + leaveDotGit = true; + name = "qtwebengine-${lib.substring 0 7 rev}.tar.gz"; + postFetch = '' + # remove submodule .git directory + rm -rf "$out/src/3rdparty/.git" + + # compress to not exceed the 2GB output limit + # try to make a deterministic tarball + tar -I 'gzip -n' \ + --sort=name \ + --mtime=1970-01-01 \ + --owner=root --group=root \ + --numeric-owner --mode=go=rX,u+rw,a-s \ + --transform='s@^@source/@' \ + -cf temp -C "$out" . + rm -r "$out" + mv temp "$out" + ''; + }; }; - }; - qtcharts = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtcharts-everywhere-src-5.15.2.tar.xz"; - sha256 = "e0750e4195bd8a8b9758ab4d98d437edbe273cd3d289dd6a8f325df6d13f3d11"; - name = "qtcharts-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtconnectivity = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtconnectivity-everywhere-src-5.15.2.tar.xz"; - sha256 = "0380327871f76103e5b8c2a305988d76d352b6a982b3e7b3bc3cdc184c64bfa0"; - name = "qtconnectivity-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtdatavis3d = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtdatavis3d-everywhere-src-5.15.2.tar.xz"; - sha256 = "226a6575d573ad78aca459709722c496c23aee526aa0c38eb7c93b0bea1eb6fd"; - name = "qtdatavis3d-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtdeclarative = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtdeclarative-everywhere-src-5.15.2.tar.xz"; - sha256 = "c600d09716940f75d684f61c5bdaced797f623a86db1627da599027f6c635651"; - name = "qtdeclarative-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtdoc = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtdoc-everywhere-src-5.15.2.tar.xz"; - sha256 = "a47809f00f1bd690ca4e699cb32ffe7717d43da84e0167d1f562210da7714ce4"; - name = "qtdoc-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtgamepad = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtgamepad-everywhere-src-5.15.2.tar.xz"; - sha256 = "c77611f7898326d69176ad67a9b886f617cdedc368ec29f223d63537d25b075c"; - name = "qtgamepad-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtgraphicaleffects = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtgraphicaleffects-everywhere-src-5.15.2.tar.xz"; - sha256 = "ec8d67f64967d5046410490b549c576f9b9e8b47ec68594ae84aa8870173dfe4"; - name = "qtgraphicaleffects-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtimageformats = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtimageformats-everywhere-src-5.15.2.tar.xz"; - sha256 = "bf8285c7ce04284527ab823ddc7cf48a1bb79131db3a7127342167f4814253d7"; - name = "qtimageformats-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtlocation = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtlocation-everywhere-src-5.15.2.tar.xz"; - sha256 = "984fcb09e108df49a8dac35d5ce6dffc49caafd2acb1c2f8a5173a6a21f392a0"; - name = "qtlocation-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtlottie = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtlottie-everywhere-src-5.15.2.tar.xz"; - sha256 = "cec6095ab8f714e609d2ad3ea8c4fd819461ce8793adc42abe37d0f6dc432517"; - name = "qtlottie-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtmacextras = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtmacextras-everywhere-src-5.15.2.tar.xz"; - sha256 = "6959b0f2cec71cd66800f36cab797430860e55fa33c9c23698d6a08fc2b8776e"; - name = "qtmacextras-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtmultimedia = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtmultimedia-everywhere-src-5.15.2.tar.xz"; - sha256 = "0c3758810e5131aabcf76e4965e4c18b8911af54d9edd9305d2a8278d8346df5"; - name = "qtmultimedia-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtnetworkauth = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtnetworkauth-everywhere-src-5.15.2.tar.xz"; - sha256 = "fcc2ec42faa68561efa8f00cd72e662fbc06563ebc6de1dc42d96bb2997acd85"; - name = "qtnetworkauth-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtpurchasing = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtpurchasing-everywhere-src-5.15.2.tar.xz"; - sha256 = "87120d319ff2f8106e78971f7296d72a66dfe91e763d213199aea55046e93227"; - name = "qtpurchasing-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtquick3d = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtquick3d-everywhere-src-5.15.2.tar.xz"; - sha256 = "5b0546323365ce34e4716f22f305ebb4902e222c1a0910b65ee448443c2f94bb"; - name = "qtquick3d-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtquickcontrols = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtquickcontrols-everywhere-src-5.15.2.tar.xz"; - sha256 = "c393fb7384b1f047f10e91a6832cf3e6a4c2a41408b8cb2d05af2283e8549fb5"; - name = "qtquickcontrols-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtquickcontrols2 = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtquickcontrols2-everywhere-src-5.15.2.tar.xz"; - sha256 = "671b6ce5f4b8ecc94db622d5d5fb29ef4ff92819be08e5ea55bfcab579de8919"; - name = "qtquickcontrols2-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtquicktimeline = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtquicktimeline-everywhere-src-5.15.2.tar.xz"; - sha256 = "b9c247227607437acec7c7dd18ad46179d20369c9d22bdb1e9fc128dfb832a28"; - name = "qtquicktimeline-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtremoteobjects = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtremoteobjects-everywhere-src-5.15.2.tar.xz"; - sha256 = "6781b6bc90888254ea77ce812736dac00c67fa4eeb3095f5cd65e4b9c15dcfc2"; - name = "qtremoteobjects-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtscript = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtscript-everywhere-src-5.15.2.tar.xz"; - sha256 = "a299715369afbd1caa4d7fa2875d442eab91adcaacafce54a36922442624673e"; - name = "qtscript-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtscxml = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtscxml-everywhere-src-5.15.2.tar.xz"; - sha256 = "60b9590b9a41c60cee7b8a8c8410ee4625f0389c1ff8d79883ec5a985638a7dc"; - name = "qtscxml-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtsensors = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtsensors-everywhere-src-5.15.2.tar.xz"; - sha256 = "3f0011f9e9942cad119146b54d960438f4568a22a274cdad4fae06bb4e0e4839"; - name = "qtsensors-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtserialbus = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtserialbus-everywhere-src-5.15.2.tar.xz"; - sha256 = "aeeb7e5c0d3f8503215b22e1a84c0002ca67cf63862f6e3c6ef44a67ca31bd88"; - name = "qtserialbus-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtserialport = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtserialport-everywhere-src-5.15.2.tar.xz"; - sha256 = "59c559d748417306bc1b2cf2315c1e63eed011ace38ad92946af71f23e2ef79d"; - name = "qtserialport-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtspeech = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtspeech-everywhere-src-5.15.2.tar.xz"; - sha256 = "c810fb9eecb08026434422a32e79269627f3bc2941be199e86ec410bdfe883f5"; - name = "qtspeech-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtsvg = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtsvg-everywhere-src-5.15.2.tar.xz"; - sha256 = "8bc3c2c1bc2671e9c67d4205589a8309b57903721ad14c60ea21a5d06acb585e"; - name = "qtsvg-everywhere-src-5.15.2.tar.xz"; - }; - }; - qttools = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qttools-everywhere-src-5.15.2.tar.xz"; - sha256 = "c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc"; - name = "qttools-everywhere-src-5.15.2.tar.xz"; - }; - }; - qttranslations = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qttranslations-everywhere-src-5.15.2.tar.xz"; - sha256 = "d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8"; - name = "qttranslations-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtvirtualkeyboard = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz"; - sha256 = "9a3193913be30f09a896e3b8c2f9696d2e9b3f88a63ae9ca8c97a2786b68cf55"; - name = "qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtwayland = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwayland-everywhere-src-5.15.2.tar.xz"; - sha256 = "193732229ff816f3aaab9a5e2f6bed71ddddbf1988ce003fe8dd84a92ce9aeb5"; - name = "qtwayland-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtwebchannel = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebchannel-everywhere-src-5.15.2.tar.xz"; - sha256 = "127fe79c43b386713f151ed7d411cd81e45e29f9c955584f29736f78c9303ec1"; - name = "qtwebchannel-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtwebengine = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebengine-everywhere-src-5.15.2.tar.xz"; - sha256 = "c8afca0e43d84f7bd595436fbe4d13a5bbdb81ec5104d605085d07545b6f91e0"; - name = "qtwebengine-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtwebglplugin = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebglplugin-everywhere-src-5.15.2.tar.xz"; - sha256 = "81e782b517ed29e10bea1aa90c9f59274c98a910f2c8b105fa78368a36b41446"; - name = "qtwebglplugin-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtwebsockets = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebsockets-everywhere-src-5.15.2.tar.xz"; - sha256 = "a0b42d85dd34ff6e2d23400e02f83d8b85bcd80e60efd1521d12d9625d4a233f"; - name = "qtwebsockets-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtwebview = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwebview-everywhere-src-5.15.2.tar.xz"; - sha256 = "be9f46167e4977ead5ef5ecf883fdb812a4120f2436383583792f65557e481e7"; - name = "qtwebview-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtwinextras = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtwinextras-everywhere-src-5.15.2.tar.xz"; - sha256 = "65b8272005dec00791ab7d81ab266d1e3313a3bbd8e54e546d984cf4c4ab550e"; - name = "qtwinextras-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtx11extras = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtx11extras-everywhere-src-5.15.2.tar.xz"; - sha256 = "7014702ee9a644a5a93da70848ac47c18851d4f8ed622b29a72eed9282fc6e3e"; - name = "qtx11extras-everywhere-src-5.15.2.tar.xz"; - }; - }; - qtxmlpatterns = { - version = "5.15.2"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.15/5.15.2/submodules/qtxmlpatterns-everywhere-src-5.15.2.tar.xz"; - sha256 = "76ea2162a7c349188d7e7e4f6c77b78e8a205494c90fee3cea3487a1ae2cf2fa"; - name = "qtxmlpatterns-everywhere-src-5.15.2.tar.xz"; - }; - }; } diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 0d82acc70929..44f08699824f 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -115,6 +115,8 @@ stdenv.mkDerivation { sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5CoreMacros.cmake sed -i 's/NO_DEFAULT_PATH//' src/gui/Qt5GuiConfigExtras.cmake.in sed -i '/PATHS.*NO_DEFAULT_PATH/ d' mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in + '' + lib.optionalString (compareVersion "5.15.0" >= 0) '' + patchShebangs ./bin '' + ( if stdenv.isDarwin then '' sed -i \ @@ -149,6 +151,8 @@ stdenv.mkDerivation { ''} NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\"" + '' + lib.optionalString (compareVersion "5.15.0" >= 0) '' + ./bin/syncqt.pl -version $version ''; postConfigure = '' diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix index 767cbc91142d..12a9a85c7b79 100644 --- a/pkgs/development/libraries/qt-5/qtModule.nix +++ b/pkgs/development/libraries/qt-5/qtModule.nix @@ -31,6 +31,23 @@ mkDerivation (args // { ${args.preConfigure or ""} fixQtBuiltinPaths . '*.pr?' + '' + lib.optionalString (builtins.compareVersions "5.15.0" version <= 0) + # Note: We use ${version%%-*} to remove any tag from the end of the version + # string. Version tags are added by Nixpkgs maintainers and not reflected in + # the source version. + '' + if [[ -z "$dontCheckQtModuleVersion" ]] \ + && grep -q '^MODULE_VERSION' .qmake.conf 2>/dev/null \ + && ! grep -q -F "''${version%%-*}" .qmake.conf 2>/dev/null + then + echo >&2 "error: could not find version ''${version%%-*} in .qmake.conf" + echo >&2 "hint: check .qmake.conf and update the package version in Nixpkgs" + exit 1 + fi + + if [[ -z "$dontSyncQt" && -f sync.profile ]]; then + syncqt.pl -version "''${version%%-*}" + fi ''; dontWrapQtApps = args.dontWrapQtApps or true;