diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2016-07-31 17:28:25 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2016-07-31 17:28:25 +0200 |
commit | c20f0f446208fae5c63bbcdb89413973de850926 (patch) | |
tree | a5899f40f4d8355098c6e311ad3213d881e14301 /pkgs/development/libraries | |
parent | b4ed9704a89a9bf58ff9411951fe00724a1248b8 (diff) | |
parent | 0d259f841b560acc1c5a2c9cbbd38614019bdba8 (diff) | |
download | nixlib-c20f0f446208fae5c63bbcdb89413973de850926.tar nixlib-c20f0f446208fae5c63bbcdb89413973de850926.tar.gz nixlib-c20f0f446208fae5c63bbcdb89413973de850926.tar.bz2 nixlib-c20f0f446208fae5c63bbcdb89413973de850926.tar.lz nixlib-c20f0f446208fae5c63bbcdb89413973de850926.tar.xz nixlib-c20f0f446208fae5c63bbcdb89413973de850926.tar.zst nixlib-c20f0f446208fae5c63bbcdb89413973de850926.zip |
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/development/libraries')
185 files changed, 4210 insertions, 150 deletions
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix index 1848bd064f16..948cbacf8766 100644 --- a/pkgs/development/libraries/aws-sdk-cpp/default.nix +++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix @@ -23,6 +23,10 @@ stdenv.mkDerivation rec { ++ lib.optional (apis != ["*"]) "-DBUILD_ONLY=${lib.concatMapStringsSep ";" (api: "aws-cpp-sdk-" + api) apis}"; + # curl upgrade to 7.50.0 (#17152) changes the libcurl headers slightly and + # therefore requires the followin flag until this package gets updated + NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; + enableParallelBuilding = true; preBuild = diff --git a/pkgs/development/libraries/freeglut/default.nix b/pkgs/development/libraries/freeglut/default.nix index 368a1e274878..4135c451eebc 100644 --- a/pkgs/development/libraries/freeglut/default.nix +++ b/pkgs/development/libraries/freeglut/default.nix @@ -11,6 +11,14 @@ in stdenv.mkDerivation { buildInputs = [ libXi libXrandr libXxf86vm mesa xlibsWrapper cmake ]; + cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [ + "-DOPENGL_INCLUDE_DIR=${mesa}/include" + "-DOPENGL_gl_LIBRARY:FILEPATH=${mesa}/lib/libGL.dylib" + "-DOPENGL_glu_LIBRARY:FILEPATH=${mesa}/lib/libGLU.dylib" + "-DFREEGLUT_BUILD_DEMOS:BOOL=OFF" + "-DFREEGLUT_BUILD_STATIC:BOOL=OFF" + ]; + meta = with stdenv.lib; { description = "Create and manage windows containing OpenGL contexts"; longDescription = '' diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix index 100478884239..8d3ef3f4c777 100644 --- a/pkgs/development/libraries/gnutls/generic.nix +++ b/pkgs/development/libraries/gnutls/generic.nix @@ -10,7 +10,7 @@ assert guileBindings -> guile != null; let # XXX: Gnulib's `test-select' fails on FreeBSD: # http://hydra.nixos.org/build/2962084/nixlog/1/raw . - doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin); + doCheck = !stdenv.isFreeBSD && !stdenv.isDarwin && lib.versionAtLeast version "3.4"; in stdenv.mkDerivation { name = "gnutls-${version}"; @@ -20,7 +20,7 @@ stdenv.mkDerivation { outputs = [ "dev" "out" "bin" "man" "docdev" ]; outputInfo = "docdev"; - postPatch = '' + postPatch = lib.optionalString (lib.versionAtLeast version "3.4") '' sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' \ -i tests/cert-tests/name-constraints '' + postPatch; diff --git a/pkgs/development/libraries/kde-frameworks/attica.nix b/pkgs/development/libraries/kde-frameworks/attica.nix new file mode 100644 index 000000000000..d34b3f3a2c5f --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/attica.nix @@ -0,0 +1,7 @@ +{ kdeFramework, lib, ecm }: + +kdeFramework { + name = "attica"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/baloo.nix b/pkgs/development/libraries/kde-frameworks/baloo.nix new file mode 100644 index 000000000000..9c803fdc7176 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/baloo.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, kauth, kconfig +, kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, kidletime +, kio, lmdb, qtbase, solid +}: + +kdeFramework { + name = "baloo"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kauth kconfig kcoreaddons kcrash kdbusaddons kfilemetadata ki18n kio + kidletime lmdb qtbase solid + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix new file mode 100644 index 000000000000..7ab82bdc1ef5 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix @@ -0,0 +1,15 @@ +{ kdeFramework, lib +, ecm +, qtdeclarative +}: + +kdeFramework { + name = "bluez-qt"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ qtdeclarative ]; + preConfigure = '' + substituteInPlace CMakeLists.txt \ + --replace /lib/udev/rules.d "$out/lib/udev/rules.d" + ''; +} diff --git a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix new file mode 100644 index 000000000000..bf6df87a9720 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix @@ -0,0 +1,10 @@ +{ kdeFramework, lib, ecm, qtsvg }: + +kdeFramework { + name = "breeze-icons"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + outputs = [ "out" ]; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ qtsvg ]; + propagatedUserEnvPkgs = [ qtsvg.out ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix new file mode 100644 index 000000000000..74e9df114f0b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -0,0 +1,134 @@ +/* + +# Updates + +1. Update the URL in `maintainers/scripts/generate-kde-frameworks.sh` and + run that script from the top of the Nixpkgs tree. +2. Check that the new packages build correctly. +3. Commit the changes and open a pull request. + +*/ + +{ pkgs, debug ? false }: + +let + + inherit (pkgs) lib makeSetupHook stdenv; + + mirror = "mirror://kde"; + srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; + + packages = self: with self; { + + kdeDerivation = args: + let + in stdenv.mkDerivation (args // { + + outputs = args.outputs or [ "dev" "out" ]; + + cmakeFlags = + (args.cmakeFlags or []) + ++ [ "-DBUILD_TESTING=OFF" ] + ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; + + }); + + kdeFramework = args: + let + inherit (args) name; + inherit (srcs."${name}") src version; + in kdeDerivation (args // { + name = "${name}-${version}"; + inherit src; + + meta = { + license = with lib.licenses; [ + lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 + ]; + platforms = lib.platforms.linux; + homepage = "http://www.kde.org"; + } // (args.meta or {}); + }); + + attica = callPackage ./attica.nix {}; + baloo = callPackage ./baloo.nix {}; + bluez-qt = callPackage ./bluez-qt.nix {}; + breeze-icons = callPackage ./breeze-icons.nix {}; + ecm = + let drv = { cmake, ecmNoHooks, pkgconfig, qtbase, qttools }: + makeSetupHook + { deps = [ cmake ecmNoHooks pkgconfig qtbase qttools ]; } + ./setup-hook.sh; + in callPackage drv {}; + ecmNoHooks = callPackage ./extra-cmake-modules { + inherit (srcs.extra-cmake-modules) src version; + }; + frameworkintegration = callPackage ./frameworkintegration.nix {}; + kactivities = callPackage ./kactivities.nix {}; + kactivities-stats = callPackage ./kactivities-stats.nix {}; + kapidox = callPackage ./kapidox.nix {}; + karchive = callPackage ./karchive.nix {}; + kauth = callPackage ./kauth {}; + kbookmarks = callPackage ./kbookmarks.nix {}; + kcmutils = callPackage ./kcmutils {}; + kcodecs = callPackage ./kcodecs.nix {}; + kcompletion = callPackage ./kcompletion.nix {}; + kconfig = callPackage ./kconfig.nix {}; + kconfigwidgets = callPackage ./kconfigwidgets {}; + kcoreaddons = callPackage ./kcoreaddons.nix {}; + kcrash = callPackage ./kcrash.nix {}; + kdbusaddons = callPackage ./kdbusaddons.nix {}; + kdeclarative = callPackage ./kdeclarative.nix {}; + kded = callPackage ./kded.nix {}; + kdelibs4support = callPackage ./kdelibs4support {}; + kdesignerplugin = callPackage ./kdesignerplugin.nix {}; + kdesu = callPackage ./kdesu.nix {}; + kdnssd = callPackage ./kdnssd.nix {}; + kdoctools = callPackage ./kdoctools {}; + kemoticons = callPackage ./kemoticons.nix {}; + kfilemetadata = callPackage ./kfilemetadata {}; + kglobalaccel = callPackage ./kglobalaccel.nix {}; + kguiaddons = callPackage ./kguiaddons.nix {}; + khtml = callPackage ./khtml.nix {}; + ki18n = callPackage ./ki18n.nix {}; + kiconthemes = callPackage ./kiconthemes {}; + kidletime = callPackage ./kidletime.nix {}; + kimageformats = callPackage ./kimageformats.nix {}; + kinit = callPackage ./kinit {}; + kio = callPackage ./kio {}; + kitemmodels = callPackage ./kitemmodels.nix {}; + kitemviews = callPackage ./kitemviews.nix {}; + kjobwidgets = callPackage ./kjobwidgets.nix {}; + kjs = callPackage ./kjs.nix {}; + kjsembed = callPackage ./kjsembed.nix {}; + kmediaplayer = callPackage ./kmediaplayer.nix {}; + knewstuff = callPackage ./knewstuff.nix {}; + knotifications = callPackage ./knotifications.nix {}; + knotifyconfig = callPackage ./knotifyconfig.nix {}; + kpackage = callPackage ./kpackage {}; + kparts = callPackage ./kparts.nix {}; + kpeople = callPackage ./kpeople.nix {}; + kplotting = callPackage ./kplotting.nix {}; + kpty = callPackage ./kpty.nix {}; + kross = callPackage ./kross.nix {}; + krunner = callPackage ./krunner.nix {}; + kservice = callPackage ./kservice {}; + ktexteditor = callPackage ./ktexteditor.nix {}; + ktextwidgets = callPackage ./ktextwidgets.nix {}; + kunitconversion = callPackage ./kunitconversion.nix {}; + kwallet = callPackage ./kwallet.nix {}; + kwayland = callPackage ./kwayland.nix {}; + kwidgetsaddons = callPackage ./kwidgetsaddons.nix {}; + kwindowsystem = callPackage ./kwindowsystem.nix {}; + kxmlgui = callPackage ./kxmlgui.nix {}; + kxmlrpcclient = callPackage ./kxmlrpcclient.nix {}; + modemmanager-qt = callPackage ./modemmanager-qt.nix {}; + networkmanager-qt = callPackage ./networkmanager-qt.nix {}; + oxygen-icons5 = callPackage ./oxygen-icons5.nix {}; + plasma-framework = callPackage ./plasma-framework.nix {}; + solid = callPackage ./solid.nix {}; + sonnet = callPackage ./sonnet.nix {}; + threadweaver = callPackage ./threadweaver.nix {}; + }; + +in packages diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix new file mode 100644 index 000000000000..d2f1688e330b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix @@ -0,0 +1,20 @@ +{ stdenv, lib, copyPathsToStore, src, version, cmake }: + +stdenv.mkDerivation { + name = "extra-cmake-modules-${version}"; + + inherit src; + + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + + outputs = [ "out" ]; # this package has no runtime components + + nativeBuildInputs = [ cmake ]; + + meta = with lib; { + platforms = lib.platforms.linux; + homepage = "http://www.kde.org"; + license = licenses.bsd2; + maintainers = [ maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch new file mode 100644 index 000000000000..a74340a6dc96 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch @@ -0,0 +1,37 @@ +Index: extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake +=================================================================== +--- extra-cmake-modules-5.18.0.orig/kde-modules/KDEInstallDirs.cmake ++++ extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake +@@ -200,32 +200,6 @@ + # GNUInstallDirs code deals with re-configuring, but that is dealt with + # by the _define_* macros in this module). + set(_LIBDIR_DEFAULT "lib") +-# Override this default 'lib' with 'lib64' iff: +-# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling +-# - we are NOT on debian +-# - we are on a 64 bits system +-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf +-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if +-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu" +-# See http://wiki.debian.org/Multiarch +-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") +- AND NOT CMAKE_CROSSCOMPILING) +- if (EXISTS "/etc/debian_version") # is this a debian system ? +- if(CMAKE_LIBRARY_ARCHITECTURE) +- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") +- endif() +- else() # not debian, rely on CMAKE_SIZEOF_VOID_P: +- if(NOT DEFINED CMAKE_SIZEOF_VOID_P) +- message(AUTHOR_WARNING +- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. " +- "Please enable at least one language before including KDEInstallDirs.") +- else() +- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") +- set(_LIBDIR_DEFAULT "lib64") +- endif() +- endif() +- endif() +-endif() + + set(_gnu_install_dirs_vars + BINDIR diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/series b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/series new file mode 100644 index 000000000000..b4569e50a5f7 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/series @@ -0,0 +1 @@ +nix-lib-path.patch diff --git a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix new file mode 100644 index 000000000000..0a782ae177da --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, kbookmarks, kcompletion +, kconfig, kconfigwidgets, ki18n, kiconthemes, kio, knotifications +, kwidgetsaddons, libXcursor, qtx11extras +}: + +kdeFramework { + name = "frameworkintegration"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kbookmarks kcompletion kconfig kconfigwidgets knotifications ki18n kio + kiconthemes kwidgetsaddons libXcursor qtx11extras + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix new file mode 100644 index 000000000000..4f406376faa7 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix @@ -0,0 +1,8 @@ +{ kdeFramework, lib, ecm, boost, kactivities, kconfig }: + +kdeFramework { + name = "kactivities-stats"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ boost kactivities kconfig ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kactivities.nix b/pkgs/development/libraries/kde-frameworks/kactivities.nix new file mode 100644 index 000000000000..a2cacd4b257d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kactivities.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, boost, kcmutils, kconfig +, kcoreaddons, kdbusaddons, kdeclarative, kglobalaccel, ki18n +, kio, kservice, kwindowsystem, kxmlgui, qtdeclarative +}: + +kdeFramework { + name = "kactivities"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + boost kcmutils kconfig kcoreaddons kdbusaddons kdeclarative kglobalaccel + ki18n kio kservice kwindowsystem kxmlgui qtdeclarative + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kapidox.nix b/pkgs/development/libraries/kde-frameworks/kapidox.nix new file mode 100644 index 000000000000..f6c60b7731e1 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kapidox.nix @@ -0,0 +1,7 @@ +{ kdeFramework, lib, ecm, python }: + +kdeFramework { + name = "kapidox"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm python ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/karchive.nix b/pkgs/development/libraries/kde-frameworks/karchive.nix new file mode 100644 index 000000000000..265df45800f1 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/karchive.nix @@ -0,0 +1,7 @@ +{ kdeFramework, lib, ecm }: + +kdeFramework { + name = "karchive"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kauth/cmake-install-paths.patch b/pkgs/development/libraries/kde-frameworks/kauth/cmake-install-paths.patch new file mode 100644 index 000000000000..c66f5ecd008f --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kauth/cmake-install-paths.patch @@ -0,0 +1,17 @@ +Index: kauth-5.18.0/KF5AuthConfig.cmake.in +=================================================================== +--- kauth-5.18.0.orig/KF5AuthConfig.cmake.in ++++ kauth-5.18.0/KF5AuthConfig.cmake.in +@@ -4,9 +4,9 @@ set(KAUTH_STUB_FILES_DIR "@PACKAGE_KDE_I + + set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@") + set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@") +-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@") +-set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@") +-set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@") ++set(KAUTH_POLICY_FILES_INSTALL_DIR "${KDE_INSTALL_DATADIR}/polkit-1/actions") ++set(KAUTH_HELPER_INSTALL_DIR "${KDE_INSTALL_LIBEXECDIR}") ++set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "${KDE_INSTALL_LIBEXECDIR}") + + find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@") + diff --git a/pkgs/development/libraries/kde-frameworks/kauth/default.nix b/pkgs/development/libraries/kde-frameworks/kauth/default.nix new file mode 100644 index 000000000000..f2a1c7717d5d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kauth/default.nix @@ -0,0 +1,9 @@ +{ kdeFramework, lib, copyPathsToStore, ecm, kcoreaddons, polkit-qt }: + +kdeFramework { + name = "kauth"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ kcoreaddons polkit-qt ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); +} diff --git a/pkgs/development/libraries/kde-frameworks/kauth/series b/pkgs/development/libraries/kde-frameworks/kauth/series new file mode 100644 index 000000000000..d2689425c387 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kauth/series @@ -0,0 +1 @@ +cmake-install-paths.patch diff --git a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix new file mode 100644 index 000000000000..50cec5a39c86 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix @@ -0,0 +1,13 @@ +{ + kdeFramework, lib, ecm, + kcodecs, kconfig, kconfigwidgets, kcoreaddons, kiconthemes, kxmlgui +}: + +kdeFramework { + name = "kbookmarks"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kcodecs kconfig kconfigwidgets kcoreaddons kiconthemes kxmlgui + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kcmutils/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kcmutils/0001-qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..0d861fa95012 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kcmutils/0001-qdiriterator-follow-symlinks.patch @@ -0,0 +1,25 @@ +From f14d2a275323a47104b33eb61c5b6910ae1a9f59 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Wed, 14 Oct 2015 06:43:53 -0500 +Subject: [PATCH] qdiriterator follow symlinks + +--- + src/kpluginselector.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp +index 9c3431d..d6b1ee2 100644 +--- a/src/kpluginselector.cpp ++++ b/src/kpluginselector.cpp +@@ -305,7 +305,7 @@ void KPluginSelector::addPlugins(const QString &componentName, + QStringList desktopFileNames; + const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory); + Q_FOREACH (const QString &dir, dirs) { +- QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories); ++ QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + desktopFileNames.append(it.next()); + } +-- +2.5.2 + diff --git a/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix b/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix new file mode 100644 index 000000000000..dd1af737d68e --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix @@ -0,0 +1,15 @@ +{ kdeFramework, lib, ecm, kconfigwidgets +, kcoreaddons, kdeclarative, ki18n, kiconthemes, kitemviews +, kpackage, kservice, kxmlgui +}: + +kdeFramework { + name = "kcmutils"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kconfigwidgets kcoreaddons kdeclarative ki18n kiconthemes kitemviews + kpackage kservice kxmlgui + ]; + patches = [ ./0001-qdiriterator-follow-symlinks.patch ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kcodecs.nix b/pkgs/development/libraries/kde-frameworks/kcodecs.nix new file mode 100644 index 000000000000..a3fcd3023f52 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kcodecs.nix @@ -0,0 +1,7 @@ +{ kdeFramework, lib, ecm }: + +kdeFramework { + name = "kcodecs"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kcompletion.nix b/pkgs/development/libraries/kde-frameworks/kcompletion.nix new file mode 100644 index 000000000000..893f374933ea --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kcompletion.nix @@ -0,0 +1,8 @@ +{ kdeFramework, lib, ecm, kconfig, kwidgetsaddons }: + +kdeFramework { + name = "kcompletion"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ kconfig kwidgetsaddons ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kconfig.nix b/pkgs/development/libraries/kde-frameworks/kconfig.nix new file mode 100644 index 000000000000..0f003f8ea97e --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kconfig.nix @@ -0,0 +1,7 @@ +{ kdeFramework, lib, ecm }: + +kdeFramework { + name = "kconfig"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..7a6c0ee90534 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch @@ -0,0 +1,25 @@ +From 4f84780893d505b2d62a14633dd983baa8ec6e28 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Wed, 14 Oct 2015 06:47:01 -0500 +Subject: [PATCH] qdiriterator follow symlinks + +--- + src/khelpclient.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/khelpclient.cpp b/src/khelpclient.cpp +index 53a331e..80fbb01 100644 +--- a/src/khelpclient.cpp ++++ b/src/khelpclient.cpp +@@ -48,7 +48,7 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname) + QString docPath; + const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation); + Q_FOREACH (const QString &dir, desktopDirs) { +- QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories); ++ QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + const QString desktopPath(it.next()); + KDesktopFile desktopFile(desktopPath); +-- +2.5.2 + diff --git a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix new file mode 100644 index 000000000000..b88308b634c0 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix @@ -0,0 +1,17 @@ +{ + kdeFramework, lib, ecm, + kauth, kcodecs, kconfig, kdoctools, kguiaddons, ki18n, kwidgetsaddons +}: + +kdeFramework { + name = "kconfigwidgets"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + kauth kconfig kcodecs kguiaddons ki18n kwidgetsaddons + ]; + patches = [ ./0001-qdiriterator-follow-symlinks.patch ]; + postInstall = '' + moveToOutput "bin/preparetips5" "$dev" + ''; +} diff --git a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix new file mode 100644 index 000000000000..a3d5735ad274 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix @@ -0,0 +1,8 @@ +{ kdeFramework, lib, ecm, shared_mime_info }: + +kdeFramework { + name = "kcoreaddons"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ shared_mime_info ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kcrash.nix b/pkgs/development/libraries/kde-frameworks/kcrash.nix new file mode 100644 index 000000000000..2fcadc828cf4 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kcrash.nix @@ -0,0 +1,8 @@ +{ kdeFramework, lib, ecm, kcoreaddons, kwindowsystem, qtx11extras }: + +kdeFramework { + name = "kcrash"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ kcoreaddons kwindowsystem qtx11extras ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix b/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix new file mode 100644 index 000000000000..663200516604 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix @@ -0,0 +1,8 @@ +{ kdeFramework, lib, ecm, qtx11extras }: + +kdeFramework { + name = "kdbusaddons"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ qtx11extras ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix new file mode 100644 index 000000000000..a90a419d9b84 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix @@ -0,0 +1,15 @@ +{ + kdeFramework, lib, ecm, + epoxy, kconfig, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kpackage, + kwidgetsaddons, kwindowsystem, pkgconfig, qtdeclarative +}: + +kdeFramework { + name = "kdeclarative"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + epoxy kconfig kglobalaccel kguiaddons ki18n kiconthemes kio kpackage + kwidgetsaddons kwindowsystem qtdeclarative + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kded.nix b/pkgs/development/libraries/kde-frameworks/kded.nix new file mode 100644 index 000000000000..d8fe820518d3 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kded.nix @@ -0,0 +1,13 @@ +{ + kdeFramework, lib, ecm, + kconfig, kcoreaddons, kcrash, kdbusaddons, kdoctools, kinit, kservice +}: + +kdeFramework { + name = "kded"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + kconfig kcoreaddons kcrash kdbusaddons kinit kservice + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix new file mode 100644 index 000000000000..f3fd315e5500 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix @@ -0,0 +1,30 @@ +{ kdeFramework, lib, copyPathsToStore +, ecm, docbook_xml_dtd_45, kauth +, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons +, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons +, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels +, kinit, knotifications, kparts, kservice, ktextwidgets +, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui +, networkmanager, qtsvg, qtx11extras, xlibs +}: + +# TODO: debug docbook detection + +kdeFramework { + name = "kdelibs4support"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + setupHook = ./setup-hook.sh; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + kauth karchive kcompletion kconfig kconfigwidgets kcoreaddons kcrash + kdbusaddons kded kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n + kio kiconthemes kitemmodels kinit knotifications kparts kservice + ktextwidgets kunitconversion kwidgetsaddons kwindowsystem kxmlgui + networkmanager qtsvg qtx11extras xlibs.libSM + ]; + cmakeFlags = [ + "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" + "-DDocBookXML4_DTD_VERSION=4.5" + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kdelibs4support/nix-kde-include-dir.patch b/pkgs/development/libraries/kde-frameworks/kdelibs4support/nix-kde-include-dir.patch new file mode 100644 index 000000000000..eabb70254483 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdelibs4support/nix-kde-include-dir.patch @@ -0,0 +1,13 @@ +Index: kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp +=================================================================== +--- kdelibs4support-5.18.0.orig/src/kdecore/kstandarddirs.cpp ++++ kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp +@@ -292,7 +292,7 @@ static QString relativeInstallPath(const + return QFile::decodeName(ICON_INSTALL_DIR "/"); + } + if (strcmp("include", type) == 0) { +- return QFile::decodeName(INCLUDE_INSTALL_DIR "/"); ++ return QFile::decodeName(qgetenv("NIX_KDE_INCLUDE_DIR")); + } + break; + case 'l': diff --git a/pkgs/development/libraries/kde-frameworks/kdelibs4support/series b/pkgs/development/libraries/kde-frameworks/kdelibs4support/series new file mode 100644 index 000000000000..9b08ab208774 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdelibs4support/series @@ -0,0 +1 @@ +nix-kde-include-dir.patch diff --git a/pkgs/development/libraries/kde-frameworks/kdelibs4support/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/kdelibs4support/setup-hook.sh new file mode 100644 index 000000000000..21ac2e83b5da --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdelibs4support/setup-hook.sh @@ -0,0 +1 @@ +export NIX_KDE_INCLUDE_DIR="@dev@/include/" # trailing slash is required! diff --git a/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix b/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix new file mode 100644 index 000000000000..e87bb5bf9d01 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix @@ -0,0 +1,26 @@ +{ kdeFramework, lib +, ecm +, kcompletion +, kconfig +, kconfigwidgets +, kcoreaddons +, kdoctools +, kiconthemes +, kio +, kitemviews +, kplotting +, ktextwidgets +, kwidgetsaddons +, kxmlgui +, sonnet +}: + +kdeFramework { + name = "kdesignerplugin"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + kcompletion kconfig kconfigwidgets kcoreaddons kiconthemes kio + kitemviews kplotting ktextwidgets kwidgetsaddons kxmlgui sonnet + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kdesu.nix b/pkgs/development/libraries/kde-frameworks/kdesu.nix new file mode 100644 index 000000000000..0c5cb85cc494 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdesu.nix @@ -0,0 +1,10 @@ +{ kdeFramework, lib, ecm, kcoreaddons, ki18n, kpty +, kservice +}: + +kdeFramework { + name = "kdesu"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ kcoreaddons ki18n kpty kservice ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kdnssd.nix b/pkgs/development/libraries/kde-frameworks/kdnssd.nix new file mode 100644 index 000000000000..49fd368fccbf --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdnssd.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, ecm +, avahi +}: + +kdeFramework { + name = "kdnssd"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ avahi ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix new file mode 100644 index 000000000000..4a31ea5396df --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib, ecm, docbook_xml_dtd_45 +, docbook5_xsl, karchive, ki18n, perl, perlPackages +}: + +kdeFramework { + name = "kdoctools"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ karchive ki18n ]; + propagatedNativeBuildInputs = [ perl perlPackages.URI ]; + cmakeFlags = [ + "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" + "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook" + ]; + patches = [ ./kdoctools-no-find-docbook-xml.patch ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/kdoctools-no-find-docbook-xml.patch b/pkgs/development/libraries/kde-frameworks/kdoctools/kdoctools-no-find-docbook-xml.patch new file mode 100644 index 000000000000..4e3a33efab32 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdoctools/kdoctools-no-find-docbook-xml.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c4863c..f731775 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,7 +46,6 @@ set_package_properties(LibXml2 PROPERTIES + ) + + +-find_package(DocBookXML4 "4.5") + + set_package_properties(DocBookXML4 PROPERTIES + TYPE REQUIRED diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/kdoctools/setup-hook.sh new file mode 100644 index 000000000000..5cfffbd622d1 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kdoctools/setup-hook.sh @@ -0,0 +1,5 @@ +addXdgData() { + addToSearchPath XDG_DATA_DIRS "$1/share" +} + +envHooks+=(addXdgData) diff --git a/pkgs/development/libraries/kde-frameworks/kemoticons.nix b/pkgs/development/libraries/kde-frameworks/kemoticons.nix new file mode 100644 index 000000000000..cdffbd503576 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kemoticons.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib +, ecm +, karchive +, kconfig +, kcoreaddons +, kservice +}: + +kdeFramework { + name = "kemoticons"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ karchive kconfig kcoreaddons kservice ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kfilemetadata/cmake-install-paths.patch b/pkgs/development/libraries/kde-frameworks/kfilemetadata/cmake-install-paths.patch new file mode 100644 index 000000000000..732f7b69c828 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kfilemetadata/cmake-install-paths.patch @@ -0,0 +1,13 @@ +Index: kfilemetadata-5.18.0/src/CMakeLists.txt +=================================================================== +--- kfilemetadata-5.18.0.orig/src/CMakeLists.txt ++++ kfilemetadata-5.18.0/src/CMakeLists.txt +@@ -49,7 +49,7 @@ install(TARGETS KF5FileMetaData EXPORT K + + install(EXPORT KF5FileMetaDataTargets + NAMESPACE KF5:: +- DESTINATION ${LIB_INSTALL_DIR}/cmake/KF5FileMetaData ++ DESTINATION ${KDE_INSTALL_FULL_CMAKEPACKAGEDIR}/KF5FileMetaData + FILE KF5FileMetaDataTargets.cmake) + + install(FILES diff --git a/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix b/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix new file mode 100644 index 000000000000..31f692deca64 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib, copyPathsToStore, ecm +, attr, ebook_tools, exiv2, ffmpeg, karchive, ki18n, poppler, qtbase, taglib +}: + +kdeFramework { + name = "kfilemetadata"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + attr ebook_tools exiv2 ffmpeg karchive ki18n poppler qtbase taglib + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kfilemetadata/series b/pkgs/development/libraries/kde-frameworks/kfilemetadata/series new file mode 100644 index 000000000000..d2689425c387 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kfilemetadata/series @@ -0,0 +1 @@ +cmake-install-paths.patch diff --git a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix new file mode 100644 index 000000000000..8ac0adafbd18 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix @@ -0,0 +1,18 @@ +{ kdeFramework, lib +, ecm +, kconfig +, kcoreaddons +, kcrash +, kdbusaddons +, kwindowsystem +, qtx11extras +}: + +kdeFramework { + name = "kglobalaccel"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kconfig kcoreaddons kcrash kdbusaddons kwindowsystem qtx11extras + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix new file mode 100644 index 000000000000..9f20ecd598a4 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, ecm +, qtx11extras +}: + +kdeFramework { + name = "kguiaddons"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ qtx11extras ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/khtml.nix b/pkgs/development/libraries/kde-frameworks/khtml.nix new file mode 100644 index 000000000000..be1094b7cf5a --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/khtml.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib, ecm, giflib, karchive +, kcodecs, kglobalaccel, ki18n, kiconthemes, kio, kjs +, knotifications, kparts, ktextwidgets, kwallet, kwidgetsaddons +, kwindowsystem, kxmlgui, perl, phonon, qtx11extras, sonnet +}: + +kdeFramework { + name = "khtml"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm perl ]; + propagatedBuildInputs = [ + giflib karchive kcodecs kglobalaccel ki18n kiconthemes kio kjs + knotifications kparts ktextwidgets kwallet kwidgetsaddons kwindowsystem + kxmlgui phonon qtx11extras sonnet + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/ki18n.nix b/pkgs/development/libraries/kde-frameworks/ki18n.nix new file mode 100644 index 000000000000..cf2212413bd2 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/ki18n.nix @@ -0,0 +1,15 @@ +{ kdeFramework, lib +, ecm +, gettext +, python +, qtdeclarative +, qtscript +}: + +kdeFramework { + name = "ki18n"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ qtdeclarative qtscript ]; + propagatedNativeBuildInputs = [ gettext python ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kiconthemes/default-theme-breeze.patch b/pkgs/development/libraries/kde-frameworks/kiconthemes/default-theme-breeze.patch new file mode 100644 index 000000000000..f7cb0ea3aacc --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kiconthemes/default-theme-breeze.patch @@ -0,0 +1,13 @@ +Index: kiconthemes-5.17.0/src/kicontheme.cpp +=================================================================== +--- kiconthemes-5.17.0.orig/src/kicontheme.cpp ++++ kiconthemes-5.17.0/src/kicontheme.cpp +@@ -557,7 +557,7 @@ void KIconTheme::reconfigure() + // static + QString KIconTheme::defaultThemeName() + { +- return QStringLiteral("hicolor"); ++ return QStringLiteral("breeze"); + } + + void KIconTheme::assignIconsToContextMenu(ContextMenus type, diff --git a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix new file mode 100644 index 000000000000..6141db849efe --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix @@ -0,0 +1,12 @@ +{ kdeFramework, lib, copyPathsToStore +, ecm +, karchive, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg +}: + +kdeFramework { + name = "kiconthemes"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ breeze-icons kconfigwidgets karchive ki18n kitemviews qtsvg ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kiconthemes/series b/pkgs/development/libraries/kde-frameworks/kiconthemes/series new file mode 100644 index 000000000000..ab5cc8a3edb2 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kiconthemes/series @@ -0,0 +1 @@ +default-theme-breeze.patch diff --git a/pkgs/development/libraries/kde-frameworks/kidletime.nix b/pkgs/development/libraries/kde-frameworks/kidletime.nix new file mode 100644 index 000000000000..d3f46512db23 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kidletime.nix @@ -0,0 +1,12 @@ +{ kdeFramework, lib +, ecm +, qtbase +, qtx11extras +}: + +kdeFramework { + name = "kidletime"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ qtbase qtx11extras ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix new file mode 100644 index 000000000000..ec22dc335d5f --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, ecm +, ilmbase +}: + +kdeFramework { + name = "kimageformats"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; +} diff --git a/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/pkgs/development/libraries/kde-frameworks/kinit/default.nix new file mode 100644 index 000000000000..032bdd30d9ec --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kinit/default.nix @@ -0,0 +1,15 @@ +{ + kdeFramework, lib, copyPathsToStore, + ecm, kdoctools, + kconfig, kcrash, ki18n, kio, kservice, kwindowsystem +}: + +kdeFramework { + name = "kinit"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + kconfig kcrash ki18n kio kservice kwindowsystem + ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); +} diff --git a/pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch b/pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch new file mode 100644 index 000000000000..a5c76fca2481 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch @@ -0,0 +1,34 @@ +Index: kinit-5.24.0/src/kdeinit/kinit.cpp +=================================================================== +--- kinit-5.24.0.orig/src/kdeinit/kinit.cpp ++++ kinit-5.24.0/src/kdeinit/kinit.cpp +@@ -672,19 +672,16 @@ static pid_t launch(int argc, const char + + if (!libpath.isEmpty()) { + if (libpath_relative) { +- // NB: Because Qt makes the actual dlopen() call, the +- // RUNPATH of kdeinit is *not* respected - see +- // https://sourceware.org/bugzilla/show_bug.cgi?id=13945 +- // - so we try hacking it in ourselves +- QString install_lib_dir = QFile::decodeName( +- CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/"); +- QString orig_libpath = libpath; +- libpath = install_lib_dir + libpath; +- l.setFileName(libpath); +- if (!l.load()) { +- libpath = orig_libpath; +- l.setFileName(libpath); +- l.load(); ++ // Try to load the library relative to the active profiles. ++ QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); ++ // Reverse the profile list. ++ std::reverse(profiles.begin(), profiles.end()); ++ const QString libdir = QString::fromLatin1("/lib/"); ++ Q_FOREACH (const QByteArray &profile, profiles) { ++ if (!profile.isEmpty()) { ++ l.setFileName(QFile::decodeName(profile) + libdir + libpath); ++ if (l.load()) break; ++ } + } + } else { + l.load(); diff --git a/pkgs/development/libraries/kde-frameworks/kinit/series b/pkgs/development/libraries/kde-frameworks/kinit/series new file mode 100644 index 000000000000..576b8a935bf1 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kinit/series @@ -0,0 +1,2 @@ +kinit-libpath.patch +start_kdeinit-path.patch diff --git a/pkgs/development/libraries/kde-frameworks/kinit/start_kdeinit-path.patch b/pkgs/development/libraries/kde-frameworks/kinit/start_kdeinit-path.patch new file mode 100644 index 000000000000..fbecf9433f69 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kinit/start_kdeinit-path.patch @@ -0,0 +1,13 @@ +Index: kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c +=================================================================== +--- kinit-5.24.0.orig/src/start_kdeinit/start_kdeinit_wrapper.c ++++ kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c +@@ -23,7 +23,7 @@ + #include <string.h> + #include <unistd.h> + +-#define EXECUTE CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit" ++#define EXECUTE "/var/setuid-wrappers/start_kdeinit" + + #if KDEINIT_OOM_PROTECT + diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix new file mode 100644 index 000000000000..7623e44a0761 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix @@ -0,0 +1,21 @@ +{ kdeFramework, lib, copyPathsToStore +, ecm, acl, karchive +, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons +, kdbusaddons, kdoctools, ki18n, kiconthemes, kitemviews +, kjobwidgets, knotifications, kservice, ktextwidgets, kwallet +, kwidgetsaddons, kwindowsystem, kxmlgui +, qtscript, qtx11extras, solid +}: + +kdeFramework { + name = "kio"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + acl karchive kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons + kdbusaddons ki18n kiconthemes kitemviews kjobwidgets knotifications kservice + ktextwidgets kwallet kwidgetsaddons kwindowsystem kxmlgui solid qtscript + qtx11extras + ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); +} diff --git a/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch b/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch new file mode 100644 index 000000000000..c9ad46b41bb7 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch @@ -0,0 +1,28 @@ +Index: kio-5.17.0/src/core/ksambashare.cpp +=================================================================== +--- kio-5.17.0.orig/src/core/ksambashare.cpp ++++ kio-5.17.0/src/core/ksambashare.cpp +@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate( + + bool KSambaSharePrivate::isSambaInstalled() + { +- if (QFile::exists(QStringLiteral("/usr/sbin/smbd")) +- || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) { +- return true; ++ const QByteArray pathEnv = qgetenv("PATH"); ++ if (!pathEnv.isEmpty()) { ++ QLatin1Char pathSep(':'); ++ QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts); ++ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) { ++ it->append("/smbd"); ++ if (QFile::exists(*it)) { ++ return true; ++ } ++ } + } + +- //qDebug() << "Samba is not installed!"; +- + return false; + } + diff --git a/pkgs/development/libraries/kde-frameworks/kio/series b/pkgs/development/libraries/kde-frameworks/kio/series new file mode 100644 index 000000000000..77ca15450047 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kio/series @@ -0,0 +1 @@ +samba-search-path.patch diff --git a/pkgs/development/libraries/kde-frameworks/kitemmodels.nix b/pkgs/development/libraries/kde-frameworks/kitemmodels.nix new file mode 100644 index 000000000000..0a474dfdb7d7 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kitemmodels.nix @@ -0,0 +1,9 @@ +{ kdeFramework, lib +, ecm +}: + +kdeFramework { + name = "kitemmodels"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kitemviews.nix b/pkgs/development/libraries/kde-frameworks/kitemviews.nix new file mode 100644 index 000000000000..0af3de5770a9 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kitemviews.nix @@ -0,0 +1,9 @@ +{ kdeFramework, lib +, ecm +}: + +kdeFramework { + name = "kitemviews"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix b/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix new file mode 100644 index 000000000000..1337f4109c2d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix @@ -0,0 +1,13 @@ +{ kdeFramework, lib +, ecm +, kcoreaddons +, kwidgetsaddons +, qtx11extras +}: + +kdeFramework { + name = "kjobwidgets"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ kcoreaddons kwidgetsaddons qtx11extras ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kjs.nix b/pkgs/development/libraries/kde-frameworks/kjs.nix new file mode 100644 index 000000000000..12852e6a1e77 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kjs.nix @@ -0,0 +1,10 @@ +{ kdeFramework, lib +, ecm +, kdoctools +}: + +kdeFramework { + name = "kjs"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kjsembed.nix b/pkgs/development/libraries/kde-frameworks/kjsembed.nix new file mode 100644 index 000000000000..20c8b2eea162 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kjsembed.nix @@ -0,0 +1,10 @@ +{ kdeFramework, lib, ecm, kdoctools, ki18n, kjs +, qtsvg +}: + +kdeFramework { + name = "kjsembed"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ ki18n kjs qtsvg ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix b/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix new file mode 100644 index 000000000000..360d8e90daf2 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix @@ -0,0 +1,12 @@ +{ kdeFramework, lib +, ecm +, kparts +, kxmlgui +}: + +kdeFramework { + name = "kmediaplayer"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ kparts kxmlgui ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/knewstuff.nix b/pkgs/development/libraries/kde-frameworks/knewstuff.nix new file mode 100644 index 000000000000..b6a84e2539d2 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/knewstuff.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, attica, karchive +, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes, kio +, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui +}: + +kdeFramework { + name = "knewstuff"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + attica karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio + kitemviews kservice ktextwidgets kwidgetsaddons kxmlgui + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/knotifications.nix b/pkgs/development/libraries/kde-frameworks/knotifications.nix new file mode 100644 index 000000000000..061a5d8d142a --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/knotifications.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib +, ecm +, kcodecs, kconfig, kcoreaddons, kwindowsystem +, libdbusmenu +, phonon +, qtx11extras +}: + +kdeFramework { + name = "knotifications"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kcodecs kconfig kcoreaddons kwindowsystem libdbusmenu phonon qtx11extras + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix b/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix new file mode 100644 index 000000000000..b64f109f08b1 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix @@ -0,0 +1,10 @@ +{ kdeFramework, lib, ecm, kcompletion, kconfig +, ki18n, kio, phonon +}: + +kdeFramework { + name = "knotifyconfig"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ kcompletion kconfig ki18n kio phonon ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/allow-external-paths.patch b/pkgs/development/libraries/kde-frameworks/kpackage/allow-external-paths.patch new file mode 100644 index 000000000000..e9d744448148 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kpackage/allow-external-paths.patch @@ -0,0 +1,13 @@ +Index: kpackage-5.18.0/src/kpackage/package.cpp +=================================================================== +--- kpackage-5.18.0.orig/src/kpackage/package.cpp ++++ kpackage-5.18.0/src/kpackage/package.cpp +@@ -808,7 +808,7 @@ PackagePrivate::PackagePrivate() + : QSharedData(), + fallbackPackage(0), + metadata(0), +- externalPaths(false), ++ externalPaths(true), + valid(false), + checkedValid(false) + { diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix new file mode 100644 index 000000000000..76ab7dbe013a --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix @@ -0,0 +1,16 @@ +{ kdeFramework, lib, copyPathsToStore +, ecm +, karchive +, kconfig +, kcoreaddons +, kdoctools +, ki18n +}: + +kdeFramework { + name = "kpackage"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ karchive kconfig kcoreaddons ki18n ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); +} diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kpackage/qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..ddbf17d00064 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kpackage/qdiriterator-follow-symlinks.patch @@ -0,0 +1,26 @@ +Index: kpackage-5.18.0/src/kpackage/packageloader.cpp +=================================================================== +--- kpackage-5.18.0.orig/src/kpackage/packageloader.cpp ++++ kpackage-5.18.0/src/kpackage/packageloader.cpp +@@ -241,7 +241,7 @@ QList<KPluginMetaData> PackageLoader::li + } else { + //qDebug() << "Not cached"; + // If there's no cache file, fall back to listing the directory +- const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories; ++ const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories | QDirIterator::FollowSymlinks; + const QStringList nameFilters = QStringList(QStringLiteral("metadata.desktop")) << QStringLiteral("metadata.json"); + + QDirIterator it(plugindir, nameFilters, QDir::Files, flags); +Index: kpackage-5.18.0/src/kpackage/private/packagejobthread.cpp +=================================================================== +--- kpackage-5.18.0.orig/src/kpackage/private/packagejobthread.cpp ++++ kpackage-5.18.0/src/kpackage/private/packagejobthread.cpp +@@ -146,7 +146,7 @@ bool indexDirectory(const QString& dir, + + QJsonArray plugins; + +- QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories); ++ QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + it.next(); + const QString path = it.fileInfo().absoluteFilePath(); diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/series b/pkgs/development/libraries/kde-frameworks/kpackage/series new file mode 100644 index 000000000000..9b7f076efc70 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kpackage/series @@ -0,0 +1,2 @@ +allow-external-paths.patch +qdiriterator-follow-symlinks.patch diff --git a/pkgs/development/libraries/kde-frameworks/kparts.nix b/pkgs/development/libraries/kde-frameworks/kparts.nix new file mode 100644 index 000000000000..a46fa210b276 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kparts.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, kconfig, kcoreaddons +, ki18n, kiconthemes, kio, kjobwidgets, knotifications, kservice +, ktextwidgets, kwidgetsaddons, kxmlgui +}: + +kdeFramework { + name = "kparts"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kconfig kcoreaddons ki18n kiconthemes kio kjobwidgets knotifications + kservice ktextwidgets kwidgetsaddons kxmlgui + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kpeople.nix b/pkgs/development/libraries/kde-frameworks/kpeople.nix new file mode 100644 index 000000000000..4ca9bc7fdbf9 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kpeople.nix @@ -0,0 +1,12 @@ +{ kdeFramework, lib, ecm, kcoreaddons, ki18n +, kitemviews, kservice, kwidgetsaddons, qtdeclarative +}: + +kdeFramework { + name = "kpeople"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kcoreaddons ki18n kitemviews kservice kwidgetsaddons qtdeclarative + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kplotting.nix b/pkgs/development/libraries/kde-frameworks/kplotting.nix new file mode 100644 index 000000000000..6eda06445dc5 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kplotting.nix @@ -0,0 +1,9 @@ +{ kdeFramework, lib +, ecm +}: + +kdeFramework { + name = "kplotting"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kpty.nix b/pkgs/development/libraries/kde-frameworks/kpty.nix new file mode 100644 index 000000000000..d42f96fb92c5 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kpty.nix @@ -0,0 +1,8 @@ +{ kdeFramework, lib, ecm, kcoreaddons, ki18n }: + +kdeFramework { + name = "kpty"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ kcoreaddons ki18n ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kross.nix b/pkgs/development/libraries/kde-frameworks/kross.nix new file mode 100644 index 000000000000..ae098654eb11 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kross.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, kcompletion, kcoreaddons +, kdoctools, ki18n, kiconthemes, kio, kparts, kwidgetsaddons +, kxmlgui, qtscript +}: + +kdeFramework { + name = "kross"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + kcompletion kcoreaddons ki18n kiconthemes kio kparts kwidgetsaddons kxmlgui + qtscript + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/krunner.nix b/pkgs/development/libraries/kde-frameworks/krunner.nix new file mode 100644 index 000000000000..064a89e08067 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/krunner.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, kconfig, kcoreaddons +, ki18n, kio, kservice, plasma-framework, solid +, threadweaver +}: + +kdeFramework { + name = "krunner"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kconfig kcoreaddons ki18n kio kservice plasma-framework solid + threadweaver + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kservice/default.nix b/pkgs/development/libraries/kde-frameworks/kservice/default.nix new file mode 100644 index 000000000000..12e617a7d9af --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kservice/default.nix @@ -0,0 +1,13 @@ +{ + kdeFramework, lib, copyPathsToStore, ecm, + kconfig, kcoreaddons, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem +}: + +kdeFramework { + name = "kservice"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + propagatedNativeBuildInputs = [ ecm ]; + nativeBuildInputs = [ kdoctools ]; + propagatedBuildInputs = [ kconfig kcoreaddons kcrash kdbusaddons ki18n kwindowsystem ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); +} diff --git a/pkgs/development/libraries/kde-frameworks/kservice/no-canonicalize-path.patch b/pkgs/development/libraries/kde-frameworks/kservice/no-canonicalize-path.patch new file mode 100644 index 000000000000..cf98ffb9067f --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kservice/no-canonicalize-path.patch @@ -0,0 +1,13 @@ +Index: kservice-5.21.0/src/sycoca/vfolder_menu.cpp +=================================================================== +--- kservice-5.21.0.orig/src/sycoca/vfolder_menu.cpp ++++ kservice-5.21.0/src/sycoca/vfolder_menu.cpp +@@ -415,7 +415,7 @@ VFolderMenu::absoluteDir(const QString & + } + + if (!relative) { +- QString resolved = QDir(dir).canonicalPath(); ++ QString resolved = QDir::cleanPath(dir); + if (!resolved.isEmpty()) { + dir = resolved; + } diff --git a/pkgs/development/libraries/kde-frameworks/kservice/qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kservice/qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..cbe13b709508 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kservice/qdiriterator-follow-symlinks.patch @@ -0,0 +1,13 @@ +Index: kservice-5.21.0/src/sycoca/kbuildsycoca.cpp +=================================================================== +--- kservice-5.21.0.orig/src/sycoca/kbuildsycoca.cpp ++++ kservice-5.21.0/src/sycoca/kbuildsycoca.cpp +@@ -203,7 +203,7 @@ bool KBuildSycoca::build() + QSet<QString> relFiles; + const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, m_resourceSubdir, QStandardPaths::LocateDirectory); + Q_FOREACH (const QString &dir, dirs) { +- QDirIterator it(dir, QDirIterator::Subdirectories); ++ QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + const QString filePath = it.next(); + Q_ASSERT(filePath.startsWith(dir)); // due to the line below... diff --git a/pkgs/development/libraries/kde-frameworks/kservice/series b/pkgs/development/libraries/kde-frameworks/kservice/series new file mode 100644 index 000000000000..3ce22dbd35a0 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kservice/series @@ -0,0 +1,2 @@ +qdiriterator-follow-symlinks.patch +no-canonicalize-path.patch \ No newline at end of file diff --git a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix new file mode 100644 index 000000000000..8cd7e95b659a --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, copyPathsToStore +, ecm, perl +, karchive, kconfig, kguiaddons, kiconthemes, kparts +, libgit2 +, qtscript, qtxmlpatterns +, ki18n, kio, sonnet +}: + +kdeFramework { + name = "ktexteditor"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm perl ]; + propagatedBuildInputs = [ + karchive kconfig kguiaddons ki18n kiconthemes kio kparts libgit2 qtscript + qtxmlpatterns sonnet + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix new file mode 100644 index 000000000000..3a1258e9a37b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, kcompletion, kconfig +, kconfigwidgets, ki18n, kiconthemes, kservice, kwindowsystem +, sonnet +}: + +kdeFramework { + name = "ktextwidgets"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + kcompletion kconfig kconfigwidgets ki18n kiconthemes kservice kwindowsystem + sonnet + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kunitconversion.nix b/pkgs/development/libraries/kde-frameworks/kunitconversion.nix new file mode 100644 index 000000000000..136587cc682e --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kunitconversion.nix @@ -0,0 +1,8 @@ +{ kdeFramework, lib, ecm, ki18n }: + +kdeFramework { + name = "kunitconversion"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ ki18n ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kwallet.nix b/pkgs/development/libraries/kde-frameworks/kwallet.nix new file mode 100644 index 000000000000..fb801f48b119 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kwallet.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, kconfig, kconfigwidgets +, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes +, knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt +}: + +kdeFramework { + name = "kwallet"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + kconfig kconfigwidgets kcoreaddons kdbusaddons ki18n kiconthemes + knotifications kservice kwidgetsaddons kwindowsystem libgcrypt + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kwayland.nix b/pkgs/development/libraries/kde-frameworks/kwayland.nix new file mode 100644 index 000000000000..c530bf80a90e --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kwayland.nix @@ -0,0 +1,14 @@ +{ kdeFramework +, ecm +, wayland +}: + +kdeFramework { + name = "kwayland"; + nativeBuildInputs = [ + ecm + ]; + propagatedBuildInputs = [ + wayland + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix b/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix new file mode 100644 index 000000000000..ae34e60c4c12 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix @@ -0,0 +1,9 @@ +{ kdeFramework, lib +, ecm +}: + +kdeFramework { + name = "kwidgetsaddons"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix b/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix new file mode 100644 index 000000000000..64186a30eadc --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, ecm +, qtx11extras +}: + +kdeFramework { + name = "kwindowsystem"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ qtx11extras ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix new file mode 100644 index 000000000000..c48fc9efdfad --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, ecm, attica, kconfig +, kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews +, ktextwidgets, kwindowsystem, sonnet +}: + +kdeFramework { + name = "kxmlgui"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ + attica kconfig kconfigwidgets kglobalaccel ki18n kiconthemes kitemviews + ktextwidgets kwindowsystem sonnet + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix b/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix new file mode 100644 index 000000000000..31301875351f --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix @@ -0,0 +1,8 @@ +{ kdeFramework, lib, ecm, ki18n, kio }: + +kdeFramework { + name = "kxmlrpcclient"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ ki18n kio ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix b/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix new file mode 100644 index 000000000000..bf3487dcb391 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, ecm +, modemmanager +}: + +kdeFramework { + name = "modemmanager-qt"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ modemmanager ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix b/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix new file mode 100644 index 000000000000..bb5968635388 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, ecm +, networkmanager +}: + +kdeFramework { + name = "networkmanager-qt"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ networkmanager ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix b/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix new file mode 100644 index 000000000000..42978b46992d --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix @@ -0,0 +1,14 @@ +{ kdeFramework +, lib +, ecm +}: + +kdeFramework { + name = "oxygen-icons5"; + meta = { + license = lib.licenses.lgpl3Plus; + maintainers = [ lib.maintainers.ttuegel ]; + }; + outputs = [ "out" ]; + nativeBuildInputs = [ ecm ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix new file mode 100644 index 000000000000..60910b0d678b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix @@ -0,0 +1,17 @@ +{ kdeFramework, lib, ecm, kactivities, karchive +, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative +, kdoctools, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio +, knotifications, kpackage, kservice, kwindowsystem, kxmlgui +, qtscript, qtx11extras +}: + +kdeFramework { + name = "plasma-framework"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm kdoctools ]; + propagatedBuildInputs = [ + kactivities karchive kconfig kconfigwidgets kcoreaddons kdbusaddons + kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio knotifications + kpackage kservice kwindowsystem kxmlgui qtscript qtx11extras + ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/setup-hook.sh new file mode 100644 index 000000000000..5363f4e30fdc --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/setup-hook.sh @@ -0,0 +1,99 @@ +_ecmSetXdgDirs() { + addToSearchPathOnce XDG_DATA_DIRS "$1/share" + addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg" + addToSearchPathOnce RUNTIME_XDG_CONFIG_DIRS "$1/etc/xdg" +} + +_ecmSharePaths=( \ + "appdata" \ + "applications" \ + "config.cfg" \ + "dbus-1" \ + "desktop-directories" \ + "doc" \ + "icons" \ + "kconf_update" \ + "kservices5" \ + "kservicetypes5" \ + "knotifications5" \ + "kxmlgui5" \ + "locale" \ + "mime" \ + "polkit-1" \ + "sounds" \ + "templates" \ + "wallpapers" \ + ) + +_ecmPropagateNative() { + for dir in ${_ecmSharePaths[@]}; do + if [ -d "$1/share/$dir" ]; then + propagateOnce propagatedNativeBuildInputs "$1" + if [ -z "$crossConfig" ]; then + propagateOnce propagatedUserEnvPkgs "$1" + addToSearchPathOnce RUNTIME_XDG_DATA_DIRS "$1/share" + fi + break + fi + done +} + +envHooks+=(_ecmSetXdgDirs _ecmPropagate) + +_ecmPropagate() { + for dir in ${_ecmSharePaths[@]}; do + if [ -d "$1/share/$dir" ]; then + propagateOnce propagatedBuildInputs "$1" + propagateOnce propagatedUserEnvPkgs "$1" + addToSearchPathOnce RUNTIME_XDG_DATA_DIRS "$1/share" + break + fi + done +} + +crossEnvHooks+=(_ecmPropagate) + +_ecmConfig() { + # Because we need to use absolute paths here, we must set *all* the paths. + cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}" + cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin" + cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" + cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib" + cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec" + cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" + cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins" + cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins" + cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports" + cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml" + cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" + cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" + cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share" + cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share" + cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML" + cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg" + cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update" + cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5" + cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5" + cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5" + cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5" + cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons" + cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" + cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds" + cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates" + cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers" + cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications" + cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories" + cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages" + cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata" + cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man" + cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info" + cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1" + cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces" + cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services" + cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services" + cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc" + cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg" + cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart" +} + +preConfigureHooks+=(_ecmConfig) diff --git a/pkgs/development/libraries/kde-frameworks/solid.nix b/pkgs/development/libraries/kde-frameworks/solid.nix new file mode 100644 index 000000000000..aad6e5eb601b --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/solid.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, ecm +, qtdeclarative +}: + +kdeFramework { + name = "solid"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + propagatedBuildInputs = [ qtdeclarative ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/sonnet.nix b/pkgs/development/libraries/kde-frameworks/sonnet.nix new file mode 100644 index 000000000000..8b1cf6a2cd11 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/sonnet.nix @@ -0,0 +1,11 @@ +{ kdeFramework, lib +, ecm +, hunspell +}: + +kdeFramework { + name = "sonnet"; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; + nativeBuildInputs = [ ecm ]; + buildInputs = [ hunspell ]; +} diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix new file mode 100644 index 000000000000..5c48ece1e99e --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/srcs.nix @@ -0,0 +1,581 @@ +# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh +{ fetchurl, mirror }: + +{ + attica = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/attica-5.24.0.tar.xz"; + sha256 = "0d368gmds7m7k5pnn625wqsij38cvxk1gkm4zv24phnk9f67v7cw"; + name = "attica-5.24.0.tar.xz"; + }; + }; + baloo = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/baloo-5.24.0.tar.xz"; + sha256 = "1ayfdg6j9lvas17ryjdv4a0kaj6vw3bxfy2x9nadl0gkc9pak4nh"; + name = "baloo-5.24.0.tar.xz"; + }; + }; + bluez-qt = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/bluez-qt-5.24.0.tar.xz"; + sha256 = "0gy0m7lcwwklf021l5i3v7j0cl7qz7cgvzrwpj87ix3kyw5xs80z"; + name = "bluez-qt-5.24.0.tar.xz"; + }; + }; + breeze-icons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/breeze-icons-5.24.0.tar.xz"; + sha256 = "1dh7bijx99sdb3vn6394wmm5cq0fvvmz8h17sx4hakmbga849cx2"; + name = "breeze-icons-5.24.0.tar.xz"; + }; + }; + extra-cmake-modules = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/extra-cmake-modules-5.24.0.tar.xz"; + sha256 = "01m12ml529pwr2sal951r5z6yb1rwbpid1y4k14nlk3xqgmdakwa"; + name = "extra-cmake-modules-5.24.0.tar.xz"; + }; + }; + frameworkintegration = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/frameworkintegration-5.24.0.tar.xz"; + sha256 = "0brqgq05m06d98qqvyh30727f5z7hlzxgqysfhfvqzcf3x7f6yzj"; + name = "frameworkintegration-5.24.0.tar.xz"; + }; + }; + kactivities = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kactivities-5.24.0.tar.xz"; + sha256 = "0s8g43zk6h35bq1am1nnhj0qvmhd6kz42gs8l7ybga0367jghzhf"; + name = "kactivities-5.24.0.tar.xz"; + }; + }; + kactivities-stats = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kactivities-stats-5.24.0.tar.xz"; + sha256 = "1z3xvpifxbd05b2xaxxyiypcpid7jgjb1qpwiyjj1gnfp4rjmzpc"; + name = "kactivities-stats-5.24.0.tar.xz"; + }; + }; + kapidox = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kapidox-5.24.0.tar.xz"; + sha256 = "19a7alvn71nxflsyi7y3hghx1iw04qqc77qy54mcxcpkiyvpsggf"; + name = "kapidox-5.24.0.tar.xz"; + }; + }; + karchive = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/karchive-5.24.0.tar.xz"; + sha256 = "1n5nfhrfvqnrdjgjjy7arqik4fya5bp3dvxa16mlhqr19azkavzq"; + name = "karchive-5.24.0.tar.xz"; + }; + }; + kauth = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kauth-5.24.0.tar.xz"; + sha256 = "14sjjfgl3arqyqcr77w9qhpnd8mrnh53r5rfss6bvlk26bmihs49"; + name = "kauth-5.24.0.tar.xz"; + }; + }; + kbookmarks = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kbookmarks-5.24.0.tar.xz"; + sha256 = "10d8dnhvbrwp0dbmz93cqfdff6ir8iy3yiwaf9ihj6ma124qlyjn"; + name = "kbookmarks-5.24.0.tar.xz"; + }; + }; + kcmutils = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcmutils-5.24.0.tar.xz"; + sha256 = "0aws1c76s6wbp0xpr6qv6cfwq8dw82v00pkf9gy84sbxknwjnizk"; + name = "kcmutils-5.24.0.tar.xz"; + }; + }; + kcodecs = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcodecs-5.24.0.tar.xz"; + sha256 = "1qpzjh3qc2zz80j2bmlinipbispms14k9bmqw8v61zhi6in9z14c"; + name = "kcodecs-5.24.0.tar.xz"; + }; + }; + kcompletion = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcompletion-5.24.0.tar.xz"; + sha256 = "1qln0v31gn86kzwhnkijr1ydf129n32jmiybbckrp4w6hyx6xfxv"; + name = "kcompletion-5.24.0.tar.xz"; + }; + }; + kconfig = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kconfig-5.24.0.tar.xz"; + sha256 = "1dc2i6icyigw1j6qxgdza6j2g8afh390qmxsa2a54mwl84fkfmxv"; + name = "kconfig-5.24.0.tar.xz"; + }; + }; + kconfigwidgets = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kconfigwidgets-5.24.0.tar.xz"; + sha256 = "0v25r50gh5i984lzlv0rradghglcfqf0gsfmnkn23h87b86fm9l2"; + name = "kconfigwidgets-5.24.0.tar.xz"; + }; + }; + kcoreaddons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcoreaddons-5.24.0.tar.xz"; + sha256 = "06sx7by3nvaridnavj5p0bxv4nh47n708jlacfw8ydaikmd9i03h"; + name = "kcoreaddons-5.24.0.tar.xz"; + }; + }; + kcrash = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcrash-5.24.0.tar.xz"; + sha256 = "1lahgfwlp9b5rsl244kzp7rsl4ybv1q4qlvpv0xxz5ygssk48l0w"; + name = "kcrash-5.24.0.tar.xz"; + }; + }; + kdbusaddons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdbusaddons-5.24.0.tar.xz"; + sha256 = "183nxqrhz4qk4qfp1w4an0scp2dvfqcaqbpg4cgbgk0z590q0pkk"; + name = "kdbusaddons-5.24.0.tar.xz"; + }; + }; + kdeclarative = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdeclarative-5.24.0.tar.xz"; + sha256 = "00ik9q1r6y6g5rkdq96yczgrxmcg85x00lipyljvc3x6xw6bixbz"; + name = "kdeclarative-5.24.0.tar.xz"; + }; + }; + kded = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kded-5.24.0.tar.xz"; + sha256 = "0ngpxdxb596myn5r4kjxahx195bwklq33yvgjvcbxi2clg2wccaj"; + name = "kded-5.24.0.tar.xz"; + }; + }; + kdelibs4support = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kdelibs4support-5.24.0.tar.xz"; + sha256 = "12sis63mq6i372bhx64x8y0pw6czrv64hdhjscx27cx65a4ir451"; + name = "kdelibs4support-5.24.0.tar.xz"; + }; + }; + kdesignerplugin = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdesignerplugin-5.24.0.tar.xz"; + sha256 = "0i0s8pwwhwh5hyyvkv0cnj0yyv0g5bnm5xw18knv2yagiy4bvb2j"; + name = "kdesignerplugin-5.24.0.tar.xz"; + }; + }; + kdesu = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdesu-5.24.0.tar.xz"; + sha256 = "1ivcnhgvq75xvl0w9g7m45qzallz42ijaq0n1ap09lpdfmjbnrxk"; + name = "kdesu-5.24.0.tar.xz"; + }; + }; + kdewebkit = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdewebkit-5.24.0.tar.xz"; + sha256 = "1xq36zv7vnllhqbisl6kcna8z6qzlvy29a47g0hbzgl8rc93qskf"; + name = "kdewebkit-5.24.0.tar.xz"; + }; + }; + kdnssd = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdnssd-5.24.0.tar.xz"; + sha256 = "01b650g031apxc3vd2m91g2fxqk9l8ap67z6rafniphfwy8i0d5m"; + name = "kdnssd-5.24.0.tar.xz"; + }; + }; + kdoctools = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdoctools-5.24.0.tar.xz"; + sha256 = "1r129kpq0d11b9l87cqbal6fm5ycwhsps1g3r1a7jsxz70scz4ri"; + name = "kdoctools-5.24.0.tar.xz"; + }; + }; + kemoticons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kemoticons-5.24.0.tar.xz"; + sha256 = "0gmc52k5jb553jvzxwsq79v5y87kgav8i5qqv4bqc9yl7p866zhn"; + name = "kemoticons-5.24.0.tar.xz"; + }; + }; + kfilemetadata = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kfilemetadata-5.24.0.tar.xz"; + sha256 = "02n9qhpr0jlwdgdbid0k34abhs3bzhlsa56ybl5dq1aib6izk1sy"; + name = "kfilemetadata-5.24.0.tar.xz"; + }; + }; + kglobalaccel = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kglobalaccel-5.24.0.tar.xz"; + sha256 = "123v0ld1q88hbm3d0mqgq6lcivfkqh7pbz4hb4n76ab5v43qc15c"; + name = "kglobalaccel-5.24.0.tar.xz"; + }; + }; + kguiaddons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kguiaddons-5.24.0.tar.xz"; + sha256 = "0ig96ah20ybg5rwpswj9va2klvkh2q4amwxmgy3z4niwfsm2g3ic"; + name = "kguiaddons-5.24.0.tar.xz"; + }; + }; + khtml = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/khtml-5.24.0.tar.xz"; + sha256 = "0f19m8ycaa41p61i0j43gafn364abral8dbiqhr0qcj33nsa4134"; + name = "khtml-5.24.0.tar.xz"; + }; + }; + ki18n = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/ki18n-5.24.0.tar.xz"; + sha256 = "0cw24spmwsqa3ppkw03cm6yjd3sfll0dbbk2ya76fd4nw9hb00dv"; + name = "ki18n-5.24.0.tar.xz"; + }; + }; + kiconthemes = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kiconthemes-5.24.0.tar.xz"; + sha256 = "1k5zig2n6wzfyv6pc8dpas2862mxjyxxza00m31myrfw5i1a1h6m"; + name = "kiconthemes-5.24.0.tar.xz"; + }; + }; + kidletime = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kidletime-5.24.0.tar.xz"; + sha256 = "09jsj0pj27h93nr8v46savs6b93h8frydinfr7wlijkvpsl02jb4"; + name = "kidletime-5.24.0.tar.xz"; + }; + }; + kimageformats = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kimageformats-5.24.0.tar.xz"; + sha256 = "12mhgckmhnvcnm8k7mk15mipxrnm7i9ip7ykbjh8nxjiwyk1pmwc"; + name = "kimageformats-5.24.0.tar.xz"; + }; + }; + kinit = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kinit-5.24.0.tar.xz"; + sha256 = "1i7l6gid5hrrfglw1c461gpjg51dwz7cl4lx7ll8vz2ha8mz4d3n"; + name = "kinit-5.24.0.tar.xz"; + }; + }; + kio = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kio-5.24.0.tar.xz"; + sha256 = "0zncj9yf8zaylazlwvirylpk9vki3j889b1x2s0aav54vvj7vdi5"; + name = "kio-5.24.0.tar.xz"; + }; + }; + kitemmodels = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kitemmodels-5.24.0.tar.xz"; + sha256 = "1s1p4nw1pqdzbdwvjnka17p9avf00wadr437p4f96md1lvh3sh69"; + name = "kitemmodels-5.24.0.tar.xz"; + }; + }; + kitemviews = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kitemviews-5.24.0.tar.xz"; + sha256 = "0y3fx9hk1x27arrmwfzq783a44cs7p8dpmhxrwzh0di4mwa8jafw"; + name = "kitemviews-5.24.0.tar.xz"; + }; + }; + kjobwidgets = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kjobwidgets-5.24.0.tar.xz"; + sha256 = "1mcvrz66xcqjgbp08zpqsf943cm462wbqm5gh719p9s25hx8hwrc"; + name = "kjobwidgets-5.24.0.tar.xz"; + }; + }; + kjs = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kjs-5.24.0.tar.xz"; + sha256 = "1qd5sdfrdg7id0g5mwf3ijwlfvh3g36kwnckw6kwns1nf4q6gwlz"; + name = "kjs-5.24.0.tar.xz"; + }; + }; + kjsembed = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kjsembed-5.24.0.tar.xz"; + sha256 = "1nx8ch8mzd1jyx8pd46364ij0bsbsclbipbgr6jm9aak3n13b0nw"; + name = "kjsembed-5.24.0.tar.xz"; + }; + }; + kmediaplayer = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kmediaplayer-5.24.0.tar.xz"; + sha256 = "147xrffkvkyv3h8ighc1vlwksysfrqc0g55k8zrd72l6r0kjjh0p"; + name = "kmediaplayer-5.24.0.tar.xz"; + }; + }; + knewstuff = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/knewstuff-5.24.0.tar.xz"; + sha256 = "0xdv3wh3100vzsx8p2zihy1dvh0wzfmrjkjq71v8igwz5d291zsj"; + name = "knewstuff-5.24.0.tar.xz"; + }; + }; + knotifications = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/knotifications-5.24.0.tar.xz"; + sha256 = "0qryp41phnpx4r9wa6rfhmnzy7nxl0ijnyrafadf2n2xb53ipkpa"; + name = "knotifications-5.24.0.tar.xz"; + }; + }; + knotifyconfig = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/knotifyconfig-5.24.0.tar.xz"; + sha256 = "1dij841fnqia4p44x2wnpdvl8cn3nkj833y0fah50fmipjc8r70b"; + name = "knotifyconfig-5.24.0.tar.xz"; + }; + }; + kpackage = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kpackage-5.24.0.tar.xz"; + sha256 = "03aqzkpqz3c1v4qgwfbs3ncdbapiyg7psrkhxqv3z48rklavk1ri"; + name = "kpackage-5.24.0.tar.xz"; + }; + }; + kparts = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kparts-5.24.0.tar.xz"; + sha256 = "0z7qr93aq02i7g7cxgypx2rzlnsvbsx9cjblb0ijmad1nb8w3mix"; + name = "kparts-5.24.0.tar.xz"; + }; + }; + kpeople = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kpeople-5.24.0.tar.xz"; + sha256 = "0iknzkj23y927xh24kw5sjxyirhy6pkmfcmmgwzd78rba8a54qp2"; + name = "kpeople-5.24.0.tar.xz"; + }; + }; + kplotting = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kplotting-5.24.0.tar.xz"; + sha256 = "0gpypq9kh4b5s6dc7py3m117k3nbxczsfkxgxd9zxvr35kig7ya2"; + name = "kplotting-5.24.0.tar.xz"; + }; + }; + kpty = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kpty-5.24.0.tar.xz"; + sha256 = "1ybvdzqpa53kkki9p5da0ff9x3c63rmksk7865wqwlgy8apzi2fs"; + name = "kpty-5.24.0.tar.xz"; + }; + }; + kross = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kross-5.24.0.tar.xz"; + sha256 = "0f29dpmfcj173vqnmrbpvdmfmzzbfsds1lbl546qfx9a5acdpf2p"; + name = "kross-5.24.0.tar.xz"; + }; + }; + krunner = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/krunner-5.24.0.tar.xz"; + sha256 = "0ff87ijjd47jxf6zw2ggqgngnbyx1rj59wdfgy5wbi3acws6bafl"; + name = "krunner-5.24.0.tar.xz"; + }; + }; + kservice = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kservice-5.24.0.tar.xz"; + sha256 = "0w0nsg64d6xhgijr2vh0j5p544qi0q55jpqa9v9mv956zrrdssdk"; + name = "kservice-5.24.0.tar.xz"; + }; + }; + ktexteditor = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/ktexteditor-5.24.0.tar.xz"; + sha256 = "1ykj1kvm7k1vxb1w235d5hp2swwdqjyp2y4c3pxbvkn999h9x5q5"; + name = "ktexteditor-5.24.0.tar.xz"; + }; + }; + ktextwidgets = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/ktextwidgets-5.24.0.tar.xz"; + sha256 = "1q10xav2gkii6s3m31c9xvxf1988l7k2lpib6pyhgsidflmwjm02"; + name = "ktextwidgets-5.24.0.tar.xz"; + }; + }; + kunitconversion = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kunitconversion-5.24.0.tar.xz"; + sha256 = "03dfjn4lm6sl2zcdrvw0b9irzvkyc2w2j5xixag5j8nw373742h8"; + name = "kunitconversion-5.24.0.tar.xz"; + }; + }; + kwallet = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kwallet-5.24.0.tar.xz"; + sha256 = "0zad5h4vsvcl2xv3vxsjwh42b71xbp6x6rj8cvmw8szr2rzz9gsx"; + name = "kwallet-5.24.0.tar.xz"; + }; + }; + kwayland = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kwayland-5.24.0.tar.xz"; + sha256 = "1h5anbqrxcl1s8kx1l53vcsfr8ifamcjqd47dk8a7lwr1ga6myq2"; + name = "kwayland-5.24.0.tar.xz"; + }; + }; + kwidgetsaddons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kwidgetsaddons-5.24.0.tar.xz"; + sha256 = "1kppx0ppfhnb6q6sijs2dffyar86wkkx8miqavsjsgw1l2wiymcx"; + name = "kwidgetsaddons-5.24.0.tar.xz"; + }; + }; + kwindowsystem = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kwindowsystem-5.24.0.tar.xz"; + sha256 = "0w5ym8msl80v3q65253pdpj9f1fmb658rnndlbkrgpmm1rv1n6dz"; + name = "kwindowsystem-5.24.0.tar.xz"; + }; + }; + kxmlgui = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kxmlgui-5.24.0.tar.xz"; + sha256 = "1qhixldhhcbklmrpjh67440h1rrzqy70h57hw6ialjdsr3pl6ihp"; + name = "kxmlgui-5.24.0.tar.xz"; + }; + }; + kxmlrpcclient = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kxmlrpcclient-5.24.0.tar.xz"; + sha256 = "06ap6ipzqimz1rfrcr7z8zc7idy7sg4a97dws7h52i34ms7jqnc8"; + name = "kxmlrpcclient-5.24.0.tar.xz"; + }; + }; + modemmanager-qt = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/modemmanager-qt-5.24.0.tar.xz"; + sha256 = "0khz5bf84xxa8aqpzwb6x839xx6dbiadwqhyj7cvgha65fh2xinh"; + name = "modemmanager-qt-5.24.0.tar.xz"; + }; + }; + networkmanager-qt = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/networkmanager-qt-5.24.0.tar.xz"; + sha256 = "11wy0ds0hqbba900ggkcxjfqc9n65xlzc3h1zv9433nn5d75v6fy"; + name = "networkmanager-qt-5.24.0.tar.xz"; + }; + }; + oxygen-icons5 = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/oxygen-icons5-5.24.0.tar.xz"; + sha256 = "1c7spjbzk04725vv0ly7vmyvwa96mfa5ki2pm146ld4888a896wm"; + name = "oxygen-icons5-5.24.0.tar.xz"; + }; + }; + plasma-framework = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/plasma-framework-5.24.0.tar.xz"; + sha256 = "0981vm00541dzihlr1fsax05biwp2ddpwjrmvnfysx5jagdc65cb"; + name = "plasma-framework-5.24.0.tar.xz"; + }; + }; + solid = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/solid-5.24.0.tar.xz"; + sha256 = "00wvsxcnvhdx7ijzpcz5wny2ypkxr1drdpr4yvawgpwa678l1107"; + name = "solid-5.24.0.tar.xz"; + }; + }; + sonnet = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/sonnet-5.24.0.tar.xz"; + sha256 = "152xz7fb1iwhb5w1n4xqvc648iaxi0inrl4kavxcsir61das1xyl"; + name = "sonnet-5.24.0.tar.xz"; + }; + }; + threadweaver = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/threadweaver-5.24.0.tar.xz"; + sha256 = "02g60zr9cc4bg1p90giich4n0qvqaiakz0y94qrnyj9f7fg0yksl"; + name = "threadweaver-5.24.0.tar.xz"; + }; + }; +} diff --git a/pkgs/development/libraries/kde-frameworks/threadweaver.nix b/pkgs/development/libraries/kde-frameworks/threadweaver.nix new file mode 100644 index 000000000000..6d3dff604132 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks/threadweaver.nix @@ -0,0 +1,9 @@ +{ kdeFramework, lib +, ecm +}: + +kdeFramework { + name = "threadweaver"; + nativeBuildInputs = [ ecm ]; + meta = { maintainers = [ lib.maintainers.ttuegel ]; }; +} diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix index 3bdcfeda6a5f..7b7f880ab9ed 100644 --- a/pkgs/development/libraries/libebml/default.nix +++ b/pkgs/development/libraries/libebml/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libebml-1.3.3"; + name = "libebml-1.3.4"; src = fetchurl { url = "http://dl.matroska.org/downloads/libebml/${name}.tar.bz2"; - sha256 = "16alhwd1yz5bv3765xfn5azwk37805lg1f61195gjq8rlkd49yrm"; + sha256 = "11zka6z9ncywyjr1gfm5cnii33ln7y3w6s86kiacchip2g7kw3f5"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix index 7a039a813d8a..eb2b46629ade 100644 --- a/pkgs/development/libraries/libfilezilla/default.nix +++ b/pkgs/development/libraries/libfilezilla/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libfilezilla-${version}"; - version = "0.5.3"; + version = "0.6.1"; src = fetchurl { url = "mirror://sourceforge/project/filezilla/libfilezilla/${version}/${name}.tar.bz2"; - sha256 = "05z9d2pi8n8yl3dbwg2nw6bcvi0zzc9hkammm1mayfh7h4akqc0i"; + sha256 = "73c3ada6f9c5649abd93e6a3e7ecc6682d4f43248660b5506918eab76a7b901b"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix index 9b62436ae080..5f1f6afcec12 100644 --- a/pkgs/development/libraries/libiconv/default.nix +++ b/pkgs/development/libraries/libiconv/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { ]; postPatch = - lib.optionalString (stdenv.cross.libc or null == "msvcrt") + lib.optionalString ((stdenv ? cross && stdenv.cross.libc == "msvcrt") || stdenv.cc.nativeLibc) '' sed '/^_GL_WARN_ON_USE (gets/d' -i srclib/stdio.in.h ''; diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix index 134f6b1bf270..3b3dee138a54 100644 --- a/pkgs/development/libraries/libmatroska/default.nix +++ b/pkgs/development/libraries/libmatroska/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libebml }: stdenv.mkDerivation rec { - name = "libmatroska-1.4.4"; + name = "libmatroska-1.4.5"; src = fetchurl { url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.bz2"; - sha256 = "1mvb54q3gag9dj0pkwci8w75gp6mm14gi85y0ld3ar1rdngsmvyk"; + sha256 = "1g2p2phmhkp86ldd2zqx6q0s33r7d38rsfnr4wmmdr81d6j3y0kr"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix index af8b4e1179ce..0ae17b4d3f61 100644 --- a/pkgs/development/libraries/mesa-darwin/default.nix +++ b/pkgs/development/libraries/mesa-darwin/default.nix @@ -25,6 +25,8 @@ let libffi libvdpau ] ++ stdenv.lib.optionals stdenv.isDarwin [ OpenGL apple_sdk.sdk Xplugin ]; + propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ OpenGL ]; + postUnpack = '' ln -s darwin $sourceRoot/configs/current ''; diff --git a/pkgs/development/libraries/motif/default.nix b/pkgs/development/libraries/motif/default.nix new file mode 100644 index 000000000000..9d50fb3d3d19 --- /dev/null +++ b/pkgs/development/libraries/motif/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, pkgconfig, libtool +, xlibsWrapper, xbitmaps, libXrender, libXmu, libXt +, expat, libjpeg, libpng, libiconv +, flex +, libXp, libXau +, demoSupport ? false, autoconf, automake +}: +# refer to the gentoo package + +stdenv.mkDerivation rec { + name = "motif-${version}"; + version = "2.3.6"; + + src = fetchurl { + url = "mirror://sourceforge/motif/${name}.tar.gz"; + sha256 = "1ksqbp0bzdw6wcrx8s4hj4ivvxmw54hz85l2xfigb87cxmmhx0gs"; + }; + + buildInputs = [ + pkgconfig libtool + xlibsWrapper xbitmaps libXrender libXmu libXt + expat libjpeg libpng libiconv + ] ++ stdenv.lib.optionals (!demoSupport) [ autoconf automake ]; + + nativeBuildInputs = [ flex ]; + + propagatedBuildInputs = [ libXp libXau ]; + + makeFlags = [ "CFLAGS=-fno-strict-aliasing" ]; + + patchPhase = '' + rm lib/Xm/Xm.h + echo -e '"The X.Org Foundation"\t\t\t\t\tpc' >>bindings/xmbind.alias + '' + stdenv.lib.optionalString (!demoSupport) + '' + sed -i -e '/^SUBDIRS/{:x;/\\$/{N;bx;};s/[ \t\n\\]*demos//;}' Makefile.am + ''; + + meta = with stdenv.lib; { + homepage = http://motif.ics.com; + description = "Unix standard widget-toolkit and window-manager"; + platforms = with platforms; linux; + license = with licenses; [ lgpl21 ]; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix index 3f2ab6696d18..1fb542c2c5f4 100644 --- a/pkgs/development/libraries/phonon/backends/gstreamer.nix +++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix @@ -1,13 +1,14 @@ { stdenv, lib, fetchurl, cmake, gst_all_1, phonon, pkgconfig -, extra-cmake-modules ? null, qtbase ? null, qtx11extras ? null, qt4 ? null -, debug ? false }: +, extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null +, withQt5 ? false +, debug ? false +}: with lib; let v = "4.9.0"; pname = "phonon-backend-gstreamer"; - withQt5 = extra-cmake-modules != null; in assert withQt5 -> qtbase != null; diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix index aaff26eee286..f296e34e783a 100644 --- a/pkgs/development/libraries/phonon/backends/vlc.nix +++ b/pkgs/development/libraries/phonon/backends/vlc.nix @@ -1,13 +1,14 @@ { stdenv, lib, fetchurl, cmake, phonon, pkgconfig, vlc -, extra-cmake-modules ? null, qtbase ? null, qtx11extras ? null, qt4 ? null -, debug ? false }: +, extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null +, withQt5 ? false +, debug ? false +}: with lib; let v = "0.9.0"; pname = "phonon-backend-vlc"; - withQt5 = extra-cmake-modules != null; in assert withQt5 -> qtbase != null; diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix index 3fbbccc08e30..4bbe05fea6ee 100644 --- a/pkgs/development/libraries/phonon/default.nix +++ b/pkgs/development/libraries/phonon/default.nix @@ -1,12 +1,12 @@ { stdenv, lib, fetchurl, cmake, mesa, pkgconfig, libpulseaudio -, qt4 ? null, extra-cmake-modules ? null, qtbase ? null, qttools ? null +, qt4 ? null, extra-cmake-modules, qtbase ? null, qttools ? null +, withQt5 ? false , debug ? false }: with lib; let v = "4.9.0"; - withQt5 = extra-cmake-modules != null; in assert withQt5 -> qtbase != null; diff --git a/pkgs/development/libraries/qt-5/5.5/default.nix b/pkgs/development/libraries/qt-5/5.5/default.nix index 24b4c749853d..8401e9f0d3de 100644 --- a/pkgs/development/libraries/qt-5/5.5/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/default.nix @@ -42,7 +42,7 @@ let inherit src; propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); - nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig self.qmakeHook ]; + nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.qmakeHook ]; NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; @@ -113,7 +113,6 @@ let ]; makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh; - fixQtModuleCMakeConfig = makeSetupHook { } ./fix-qt-module-cmake-config.sh; qmakeHook = makeSetupHook { substitutions = { qt_dev = qtbase.dev; lndir = pkgs.xorg.lndir; }; } ./qmake-hook.sh; }; diff --git a/pkgs/development/libraries/qt-5/5.5/fix-qt-module-cmake-config.sh b/pkgs/development/libraries/qt-5/5.5/fix-qt-module-cmake-config.sh deleted file mode 100644 index 7ca3e33b613c..000000000000 --- a/pkgs/development/libraries/qt-5/5.5/fix-qt-module-cmake-config.sh +++ /dev/null @@ -1,5 +0,0 @@ -fixQtModuleCMakeConfig() { - local module="$1" - sed -e "/set(imported_location/ s@\\\${_qt5${module}_install_prefix}@${!outputLib}@" \ - -i "${!outputDev}/lib/cmake/Qt5${module}/Qt5${module}Config.cmake" -} diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch new file mode 100644 index 000000000000..63c4ab7256a6 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch @@ -0,0 +1,321 @@ +Index: qtbase-opensource-src-5.6.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +=================================================================== +--- qtbase-opensource-src-5.6.0.orig/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ qtbase-opensource-src-5.6.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) + endif() + !!ENDIF + +-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) +-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +-!!ELSE +-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH) +-# Use original install prefix when loaded through a +-# cross-prefix symbolic link such as /lib -> /usr/lib. +-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH) +-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH) +-if(_realCurr STREQUAL _realOrig) +- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE) +-else() +- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) +-endif() +-unset(_realOrig) +-unset(_realCurr) +-unset(_IMPORT_PREFIX) +-!!ENDIF +-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) +-!!ELSE +-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +-!!ENDIF +- + !!IF !equals(TEMPLATE, aux) + # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. + set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)") +@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta + set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ if(NOT EXISTS \"${imported_location}\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ endif() + !!ELSE + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ENDIF +@@ -74,45 +53,18 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta + \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" + ) + +-!!IF !isEmpty(CMAKE_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") +-!!ELSE +- set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") +-!!ENDIF +- _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) +- if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") +- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES +- \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib} +- ) +- endif() +-!!ENDIF + endmacro() + !!ENDIF + + if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + + !!IF !no_module_headers +-!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) +- set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" +- ) +-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" +- ) +-!!ELSE +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +-!!ENDIF +-!!ELSE + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) +- set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") ++ set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR\" \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" ++ \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" ++ \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" + ) + !!ELSE + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") + !!ENDIF + !!ENDIF +-!!ENDIF ++ + !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) + include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) + !!ENDIF +@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) + !!IF isEmpty(CMAKE_DEBUG_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE +- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE +- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) +-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD + if (EXISTS + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" ++ \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" + !!ELSE + \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" + !!ENDIF + AND EXISTS + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) ++ \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ELSE + \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ENDIF + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + endif() + !!ENDIF // CMAKE_DEBUG_TYPE + !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD +@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + !!ENDIF // CMAKE_RELEASE_TYPE + + !!IF !isEmpty(CMAKE_DEBUG_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) +-!!ELSE + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) + !!IF isEmpty(CMAKE_RELEASE_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE +- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE +- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) +-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD + if (EXISTS + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" ++ \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" + !!ELSE + \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" + !!ENDIF + AND EXISTS + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) ++ \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + !!ELSE + \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + !!ENDIF + _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + endif() + !!ENDIF // CMAKE_RELEASE_TYPE + !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD +@@ -329,7 +259,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") ++ set(imported_location \"@NIX_OUT@/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") + !!ELSE + set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") + !!ENDIF +Index: qtbase-opensource-src-5.6.0/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in +=================================================================== +--- qtbase-opensource-src-5.6.0.orig/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in ++++ qtbase-opensource-src-5.6.0/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in +@@ -2,7 +2,7 @@ + !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) + + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) +-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") ++set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\") + !!ELSE + set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") + !!ENDIF +@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert + set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ELSE + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ENDIF + + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") ++ set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") + !!ELSE + set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") + !!ENDIF +Index: qtbase-opensource-src-5.6.0/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in +=================================================================== +--- qtbase-opensource-src-5.6.0.orig/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in ++++ qtbase-opensource-src-5.6.0/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in +@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic) + add_executable(Qt5::uic IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") + !!ENDIF +Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in +=================================================================== +--- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in ++++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in +@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake) + add_executable(Qt5::qmake IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc) + add_executable(Qt5::moc IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc) + add_executable(Qt5::rcc IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain) + !!IF !isEmpty(CMAKE_RELEASE_TYPE) + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") + !!ELSE + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") + !!ENDIF +@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain) + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") + !!ELSE + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") + !!ENDIF +Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in +=================================================================== +--- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in ++++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in +@@ -1,6 +1,6 @@ + + !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) +-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") ++set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") + !!ELSE + set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") + !!ENDIF +Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in +=================================================================== +--- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in ++++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in +@@ -1,6 +1,6 @@ + + !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) +-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") ++set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") + !!ELSE + set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") + !!ENDIF +Index: qtbase-opensource-src-5.6.0/src/qtbase/dbus/Qt5DBusConfigExtras.cmake.in +=================================================================== +--- qtbase-opensource-src-5.6.0.orig/qtbase/src/dbus/Qt5DBusConfigExtras.cmake.in ++++ qtbase-opensource-src-5.6.0/qtbase/src/dbus/Qt5DBusConfigExtras.cmake.in +@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) + add_executable(Qt5::qdbuscpp2xml IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp) + add_executable(Qt5::qdbusxml2cpp IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") + !!ENDIF diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix index fcd870163074..ef64a87d0e28 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, copyPathsToStore, fixQtModuleCMakeConfig +{ stdenv, lib, fetchurl, copyPathsToStore , srcs , xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi @@ -213,11 +213,19 @@ stdenv.mkDerivation { # FIXME: move to the main list on rebuild. ++ [gnome_vfs.out libgnomeui.out gtk GConf]; - nativeBuildInputs = [ fixQtModuleCMakeConfig lndir patchelf perl pkgconfig python ]; + nativeBuildInputs = [ lndir patchelf perl pkgconfig python ]; # freetype-2.5.4 changed signedness of some struct fields NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; + postInstall = '' + find "$out" -name "*.cmake" | while read file; do + substituteInPlace "$file" \ + --subst-var-by NIX_OUT "$out" \ + --subst-var-by NIX_DEV "$dev" + done + ''; + preFixup = '' # We cannot simply set these paths in configureFlags because libQtCore retains # references to the paths it was built with. @@ -229,17 +237,6 @@ stdenv.mkDerivation { mkdir -p "$dev/share" moveToOutput "share/doc" "$dev" - # Move libtool archives and qmake projects - if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then - pushd "''${!outputLib}" - find lib -name '*.a' -o -name '*.la' -o -name '*.prl' | \ - while read -r file; do - mkdir -p "''${!outputDev}/$(dirname "$file")" - mv "''${!outputLib}/$file" "''${!outputDev}/$file" - done - popd - fi - # Move the QGtkStyle plugin to the gtk output mkdir -p "$gtk/lib/qt5/plugins/platformthemes" mv "$out/lib/qt5/plugins/platformthemes/libqgtk2.so" "$gtk/lib/qt5/plugins/platformthemes" @@ -262,18 +259,16 @@ stdenv.mkDerivation { # Don't retain build-time dependencies like gdb and ruby. sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri - fixQtModuleCMakeConfig "Concurrent" - fixQtModuleCMakeConfig "Core" - fixQtModuleCMakeConfig "DBus" - fixQtModuleCMakeConfig "Gui" - fixQtModuleCMakeConfig "Network" - fixQtModuleCMakeConfig "OpenGL" - fixQtModuleCMakeConfig "OpenGLExtensions" - fixQtModuleCMakeConfig "PrintSupport" - fixQtModuleCMakeConfig "Sql" - fixQtModuleCMakeConfig "Test" - fixQtModuleCMakeConfig "Widgets" - fixQtModuleCMakeConfig "Xml" + # Move libtool archives and qmake projects + if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then + pushd "''${!outputLib}" + find lib -name '*.a' -o -name '*.la' -o -name '*.prl' | \ + while read -r file; do + mkdir -p "''${!outputDev}/$(dirname "$file")" + mv "''${!outputLib}/$file" "''${!outputDev}/$file" + done + popd + fi ''; inherit lndir; diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/series b/pkgs/development/libraries/qt-5/5.5/qtbase/series index 2196d8383752..1dfd8ac2683c 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/series +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/series @@ -7,3 +7,4 @@ xdg-config-dirs.patch nix-profiles-library-paths.patch compose-search-path.patch libressl.patch +cmake-paths.patch \ No newline at end of file diff --git a/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix b/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix index 35538c7261f1..95cd6fea79b4 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix @@ -3,8 +3,4 @@ qtSubmodule { name = "qtconnectivity"; qtInputs = [ qtbase qtdeclarative ]; - postFixup = '' - fixQtModuleCMakeConfig "Bluetooth" - fixQtModuleCMakeConfig "Nfc" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix index 407513f78498..328d8aee72bd 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix @@ -5,10 +5,4 @@ qtSubmodule { patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); qtInputs = [ qtbase qtsvg qtxmlpatterns ]; nativeBuildInputs = [ python ]; - postFixup = '' - fixQtModuleCMakeConfig "Qml" - fixQtModuleCMakeConfig "Quick" - fixQtModuleCMakeConfig "QuickTest" - fixQtModuleCMakeConfig "QuickWidgets" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtenginio.nix b/pkgs/development/libraries/qt-5/5.5/qtenginio.nix index 503a0f7ce4f5..b860a73ef890 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtenginio.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtenginio.nix @@ -3,7 +3,4 @@ qtSubmodule { name = "qtenginio"; qtInputs = [ qtdeclarative ]; - postFixup = '' - fixQtModuleCMakeConfig "Enginio" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtlocation.nix b/pkgs/development/libraries/qt-5/5.5/qtlocation.nix index bd11d4816ff3..1e134057c4b4 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtlocation.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtlocation.nix @@ -3,7 +3,4 @@ qtSubmodule { name = "qtlocation"; qtInputs = [ qtbase qtmultimedia ]; - postFixup = '' - fixQtModuleCMakeConfig "Positioning" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix index 9eb68ba6b5ba..7c1cc5da07e3 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix @@ -9,8 +9,4 @@ qtSubmodule { pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio ]; qmakeFlags = [ "GST_VERSION=1.0" ]; - postFixup = '' - fixQtModuleCMakeConfig "Multimedia" - fixQtModuleCMakeConfig "MultimediaWidgets" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix b/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix index 4bf92fa01473..64937b3dcd37 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix @@ -4,7 +4,4 @@ qtSubmodule { name = "qtquick1"; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ]; - postFixup = '' - fixQtModuleCMakeConfig "Declarative" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix index b81a43aeadb0..127766e2ebd6 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix @@ -4,7 +4,4 @@ qtSubmodule { name = "qtscript"; qtInputs = [ qtbase qttools ]; patches = [ ./0001-glib-2.32.patch ]; - postFixup = '' - fixQtModuleCMakeConfig "Script" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtsensors.nix b/pkgs/development/libraries/qt-5/5.5/qtsensors.nix index 5776f45a7068..61e64dc47e4d 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtsensors.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtsensors.nix @@ -3,7 +3,4 @@ qtSubmodule { name = "qtsensors"; qtInputs = [ qtbase qtdeclarative ]; - postFixup = '' - fixQtModuleCMakeConfig "Sensors" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix index 3f409f9c0e08..32549c95344a 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix @@ -9,7 +9,4 @@ qtSubmodule { libudev = libudev.out; }) ]; - postFixup = '' - fixQtModuleCMakeConfig "SerialPort" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtsvg.nix b/pkgs/development/libraries/qt-5/5.5/qtsvg.nix index a460d6da4c2a..b9ccac7cf933 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtsvg.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtsvg.nix @@ -3,7 +3,4 @@ qtSubmodule { name = "qtsvg"; qtInputs = [ qtbase ]; - postFixup = '' - fixQtModuleCMakeConfig "Svg" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qttools.nix b/pkgs/development/libraries/qt-5/5.5/qttools.nix index 1472691c5254..47ebd17c08f6 100644 --- a/pkgs/development/libraries/qt-5/5.5/qttools.nix +++ b/pkgs/development/libraries/qt-5/5.5/qttools.nix @@ -6,11 +6,5 @@ qtSubmodule { postFixup = '' moveToOutput "bin/qdbus" "$out" moveToOutput "bin/qtpaths" "$out" - - fixQtModuleCMakeConfig "Designer" - fixQtModuleCMakeConfig "Help" - fixQtModuleCMakeConfig "LinguistTools" - fixQtModuleCMakeConfig "UiPlugin" - fixQtModuleCMakeConfig "UiTools" ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix index b441a2448d76..2e92391f4c08 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix @@ -31,8 +31,4 @@ qtSubmodule { }; in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ] ++ [ dlopen-webkit-udev ]; - postFixup = '' - fixQtModuleCMakeConfig "WebKit" - fixQtModuleCMakeConfig "WebKitWidgets" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix index c0d0f9e7d714..fbdfbbcf0dbe 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix @@ -3,7 +3,4 @@ qtSubmodule { name = "qtwebsockets"; qtInputs = [ qtbase qtdeclarative ]; - postFixup = '' - fixQtModuleCMakeConfig "WebSockets" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix b/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix index db92f1353627..a765161e2d7e 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix @@ -3,7 +3,4 @@ qtSubmodule { name = "qtx11extras"; qtInputs = [ qtbase ]; - postFixup = '' - fixQtModuleCMakeConfig "X11Extras" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix index 3b22132e4c38..9a8ddbba2bd2 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix @@ -3,7 +3,4 @@ qtSubmodule { name = "qtxmlpatterns"; qtInputs = [ qtbase ]; - postFixup = '' - fixQtModuleCMakeConfig "XmlPatterns" - ''; } diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix index 3cc8c51909b7..94b75f1c18b9 100644 --- a/pkgs/development/libraries/qt-5/5.6/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/default.nix @@ -66,8 +66,6 @@ let mesa = pkgs.mesa_noglu; harfbuzz = pkgs.harfbuzz-icu; cups = if stdenv.isLinux then pkgs.cups else null; - # GNOME dependencies are not used unless gtkStyle == true - inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; bison = pkgs.bison2; # error: too few arguments to function 'int yylex(... inherit developerBuild decryptSslTraffic; }; diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix index 14a89f82038d..82b54ebd3a11 100644 --- a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix @@ -19,15 +19,11 @@ , buildExamples ? false , buildTests ? false , developerBuild ? false -, libgnomeui, GConf, gnome_vfs, gtk , decryptSslTraffic ? false }: let system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64; - - # Search path for Gtk plugin - gtkLibPath = lib.makeLibraryPath [ gtk gnome_vfs libgnomeui GConf ]; in stdenv.mkDerivation { @@ -35,7 +31,7 @@ stdenv.mkDerivation { name = "qtbase-${srcs.qtbase.version}"; inherit (srcs.qtbase) src version; - outputs = [ "dev" "out" "gtk" ]; + outputs = [ "dev" "out" ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series) @@ -127,7 +123,6 @@ stdenv.mkDerivation { -xcb -qpa xcb -${lib.optionalString (cups == null) "no-"}cups - -gtkstyle -no-eglfs -no-directfb @@ -189,9 +184,7 @@ stdenv.mkDerivation { ++ lib.optional developerBuild gdb ++ lib.optional (cups != null) cups ++ lib.optional (mysql != null) mysql.lib - ++ lib.optional (postgresql != null) postgresql - # FIXME: move to the main list on rebuild. - ++ [gnome_vfs.out libgnomeui.out gtk GConf]; + ++ lib.optional (postgresql != null) postgresql; nativeBuildInputs = [ lndir patchelf perl pkgconfig python ]; @@ -216,22 +209,6 @@ stdenv.mkDerivation { # The destination directory must exist or moveToOutput will do nothing mkdir -p "$dev/share" moveToOutput "share/doc" "$dev" - - # Move the QGtkStyle plugin to the gtk output - mkdir -p "$gtk/lib/qt5/plugins/platformthemes" - mv "$out/lib/qt5/plugins/platformthemes/libqgtk2.so" "$gtk/lib/qt5/plugins/platformthemes" - rm "$out/lib/cmake/Qt5Gui/Qt5Gui_QGtk2ThemePlugin.cmake" - - # Set RPATH for QGtkStyle plugin - qgtk2="$gtk/lib/qt5/plugins/platformthemes/libqgtk2.so" - qgtk2_RPATH="$(patchelf --print-rpath "$qgtk2")" - qgtk2_RPATH="$qgtk2_RPATH''${qgtk2_RPATH:+:}${gtkLibPath}" - patchelf "$qgtk2" \ - --add-needed libgtk-x11-2.0.so \ - --add-needed libgnomeui-2.so \ - --add-needed libgnomevfs-2.so \ - --add-needed libgconf-2.so \ - --set-rpath "$qgtk2_RPATH" ''; postFixup = diff --git a/pkgs/development/libraries/qt-5/5.7/default.nix b/pkgs/development/libraries/qt-5/5.7/default.nix new file mode 100644 index 000000000000..90bd6b0726ee --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/default.nix @@ -0,0 +1,119 @@ +/* + +# 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 `maintainers/scripts/generate-qt.sh`. +2. From the top of the Nixpkgs tree, run + `./maintainers/scripts/generate-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`. +3. Check that the new packages build correctly. +4. Commit the changes and open a pull request. + +*/ + +{ pkgs + +# options +, developerBuild ? false +, decryptSslTraffic ? false +}: + +let inherit (pkgs) makeSetupHook makeWrapper stdenv; in + +with stdenv.lib; + +let + + mirror = "http://download.qt.io"; + srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; + + qtSubmodule = args: + let + inherit (args) name; + version = args.version or srcs."${name}".version; + src = args.src or srcs."${name}".src; + inherit (pkgs.stdenv) mkDerivation; + in mkDerivation (args // { + name = "${name}-${version}"; + inherit src; + + propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); + nativeBuildInputs = + (args.nativeBuildInputs or []) + ++ [ pkgs.perl self.qmakeHook ]; + + NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; + + outputs = args.outputs or [ "dev" "out" ]; + setOutputFlags = args.setOutputFlags or false; + + setupHook = ./setup-hook.sh; + + enableParallelBuilding = args.enableParallelBuilding or true; + + meta = self.qtbase.meta // (args.meta or {}); + }); + + addPackages = self: with self; + let + callPackage = self.newScope { inherit qtSubmodule srcs; }; + in { + + qtbase = callPackage ./qtbase { + inherit (srcs.qtbase) src version; + mesa = pkgs.mesa_noglu; + harfbuzz = pkgs.harfbuzz-icu; + cups = if stdenv.isLinux then pkgs.cups else null; + # GNOME dependencies are not used unless gtkStyle == true + bison = pkgs.bison2; # error: too few arguments to function 'int yylex(... + inherit developerBuild decryptSslTraffic; + }; + + qtconnectivity = callPackage ./qtconnectivity.nix {}; + qtdeclarative = callPackage ./qtdeclarative {}; + qtdoc = callPackage ./qtdoc.nix {}; + qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {}; + qtimageformats = callPackage ./qtimageformats.nix {}; + qtlocation = callPackage ./qtlocation.nix {}; + qtmultimedia = callPackage ./qtmultimedia.nix { + inherit (pkgs.gst_all_1) gstreamer gst-plugins-base; + }; + qtquickcontrols = callPackage ./qtquickcontrols.nix {}; + qtscript = callPackage ./qtscript {}; + qtsensors = callPackage ./qtsensors.nix {}; + qtserialport = callPackage ./qtserialport {}; + qtsvg = callPackage ./qtsvg.nix {}; + qttools = callPackage ./qttools.nix {}; + qttranslations = callPackage ./qttranslations.nix {}; + qtwebchannel = callPackage ./qtwebchannel.nix {}; + qtwebengine = callPackage ./qtwebengine.nix {}; + qtwebsockets = callPackage ./qtwebsockets.nix {}; + qtx11extras = callPackage ./qtx11extras.nix {}; + qtxmlpatterns = callPackage ./qtxmlpatterns.nix {}; + + env = callPackage ../qt-env.nix {}; + full = env "qt-${qtbase.version}" [ + qtconnectivity qtdeclarative qtdoc qtgraphicaleffects + qtimageformats qtlocation qtmultimedia qtquickcontrols qtscript + qtsensors qtserialport qtsvg qttools qttranslations qtwebsockets + qtx11extras qtxmlpatterns + ]; + + makeQtWrapper = + makeSetupHook + { deps = [ makeWrapper ]; } + ./make-qt-wrapper.sh; + + qmakeHook = + makeSetupHook + { deps = [ self.qtbase ]; } + ./qmake-hook.sh; + + }; + + self = makeScope pkgs.newScope addPackages; + +in self diff --git a/pkgs/development/libraries/qt-5/5.7/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.7/make-qt-wrapper.sh new file mode 100644 index 000000000000..b0d0bec9e3f6 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/make-qt-wrapper.sh @@ -0,0 +1,36 @@ +wrapQtProgram() { + local prog="$1" + shift + wrapProgram "$prog" \ + --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ + --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ + --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ + --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ + --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ + "$@" +} + +makeQtWrapper() { + local old="$1" + local new="$2" + shift + shift + makeWrapper "$old" "$new" \ + --set QT_PLUGIN_PATH "$QT_PLUGIN_PATH" \ + --set QML_IMPORT_PATH "$QML_IMPORT_PATH" \ + --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \ + --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \ + --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \ + "$@" +} + +_makeQtWrapperSetup() { + # cannot use addToSearchPath because these directories may not exist yet + export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins" + export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports" + export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml" + export RUNTIME_XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputBin}/share" + export RUNTIME_XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputBin}/etc/xdg" +} + +prePhases+=(_makeQtWrapperSetup) diff --git a/pkgs/development/libraries/qt-5/5.7/qmake-hook.sh b/pkgs/development/libraries/qt-5/5.7/qmake-hook.sh new file mode 100644 index 000000000000..696b4ea8dad3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qmake-hook.sh @@ -0,0 +1,42 @@ +qmakeConfigurePhase() { + runHook preConfigure + + qmake PREFIX=$out $qmakeFlags + + runHook postConfigure +} + +if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then + configurePhase=qmakeConfigurePhase +fi + +_qtModuleMultioutDevsPre() { + # We cannot simply set these paths in configureFlags because libQtCore retains + # references to the paths it was built with. + moveToOutput "bin" "${!outputDev}" + moveToOutput "include" "${!outputDev}" + + # The destination directory must exist or moveToOutput will do nothing + mkdir -p "${!outputDev}/share" + moveToOutput "share/doc" "${!outputDev}" +} + +_qtModuleMultioutDevsPost() { + # Move libtool archives and qmake project files to $dev/lib + if [ "z${!outputLib}" != "z${!outputDev}" ]; then + pushd "${!outputLib}" + if [ -d "lib" ]; then + find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | \ + while read -r -d $'\0' file; do + mkdir -p "${!outputDev}/$(dirname "$file")" + mv "${!outputLib}/$file" "${!outputDev}/$file" + done + fi + popd + fi +} + +if [ -n "$NIX_QT_SUBMODULE" ]; then + preFixupHooks+=(_qtModuleMultioutDevsPre) + postFixupHooks+=(_qtModuleMultioutDevsPost) +fi diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch new file mode 100644 index 000000000000..6e2de0b3022a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch @@ -0,0 +1,321 @@ +Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0) + endif() + !!ENDIF + +-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND) +-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +-!!ELSE +-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH) +-# Use original install prefix when loaded through a +-# cross-prefix symbolic link such as /lib -> /usr/lib. +-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH) +-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH) +-if(_realCurr STREQUAL _realOrig) +- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE) +-else() +- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) +-endif() +-unset(_realOrig) +-unset(_realCurr) +-unset(_IMPORT_PREFIX) +-!!ENDIF +-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE) +-!!ELSE +-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") +-!!ENDIF +- + !!IF !equals(TEMPLATE, aux) + # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. + set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)") +@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta + set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ if(NOT EXISTS \"${imported_location}\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ endif() + !!ELSE + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ENDIF +@@ -74,45 +53,18 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta + \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" + ) + +-!!IF !isEmpty(CMAKE_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") +-!!ELSE +- set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") +-!!ENDIF +- _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib}) +- if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\") +- set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES +- \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib} +- ) +- endif() +-!!ENDIF + endmacro() + !!ENDIF + + if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + + !!IF !no_module_headers +-!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) +- set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" +- ) +-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" +- ) +-!!ELSE +- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +-!!ENDIF +-!!ELSE + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) +- set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") ++ set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR\" \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") + !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" ++ \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" ++ \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" + ) + !!ELSE + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") + !!ENDIF + !!ENDIF +-!!ENDIF ++ + !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS) + include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL) + !!ENDIF +@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) + !!IF isEmpty(CMAKE_DEBUG_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE +- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE +- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) +-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD + if (EXISTS + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" ++ \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" + !!ELSE + \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" + !!ENDIF + AND EXISTS + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) ++ \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ELSE + \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + !!ENDIF + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + endif() + !!ENDIF // CMAKE_DEBUG_TYPE + !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD +@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + !!ENDIF // CMAKE_RELEASE_TYPE + + !!IF !isEmpty(CMAKE_DEBUG_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +- _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" ) +-!!ELSE + _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + + !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) + !!IF isEmpty(CMAKE_RELEASE_TYPE) +-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD) +-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE +- if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE +- _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" ) +-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD + if (EXISTS + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" ++ \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" + !!ELSE + \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" + !!ENDIF + AND EXISTS + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) ++ \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + !!ELSE + \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + !!ENDIF + _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + endif() + !!ENDIF // CMAKE_RELEASE_TYPE + !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD +@@ -329,7 +259,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME + set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") ++ set(imported_location \"@NIX_OUT@/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") + !!ELSE + set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") + !!ENDIF +Index: qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in ++++ qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in +@@ -2,7 +2,7 @@ + !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE) + + !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) +-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\") ++set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\") + !!ELSE + set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") + !!ENDIF +@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert + set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) + + !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") ++ set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ELSE + set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") + !!ENDIF + + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") ++ set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") + !!ELSE + set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") + !!ENDIF +Index: qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in ++++ qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in +@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic) + add_executable(Qt5::uic IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") + !!ENDIF +Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in ++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in +@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake) + add_executable(Qt5::qmake IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc) + add_executable(Qt5::moc IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc) + add_executable(Qt5::rcc IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain) + !!IF !isEmpty(CMAKE_RELEASE_TYPE) + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") + !!ELSE + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") + !!ENDIF +@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain) + set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + + !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") + !!ELSE + set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") + !!ENDIF +Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in ++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in +@@ -1,6 +1,6 @@ + + !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE) +-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") ++set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") + !!ELSE + set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") + !!ENDIF +Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in ++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in +@@ -1,6 +1,6 @@ + + !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE) +-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") ++set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") + !!ELSE + set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") + !!ENDIF +Index: qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in ++++ qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in +@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) + add_executable(Qt5::qdbuscpp2xml IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") + !!ENDIF +@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp) + add_executable(Qt5::qdbusxml2cpp IMPORTED) + + !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) +- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") ++ set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") + !!ELSE + set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") + !!ENDIF diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/compose-search-path.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/compose-search-path.patch new file mode 100644 index 000000000000..a0e344a7bc68 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/compose-search-path.patch @@ -0,0 +1,16 @@ +Index: qtbase-opensource-src-5.7.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp ++++ qtbase-opensource-src-5.7.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp +@@ -257,10 +257,7 @@ void TableGenerator::initPossibleLocatio + // the QTCOMPOSE environment variable + if (qEnvironmentVariableIsSet("QTCOMPOSE")) + m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE"))); +- m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale")); +- m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale")); +- m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale")); +- m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale")); ++ m_possibleLocations.append(QStringLiteral("${libX11}/share/X11/locale")); + m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale")); + m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); + } diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/decrypt-ssl-traffic.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/decrypt-ssl-traffic.patch new file mode 100644 index 000000000000..495db07cfbb5 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/decrypt-ssl-traffic.patch @@ -0,0 +1,13 @@ +Index: qtbase-opensource-src-5.5.1/src/network/ssl/qsslsocket_openssl.cpp +=================================================================== +--- qtbase-opensource-src-5.5.1.orig/src/network/ssl/qsslsocket_openssl.cpp ++++ qtbase-opensource-src-5.5.1/src/network/ssl/qsslsocket_openssl.cpp +@@ -48,7 +48,7 @@ + ****************************************************************************/ + + //#define QSSLSOCKET_DEBUG +-//#define QT_DECRYPT_SSL_TRAFFIC ++#define QT_DECRYPT_SSL_TRAFFIC + + #include "qssl_p.h" + #include "qsslsocket_openssl_p.h" diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix new file mode 100644 index 000000000000..94ddb21f3b60 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix @@ -0,0 +1,247 @@ +{ + stdenv, lib, copyPathsToStore, + src, version, + + coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python, + ruby, + + dbus, fontconfig, freetype, glib, gtk3, harfbuzz, icu, libX11, libXcomposite, + libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff, + libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, sqlite, udev, + xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm, xlibs, + zlib, + + # optional dependencies + cups ? null, mysql ? null, postgresql ? null, + + # options + mesaSupported, mesa, + buildExamples ? false, + buildTests ? false, + developerBuild ? false, + decryptSslTraffic ? false +}: + +let + system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64; +in + +stdenv.mkDerivation { + + name = "qtbase-${version}"; + inherit src version; + + outputs = [ "dev" "out" ]; + + patches = + copyPathsToStore (lib.readPathsFromFile ./. ./series) + ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch + ++ lib.optional mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ]; + + postPatch = + '' + substituteInPlace configure --replace /bin/pwd pwd + substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls + sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf + + sed -i 's/PATHS.*NO_DEFAULT_PATH//' "src/corelib/Qt5Config.cmake.in" + sed -i 's/PATHS.*NO_DEFAULT_PATH//' "src/corelib/Qt5CoreMacros.cmake" + sed -i 's/NO_DEFAULT_PATH//' "src/gui/Qt5GuiConfigExtras.cmake.in" + sed -i 's/PATHS.*NO_DEFAULT_PATH//' "mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in" + + substituteInPlace src/network/kernel/qdnslookup_unix.cpp \ + --replace "@glibc@" "${stdenv.cc.libc.out}" + substituteInPlace src/network/kernel/qhostinfo_unix.cpp \ + --replace "@glibc@" "${stdenv.cc.libc.out}" + + substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \ + --replace "@libXcursor@" "${libXcursor.out}" + + substituteInPlace src/network/ssl/qsslsocket_openssl_symbols.cpp \ + --replace "@openssl@" "${openssl.out}" + + substituteInPlace src/dbus/qdbus_symbols.cpp \ + --replace "@dbus_libs@" "${dbus.lib}" + + substituteInPlace \ + src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \ + --replace "@libX11@" "${libX11.out}" + '' + + lib.optionalString mesaSupported '' + substituteInPlace \ + src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp \ + --replace "@mesa_lib@" "${mesa.out}" + substituteInPlace mkspecs/common/linux.conf \ + --replace "@mesa_lib@" "${mesa.out}" \ + --replace "@mesa_inc@" "${mesa.dev or mesa}" + ''; + + + setOutputFlags = false; + preConfigure = '' + export LD_LIBRARY_PATH="$PWD/lib:$PWD/plugins/platforms:$LD_LIBRARY_PATH" + export MAKEFLAGS=-j$NIX_BUILD_CORES + + configureFlags+="\ + -plugindir $out/lib/qt5/plugins \ + -importdir $out/lib/qt5/imports \ + -qmldir $out/lib/qt5/qml \ + -docdir $out/share/doc/qt5" + ''; + + prefixKey = "-prefix "; + + # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa + # TODO Remove obsolete and useless flags once the build will be totally mastered + configureFlags = '' + -verbose + -confirm-license + -opensource + + -release + -shared + ${lib.optionalString developerBuild "-developer-build"} + -largefile + -accessibility + -rpath + -optimized-qmake + -strip + -reduce-relocations + -system-proxies + -pkg-config + + -gui + -widgets + -opengl desktop + -qml-debug + -nis + -iconv + -icu + -pch + -glib + -xcb + -qpa xcb + -${lib.optionalString (cups == null) "no-"}cups + + -no-eglfs + -no-directfb + -no-linuxfb + -no-kms + + ${lib.optionalString (!system-x86_64) "-no-sse2"} + -no-sse3 + -no-ssse3 + -no-sse4.1 + -no-sse4.2 + -no-avx + -no-avx2 + -no-mips_dsp + -no-mips_dspr2 + + -system-zlib + -system-libpng + -system-libjpeg + -system-harfbuzz + -system-xcb + -system-xkbcommon + -system-pcre + -openssl-linked + -dbus-linked + -libinput + -gtk + + -system-sqlite + -${if mysql != null then "plugin" else "no"}-sql-mysql + -${if postgresql != null then "plugin" else "no"}-sql-psql + + -make libs + -make tools + -${lib.optionalString (buildExamples == false) "no"}make examples + -${lib.optionalString (buildTests == false) "no"}make tests + -v + ''; + + # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag + # if dependency paths contain the string "pq", which can occur in the hash. + # To prevent these failures, we need to override PostgreSQL detection. + PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq"; + + propagatedBuildInputs = [ + dbus glib libxml2 libxslt openssl pcre16 sqlite udev zlib + + # Image formats + libjpeg libpng libtiff + + # Text rendering + fontconfig freetype harfbuzz icu + + # X11 libs + libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil + xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm + ] + ++ lib.optional mesaSupported mesa; + + buildInputs = + [ gtk3 libinput ] + ++ lib.optional developerBuild gdb + ++ lib.optional (cups != null) cups + ++ lib.optional (mysql != null) mysql.lib + ++ lib.optional (postgresql != null) postgresql; + + nativeBuildInputs = + [ bison flex gperf lndir patchelf perl pkgconfig python ruby ]; + + # freetype-2.5.4 changed signedness of some struct fields + NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; + + postInstall = '' + find "$out" -name "*.cmake" | while read file; do + substituteInPlace "$file" \ + --subst-var-by NIX_OUT "$out" \ + --subst-var-by NIX_DEV "$dev" + done + ''; + + preFixup = '' + # We cannot simply set these paths in configureFlags because libQtCore retains + # references to the paths it was built with. + moveToOutput "bin" "$dev" + moveToOutput "include" "$dev" + moveToOutput "mkspecs" "$dev" + + # The destination directory must exist or moveToOutput will do nothing + mkdir -p "$dev/share" + moveToOutput "share/doc" "$dev" + ''; + + postFixup = + '' + # Don't retain build-time dependencies like gdb and ruby. + sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri + + # Move libtool archives and qmake projects + if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then + pushd "''${!outputLib}" + find lib -name '*.a' -o -name '*.la' -o -name '*.prl' | \ + while read -r file; do + mkdir -p "''${!outputDev}/$(dirname "$file")" + mv "''${!outputLib}/$file" "''${!outputDev}/$file" + done + popd + fi + ''; + + inherit lndir; + setupHook = ./setup-hook.sh; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = http://www.qt.io; + description = "A cross-platform application framework for C++"; + license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; + maintainers = with maintainers; [ bbenoist qknight ttuegel ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-dbus.patch new file mode 100644 index 000000000000..10b0b6701ddc --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-dbus.patch @@ -0,0 +1,13 @@ +Index: qtbase-opensource-src-5.7.0/src/dbus/qdbus_symbols.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/dbus/qdbus_symbols.cpp ++++ qtbase-opensource-src-5.7.0/src/dbus/qdbus_symbols.cpp +@@ -97,7 +97,7 @@ bool qdbus_loadLibDBus() + #ifdef Q_OS_WIN + QLatin1String("dbus-1"), + #endif +- QLatin1String("libdbus-1") ++ QLatin1String("@dbus_libs@/lib/libdbus-1") + }; + + lib->unload(); diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gl.patch new file mode 100644 index 000000000000..ea3073ced50a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gl.patch @@ -0,0 +1,17 @@ +Index: qtbase-opensource-src-5.5.1/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +=================================================================== +--- qtbase-opensource-src-5.5.1.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp ++++ qtbase-opensource-src-5.5.1/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +@@ -563,7 +563,12 @@ void (*QGLXContext::getProcAddress(const + { + extern const QString qt_gl_library_name(); + // QLibrary lib(qt_gl_library_name()); ++ // Check system library paths first + QLibrary lib(QLatin1String("GL")); ++ if (!lib.load()) { ++ // Fallback to Mesa driver ++ lib.setFileName(QLatin1String("@mesa_lib@/lib/libGL")); ++ } + glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); + } + } diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gtkstyle.patch index 755b0965cf5f..755b0965cf5f 100644 --- a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-gtkstyle.patch +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gtkstyle.patch diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-libXcursor.patch new file mode 100644 index 000000000000..02b7efb73d22 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-libXcursor.patch @@ -0,0 +1,17 @@ +Index: qtbase-opensource-src-5.7.0/src/plugins/platforms/xcb/qxcbcursor.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/plugins/platforms/xcb/qxcbcursor.cpp ++++ qtbase-opensource-src-5.7.0/src/plugins/platforms/xcb/qxcbcursor.cpp +@@ -309,10 +309,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c + #if defined(XCB_USE_XLIB) && !defined(QT_NO_LIBRARY) + static bool function_ptrs_not_initialized = true; + if (function_ptrs_not_initialized) { +- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); ++ QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1); + bool xcursorFound = xcursorLib.load(); + if (!xcursorFound) { // try without the version number +- xcursorLib.setFileName(QLatin1String("Xcursor")); ++ xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor")); + xcursorFound = xcursorLib.load(); + } + if (xcursorFound) { diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-openssl.patch new file mode 100644 index 000000000000..9891bfeac5bf --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-openssl.patch @@ -0,0 +1,26 @@ +Index: qtbase-opensource-src-5.7.0/src/network/ssl/qsslsocket_openssl_symbols.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/network/ssl/qsslsocket_openssl_symbols.cpp ++++ qtbase-opensource-src-5.7.0/src/network/ssl/qsslsocket_openssl_symbols.cpp +@@ -658,8 +658,8 @@ static QPair<QLibrary*, QLibrary*> loadO + #endif + #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so + // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER> +- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); + if (libcrypto->load() && libssl->load()) { + // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found + return pair; +@@ -676,8 +676,8 @@ static QPair<QLibrary*, QLibrary*> loadO + // OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third + // attempt, _after_ <bundle>/Contents/Frameworks has been searched. + // iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place. +- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1); + if (libcrypto->load() && libssl->load()) { + // libssl.so.0 and libcrypto.so.0 found + return pair; diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-resolv.patch new file mode 100644 index 000000000000..98a3610f5fbd --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-resolv.patch @@ -0,0 +1,26 @@ +Index: qtbase-opensource-src-5.7.0/src/network/kernel/qdnslookup_unix.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/network/kernel/qdnslookup_unix.cpp ++++ qtbase-opensource-src-5.7.0/src/network/kernel/qdnslookup_unix.cpp +@@ -85,7 +85,7 @@ static bool resolveLibraryInternal() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc@/lib/resolv")); + if (!lib.load()) + return false; + } +Index: qtbase-opensource-src-5.7.0/src/network/kernel/qhostinfo_unix.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/network/kernel/qhostinfo_unix.cpp ++++ qtbase-opensource-src-5.7.0/src/network/kernel/qhostinfo_unix.cpp +@@ -100,7 +100,7 @@ static bool resolveLibraryInternal() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc@/lib/libresolv")); + if (!lib.load()) + return false; + } diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/libressl.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/libressl.patch new file mode 100644 index 000000000000..4390db977a71 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/libressl.patch @@ -0,0 +1,33 @@ +From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001 +From: hasufell <hasufell@gentoo.org> +Date: Sat, 10 Oct 2015 01:15:01 +0200 +Subject: [PATCH] Fix compilation with libressl + +By additionally checking for defined(SSL_CTRL_SET_CURVES), which +is defined in openssl, but not in libressl. +--- + src/network/ssl/qsslcontext_openssl.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: qtbase-opensource-src-5.7.0/src/network/ssl/qsslcontext_openssl.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/network/ssl/qsslcontext_openssl.cpp ++++ qtbase-opensource-src-5.7.0/src/network/ssl/qsslcontext_openssl.cpp +@@ -347,7 +347,7 @@ init_context: + + const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves(); + if (!qcurves.isEmpty()) { +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) + // Set the curves to be used + if (q_SSLeay() >= 0x10002000L) { + // SSL_CTX_ctrl wants a non-const pointer as last argument, +@@ -360,7 +360,7 @@ init_context: + sslContext->errorCode = QSslError::UnspecifiedError; + } + } else +-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) ++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC) + { + // specific curves requested, but not possible to set -> error + sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2")); diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/mkspecs-libgl.patch new file mode 100644 index 000000000000..fda3d3e36533 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/mkspecs-libgl.patch @@ -0,0 +1,15 @@ +Index: qtbase-opensource-src-5.5.1/mkspecs/common/linux.conf +=================================================================== +--- qtbase-opensource-src-5.5.1.orig/mkspecs/common/linux.conf ++++ qtbase-opensource-src-5.5.1/mkspecs/common/linux.conf +@@ -12,8 +12,8 @@ QMAKE_INCDIR = + QMAKE_LIBDIR = + QMAKE_INCDIR_X11 = + QMAKE_LIBDIR_X11 = +-QMAKE_INCDIR_OPENGL = +-QMAKE_LIBDIR_OPENGL = ++QMAKE_INCDIR_OPENGL = @mesa_inc@/include ++QMAKE_LIBDIR_OPENGL = @mesa_lib@/lib + QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL + QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL + QMAKE_INCDIR_EGL = diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/nix-profiles-library-paths.patch new file mode 100644 index 000000000000..ebaf3651a6d0 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/nix-profiles-library-paths.patch @@ -0,0 +1,22 @@ +Index: qtbase-opensource-src-5.7.0/src/corelib/kernel/qcoreapplication.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/corelib/kernel/qcoreapplication.cpp ++++ qtbase-opensource-src-5.7.0/src/corelib/kernel/qcoreapplication.cpp +@@ -2487,7 +2487,17 @@ QStringList QCoreApplication::libraryPat + QStringList *app_libpaths = new QStringList; + coreappdata()->app_libpaths.reset(app_libpaths); + ++ // Add library paths derived from NIX_PROFILES. ++ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); ++ const QString plugindir = QString::fromLatin1("/lib/qt5/plugins"); ++ for (const QByteArray &profile: profiles) { ++ if (!profile.isEmpty()) { ++ app_libpaths->append(QFile::decodeName(profile) + plugindir); ++ } ++ } ++ + const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH"); ++ qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes + if (!libPathEnv.isEmpty()) { + QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts); + for (QStringList::const_iterator it = paths.constBegin(); it != paths.constEnd(); ++it) { diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/series b/pkgs/development/libraries/qt-5/5.7/qtbase/series new file mode 100644 index 000000000000..44e2d9040807 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/series @@ -0,0 +1,10 @@ +dlopen-resolv.patch +tzdir.patch +dlopen-libXcursor.patch +dlopen-openssl.patch +dlopen-dbus.patch +xdg-config-dirs.patch +nix-profiles-library-paths.patch +compose-search-path.patch +libressl.patch +cmake-paths.patch diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh new file mode 100644 index 000000000000..6d8989281eba --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh @@ -0,0 +1,171 @@ +addToSearchPathOnceWithCustomDelimiter() { + local delim="$1" + local search="$2" + local target="$3" + local dirs + local exported + IFS="$delim" read -a dirs <<< "${!search}" + local canonical + if canonical=$(readlink -e "$target"); then + for dir in ${dirs[@]}; do + if [ "z$dir" == "z$canonical" ]; then exported=1; fi + done + if [ -z $exported ]; then + eval "export ${search}=\"${!search}${!search:+$delim}$canonical\"" + fi + fi +} + +addToSearchPathOnce() { + addToSearchPathOnceWithCustomDelimiter ':' "$@" +} + +propagateOnce() { + addToSearchPathOnceWithCustomDelimiter ' ' "$@" +} + +_qtPropagate() { + for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do + if [ -d "$1/$dir" ]; then + propagateOnce propagatedBuildInputs "$1" + break + fi + done + addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" + addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" + addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" +} + +crossEnvHooks+=(_qtPropagate) + +_qtPropagateNative() { + for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do + if [ -d "$1/$dir" ]; then + propagateOnce propagatedNativeBuildInputs "$1" + break + fi + done + if [ -z "$crossConfig" ]; then + addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins" + addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports" + addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml" + fi +} + +envHooks+=(_qtPropagateNative) + +_qtMultioutDevs() { + # This is necessary whether the package is a Qt module or not + moveToOutput "mkspecs" "${!outputDev}" +} + +preFixupHooks+=(_qtMultioutDevs) + +if [[ -z "$NIX_QT_PIC" ]]; then + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC" + export NIX_QT_PIC=1 +fi + +_qtSetCMakePrefix() { + export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}" +} + +_qtRmTmp() { + if [ -z "$NIX_QT_SUBMODULE" ]; then + rm -fr "$NIX_QT5_TMP" + else + cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do + if [ ! -d "$NIX_QT5_TMP/$file" ]; then + rm -f "$NIX_QT5_TMP/$file" + fi + done + + cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do + if [ -d "$NIX_QT5_TMP/$dir" ]; then + rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir" + fi + done + + rm "$NIX_QT5_TMP/nix-support/qt-inputs" + fi +} + +_qtSetQmakePath() { + export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH" +} + +if [ -z "$NIX_QT5_TMP" ]; then + if [ -z "$NIX_QT_SUBMODULE" ]; then + NIX_QT5_TMP=$(mktemp -d) + else + NIX_QT5_TMP=$out + fi + postInstallHooks+=(_qtRmTmp) + + mkdir -p "$NIX_QT5_TMP/nix-support" + for subdir in bin include lib mkspecs share; do + mkdir "$NIX_QT5_TMP/$subdir" + echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs" + done + + postHooks+=(_qtSetCMakePrefix) + + cp "@dev@/bin/qmake" "$NIX_QT5_TMP/bin" + echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs" + + cat >"$NIX_QT5_TMP/bin/qt.conf" <<EOF +[Paths] +Prefix = $NIX_QT5_TMP +Plugins = lib/qt5/plugins +Imports = lib/qt5/imports +Qml2Imports = lib/qt5/qml +Documentation = share/doc/qt5 +EOF + echo "bin/qt.conf" >> "$NIX_QT5_TMP/nix-support/qt-inputs" + + export QMAKE="$NIX_QT5_TMP/bin/qmake" + + # Set PATH to find qmake first in a preConfigure hook + # It must run after all the envHooks! + preConfigureHooks+=(_qtSetQmakePath) +fi + +qt5LinkModuleDir() { + if [ -d "$1/$2" ]; then + @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2" + find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs" + fi +} + +NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" +NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" + +_qtLinkAllModules() { + IFS=: read -a modules <<< $NIX_QT5_MODULES + for module in ${modules[@]}; do + qt5LinkModuleDir "$module" "lib" + done + + IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV + for module in ${modules[@]}; do + qt5LinkModuleDir "$module" "bin" + qt5LinkModuleDir "$module" "include" + qt5LinkModuleDir "$module" "lib" + qt5LinkModuleDir "$module" "mkspecs" + qt5LinkModuleDir "$module" "share" + done +} + +preConfigureHooks+=(_qtLinkAllModules) + +_qtFixCMakePaths() { + find "${!outputLib}" -name "*.cmake" | while read file; do + substituteInPlace "$file" \ + --subst-var-by NIX_OUT "${!outputLib}" \ + --subst-var-by NIX_DEV "${!outputDev}" + done +} + +if [ -n "$NIX_QT_SUBMODULE" ]; then + postInstallHooks+=(_qtFixCMakePaths) +fi diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/tzdir.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/tzdir.patch new file mode 100644 index 000000000000..f4056dd9cc97 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/tzdir.patch @@ -0,0 +1,40 @@ +Index: qtbase-opensource-src-5.7.0/src/corelib/tools/qtimezoneprivate_tz.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/corelib/tools/qtimezoneprivate_tz.cpp ++++ qtbase-opensource-src-5.7.0/src/corelib/tools/qtimezoneprivate_tz.cpp +@@ -68,7 +68,10 @@ typedef QHash<QByteArray, QTzTimeZone> Q + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories + static QTzTimeZoneHash loadTzTimeZones() + { +- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); ++ QString path = qgetenv("TZDIR"); ++ path += "/zone.tab"; ++ if (!QFile::exists(path)) ++ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); + if (!QFile::exists(path)) + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); + +@@ -566,12 +569,18 @@ void QTzTimeZonePrivate::init(const QByt + if (!tzif.open(QIODevice::ReadOnly)) + return; + } else { +- // Open named tz, try modern path first, if fails try legacy path +- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ // Try TZDIR first ++ QString zoneinfoDir = qgetenv("TZDIR"); ++ zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId); ++ tzif.setFileName(zoneinfoDir); + if (!tzif.open(QIODevice::ReadOnly)) { +- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); +- if (!tzif.open(QIODevice::ReadOnly)) +- return; ++ // Open named tz, try modern path first, if fails try legacy path ++ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) { ++ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) ++ return; ++ } + } + } + diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/xdg-config-dirs.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/xdg-config-dirs.patch new file mode 100644 index 000000000000..1f2f316c5b26 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtbase/xdg-config-dirs.patch @@ -0,0 +1,41 @@ +Index: qtbase-opensource-src-5.7.0/src/corelib/io/qsettings.cpp +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/corelib/io/qsettings.cpp ++++ qtbase-opensource-src-5.7.0/src/corelib/io/qsettings.cpp +@@ -1161,6 +1161,23 @@ QConfFileSettingsPrivate::QConfFileSetti + confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false)); + confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false)); + ++#if !defined(Q_OS_WIN) ++ // Add directories specified in $XDG_CONFIG_DIRS ++ const QString pathEnv = QString::fromLocal8Bit(getenv("XDG_CONFIG_DIRS")); ++ if (!pathEnv.isEmpty()) { ++ const QStringList pathEntries = pathEnv.split(QLatin1Char(':'), QString::SkipEmptyParts); ++ if (!pathEntries.isEmpty()) { ++ int j = 4; // This is the number of confFiles set above -- we need to start adding $XDG_CONFIG_DIRS after those. ++ for (int k = 0; k < pathEntries.size() && j < NumConfFiles - 1; ++k) { ++ const QString& path = pathEntries.at(k); ++ if (!application.isEmpty()) ++ confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + appFile, false)); ++ confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + orgFile, false)); ++ } ++ } ++ } ++#endif ++ + for (i = 0; i < NumConfFiles; ++i) { + if (confFiles[i]) { + spec = i; +Index: qtbase-opensource-src-5.7.0/src/corelib/io/qsettings_p.h +=================================================================== +--- qtbase-opensource-src-5.7.0.orig/src/corelib/io/qsettings_p.h ++++ qtbase-opensource-src-5.7.0/src/corelib/io/qsettings_p.h +@@ -246,7 +246,7 @@ public: + F_Organization = 0x1, + F_User = 0x0, + F_System = 0x2, +- NumConfFiles = 4 ++ NumConfFiles = 40 // HACK: increase NumConfFiles from 4 to 40 in order to accommodate more paths in $XDG_CONFIG_DIRS -- ellis + }; + + QSettings::Format format; diff --git a/pkgs/development/libraries/qt-5/5.7/qtconnectivity.nix b/pkgs/development/libraries/qt-5/5.7/qtconnectivity.nix new file mode 100644 index 000000000000..95cd6fea79b4 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtconnectivity.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase, qtdeclarative }: + +qtSubmodule { + name = "qtconnectivity"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/default.nix new file mode 100644 index 000000000000..328d8aee72bd --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/default.nix @@ -0,0 +1,8 @@ +{ qtSubmodule, lib, copyPathsToStore, python, qtbase, qtsvg, qtxmlpatterns }: + +qtSubmodule { + name = "qtdeclarative"; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + qtInputs = [ qtbase qtsvg qtxmlpatterns ]; + nativeBuildInputs = [ python ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/nix-profiles-import-paths.patch new file mode 100644 index 000000000000..06b244b974ff --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/nix-profiles-import-paths.patch @@ -0,0 +1,20 @@ +Index: qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp +=================================================================== +--- qtdeclarative-opensource-src-5.5.1.orig/src/qml/qml/qqmlimport.cpp ++++ qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp +@@ -1549,6 +1549,15 @@ QQmlImportDatabase::QQmlImportDatabase(Q + QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath); + addImportPath(installImportsPath); + ++ // Add library paths derived from NIX_PROFILES. ++ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' '); ++ const QString qmldir = QString::fromLatin1("/lib/qt5/qml"); ++ Q_FOREACH (const QByteArray &profile, profiles) { ++ if (!profile.isEmpty()) { ++ addImportPath(QFile::decodeName(profile) + qmldir); ++ } ++ } ++ + // env import paths + QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH"); + if (!envImportPath.isEmpty()) { diff --git a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/series b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/series new file mode 100644 index 000000000000..7dbe197c56e0 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/series @@ -0,0 +1 @@ +nix-profiles-import-paths.patch diff --git a/pkgs/development/libraries/qt-5/5.7/qtdoc.nix b/pkgs/development/libraries/qt-5/5.7/qtdoc.nix new file mode 100644 index 000000000000..578ea6ba0b22 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtdoc.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtdeclarative }: + +qtSubmodule { + name = "qtdoc"; + qtInputs = [ qtdeclarative ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtgraphicaleffects.nix b/pkgs/development/libraries/qt-5/5.7/qtgraphicaleffects.nix new file mode 100644 index 000000000000..3273f12eb830 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtgraphicaleffects.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtdeclarative }: + +qtSubmodule { + name = "qtgraphicaleffects"; + qtInputs = [ qtdeclarative ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtimageformats.nix b/pkgs/development/libraries/qt-5/5.7/qtimageformats.nix new file mode 100644 index 000000000000..03d0fffbe80e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtimageformats.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qtimageformats"; + qtInputs = [ qtbase ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtlocation.nix b/pkgs/development/libraries/qt-5/5.7/qtlocation.nix new file mode 100644 index 000000000000..1e134057c4b4 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtlocation.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase, qtmultimedia }: + +qtSubmodule { + name = "qtlocation"; + qtInputs = [ qtbase qtmultimedia ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix new file mode 100644 index 000000000000..7c1cc5da07e3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix @@ -0,0 +1,12 @@ +{ qtSubmodule, qtbase, qtdeclarative, pkgconfig +, alsaLib, gstreamer, gst-plugins-base, libpulseaudio +}: + +qtSubmodule { + name = "qtmultimedia"; + qtInputs = [ qtbase qtdeclarative ]; + buildInputs = [ + pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio + ]; + qmakeFlags = [ "GST_VERSION=1.0" ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtquickcontrols.nix b/pkgs/development/libraries/qt-5/5.7/qtquickcontrols.nix new file mode 100644 index 000000000000..93a864621b82 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtquickcontrols.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtdeclarative }: + +qtSubmodule { + name = "qtquickcontrols"; + qtInputs = [ qtdeclarative ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtscript/0001-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.7/qtscript/0001-glib-2.32.patch new file mode 100644 index 000000000000..887e107b6c1b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtscript/0001-glib-2.32.patch @@ -0,0 +1,25 @@ +From abd80356449bb36c8adcc5c9ca1df6b47715d265 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Sun, 23 Aug 2015 09:13:34 -0500 +Subject: [PATCH] glib-2.32 + +--- + src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +index 1f6d25e..087c3fb 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +@@ -81,7 +81,7 @@ + #include <pthread.h> + #elif PLATFORM(GTK) + #include <wtf/gtk/GOwnPtr.h> +-typedef struct _GMutex GMutex; ++typedef union _GMutex GMutex; + typedef struct _GCond GCond; + #endif + +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.7/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.7/qtscript/default.nix new file mode 100644 index 000000000000..127766e2ebd6 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtscript/default.nix @@ -0,0 +1,7 @@ +{ qtSubmodule, qtbase, qttools }: + +qtSubmodule { + name = "qtscript"; + qtInputs = [ qtbase qttools ]; + patches = [ ./0001-glib-2.32.patch ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtsensors.nix b/pkgs/development/libraries/qt-5/5.7/qtsensors.nix new file mode 100644 index 000000000000..61e64dc47e4d --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtsensors.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase, qtdeclarative }: + +qtSubmodule { + name = "qtsensors"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtserialport/0001-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.7/qtserialport/0001-dlopen-serialport-udev.patch new file mode 100644 index 000000000000..3a813dc80074 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtserialport/0001-dlopen-serialport-udev.patch @@ -0,0 +1,28 @@ +From d81c2c870b9bea8fb8e6b85baefb06542f568338 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Sun, 23 Aug 2015 09:16:02 -0500 +Subject: [PATCH] dlopen serialport udev + +--- + src/serialport/qtudev_p.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h +index 6f2cabd..81b9849 100644 +--- a/src/serialport/qtudev_p.h ++++ b/src/serialport/qtudev_p.h +@@ -105,9 +105,9 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN + inline bool resolveSymbols(QLibrary *udevLibrary) + { + if (!udevLibrary->isLoaded()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1); + if (!udevLibrary->load()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0); + if (!udevLibrary->load()) { + qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); + return false; +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix new file mode 100644 index 000000000000..32549c95344a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix @@ -0,0 +1,12 @@ +{ qtSubmodule, qtbase, substituteAll, libudev }: + +qtSubmodule { + name = "qtserialport"; + qtInputs = [ qtbase ]; + patches = [ + (substituteAll { + src = ./0001-dlopen-serialport-udev.patch; + libudev = libudev.out; + }) + ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtsvg.nix b/pkgs/development/libraries/qt-5/5.7/qtsvg.nix new file mode 100644 index 000000000000..b9ccac7cf933 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtsvg.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qtsvg"; + qtInputs = [ qtbase ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qttools.nix b/pkgs/development/libraries/qt-5/5.7/qttools.nix new file mode 100644 index 000000000000..4aeaea729a25 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qttools.nix @@ -0,0 +1,10 @@ +{ qtSubmodule, qtbase, qtdeclarative }: + +qtSubmodule { + name = "qttools"; + qtInputs = [ qtbase qtdeclarative ]; + postFixup = '' + moveToOutput "bin/qdbus" "$out" + moveToOutput "bin/qtpaths" "$out" + ''; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qttranslations.nix b/pkgs/development/libraries/qt-5/5.7/qttranslations.nix new file mode 100644 index 000000000000..50fc8cf6826a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qttranslations.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qttools }: + +qtSubmodule { + name = "qttranslations"; + qtInputs = [ qttools ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebchannel.nix b/pkgs/development/libraries/qt-5/5.7/qtwebchannel.nix new file mode 100644 index 000000000000..fd7a3c52026e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtwebchannel.nix @@ -0,0 +1,7 @@ +{ qtSubmodule, qtbase, qtdeclarative }: + +qtSubmodule { + name = "qtwebchannel"; + qtInputs = [ qtbase qtdeclarative ]; +} + diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebengine.nix b/pkgs/development/libraries/qt-5/5.7/qtwebengine.nix new file mode 100644 index 000000000000..a433976dad1f --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtwebengine.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtquickcontrols, qtlocation, qtwebchannel }: + +qtSubmodule { + name = "qtwebengine"; + qtInputs = [ qtquickcontrols qtlocation qtwebchannel ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.7/qtwebsockets.nix new file mode 100644 index 000000000000..fbdfbbcf0dbe --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtwebsockets.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase, qtdeclarative }: + +qtSubmodule { + name = "qtwebsockets"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtx11extras.nix b/pkgs/development/libraries/qt-5/5.7/qtx11extras.nix new file mode 100644 index 000000000000..a765161e2d7e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtx11extras.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qtx11extras"; + qtInputs = [ qtbase ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.7/qtxmlpatterns.nix new file mode 100644 index 000000000000..9a8ddbba2bd2 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/qtxmlpatterns.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qtxmlpatterns"; + qtInputs = [ qtbase ]; +} diff --git a/pkgs/development/libraries/qt-5/5.7/setup-hook.sh b/pkgs/development/libraries/qt-5/5.7/setup-hook.sh new file mode 100644 index 000000000000..e41433c11386 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/setup-hook.sh @@ -0,0 +1,2 @@ +NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@" +NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@" diff --git a/pkgs/development/libraries/qt-5/5.7/srcs.nix b/pkgs/development/libraries/qt-5/5.7/srcs.nix new file mode 100644 index 000000000000..38334fa77f18 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.7/srcs.nix @@ -0,0 +1,301 @@ +# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh +{ fetchurl, mirror }: + +{ + qt3d = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qt3d-opensource-src-5.7.0.tar.xz"; + sha256 = "0a9y4fxm4xmdl5hsv4hfvxcw7jmshy0mwd4j1r2ylqdmg4bql958"; + name = "qt3d-opensource-src-5.7.0.tar.xz"; + }; + }; + qtactiveqt = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtactiveqt-opensource-src-5.7.0.tar.xz"; + sha256 = "149wj6a5i35k750129kz77y4r8q3hpxqzn1c676fcn9wpmfhay4v"; + name = "qtactiveqt-opensource-src-5.7.0.tar.xz"; + }; + }; + qtandroidextras = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtandroidextras-opensource-src-5.7.0.tar.xz"; + sha256 = "1caimhfyag96v98j1b07pfzjl5inhsyfi9kxzy9nj0pkvpjdgi4g"; + name = "qtandroidextras-opensource-src-5.7.0.tar.xz"; + }; + }; + qtbase = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtbase-opensource-src-5.7.0.tar.xz"; + sha256 = "0ip6xnizsn269r4s1nq9lkx8cdxkjqr1fidwrj3sa8xb7h96syry"; + name = "qtbase-opensource-src-5.7.0.tar.xz"; + }; + }; + qtcanvas3d = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtcanvas3d-opensource-src-5.7.0.tar.xz"; + sha256 = "15xxwciyiy8rwrwgb7bgcbxdiiaba3l4cxxm7rdiqmhs9kyv6wbq"; + name = "qtcanvas3d-opensource-src-5.7.0.tar.xz"; + }; + }; + qtcharts = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtcharts-opensource-src-5.7.0.tar.xz"; + sha256 = "0hsj5m9in4w9wzyvbs76v7zc67n9ja641ljc5vgfpbn7fmrsij1b"; + name = "qtcharts-opensource-src-5.7.0.tar.xz"; + }; + }; + qtconnectivity = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtconnectivity-opensource-src-5.7.0.tar.xz"; + sha256 = "00r7lc1w3snfp2qfqmviqzv0cw16zd8m1sfpvxvpl65yqmzcli4q"; + name = "qtconnectivity-opensource-src-5.7.0.tar.xz"; + }; + }; + qtdatavis3d = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtdatavis3d-opensource-src-5.7.0.tar.xz"; + sha256 = "18p82vh5s9bdshmxxkh7r9482i5vaih8nfya9f81l8ff7lw7lpcs"; + name = "qtdatavis3d-opensource-src-5.7.0.tar.xz"; + }; + }; + qtdeclarative = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtdeclarative-opensource-src-5.7.0.tar.xz"; + sha256 = "1x7rij423g5chlfd2kix54f393vxwjvdfsn1c7sybqmfycwn5pl6"; + name = "qtdeclarative-opensource-src-5.7.0.tar.xz"; + }; + }; + qtdeclarative-render2d = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtdeclarative-render2d-opensource-src-5.7.0.tar.xz"; + sha256 = "1qf893i7z2iyjpqpaxfhji4cgzlmpgh0w3vdqarpn51vcn7jj4q6"; + name = "qtdeclarative-render2d-opensource-src-5.7.0.tar.xz"; + }; + }; + qtdoc = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtdoc-opensource-src-5.7.0.tar.xz"; + sha256 = "0d7c7137jvxlwl91c2hh33l4falmjvkmsy1f7lyi73x6nnqzdz8i"; + name = "qtdoc-opensource-src-5.7.0.tar.xz"; + }; + }; + qtgamepad = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtgamepad-opensource-src-5.7.0.tar.xz"; + sha256 = "0g36nlnnq19p9svl6pvklxybpwig7r7z4hw0d5dwc2id02ygg62q"; + name = "qtgamepad-opensource-src-5.7.0.tar.xz"; + }; + }; + qtgraphicaleffects = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtgraphicaleffects-opensource-src-5.7.0.tar.xz"; + sha256 = "1rwdjg5mk6xpadmxfq64xfp573zp5lrj9illb9105ra5wff565n8"; + name = "qtgraphicaleffects-opensource-src-5.7.0.tar.xz"; + }; + }; + qtimageformats = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtimageformats-opensource-src-5.7.0.tar.xz"; + sha256 = "1rb27x7i2pmvsck6wax2cg31gqpzaakciy45wm5l3lcl86j48czg"; + name = "qtimageformats-opensource-src-5.7.0.tar.xz"; + }; + }; + qtlocation = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtlocation-opensource-src-5.7.0.tar.xz"; + sha256 = "0rd898gndn41jrp78203lxd94ybfv693l0qg0myag4r46ikk69vh"; + name = "qtlocation-opensource-src-5.7.0.tar.xz"; + }; + }; + qtmacextras = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtmacextras-opensource-src-5.7.0.tar.xz"; + sha256 = "1p439sqnchrypggaqkfq3rvfk7xmvqgck4nhwv762jk3kgp48ccq"; + name = "qtmacextras-opensource-src-5.7.0.tar.xz"; + }; + }; + qtmultimedia = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtmultimedia-opensource-src-5.7.0.tar.xz"; + sha256 = "0ndmhiflmyr144nq8drd5njsdi282ixsm4730q5n0ji2v9dp1bh5"; + name = "qtmultimedia-opensource-src-5.7.0.tar.xz"; + }; + }; + qtpurchasing = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtpurchasing-opensource-src-5.7.0.tar.xz"; + sha256 = "1db44q3d02nhmrh0fd239n2nsm74myac8saa6jqx1pcap4y4llby"; + name = "qtpurchasing-opensource-src-5.7.0.tar.xz"; + }; + }; + qtquickcontrols = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtquickcontrols-opensource-src-5.7.0.tar.xz"; + sha256 = "0cpcrmz9n5b4bgmshmk093lirl9xwqb23inchnai1zqg21vrmqfq"; + name = "qtquickcontrols-opensource-src-5.7.0.tar.xz"; + }; + }; + qtquickcontrols2 = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtquickcontrols2-opensource-src-5.7.0.tar.xz"; + sha256 = "0i8h933vhvx1bmniqdx0idg6vk82w9byd3dq0bb2phwjg5vv1xb3"; + name = "qtquickcontrols2-opensource-src-5.7.0.tar.xz"; + }; + }; + qtscript = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtscript-opensource-src-5.7.0.tar.xz"; + sha256 = "0040890p5ilyrmcpndz1hhp08x2ms5gw4lp4n5iax2a957yy2i4w"; + name = "qtscript-opensource-src-5.7.0.tar.xz"; + }; + }; + qtscxml = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtscxml-opensource-src-5.7.0.tar.xz"; + sha256 = "1waidk96vp9510g94fry0sv1vm2lgzgpwybf6c2xybcsdkbi62rp"; + name = "qtscxml-opensource-src-5.7.0.tar.xz"; + }; + }; + qtsensors = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtsensors-opensource-src-5.7.0.tar.xz"; + sha256 = "1gii6wg2xd3bkb86y5hgpmwcpl04xav030zscpl6fhscl9kcqg98"; + name = "qtsensors-opensource-src-5.7.0.tar.xz"; + }; + }; + qtserialbus = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtserialbus-opensource-src-5.7.0.tar.xz"; + sha256 = "0f2xq6fm8lmvd88lc3l37kybqp4wqp71kdch14bwz79y7777lhrc"; + name = "qtserialbus-opensource-src-5.7.0.tar.xz"; + }; + }; + qtserialport = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtserialport-opensource-src-5.7.0.tar.xz"; + sha256 = "0rc2l14s59qskp16wqlkizfai32s41qlm7a86r3qahx28gc51qaw"; + name = "qtserialport-opensource-src-5.7.0.tar.xz"; + }; + }; + qtsvg = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtsvg-opensource-src-5.7.0.tar.xz"; + sha256 = "10fqrlqkiq83xhx79g8d2sjy7hjdnp28067z8f4byj7db81rzy51"; + name = "qtsvg-opensource-src-5.7.0.tar.xz"; + }; + }; + qttools = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qttools-opensource-src-5.7.0.tar.xz"; + sha256 = "004m9l7bgh7qnncbyl3d5fkggdrqx58ib21xv4hflvvarxrssibg"; + name = "qttools-opensource-src-5.7.0.tar.xz"; + }; + }; + qttranslations = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qttranslations-opensource-src-5.7.0.tar.xz"; + sha256 = "0vasg5ycg5rhj8ljk3aqg1sxfrlz3602n38fr14ip853yqld83ha"; + name = "qttranslations-opensource-src-5.7.0.tar.xz"; + }; + }; + qtvirtualkeyboard = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtvirtualkeyboard-opensource-src-5.7.0.tar.xz"; + sha256 = "0bzzci32f8ji94p2n6n16n838lrykyy3h822gfw77c93ivk3shyz"; + name = "qtvirtualkeyboard-opensource-src-5.7.0.tar.xz"; + }; + }; + qtwayland = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwayland-opensource-src-5.7.0.tar.xz"; + sha256 = "04dynjcr6gxi3hcqdf688a4hkabi2l17slpcx9k0f3dxygwcgf96"; + name = "qtwayland-opensource-src-5.7.0.tar.xz"; + }; + }; + qtwebchannel = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwebchannel-opensource-src-5.7.0.tar.xz"; + sha256 = "05lqfidlh1ahdd1j9y20p2037qbcq51zkdzj2m8fwhn7ghbwvd1s"; + name = "qtwebchannel-opensource-src-5.7.0.tar.xz"; + }; + }; + qtwebengine = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwebengine-opensource-src-5.7.0.tar.xz"; + sha256 = "0pfwsqjh107jqdw1mzzrhn38jxl64d8lljk4586im2ndypzn4mwq"; + name = "qtwebengine-opensource-src-5.7.0.tar.xz"; + }; + }; + qtwebsockets = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwebsockets-opensource-src-5.7.0.tar.xz"; + sha256 = "0hwb2l7iwf4wf7l95dli8j3b7h0nffp56skfg1x810kzj0df26vl"; + name = "qtwebsockets-opensource-src-5.7.0.tar.xz"; + }; + }; + qtwebview = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwebview-opensource-src-5.7.0.tar.xz"; + sha256 = "1i2ikv1ah4g3rc1pivxiw77p0yj79lialqww91fj781g66pky6l0"; + name = "qtwebview-opensource-src-5.7.0.tar.xz"; + }; + }; + qtwinextras = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtwinextras-opensource-src-5.7.0.tar.xz"; + sha256 = "1fh7kqfwgwi9pcfg9b6hp2fpgvs938wl96ppqan79apxlhqy5awd"; + name = "qtwinextras-opensource-src-5.7.0.tar.xz"; + }; + }; + qtx11extras = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtx11extras-opensource-src-5.7.0.tar.xz"; + sha256 = "1yrkn8pqdbvbqykas3wx1vdfimhjkgx3s5jgdxib9dgmgyx6vjzw"; + name = "qtx11extras-opensource-src-5.7.0.tar.xz"; + }; + }; + qtxmlpatterns = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtxmlpatterns-opensource-src-5.7.0.tar.xz"; + sha256 = "02z2qxamslg6sphnaykjcjfpypq4b69pb586s43vw4fplm72m21q"; + name = "qtxmlpatterns-opensource-src-5.7.0.tar.xz"; + }; + }; +} diff --git a/pkgs/development/libraries/tk/8.6.nix b/pkgs/development/libraries/tk/8.6.nix index c10771c9109d..666332d45fb8 100644 --- a/pkgs/development/libraries/tk/8.6.nix +++ b/pkgs/development/libraries/tk/8.6.nix @@ -4,7 +4,7 @@ callPackage ./generic.nix (args // rec { src = fetchurl { url = "mirror://sourceforge/tcl/tk${tcl.version}-src.tar.gz"; - sha256 = "1h96vp15zl5xz0d4qp6wjyrchqmrmdm3q5k22wkw9jaxbvw9vy88"; + sha256 = "17diivcfcwdhp4v5zi6j9nkxncccjqkivhp363c4wx5lf4d3fb6n"; }; patches = [ ./different-prefix-with-tcl.patch ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./Fix-bad-install_name-for-libtk8.6.dylib.patch ]; diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix index 934bfa6a9e94..c5a01ec7e7c8 100644 --- a/pkgs/development/libraries/tk/generic.nix +++ b/pkgs/development/libraries/tk/generic.nix @@ -37,6 +37,6 @@ stdenv.mkDerivation { homepage = http://www.tcl.tk/; license = licenses.tcltk; platforms = platforms.all; - maintainers = with maintainers; [ lovek323 wkennington ]; + maintainers = with maintainers; [ lovek323 vrthra wkennington ]; }; } diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index 09e1c9512400..2c6e818b4e12 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -1,6 +1,7 @@ { stdenv, lib, fetchgit, fetchFromGitHub, gyp, readline, python, which, icu , patchelf, coreutils , doCheck ? false +, static ? false }: assert readline != null; @@ -15,6 +16,7 @@ let else "ia32"; git_url = "https://chromium.googlesource.com"; clangFlag = if stdenv.isDarwin then "1" else "0"; + sharedFlag = if static then "static_library" else "shared_library"; deps = { "build" = fetchgit { @@ -143,7 +145,7 @@ stdenv.mkDerivation rec { -Dclang=${clangFlag} \ -Dv8_enable_i18n_support=1 \ -Duse_system_icu=1 \ - -Dcomponent=shared_library \ + -Dcomponent=${sharedFlag} \ -Dconsole=readline \ -Dv8_target_arch=${arch} \ -Dv8_use_external_startup_data=0 @@ -170,7 +172,8 @@ stdenv.mkDerivation rec { installPhase = '' install -vD out/Release/d8 "$out/bin/d8" install -vD out/Release/mksnapshot "$out/bin/mksnapshot" - ${if stdenv.isDarwin then '' + ${if static then "" + else if stdenv.isDarwin then '' install -vD out/Release/lib.target/libv8.dylib "$out/lib/libv8.dylib" install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/bin/d8 install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib @@ -180,6 +183,7 @@ stdenv.mkDerivation rec { mkdir -p "$out/include" cp -vr include/*.h "$out/include" cp -vr include/libplatform "$out/include" + mkdir -p "$out/lib" cp -v out/Release/*.a "$out/lib" ''; diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix index e6e61e0482cb..39c0eed0a543 100644 --- a/pkgs/development/libraries/webkitgtk/2.4.nix +++ b/pkgs/development/libraries/webkitgtk/2.4.nix @@ -2,7 +2,7 @@ , pkgconfig, which, gettext, gobjectIntrospection , gtk2, gtk3, wayland, libwebp, enchant, sqlite , libxml2, libsoup, libsecret, libxslt, harfbuzz, xorg -, gst-plugins-base +, gst-plugins-base, libobjc , withGtk2 ? false , enableIntrospection ? !stdenv.isDarwin , enableCredentialStorage ? !stdenv.isDarwin @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { description = "Web content rendering engine, GTK+ port"; homepage = "http://webkitgtk.org/"; license = licenses.bsd2; - platforms = platforms.linux; + platforms = with platforms; linux ++ darwin; maintainers = []; }; @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { patches = [ ./webcore-svg-libxml-cflags.patch ] ++ optionals stdenv.isDarwin [ - ./impure-icucore.patch + ./configure.patch ./quartz-webcore.patch ./libc++.patch ./plugin-none.patch @@ -76,7 +76,7 @@ stdenv.mkDerivation rec { ] ++ optionals enableCredentialStorage [ libsecret ] ++ (if stdenv.isDarwin then [ - readline libedit + readline libedit libobjc ] else [ wayland ]); diff --git a/pkgs/development/libraries/webkitgtk/configure.patch b/pkgs/development/libraries/webkitgtk/configure.patch new file mode 100644 index 000000000000..2f4c1e7ad314 --- /dev/null +++ b/pkgs/development/libraries/webkitgtk/configure.patch @@ -0,0 +1,20 @@ +--- webkitgtk-2.4.11-orig/configure 2016-04-10 17:00:06.000000000 +0800 ++++ webkitgtk-2.4.11/configure 2016-07-21 23:04:10.000000000 +0800 +@@ -17738,7 +17738,7 @@ + cat >>confdefs.h <<_ACEOF + #define HAVE_WEBP_DECODE_H 1 + _ACEOF +- WEBP_LIBS='-lwebp' ++ WEBP_LIBS=`$PKG_CONFIG --libs libwebp` + else + as_fn_error $? "WebP library (libwebp) not found" "$LINENO" 5 + fi +@@ -18388,7 +18388,7 @@ + case "$host" in + *-*-darwin*) + UNICODE_CFLAGS="-I$srcdir/Source/JavaScriptCore/icu -I$srcdir/Source/WebCore/icu" +- UNICODE_LIBS="-licucore" ++ UNICODE_LIBS="/usr/lib/libicucore.dylib" + ;; + *-*-mingw*) + diff --git a/pkgs/development/libraries/webkitgtk/impure-icucore.patch b/pkgs/development/libraries/webkitgtk/impure-icucore.patch deleted file mode 100644 index 24bf690d8b8f..000000000000 --- a/pkgs/development/libraries/webkitgtk/impure-icucore.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru webkitgtk-2.4.9-orig/configure webkitgtk-2.4.9/configure ---- webkitgtk-2.4.9-orig/configure 2016-02-02 13:23:22.000000000 -0500 -+++ webkitgtk-2.4.9/configure 2016-02-02 13:24:13.000000000 -0500 -@@ -17715,7 +17715,7 @@ - case "$host" in - *-*-darwin*) - UNICODE_CFLAGS="-I$srcdir/Source/JavaScriptCore/icu -I$srcdir/Source/WebCore/icu" -- UNICODE_LIBS="-licucore" -+ UNICODE_LIBS="/usr/lib/libicucore.dylib" - ;; - *-*-mingw*) - |