diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-12-06 19:57:55 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-02-08 13:48:30 +0000 |
commit | bf3aadfdd39aa197e18bade671fab6726349ffa4 (patch) | |
tree | 698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/development/libraries/qt-6 | |
parent | f4afc5a01d9539ce09e47494e679c51f80723d07 (diff) | |
parent | 99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff) | |
download | nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2 nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip |
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/qt-6')
38 files changed, 1475 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/qt-6/cmake.patch b/nixpkgs/pkgs/development/libraries/qt-6/cmake.patch new file mode 100644 index 000000000000..1fb2ea26c35d --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/cmake.patch @@ -0,0 +1,129 @@ +commit 4f497c358e0386b65df1c1d636aadf72f8647134 +Author: Nick Cao <nickcao@nichi.co> +Date: Tue Apr 19 13:49:59 2022 +0800 + + patch cmake file generation for nixpkgs packaging + + As of qt 6.3.0, installing components into different prefixes is not + supported. To workaround that, we move files to their designated in the + postInstall hook. However the generated cmake files still have + references to the original prefix, and would cause issues when using + said components as the dependency of other packages. The purpose of this + patch is to closely match the output layout of qt, and rewrite the + generated cmake files to point to the corrected pathes. + +diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx +index 8b0f64e23b..03291e2ee2 100644 +--- a/Source/cmExportFileGenerator.cxx ++++ b/Source/cmExportFileGenerator.cxx +@@ -6,6 +6,7 @@ + #include <cstring> + #include <sstream> + #include <utility> ++#include <cstdlib> + + #include <cm/memory> + +@@ -325,9 +326,23 @@ static void prefixItems(std::string& exportDirs) + for (std::string const& e : entries) { + exportDirs += sep; + sep = ";"; +- if (!cmSystemTools::FileIsFullPath(e) && +- e.find("${_IMPORT_PREFIX}") == std::string::npos) { +- exportDirs += "${_IMPORT_PREFIX}/"; ++ if (!cmSystemTools::FileIsFullPath(e)) { ++ if (std::getenv("dev")) { ++ if (cmHasLiteralPrefix(e, "include") || cmHasLiteralPrefix(e, "./include")) { ++ exportDirs += std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(e, "bin") || cmHasLiteralPrefix(e, "./bin")) { ++ exportDirs += std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(e, "mkspecs") || cmHasLiteralPrefix(e, "./mkspecs")) { ++ exportDirs += std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(e, "libexec") || cmHasLiteralPrefix(e, "./libexec")) { ++ exportDirs += std::getenv("dev"); ++ } else { ++ exportDirs += std::getenv("out"); ++ } ++ } else { ++ exportDirs += std::getenv("out"); ++ } ++ exportDirs += "/"; + } + exportDirs += e; + } +diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx +index 4a3c565bce..5afa9e5e50 100644 +--- a/Source/cmExportInstallFileGenerator.cxx ++++ b/Source/cmExportInstallFileGenerator.cxx +@@ -5,6 +5,7 @@ + #include <memory> + #include <sstream> + #include <utility> ++#include <cstdlib> + + #include "cmExportSet.h" + #include "cmGeneratedFileStream.h" +@@ -263,7 +264,7 @@ void cmExportInstallFileGenerator::LoadConfigFiles(std::ostream& os) + + void cmExportInstallFileGenerator::ReplaceInstallPrefix(std::string& input) + { +- cmGeneratorExpression::ReplaceInstallPrefix(input, "${_IMPORT_PREFIX}"); ++ cmGeneratorExpression::ReplaceInstallPrefix(input, std::getenv("out")); + } + + bool cmExportInstallFileGenerator::GenerateImportFileConfig( +@@ -381,9 +382,24 @@ void cmExportInstallFileGenerator::SetImportLocationProperty( + // Construct the installed location of the target. + std::string dest = itgen->GetDestination(config); + std::string value; ++ + if (!cmSystemTools::FileIsFullPath(dest)) { +- // The target is installed relative to the installation prefix. +- value = "${_IMPORT_PREFIX}/"; ++ if (std::getenv("dev")) { ++ if (cmHasLiteralPrefix(dest, "include") || cmHasLiteralPrefix(dest, "./include")) { ++ value = std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(dest, "bin") || cmHasLiteralPrefix(dest, "./bin")) { ++ value = std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(dest, "mkspecs") || cmHasLiteralPrefix(dest, "./mkspecs")) { ++ value = std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(dest, "libexec") || cmHasLiteralPrefix(dest, "./libexec")) { ++ value = std::getenv("dev"); ++ } else { ++ value = std::getenv("out"); ++ } ++ } else { ++ value = std::getenv("out"); ++ } ++ value += "/"; + } + value += dest; + value += "/"; +diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx +index 840f5112d6..7bb4ab41aa 100644 +--- a/Source/cmGeneratorExpression.cxx ++++ b/Source/cmGeneratorExpression.cxx +@@ -197,7 +197,22 @@ static void prefixItems(const std::string& content, std::string& result, + sep = ";"; + if (!cmSystemTools::FileIsFullPath(e) && + cmGeneratorExpression::Find(e) != 0) { +- result += prefix; ++ if (std::getenv("dev")) { ++ if (cmHasLiteralPrefix(e, "include") || cmHasLiteralPrefix(e, "./include")) { ++ result += std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(e, "bin") || cmHasLiteralPrefix(e, "./bin")) { ++ result += std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(e, "mkspecs") || cmHasLiteralPrefix(e, "./mkspecs")) { ++ result += std::getenv("dev"); ++ } else if (cmHasLiteralPrefix(e, "libexec") || cmHasLiteralPrefix(e, "./libexec")) { ++ result += std::getenv("dev"); ++ } else { ++ result += std::getenv("out"); ++ } ++ } else { ++ result += std::getenv("out"); ++ } ++ result += "/"; + } + result += e; + } diff --git a/nixpkgs/pkgs/development/libraries/qt-6/default.nix b/nixpkgs/pkgs/development/libraries/qt-6/default.nix new file mode 100644 index 000000000000..8c12cc2fb671 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/default.nix @@ -0,0 +1,94 @@ +{ newScope +, lib +, stdenv +, fetchurl +, fetchgit +, fetchpatch +, fetchFromGitHub +, makeSetupHook +, makeWrapper +, bison +, cups +, harfbuzz +, libGL +, perl +, cmake +, ninja +, writeText +, gstreamer +, gst-plugins-base +, gtk3 +, dconf +, buildPackages + + # options +, developerBuild ? false +, debug ? false +}: + +let + srcs = import ./srcs.nix { + inherit fetchurl; + mirror = "mirror://qt"; + }; + + qtModule = + import ./qtModule.nix + { inherit stdenv lib perl cmake ninja writeText; } + { inherit self srcs; }; + + addPackages = self: with self; + let + callPackage = self.newScope { inherit qtModule srcs; }; + in + { + + inherit callPackage qtModule srcs; + + qtbase = callPackage ./modules/qtbase.nix { + withGtk3 = true; + inherit (srcs.qtbase) src version; + inherit bison cups harfbuzz libGL dconf gtk3 developerBuild cmake; + }; + + qt3d = callPackage ./modules/qt3d.nix { }; + qt5compat = callPackage ./modules/qt5compat.nix { }; + qtcharts = callPackage ./modules/qtcharts.nix { }; + qtconnectivity = callPackage ./modules/qtconnectivity.nix { }; + qtdatavis3d = callPackage ./modules/qtdatavis3d.nix { }; + qtdeclarative = callPackage ./modules/qtdeclarative.nix { }; + qtdoc = callPackage ./modules/qtdoc.nix { }; + qtimageformats = callPackage ./modules/qtimageformats.nix { }; + qtlanguageserver = callPackage ./modules/qtlanguageserver.nix { }; + qtlottie = callPackage ./modules/qtlottie.nix { }; + qtmultimedia = callPackage ./modules/qtmultimedia.nix { + inherit gstreamer gst-plugins-base; + }; + qtnetworkauth = callPackage ./modules/qtnetworkauth.nix { }; + qtpositioning = callPackage ./modules/qtpositioning.nix { }; + qtsensors = callPackage ./modules/qtsensors.nix { }; + qtserialbus = callPackage ./modules/qtserialbus.nix { }; + qtserialport = callPackage ./modules/qtserialport.nix { }; + qtshadertools = callPackage ./modules/qtshadertools.nix { }; + qtquick3d = callPackage ./modules/qtquick3d.nix { }; + qtquicktimeline = callPackage ./modules/qtquicktimeline.nix { }; + qtremoteobjects = callPackage ./modules/qtremoteobjects.nix { }; + qtsvg = callPackage ./modules/qtsvg.nix { }; + qtscxml = callPackage ./modules/qtscxml.nix { }; + qttools = callPackage ./modules/qttools.nix { }; + qttranslations = callPackage ./modules/qttranslations.nix { }; + qtvirtualkeyboard = callPackage ./modules/qtvirtualkeyboard.nix { }; + qtwayland = callPackage ./modules/qtwayland.nix { }; + qtwebchannel = callPackage ./modules/qtwebchannel.nix { }; + qtwebengine = callPackage ./modules/qtwebengine.nix { }; + qtwebsockets = callPackage ./modules/qtwebsockets.nix { }; + qtwebview = callPackage ./modules/qtwebview.nix { }; + + wrapQtAppsHook = makeSetupHook { + deps = [ buildPackages.makeWrapper ]; + } ./hooks/wrap-qt-apps-hook.sh; + }; + + self = lib.makeScope newScope addPackages; +in +self diff --git a/nixpkgs/pkgs/development/libraries/qt-6/fetch.sh b/nixpkgs/pkgs/development/libraries/qt-6/fetch.sh new file mode 100644 index 000000000000..70c9cedb0987 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/fetch.sh @@ -0,0 +1 @@ +WGET_ARGS=( http://download.qt.io/official_releases/qt/6.3/6.3.1/submodules/ -A '*.tar.xz' ) diff --git a/nixpkgs/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh b/nixpkgs/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh new file mode 100644 index 000000000000..0ae969e8f8fc --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh @@ -0,0 +1,43 @@ +if [[ -n "${__nix_qtbase-}" ]]; then + # Throw an error if a different version of Qt was already set up. + if [[ "$__nix_qtbase" != "@dev@" ]]; then + echo >&2 "Error: detected mismatched Qt dependencies:" + echo >&2 " @dev@" + echo >&2 " $__nix_qtbase" + exit 1 + fi +else # Only set up Qt once. +__nix_qtbase="@dev@" + +qtPluginPrefix=@qtPluginPrefix@ +qtQmlPrefix=@qtQmlPrefix@ + +# Disable debug symbols if qtbase was built without debugging. +# This stops -dev paths from leaking into other outputs. +if [ -z "@debug@" ]; then + NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE-}${NIX_CFLAGS_COMPILE:+ }-DQT_NO_DEBUG" +fi + +# Integration with CMake: +# Set the CMake build type corresponding to how qtbase was built. +if [ -n "@debug@" ]; then + cmakeBuildType="Debug" +else + cmakeBuildType="Release" +fi + +qtPreHook() { + # Check that wrapQtAppsHook is used, or it is explicitly disabled. + if [[ -z "$__nix_wrapQtAppsHook" && -z "$dontWrapQtApps" ]]; then + echo >&2 "Error: wrapQtAppsHook is not used, and dontWrapQtApps is not set." + exit 1 + fi +} +prePhases+=" qtPreHook" + +addQtModulePrefix () { + addToSearchPath QT_ADDITIONAL_PACKAGES_PREFIX_PATH $1 +} +addEnvHooks "$hostOffset" addQtModulePrefix + +fi diff --git a/nixpkgs/pkgs/development/libraries/qt-6/hooks/wrap-qt-apps-hook.sh b/nixpkgs/pkgs/development/libraries/qt-6/hooks/wrap-qt-apps-hook.sh new file mode 100644 index 000000000000..b669da3d058c --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/hooks/wrap-qt-apps-hook.sh @@ -0,0 +1,110 @@ +if [[ -z "${__nix_wrapQtAppsHook-}" ]]; then +__nix_wrapQtAppsHook=1 # Don't run this hook more than once. + +# Inherit arguments given in mkDerivation +qtWrapperArgs=( ${qtWrapperArgs-} ) + +qtHostPathSeen=() + +qtUnseenHostPath() { + for pkg in "${qtHostPathSeen[@]}" + do + if [ "${pkg:?}" == "$1" ] + then + return 1 + fi + done + + qtHostPathSeen+=("$1") + return 0 +} + +qtHostPathHook() { + qtUnseenHostPath "$1" || return 0 + + if ! [ -v qtPluginPrefix ] + then + echo "wrapQtAppsHook qtHostPathHook: qtPluginPrefix is unset. hint: add qt6.qtbase to buildInputs" + fi + + local pluginDir="$1/${qtPluginPrefix:?}" + if [ -d "$pluginDir" ] + then + qtWrapperArgs+=(--prefix QT_PLUGIN_PATH : "$pluginDir") + fi + + local qmlDir="$1/${qtQmlPrefix:?}" + if [ -d "$qmlDir" ] + then + qtWrapperArgs+=(--prefix QML2_IMPORT_PATH : "$qmlDir") + fi +} +addEnvHooks "$targetOffset" qtHostPathHook + +makeQtWrapper() { + local original="$1" + local wrapper="$2" + shift 2 + makeWrapper "$original" "$wrapper" "${qtWrapperArgs[@]}" "$@" +} + +wrapQtApp() { + local program="$1" + shift 1 + wrapProgram "$program" "${qtWrapperArgs[@]}" "$@" +} + +qtOwnPathsHook() { + local xdgDataDir="${!outputBin}/share" + if [ -d "$xdgDataDir" ] + then + qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$xdgDataDir") + fi + + local xdgConfigDir="${!outputBin}/etc/xdg" + if [ -d "$xdgConfigDir" ] + then + qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir") + fi + + qtHostPathHook "${!outputBin}" +} + +preFixupPhases+=" qtOwnPathsHook" + +# Note: $qtWrapperArgs still gets defined even if ${dontWrapQtApps-} is set. +wrapQtAppsHook() { + # skip this hook when requested + [ -z "${dontWrapQtApps-}" ] || return 0 + + # guard against running multiple times (e.g. due to propagation) + [ -z "$wrapQtAppsHookHasRun" ] || return 0 + wrapQtAppsHookHasRun=1 + + local targetDirs=( "$prefix/bin" "$prefix/sbin" "$prefix/libexec" "$prefix/Applications" "$prefix/"*.app ) + echo "wrapping Qt applications in ${targetDirs[@]}" + + for targetDir in "${targetDirs[@]}" + do + [ -d "$targetDir" ] || continue + + find "$targetDir" ! -type d -executable -print0 | while IFS= read -r -d '' file + do + if [ -f "$file" ] + then + echo "wrapping $file" + wrapQtApp "$file" + elif [ -h "$file" ] + then + target="$(readlink -e "$file")" + echo "wrapping $file -> $target" + rm "$file" + makeQtWrapper "$target" "$file" + fi + done + done +} + +fixupOutputHooks+=(wrapQtAppsHook) + +fi diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qt3d.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qt3d.nix new file mode 100644 index 000000000000..2f3a45f67d85 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qt3d.nix @@ -0,0 +1,12 @@ +{ qtModule +, qtbase +, qtdeclarative +, qtmultimedia +, assimp +}: + +qtModule { + pname = "qt3d"; + qtInputs = [ qtbase qtdeclarative qtmultimedia ]; + propagatedBuildInputs = [ assimp ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qt5compat.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qt5compat.nix new file mode 100644 index 000000000000..cba0651a2c46 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qt5compat.nix @@ -0,0 +1,13 @@ +{ qtModule +, qtbase +, qtdeclarative +, libiconv +, icu +, openssl +}: + +qtModule { + pname = "qt5compat"; + qtInputs = [ qtbase qtdeclarative ]; + buildInputs = [ libiconv icu openssl openssl ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix new file mode 100644 index 000000000000..bf210633fc4f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtbase.nix @@ -0,0 +1,222 @@ +{ stdenv +, lib +, src +, patches ? [ ] +, version +, coreutils +, bison +, flex +, gdb +, gperf +, lndir +, perl +, pkg-config +, python3 +, which +, cmake +, ninja +, ccache +, xmlstarlet +, libproxy +, xlibsWrapper +, xorg +, zstd +, double-conversion +, util-linux +, systemd +, libb2 +, md4c +, mtdev +, lksctp-tools +, libselinux +, libsepol +, vulkan-headers +, vulkan-loader +, valgrind +, libthai +, libdrm +, libdatrie +, lttng-ust +, libepoxy +, libiconv +, dbus +, fontconfig +, freetype +, glib +, harfbuzz +, icu +, libX11 +, libXcomposite +, libXcursor +, libXext +, libXi +, libXrender +, libinput +, libjpeg +, libpng +, libxcb +, libxkbcommon +, libxml2 +, libxslt +, openssl +, pcre +, pcre2 +, sqlite +, udev +, xcbutil +, xcbutilimage +, xcbutilkeysyms +, xcbutilrenderutil +, xcbutilwm +, zlib +, at-spi2-core +, unixODBC +, unixODBCDrivers + # optional dependencies +, cups +, libmysqlclient +, postgresql +, withGtk3 ? false +, dconf +, gtk3 + # options +, libGLSupported ? true +, libGL +, debug ? false +, developerBuild ? false +}: + +let + debugSymbols = debug || developerBuild; +in +stdenv.mkDerivation rec { + pname = "qtbase"; + + inherit src version; + + debug = debugSymbols; + + propagatedBuildInputs = [ + libxml2 + libxslt + openssl + sqlite + zlib + unixODBC + # Text rendering + harfbuzz + icu + # Image formats + libjpeg + libpng + pcre2 + pcre + libproxy + xlibsWrapper + zstd + double-conversion + util-linux + systemd + libb2 + md4c + mtdev + lksctp-tools + libselinux + libsepol + lttng-ust + vulkan-headers + vulkan-loader + libthai + libdrm + libdatrie + valgrind + dbus + glib + udev + # Text rendering + fontconfig + freetype + # X11 libs + libX11 + libXcomposite + libXext + libXi + libXrender + libxcb + libxkbcommon + xcbutil + xcbutilimage + xcbutilkeysyms + xcbutilrenderutil + xcbutilwm + xorg.libXdmcp + xorg.libXtst + xorg.xcbutilcursor + libepoxy + ] ++ (with unixODBCDrivers; [ + psql + sqlite + mariadb + ]) ++ lib.optional libGLSupported libGL; + + buildInputs = [ + python3 + at-spi2-core + libinput + ] + ++ lib.optional withGtk3 gtk3 + ++ lib.optional developerBuild gdb + ++ lib.optional (cups != null) cups + ++ lib.optional (libmysqlclient != null) libmysqlclient + ++ lib.optional (postgresql != null) postgresql; + + nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which cmake xmlstarlet ninja ]; + + propagatedNativeBuildInputs = [ lndir ]; + + enableParallelBuilding = true; + + inherit patches; + + # https://bugreports.qt.io/browse/QTBUG-97568 + postPatch = '' + substituteInPlace src/corelib/CMakeLists.txt --replace /bin/ls ${coreutils}/bin/ls + ''; + + preConfigure = '' + export LD_LIBRARY_PATH="$PWD/build/lib:$PWD/build/plugins/platforms''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" + ''; + + qtPluginPrefix = "lib/qt-6/plugins"; + qtQmlPrefix = "lib/qt-6/qml"; + + cmakeFlags = [ + "-DINSTALL_PLUGINSDIR=${qtPluginPrefix}" + "-DINSTALL_QMLDIR=${qtQmlPrefix}" + "-DQT_FEATURE_journald=ON" + "-DQT_FEATURE_sctp=ON" + "-DQT_FEATURE_libproxy=ON" + "-DQT_FEATURE_system_sqlite=ON" + "-DQT_FEATURE_vulkan=ON" + "-DQT_FEATURE_openssl_linked=ON" + ]; + + outputs = [ "out" "dev" ]; + + postInstall = '' + mkdir -p $dev + mv $out/mkspecs $out/bin $out/libexec $dev/ + ''; + + dontStrip = debugSymbols; + + setupHook = ../hooks/qtbase-setup-hook.sh; + + meta = with lib; { + homepage = "https://www.qt.io/"; + description = "A cross-platform application framework for C++"; + license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; + maintainers = with maintainers; [ milahu nickcao ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtcharts.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtcharts.nix new file mode 100644 index 000000000000..917697c38623 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtcharts.nix @@ -0,0 +1,9 @@ +{ qtModule +, qtbase +, qtdeclarative +}: + +qtModule { + pname = "qtcharts"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtconnectivity.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtconnectivity.nix new file mode 100644 index 000000000000..33fbd7231548 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtconnectivity.nix @@ -0,0 +1,15 @@ +{ qtModule +, lib +, stdenv +, qtbase +, qtdeclarative +, bluez +, pkg-config +}: + +qtModule { + pname = "qtconnectivity"; + qtInputs = [ qtbase qtdeclarative ]; + buildInputs = [ bluez ]; + nativeBuildInputs = [ pkg-config ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdatavis3d.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdatavis3d.nix new file mode 100644 index 000000000000..1d0f9711e588 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdatavis3d.nix @@ -0,0 +1,9 @@ +{ qtModule +, qtbase +, qtdeclarative +}: + +qtModule { + pname = "qtdatavis3d"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix new file mode 100644 index 000000000000..3f691894ff86 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix @@ -0,0 +1,19 @@ +{ qtModule +, qtbase +, qtshadertools +, openssl +, python3 +}: + +qtModule { + pname = "qtdeclarative"; + qtInputs = [ qtbase qtshadertools ]; + propagatedBuildInputs = [ openssl python3 ]; + preConfigure = '' + export LD_LIBRARY_PATH="$PWD/build/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" + ''; + postInstall = '' + substituteInPlace "$out/lib/cmake/Qt6Qml/Qt6QmlMacros.cmake" \ + --replace ''\'''${QT6_INSTALL_PREFIX}' "$out" + ''; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdoc.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdoc.nix new file mode 100644 index 000000000000..cde9af30ab93 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtdoc.nix @@ -0,0 +1,9 @@ +{ qtModule +, qtdeclarative +}: + +qtModule { + pname = "qtdoc"; + qtInputs = [ qtdeclarative ]; + outputs = [ "out" ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtimageformats.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtimageformats.nix new file mode 100644 index 000000000000..b28adbc7295b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtimageformats.nix @@ -0,0 +1,13 @@ +{ qtModule +, qtbase +, libwebp +, jasper +, libmng +, libtiff +}: + +qtModule { + pname = "qtimageformats"; + qtInputs = [ qtbase ]; + buildInputs = [ libwebp jasper libmng libtiff ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtlanguageserver.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtlanguageserver.nix new file mode 100644 index 000000000000..b2e6e450d5f7 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtlanguageserver.nix @@ -0,0 +1,8 @@ +{ qtModule +, qtbase +}: + +qtModule { + pname = "qtlanguageserver"; + qtInputs = [ qtbase ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtlottie.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtlottie.nix new file mode 100644 index 000000000000..d94c289953d0 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtlottie.nix @@ -0,0 +1,9 @@ +{ qtModule +, qtbase +, qtdeclarative +}: + +qtModule { + pname = "qtlottie"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix new file mode 100644 index 000000000000..5e6dace906dc --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix @@ -0,0 +1,24 @@ +{ qtModule +, lib +, stdenv +, qtbase +, qtdeclarative +, qtshadertools +, qtsvg +, pkg-config +, alsa-lib +, gstreamer +, gst-plugins-base +, libpulseaudio +, wayland +, elfutils +, libunwind +, orc +}: + +qtModule { + pname = "qtmultimedia"; + qtInputs = [ qtbase qtdeclarative qtsvg qtshadertools ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ gstreamer gst-plugins-base libpulseaudio elfutils libunwind alsa-lib wayland orc ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtnetworkauth.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtnetworkauth.nix new file mode 100644 index 000000000000..148ed890fc9e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtnetworkauth.nix @@ -0,0 +1,6 @@ +{ qtModule, qtbase }: + +qtModule { + pname = "qtnetworkauth"; + qtInputs = [ qtbase ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtpositioning.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtpositioning.nix new file mode 100644 index 000000000000..99b06bbf2536 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtpositioning.nix @@ -0,0 +1,14 @@ +{ qtModule +, qtbase +, qtdeclarative +, qtserialport +, pkg-config +, openssl +}: + +qtModule { + pname = "qtpositioning"; + qtInputs = [ qtbase qtdeclarative qtserialport ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ openssl ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtquick3d.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtquick3d.nix new file mode 100644 index 000000000000..d19a8e725a16 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtquick3d.nix @@ -0,0 +1,11 @@ +{ qtModule +, qtbase +, qtdeclarative +, openssl +}: + +qtModule { + pname = "qtquick3d"; + qtInputs = [ qtbase qtdeclarative ]; + buildInputs = [ openssl ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtquicktimeline.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtquicktimeline.nix new file mode 100644 index 000000000000..7458515dba26 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtquicktimeline.nix @@ -0,0 +1,9 @@ +{ qtModule +, qtbase +, qtdeclarative +}: + +qtModule { + pname = "qtquicktimeline"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtremoteobjects.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtremoteobjects.nix new file mode 100644 index 000000000000..888ec33b461a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtremoteobjects.nix @@ -0,0 +1,9 @@ +{ qtModule +, qtbase +, qtdeclarative +}: + +qtModule { + pname = "qtremoteobjects"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtscxml.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtscxml.nix new file mode 100644 index 000000000000..c49064c5e579 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtscxml.nix @@ -0,0 +1,6 @@ +{ qtModule, qtbase, qtdeclarative }: + +qtModule { + pname = "qtscxml"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtsensors.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtsensors.nix new file mode 100644 index 000000000000..73ddc394cc46 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtsensors.nix @@ -0,0 +1,10 @@ +{ qtModule +, qtbase +, qtdeclarative +, qtsvg +}: + +qtModule { + pname = "qtsensors"; + qtInputs = [ qtbase qtdeclarative qtsvg ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtserialbus.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtserialbus.nix new file mode 100644 index 000000000000..4fd6d7cb83c3 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtserialbus.nix @@ -0,0 +1,6 @@ +{ qtModule, qtbase, qtserialport }: + +qtModule { + pname = "qtserialbus"; + qtInputs = [ qtbase qtserialport ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtserialport.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtserialport.nix new file mode 100644 index 000000000000..96b7a25bb3b4 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtserialport.nix @@ -0,0 +1,14 @@ +{ qtModule +, stdenv +, lib +, qtbase +, udev +, pkg-config +}: + +qtModule { + pname = "qtserialport"; + qtInputs = [ qtbase ]; + nativeBuildInputs = [ pkg-config ]; + propagatedBuildInputs = [ udev ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtshadertools.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtshadertools.nix new file mode 100644 index 000000000000..47102896f7e6 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtshadertools.nix @@ -0,0 +1,8 @@ +{ qtModule +, qtbase +}: + +qtModule { + pname = "qtshadertools"; + qtInputs = [ qtbase ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtsvg.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtsvg.nix new file mode 100644 index 000000000000..9031f8805ac9 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtsvg.nix @@ -0,0 +1,15 @@ +{ qtModule +, qtbase +, libwebp +, jasper +, libmng +, zlib +, pkg-config +}: + +qtModule { + pname = "qtsvg"; + qtInputs = [ qtbase ]; + buildInputs = [ libwebp jasper libmng zlib ]; + nativeBuildInputs = [ pkg-config ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qttools.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qttools.nix new file mode 100644 index 000000000000..b1cf5dd2c146 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qttools.nix @@ -0,0 +1,11 @@ +{ qtModule +, stdenv +, lib +, qtbase +, qtdeclarative +}: + +qtModule { + pname = "qttools"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qttranslations.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qttranslations.nix new file mode 100644 index 000000000000..4795cd9e1bfe --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qttranslations.nix @@ -0,0 +1,8 @@ +{ qtModule +, qttools +}: + +qtModule { + pname = "qttranslations"; + qtInputs = [ qttools ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtvirtualkeyboard.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtvirtualkeyboard.nix new file mode 100644 index 000000000000..bb868dc61829 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtvirtualkeyboard.nix @@ -0,0 +1,15 @@ +{ qtModule +, qtbase +, qtdeclarative +, qtsvg +, hunspell +, pkg-config +}: + +qtModule { + pname = "qtvirtualkeyboard"; + qtInputs = [ qtbase qtdeclarative qtsvg ]; + propagatedBuildInputs = [ hunspell ]; + nativeBuildInputs = [ pkg-config ]; + outputs = [ "out" ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwayland.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwayland.nix new file mode 100644 index 000000000000..3ac23d28a798 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwayland.nix @@ -0,0 +1,16 @@ +{ qtModule +, qtbase +, qtquick3d +, qtdeclarative +, wayland +, pkg-config +, xlibsWrapper +, libdrm +}: + +qtModule { + pname = "qtwayland"; + qtInputs = [ qtbase qtdeclarative ]; + buildInputs = [ wayland xlibsWrapper libdrm ]; + nativeBuildInputs = [ pkg-config ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebchannel.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebchannel.nix new file mode 100644 index 000000000000..49b959c5dea7 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebchannel.nix @@ -0,0 +1,12 @@ +{ qtModule +, qtbase +, qtdeclarative +, qtwebsockets +, openssl +}: + +qtModule { + pname = "qtwebchannel"; + qtInputs = [ qtbase qtdeclarative qtwebsockets ]; + buildInputs = [ openssl ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebengine.nix new file mode 100644 index 000000000000..20cfab55d032 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebengine.nix @@ -0,0 +1,237 @@ +{ qtModule +, qtdeclarative +, qtwebchannel +, qtpositioning +, qtwebsockets +, buildPackages +, bison +, coreutils +, flex +, git +, gperf +, ninja +, pkg-config +, python3 +, which +, nodejs +, qtbase +, perl +, xorg +, libXcursor +, libXScrnSaver +, libXrandr +, libXtst +, libxshmfence +, libXi +, fontconfig +, freetype +, harfbuzz +, icu +, dbus +, libdrm +, zlib +, minizip +, libjpeg +, libpng +, libtiff +, libwebp +, libopus +, jsoncpp +, protobuf +, libvpx +, srtp +, snappy +, nss +, libevent +, openssl +, alsa-lib +, pulseaudio +, libcap +, pciutils +, systemd +, pipewire +, gn +, cups +, openbsm +, runCommand +, writeScriptBin +, ffmpeg +, lib +, stdenv +, glib +, libxml2 +, libxslt +, lcms2 +, re2 +, libkrb5 +, xkeyboard_config +, enableProprietaryCodecs ? true +}: + +qtModule rec { + pname = "qtwebengine"; + qtInputs = [ qtdeclarative qtwebchannel qtwebsockets qtpositioning ]; + nativeBuildInputs = [ + bison + coreutils + flex + git + gperf + ninja + pkg-config + (python3.withPackages (ps: with ps; [ html5lib ])) + which + gn + nodejs + ]; + doCheck = true; + outputs = [ "out" "dev" ]; + + dontUseGnConfigure = true; + + # ninja builds some components with -Wno-format, + # which cannot be set at the same time as -Wformat-security + hardeningDisable = [ "format" ]; + + postPatch = '' + # Patch Chromium build tools + ( + cd src/3rdparty/chromium; + + # Manually fix unsupported shebangs + substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \ + --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" || true + substituteInPlace third_party/webgpu-cts/src/tools/deno \ + --replace "/usr/bin/env -S deno" "/usr/bin/deno" || true + patchShebangs . + ) + + substituteInPlace cmake/Functions.cmake \ + --replace "/bin/bash" "${buildPackages.bash}/bin/bash" + + sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \ + src/3rdparty/chromium/device/udev_linux/udev?_loader.cc + + sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \ + src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc + + substituteInPlace src/3rdparty/chromium/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc \ + --replace "/usr/share/X11/xkb" "${xkeyboard_config}/share/X11/xkb" + + # Patch library paths in sources + substituteInPlace src/core/web_engine_library_info.cpp \ + --replace "QLibraryInfo::path(QLibraryInfo::DataPath)" "\"$out\"" \ + --replace "QLibraryInfo::path(QLibraryInfo::TranslationsPath)" "\"$out/translations\"" \ + --replace "QLibraryInfo::path(QLibraryInfo::LibraryExecutablesPath)" "\"$out/libexec\"" + ''; + + cmakeFlags = [ + "-DQT_FEATURE_qtpdf_build=ON" + "-DQT_FEATURE_qtpdf_widgets_build=ON" + "-DQT_FEATURE_qtpdf_quick_build=ON" + "-DQT_FEATURE_pdf_v8=ON" + "-DQT_FEATURE_pdf_xfa=ON" + "-DQT_FEATURE_pdf_xfa_bmp=ON" + "-DQT_FEATURE_pdf_xfa_gif=ON" + "-DQT_FEATURE_pdf_xfa_png=ON" + "-DQT_FEATURE_pdf_xfa_tiff=ON" + "-DQT_FEATURE_webengine_system_icu=ON" + "-DQT_FEATURE_webengine_system_libevent=ON" + "-DQT_FEATURE_webengine_system_libxml=ON" + "-DQT_FEATURE_webengine_system_ffmpeg=ON" + # android only. https://bugreports.qt.io/browse/QTBUG-100293 + # "-DQT_FEATURE_webengine_native_spellchecker=ON" + "-DQT_FEATURE_webengine_sanitizer=ON" + "-DQT_FEATURE_webengine_webrtc_pipewire=ON" + "-DQT_FEATURE_webengine_kerberos=ON" + ] ++ lib.optional enableProprietaryCodecs "-DQT_FEATURE_webengine_proprietary_codecs=ON"; + + propagatedBuildInputs = [ + # Image formats + libjpeg + libpng + libtiff + libwebp + + # Video formats + srtp + libvpx + + # Audio formats + libopus + + # Text rendering + harfbuzz + icu + + openssl + glib + libxml2 + libxslt + lcms2 + re2 + + libevent + ffmpeg + + dbus + zlib + minizip + snappy + nss + protobuf + jsoncpp + + # Audio formats + alsa-lib + pulseaudio + + # Text rendering + fontconfig + freetype + + libcap + pciutils + + # X11 libs + xorg.xrandr + libXScrnSaver + libXcursor + libXrandr + xorg.libpciaccess + libXtst + xorg.libXcomposite + xorg.libXdamage + libdrm + xorg.libxkbfile + libxshmfence + libXi + xorg.libXext + + # Pipewire + pipewire + + libkrb5 + ]; + + buildInputs = [ + cups + ]; + + requiredSystemFeatures = [ "big-parallel" ]; + + postInstall = '' + # This is required at runtime + mkdir $out/libexec + mv $dev/libexec/QtWebEngineProcess $out/libexec + ''; + + meta = with lib; { + broken = (stdenv.isLinux && stdenv.isAarch64); + description = "A web engine based on the Chromium web browser"; + platforms = platforms.linux; + # This build takes a long time; particularly on slow architectures + # 1 hour on 32x3.6GHz -> maybe 12 hours on 4x2.4GHz + timeout = 24 * 3600; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebsockets.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebsockets.nix new file mode 100644 index 000000000000..f81cd64596eb --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebsockets.nix @@ -0,0 +1,11 @@ +{ qtModule +, qtbase +, qtdeclarative +, openssl +}: + +qtModule { + pname = "qtwebsockets"; + qtInputs = [ qtbase qtdeclarative ]; + buildInputs = [ openssl ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebview.nix b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebview.nix new file mode 100644 index 000000000000..ba784f73ad45 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/modules/qtwebview.nix @@ -0,0 +1,11 @@ +{ lib +, stdenv +, qtModule +, qtdeclarative +, qtwebengine +}: + +qtModule { + pname = "qtwebview"; + qtInputs = [ qtdeclarative qtwebengine ]; +} diff --git a/nixpkgs/pkgs/development/libraries/qt-6/qtModule.nix b/nixpkgs/pkgs/development/libraries/qt-6/qtModule.nix new file mode 100644 index 000000000000..04349ed68ad2 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/qtModule.nix @@ -0,0 +1,45 @@ +{ stdenv, lib, perl, cmake, ninja, writeText }: + +{ self, srcs, patches ? [ ] }: + +args: + +let + inherit (args) pname; + version = args.version or srcs.${pname}.version; + src = args.src or srcs.${pname}.src; +in +stdenv.mkDerivation (args // { + inherit pname version src; + patches = args.patches or patches.${pname} or [ ]; + + buildInputs = args.buildInputs or [ ]; + nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ + perl + cmake + ninja + ]; + propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or [ ]); + + outputs = args.outputs or [ "out" "dev" ]; + + dontWrapQtApps = args.dontWrapQtApps or true; + postInstall = '' + if [ ! -z "$dev" ]; then + mkdir "$dev" + for dir in bin libexec mkspecs + do + moveToOutput "$dir" "$dev" + done + fi + ${args.postInstall or ""} + ''; + + meta = with lib; { + homepage = "https://www.qt.io/"; + description = "A cross-platform application framework for C++"; + license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; + maintainers = with maintainers; [ milahu nickcao ]; + platforms = platforms.linux; + } // (args.meta or { }); +}) diff --git a/nixpkgs/pkgs/development/libraries/qt-6/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-6/srcs.nix new file mode 100644 index 000000000000..07bb7fd494f7 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/qt-6/srcs.nix @@ -0,0 +1,262 @@ +# DO NOT EDIT! This file is generated automatically. +# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-6 +{ fetchurl, mirror }: + +{ + qt3d = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qt3d-everywhere-src-6.3.1.tar.xz"; + sha256 = "1zpdafqm82hd2bijw20hi1ng81xwihsn9mm7n5ns4gr5zdnvc6cr"; + name = "qt3d-everywhere-src-6.3.1.tar.xz"; + }; + }; + qt5compat = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qt5compat-everywhere-src-6.3.1.tar.xz"; + sha256 = "1zbcaswpl79ixcxzj85qzjq73962s4c7316pibwfrskqswmwcgm4"; + name = "qt5compat-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtactiveqt = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtactiveqt-everywhere-src-6.3.1.tar.xz"; + sha256 = "0axygqjqny6vjwmc5swn80xrcs97bcjwgxsg81f35srxpn9lxdb4"; + name = "qtactiveqt-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtbase = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtbase-everywhere-src-6.3.1.tar.xz"; + sha256 = "00sfya41ihqb0zwg6wf1kiy02iymj6mk584hhk2c4s94khfl4r0a"; + name = "qtbase-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtcharts = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtcharts-everywhere-src-6.3.1.tar.xz"; + sha256 = "1xvwsabyfln3sih9764xknl2s3w4w069k210kgbh94bj50iwqc7k"; + name = "qtcharts-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtconnectivity = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtconnectivity-everywhere-src-6.3.1.tar.xz"; + sha256 = "1c4mnrl7fa8j8fmv5zbqak48nylhxpib7vmsbmmbqqcw19qy8p5j"; + name = "qtconnectivity-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtdatavis3d = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtdatavis3d-everywhere-src-6.3.1.tar.xz"; + sha256 = "1wm8iigpml84zfkw3mb2kll0imszc2y19hkcfwq1wbr9w24xda43"; + name = "qtdatavis3d-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtdeclarative = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtdeclarative-everywhere-src-6.3.1.tar.xz"; + sha256 = "1s268fha3650dn1lqxf8jfa07wxpw09f6p7rjyiwq3w24d0nkrq3"; + name = "qtdeclarative-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtdoc = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtdoc-everywhere-src-6.3.1.tar.xz"; + sha256 = "1qvhv2b9c6mz7r3sdx0l81a2jr9qri17y1y8k3d6qh488fxqrk32"; + name = "qtdoc-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtimageformats = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtimageformats-everywhere-src-6.3.1.tar.xz"; + sha256 = "0br1vqgx0hcc2nx32xviic94mvj6fbagrnzskdr7zdmvvyw140xd"; + name = "qtimageformats-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtlanguageserver = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtlanguageserver-everywhere-src-6.3.1.tar.xz"; + sha256 = "1g2azb4mdzh5zp7xc57g8l2a8wfi44wfjm6js88q4mmchyj4f4br"; + name = "qtlanguageserver-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtlottie = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtlottie-everywhere-src-6.3.1.tar.xz"; + sha256 = "1x8wmc6gwmxk92zjcsrbhrbqbfvnk7302ggghld5wk8jk5lsf2vl"; + name = "qtlottie-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtmultimedia = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtmultimedia-everywhere-src-6.3.1.tar.xz"; + sha256 = "0dkk3lmzi2fs13cnj8q1lpcs6gghj219826gkwnzyd6nmlm280vy"; + name = "qtmultimedia-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtnetworkauth = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtnetworkauth-everywhere-src-6.3.1.tar.xz"; + sha256 = "0apvsb2ip1m3kw8vi9spvf6f6q72ys8vr40rpyysi7shsjwm83yn"; + name = "qtnetworkauth-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtpositioning = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtpositioning-everywhere-src-6.3.1.tar.xz"; + sha256 = "0v78wamvdw02kf9rq7m5v24q2g6jmgq4ch0fnfa014p1r978wy06"; + name = "qtpositioning-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtquick3d = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtquick3d-everywhere-src-6.3.1.tar.xz"; + sha256 = "0mhj0r6081bjkq3fsr1vh43zn587v9m20mdpnc979h5q8zp6d9rg"; + name = "qtquick3d-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtquicktimeline = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtquicktimeline-everywhere-src-6.3.1.tar.xz"; + sha256 = "1gpb51d8r707sr0dnvbz65d4zwisfdw40s10kximaxwfrvq3r8aq"; + name = "qtquicktimeline-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtremoteobjects = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtremoteobjects-everywhere-src-6.3.1.tar.xz"; + sha256 = "19jcxxxj3q8vnf9cbgrp3q1pvgwsln8n16nk1gg822f6265h6vga"; + name = "qtremoteobjects-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtscxml = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtscxml-everywhere-src-6.3.1.tar.xz"; + sha256 = "06c6dwwx3z26k9ff6nqagg70lws4l1c6drz1yi4z1lb3c56ibg01"; + name = "qtscxml-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtsensors = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtsensors-everywhere-src-6.3.1.tar.xz"; + sha256 = "1k301lgbiw3fiyryfr18k0dq89ls4xgs4n2pffs456msxmchn92b"; + name = "qtsensors-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtserialbus = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtserialbus-everywhere-src-6.3.1.tar.xz"; + sha256 = "1lkqv3r66fiddxbg0fv9w6l83adz3y8zq6i4pmd0hnxs0ivkz580"; + name = "qtserialbus-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtserialport = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtserialport-everywhere-src-6.3.1.tar.xz"; + sha256 = "0vk17cjj9jpdkgd8qwb1x0lijg0p2jxdzx4d67hd57brcl7didjf"; + name = "qtserialport-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtshadertools = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtshadertools-everywhere-src-6.3.1.tar.xz"; + sha256 = "0nj35s2z5n438q7nqf6bnj3slwz2am3169ck1ixwqa0mjrv73dsr"; + name = "qtshadertools-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtsvg = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtsvg-everywhere-src-6.3.1.tar.xz"; + sha256 = "1xvxz2jfpr1al85rhwss7ji5vkxa812d0b888hry5f7pwqcg86bv"; + name = "qtsvg-everywhere-src-6.3.1.tar.xz"; + }; + }; + qttools = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qttools-everywhere-src-6.3.1.tar.xz"; + sha256 = "1h96w4bzkbd80vr7lh6hnypdlmbzc1y52c2zrqzvkgm3587pa4n4"; + name = "qttools-everywhere-src-6.3.1.tar.xz"; + }; + }; + qttranslations = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qttranslations-everywhere-src-6.3.1.tar.xz"; + sha256 = "15yvvxw1vngnjlly6cady05ljamg01qiaqn2vh0xkph855gdbgfp"; + name = "qttranslations-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtvirtualkeyboard = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtvirtualkeyboard-everywhere-src-6.3.1.tar.xz"; + sha256 = "1f62q0gkz21nraaspy1nrg2ygjih5qgq37qns06snnfq0jr8kq2z"; + name = "qtvirtualkeyboard-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtwayland = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtwayland-everywhere-src-6.3.1.tar.xz"; + sha256 = "1w60p1did7awdlzq5k8vnq2ncpskb07cpvz31cbv99bjs6igw53g"; + name = "qtwayland-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtwebchannel = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtwebchannel-everywhere-src-6.3.1.tar.xz"; + sha256 = "0s16zx3qn3byldvhmsnwijm8rmizk8vpqj7fnwhjg6c67z10m8ma"; + name = "qtwebchannel-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtwebengine = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtwebengine-everywhere-src-6.3.1.tar.xz"; + sha256 = "0ivfsqd5c0cxsnssj6z37901cf6a47w50zaqgjiysvcm3ar36ymd"; + name = "qtwebengine-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtwebsockets = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtwebsockets-everywhere-src-6.3.1.tar.xz"; + sha256 = "06hj0pkdzjicmbiinjp1dk1ziz8cb3fgcwy7a0dxxjvzr680v64z"; + name = "qtwebsockets-everywhere-src-6.3.1.tar.xz"; + }; + }; + qtwebview = { + version = "6.3.1"; + src = fetchurl { + url = "${mirror}/official_releases/qt/6.3/6.3.1/submodules/qtwebview-everywhere-src-6.3.1.tar.xz"; + sha256 = "0f4hx3rqwg5wqnw37nrhcvi2fxshgfx72xmdc416j4gxhra1i6xl"; + name = "qtwebview-everywhere-src-6.3.1.tar.xz"; + }; + }; +} |