From c9d8624ccddf17aee28745446b6763aabb26b4c7 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Sun, 10 Nov 2019 16:44:34 +0000 Subject: [PATCH 1/5] treewide: Get rid of libGLU_combined --- pkgs/applications/audio/helm/default.nix | 4 ++-- .../audio/jack-oscrolloscope/default.nix | 4 ++-- pkgs/applications/audio/meters_lv2/default.nix | 4 ++-- pkgs/applications/audio/pianobooster/default.nix | 7 ++++--- pkgs/applications/audio/setbfree/default.nix | 4 ++-- pkgs/applications/audio/sisco.lv2/default.nix | 4 ++-- .../audio/soundscape-renderer/default.nix | 4 ++-- pkgs/applications/audio/yoshimi/default.nix | 4 ++-- pkgs/applications/audio/zam-plugins/default.nix | 4 ++-- pkgs/applications/editors/kodestudio/default.nix | 4 ++-- pkgs/applications/graphics/antimony/default.nix | 4 ++-- pkgs/applications/graphics/cinepaint/default.nix | 4 ++-- pkgs/applications/graphics/draftsight/default.nix | 4 ++-- pkgs/applications/graphics/exrdisplay/default.nix | 4 ++-- pkgs/applications/graphics/freepv/default.nix | 4 ++-- pkgs/applications/graphics/hugin/default.nix | 4 ++-- pkgs/applications/graphics/k3d/default.nix | 4 ++-- pkgs/applications/graphics/kodelife/default.nix | 4 ++-- pkgs/applications/graphics/openscad/default.nix | 4 ++-- pkgs/applications/graphics/paraview/default.nix | 4 ++-- pkgs/applications/graphics/seg3d/default.nix | 4 ++-- pkgs/applications/misc/blender/default.nix | 4 ++-- pkgs/applications/misc/cpp-ethereum/default.nix | 4 ++-- pkgs/applications/misc/googleearth/default.nix | 4 ++-- pkgs/applications/misc/icesl/default.nix | 4 ++-- pkgs/applications/misc/llpp/default.nix | 4 ++-- pkgs/applications/misc/navit/default.nix | 4 ++-- pkgs/applications/misc/openbrf/default.nix | 4 ++-- .../networking/browsers/chromium/common.nix | 4 ++-- .../networking/browsers/firefox-bin/default.nix | 4 ++-- .../networking/browsers/firefox/common.nix | 4 ++-- .../networking/browsers/palemoon/default.nix | 4 ++-- .../instant-messengers/viber/default.nix | 4 ++-- .../mailreaders/thunderbird-bin/default.nix | 4 ++-- .../networking/mailreaders/thunderbird/default.nix | 4 ++-- .../networking/remote/anydesk/default.nix | 4 ++-- pkgs/applications/office/libreoffice/default.nix | 4 ++-- pkgs/applications/office/libreoffice/still.nix | 4 ++-- pkgs/applications/office/zotero/default.nix | 4 ++-- .../science/astronomy/celestia/default.nix | 4 ++-- .../science/astronomy/gravit/default.nix | 4 ++-- .../science/astronomy/stellarium/default.nix | 4 ++-- .../science/chemistry/avogadro/default.nix | 6 +++--- .../science/electronics/kicad/default.nix | 4 ++-- .../science/electronics/kicad/unstable.nix | 4 ++-- .../science/electronics/pcb/default.nix | 4 ++-- pkgs/applications/science/logic/mcrl2/default.nix | 4 ++-- pkgs/applications/science/math/giac/default.nix | 6 +++--- pkgs/applications/science/math/glsurf/default.nix | 4 ++-- pkgs/applications/science/math/gmsh/default.nix | 4 ++-- .../science/medicine/aliza/default.nix | 4 ++-- pkgs/applications/science/misc/boinc/default.nix | 4 ++-- pkgs/applications/science/misc/golly/beta.nix | 4 ++-- pkgs/applications/science/misc/golly/default.nix | 4 ++-- pkgs/applications/science/misc/gplates/default.nix | 4 ++-- pkgs/applications/science/misc/root/5.nix | 4 ++-- pkgs/applications/science/misc/root/default.nix | 4 ++-- pkgs/applications/science/misc/tulip/default.nix | 4 ++-- pkgs/applications/science/misc/vite/default.nix | 4 ++-- .../version-management/gource/default.nix | 4 ++-- pkgs/applications/video/aegisub/default.nix | 4 ++-- pkgs/applications/video/bomi/default.nix | 4 ++-- pkgs/applications/video/mplayer/default.nix | 6 +++--- pkgs/applications/video/mpv/default.nix | 6 +++--- pkgs/applications/video/mythtv/default.nix | 4 ++-- .../video/simplescreenrecorder/default.nix | 4 ++-- pkgs/applications/virtualization/bochs/default.nix | 4 ++-- .../desktops/gnome-2/platform/gtkglext/default.nix | 4 ++-- .../haskell-modules/configuration-nix.nix | 2 +- .../haskell-modules/hackage-packages.nix | 6 +++--- .../interpreters/erlang/generic-builder.nix | 6 +++--- pkgs/development/interpreters/io/default.nix | 4 ++-- pkgs/development/interpreters/love/0.10.nix | 4 ++-- pkgs/development/interpreters/love/0.7.nix | 4 ++-- pkgs/development/interpreters/love/0.8.nix | 4 ++-- pkgs/development/interpreters/love/0.9.nix | 4 ++-- pkgs/development/interpreters/love/11.1.nix | 4 ++-- pkgs/development/interpreters/lush/default.nix | 4 ++-- pkgs/development/interpreters/renpy/default.nix | 6 +++--- pkgs/development/libraries/AntTweakBar/default.nix | 4 ++-- pkgs/development/libraries/allegro/5.nix | 4 ++-- pkgs/development/libraries/allegro/default.nix | 4 ++-- pkgs/development/libraries/arrayfire/default.nix | 4 ++-- pkgs/development/libraries/box2d/default.nix | 4 ++-- pkgs/development/libraries/bullet/default.nix | 4 ++-- .../libraries/bullet/roboschool-fork.nix | 4 ++-- pkgs/development/libraries/cairo/default.nix | 2 +- pkgs/development/libraries/chipmunk/default.nix | 4 ++-- pkgs/development/libraries/ffmpeg-full/default.nix | 6 +++--- pkgs/development/libraries/ffmpeg/generic.nix | 6 +++--- pkgs/development/libraries/fltk/1.4.nix | 4 ++-- pkgs/development/libraries/forge/default.nix | 4 ++-- pkgs/development/libraries/fox/fox-1.6.nix | 4 ++-- pkgs/development/libraries/freenect/default.nix | 4 ++-- pkgs/development/libraries/glui/default.nix | 4 ++-- .../libraries/gstreamer/bad/default.nix | 6 ++++-- .../libraries/gstreamer/vaapi/default.nix | 6 ++++-- pkgs/development/libraries/irrlicht/default.nix | 4 ++-- pkgs/development/libraries/java/swt/default.nix | 4 ++-- pkgs/development/libraries/libagar/default.nix | 6 +++--- pkgs/development/libraries/libtcod/default.nix | 4 ++-- pkgs/development/libraries/libwebp/default.nix | 6 +++--- pkgs/development/libraries/liquidfun/default.nix | 4 ++-- .../libraries/mediastreamer/default.nix | 4 ++-- pkgs/development/libraries/mygui/default.nix | 5 +++-- pkgs/development/libraries/ogre/1.10.x.nix | 4 ++-- pkgs/development/libraries/ogre/1.9.x.nix | 4 ++-- pkgs/development/libraries/ogre/default.nix | 4 ++-- pkgs/development/libraries/opencsg/default.nix | 4 ++-- .../libraries/openexrid-unstable/default.nix | 4 ++-- pkgs/development/libraries/partio/default.nix | 4 ++-- pkgs/development/libraries/phonon/default.nix | 4 ++-- .../libraries/physics/geant4/default.nix | 4 ++-- pkgs/development/libraries/plib/default.nix | 4 ++-- pkgs/development/libraries/qt-3/default.nix | 6 +++--- pkgs/development/libraries/quesoglc/default.nix | 4 ++-- pkgs/development/libraries/simgear/default.nix | 4 ++-- pkgs/development/libraries/smpeg/default.nix | 4 ++-- pkgs/development/libraries/soxt/default.nix | 4 ++-- pkgs/development/libraries/vaapi-vdpau/default.nix | 4 ++-- pkgs/development/libraries/vrpn/default.nix | 4 ++-- pkgs/development/libraries/xine-lib/default.nix | 4 ++-- pkgs/development/misc/amdapp-sdk/default.nix | 4 ++-- pkgs/development/ocaml-modules/lablgl/default.nix | 4 ++-- pkgs/development/pharo/vm/build-vm-legacy.nix | 6 +++--- pkgs/development/pharo/vm/build-vm.nix | 6 +++--- pkgs/development/pharo/vm/vms.nix | 2 +- pkgs/development/pure-modules/gl/default.nix | 4 ++-- pkgs/development/python-modules/pivy/default.nix | 2 +- .../python-modules/pybullet/default.nix | 4 ++-- pkgs/development/python-modules/pyftgl/default.nix | 4 ++-- pkgs/development/python-modules/pyglet/default.nix | 7 ++++--- .../python-modules/pyopengl/default.nix | 2 +- pkgs/development/r-modules/default.nix | 2 +- pkgs/development/tools/simavr/default.nix | 4 ++-- pkgs/games/0ad/game.nix | 4 ++-- pkgs/games/adom/default.nix | 4 ++-- pkgs/games/alienarena/default.nix | 6 +++--- pkgs/games/armagetronad/default.nix | 4 ++-- pkgs/games/astromenace/default.nix | 4 ++-- pkgs/games/bitsnbots/default.nix | 4 ++-- pkgs/games/blackshades/default.nix | 4 ++-- pkgs/games/blobby/default.nix | 4 ++-- pkgs/games/bzflag/default.nix | 4 ++-- pkgs/games/construo/default.nix | 5 ++--- pkgs/games/crack-attack/default.nix | 4 ++-- pkgs/games/crawl/default.nix | 4 ++-- pkgs/games/crrcsim/default.nix | 4 ++-- pkgs/games/dhewm3/default.nix | 6 +++--- pkgs/games/dwarf-fortress/dfhack/default.nix | 4 ++-- pkgs/games/dxx-rebirth/default.nix | 4 ++-- pkgs/games/eduke32/default.nix | 8 ++++---- pkgs/games/egoboo/default.nix | 4 ++-- pkgs/games/extremetuxracer/default.nix | 4 ++-- pkgs/games/ezquake/default.nix | 4 ++-- pkgs/games/flightgear/default.nix | 4 ++-- pkgs/games/freeorion/default.nix | 4 ++-- pkgs/games/fsg/default.nix | 4 ++-- pkgs/games/gl-117/default.nix | 4 ++-- pkgs/games/globulation/default.nix | 4 ++-- pkgs/games/gltron/default.nix | 4 ++-- pkgs/games/kobodeluxe/default.nix | 4 ++-- pkgs/games/lincity/ng.nix | 4 ++-- pkgs/games/mars/default.nix | 4 ++-- pkgs/games/minetest/default.nix | 4 ++-- pkgs/games/naev/default.nix | 4 ++-- pkgs/games/newtonwars/default.nix | 7 ++++--- pkgs/games/nexuiz/default.nix | 4 ++-- pkgs/games/openrw/default.nix | 4 ++-- pkgs/games/openxcom/default.nix | 4 ++-- pkgs/games/pingus/default.nix | 4 ++-- pkgs/games/pioneer/default.nix | 4 ++-- pkgs/games/prboom/default.nix | 7 +++++-- pkgs/games/privateer/default.nix | 4 ++-- pkgs/games/residualvm/default.nix | 6 +++--- pkgs/games/rigsofrods/default.nix | 4 ++-- pkgs/games/scorched3d/default.nix | 4 ++-- pkgs/games/scummvm/default.nix | 4 ++-- pkgs/games/soi/default.nix | 4 ++-- pkgs/games/space-orbit/default.nix | 4 ++-- pkgs/games/speed-dreams/default.nix | 4 ++-- pkgs/games/spring/default.nix | 4 ++-- pkgs/games/stardust/default.nix | 4 ++-- pkgs/games/super-tux-kart/default.nix | 4 ++-- pkgs/games/supertux/default.nix | 4 ++-- pkgs/games/tdm/default.nix | 6 +++--- pkgs/games/tibia/default.nix | 4 ++-- pkgs/games/trackballs/default.nix | 4 ++-- pkgs/games/tremulous/default.nix | 4 ++-- pkgs/games/trigger/default.nix | 4 ++-- pkgs/games/ufoai/default.nix | 4 ++-- pkgs/games/ultimatestunts/default.nix | 4 ++-- pkgs/games/ultrastardx/default.nix | 4 ++-- pkgs/games/uqm/default.nix | 4 ++-- pkgs/games/urbanterror/default.nix | 6 +++--- pkgs/games/vdrift/default.nix | 4 ++-- pkgs/games/voxelands/default.nix | 4 ++-- pkgs/games/worldofgoo/default.nix | 4 ++-- pkgs/games/xmoto/default.nix | 4 ++-- pkgs/games/xonotic/default.nix | 4 ++-- pkgs/games/xpilot/bloodspilot-client.nix | 4 ++-- pkgs/games/xpilot/default.nix | 4 ++-- pkgs/misc/emulators/atari800/default.nix | 4 ++-- pkgs/misc/emulators/attract-mode/default.nix | 4 ++-- pkgs/misc/emulators/dolphin-emu/default.nix | 4 ++-- pkgs/misc/emulators/dolphin-emu/master.nix | 4 ++-- pkgs/misc/emulators/dosbox/default.nix | 4 ++-- pkgs/misc/emulators/emulationstation/default.nix | 4 ++-- pkgs/misc/emulators/epsxe/default.nix | 4 ++-- pkgs/misc/emulators/fakenes/default.nix | 4 ++-- pkgs/misc/emulators/fs-uae/default.nix | 4 ++-- pkgs/misc/emulators/gens-gs/default.nix | 4 ++-- pkgs/misc/emulators/higan/default.nix | 4 ++-- pkgs/misc/emulators/mednafen/default.nix | 4 ++-- pkgs/misc/emulators/nestopia/default.nix | 4 ++-- pkgs/misc/emulators/retroarch/default.nix | 4 ++-- pkgs/misc/emulators/vbam/default.nix | 4 ++-- pkgs/misc/emulators/vice/default.nix | 4 ++-- pkgs/misc/emulators/wine/base.nix | 2 +- pkgs/misc/emulators/wxmupen64plus/default.nix | 4 ++-- pkgs/misc/emulators/yabause/default.nix | 4 ++-- pkgs/misc/emulators/zsnes/default.nix | 4 ++-- pkgs/misc/gnash/default.nix | 12 +++++++----- pkgs/misc/screensavers/electricsheep/default.nix | 4 ++-- pkgs/misc/screensavers/rss-glx/default.nix | 4 ++-- pkgs/misc/screensavers/xscreensaver/default.nix | 4 ++-- pkgs/os-specific/linux/ati-drivers/builder.sh | 4 ++-- pkgs/os-specific/linux/ati-drivers/default.nix | 8 ++++---- pkgs/os-specific/linux/kmscon/default.nix | 4 ++-- pkgs/tools/graphics/enblend-enfuse/default.nix | 4 ++-- pkgs/tools/graphics/glee/default.nix | 4 ++-- pkgs/tools/graphics/logstalgia/default.nix | 4 ++-- pkgs/tools/graphics/pfstools/default.nix | 4 ++-- pkgs/tools/inputmethods/touchegg/default.nix | 4 ++-- pkgs/tools/misc/kisslicer/default.nix | 6 +++--- pkgs/tools/misc/ocz-ssd-guru/default.nix | 4 ++-- pkgs/tools/misc/pipelight/default.nix | 4 ++-- pkgs/tools/misc/slop/default.nix | 4 ++-- pkgs/tools/security/enpass/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 14 ++------------ pkgs/top-level/perl-packages.nix | 4 ++-- 241 files changed, 518 insertions(+), 516 deletions(-) diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix index 64de722afe9..d6d6b94d77b 100644 --- a/pkgs/applications/audio/helm/default.nix +++ b/pkgs/applications/audio/helm/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2 - , lv2, pkgconfig, libGLU_combined }: + , lv2, pkgconfig, libGLU, libGL }: stdenv.mkDerivation { version = "0.9.0"; @@ -15,7 +15,7 @@ buildInputs = [ xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext xorg.libXinerama xorg.libXrender xorg.libXrandr - freetype alsaLib curl libjack2 pkgconfig libGLU_combined lv2 + freetype alsaLib curl libjack2 pkgconfig libGLU libGL lv2 ]; CXXFLAGS = "-DHAVE_LROUND"; diff --git a/pkgs/applications/audio/jack-oscrolloscope/default.nix b/pkgs/applications/audio/jack-oscrolloscope/default.nix index d31bc981e0c..5bad5453504 100644 --- a/pkgs/applications/audio/jack-oscrolloscope/default.nix +++ b/pkgs/applications/audio/jack-oscrolloscope/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, SDL, libjack2, libGLU_combined, pkgconfig }: +{ stdenv, fetchurl, SDL, libjack2, libGLU, libGL, pkgconfig }: stdenv.mkDerivation rec { pname = "jack_oscrolloscope"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ SDL libjack2 libGLU_combined ]; + buildInputs = [ SDL libjack2 libGLU libGL ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix index a2368017cc1..12383dcbbda 100644 --- a/pkgs/applications/audio/meters_lv2/default.nix +++ b/pkgs/applications/audio/meters_lv2/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig -, lv2, libGLU_combined, gtk2, cairo, pango, fftwFloat, libjack2 }: +, lv2, libGLU, libGL, gtk2, cairo, pango, fftwFloat, libjack2 }: let version = "0.9.10"; @@ -26,7 +26,7 @@ stdenv.mkDerivation { inherit name; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftwFloat libjack2 ]; + buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ]; srcs = [ src robtkSrc ]; sourceRoot = name; diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix index 448b219a1af..fee456ae717 100644 --- a/pkgs/applications/audio/pianobooster/default.nix +++ b/pkgs/applications/audio/pianobooster/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, cmake, libGLU_combined, makeWrapper, qt4 }: +{ stdenv, fetchurl, alsaLib, cmake, libGLU, libGL, makeWrapper, qt4 }: stdenv.mkDerivation { pname = "pianobooster"; @@ -16,12 +16,13 @@ stdenv.mkDerivation { preConfigure = "cd src"; - buildInputs = [ alsaLib cmake makeWrapper libGLU_combined qt4 ]; + buildInputs = [ alsaLib cmake makeWrapper libGLU libGL qt4 ]; NIX_LDFLAGS = [ "-lGL" "-lpthread" ]; postInstall = '' wrapProgram $out/bin/pianobooster \ - --prefix LD_LIBRARY_PATH : ${libGLU_combined}/lib + --prefix LD_LIBRARY_PATH : ${libGL}/lib \ + --prefix LD_LIBRARY_PATH : ${libGLU}/lib ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix index 6d5944b7aff..5a90ee65947 100644 --- a/pkgs/applications/audio/setbfree/default.nix +++ b/pkgs/applications/audio/setbfree/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchzip, alsaLib, freetype, ftgl, libjack2, libX11, lv2 -, libGLU_combined, pkgconfig, ttf_bitstream_vera +, libGLU, libGL, pkgconfig, ttf_bitstream_vera }: stdenv.mkDerivation rec { @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - alsaLib freetype ftgl libjack2 libX11 lv2 libGLU_combined + alsaLib freetype ftgl libjack2 libX11 lv2 libGLU libGL ttf_bitstream_vera ]; diff --git a/pkgs/applications/audio/sisco.lv2/default.nix b/pkgs/applications/audio/sisco.lv2/default.nix index 32cfd0f7494..f95655f5e9a 100644 --- a/pkgs/applications/audio/sisco.lv2/default.nix +++ b/pkgs/applications/audio/sisco.lv2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, lv2, pkgconfig, libGLU_combined, cairo, pango, libjack2 }: +{ stdenv, fetchFromGitHub, lv2, pkgconfig, libGLU, libGL, cairo, pango, libjack2 }: let name = "sisco.lv2-${version}"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { sourceRoot = src.name; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ lv2 pango cairo libjack2 libGLU_combined ]; + buildInputs = [ lv2 pango cairo libjack2 libGLU libGL ]; postUnpack = "chmod u+w -R ${robtkName}-src; mv ${robtkName}-src/* ${sourceRoot}/robtk"; sisco_VERSION = version; diff --git a/pkgs/applications/audio/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix index 30ff41da369..5b5f01eef5c 100644 --- a/pkgs/applications/audio/soundscape-renderer/default.nix +++ b/pkgs/applications/audio/soundscape-renderer/default.nix @@ -11,7 +11,7 @@ , boost , ecasound , glibcLocales -, libGLU_combined # Needed because help2man basically does a ./ssr-binaural --help and ssr-binaural needs libGL +, libGLU, libGL # Needed because help2man basically does a ./ssr-binaural --help and ssr-binaural needs libGL }: stdenv.mkDerivation { @@ -33,7 +33,7 @@ stdenv.mkDerivation { LC_ALL = "en_US.UTF-8"; nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ boost boost.dev ecasound libGLU_combined help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ]; + buildInputs = [ boost boost.dev ecasound libGLU libGL help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ]; # 1) Fix detecting version. https://github.com/SoundScapeRenderer/ssr/pull/53 # 2) Make it find ecasound headers diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix index b8acaa5a7e4..6b6963ea471 100644 --- a/pkgs/applications/audio/yoshimi/default.nix +++ b/pkgs/applications/audio/yoshimi/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk, pcre -, libjack2, libsndfile, libXdmcp, readline, lv2, libGLU_combined, minixml, pkgconfig, zlib, xorg +, libjack2, libsndfile, libXdmcp, readline, lv2, libGLU, libGL, minixml, pkgconfig, zlib, xorg }: assert stdenv ? glibc; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - alsaLib boost cairo fftwSinglePrec fltk libjack2 libsndfile libXdmcp readline lv2 libGLU_combined + alsaLib boost cairo fftwSinglePrec fltk libjack2 libsndfile libXdmcp readline lv2 libGLU libGL minixml zlib xorg.libpthreadstubs pcre ]; diff --git a/pkgs/applications/audio/zam-plugins/default.nix b/pkgs/applications/audio/zam-plugins/default.nix index eeeb8ae2ea4..ecbd9042346 100644 --- a/pkgs/applications/audio/zam-plugins/default.nix +++ b/pkgs/applications/audio/zam-plugins/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit , boost, libX11, libGLU_combined, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }: +{ stdenv, fetchgit , boost, libX11, libGLU, libGL, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }: stdenv.mkDerivation { pname = "zam-plugins"; @@ -12,7 +12,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ boost libX11 libGLU_combined liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ]; + buildInputs = [ boost libX11 libGLU libGL liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ]; patchPhase = '' patchShebangs ./dpf/utils/generate-ttl.sh diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix index a106c316674..9d0d91f4be5 100644 --- a/pkgs/applications/editors/kodestudio/default.nix +++ b/pkgs/applications/editors/kodestudio/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper , # Patchelf dependencies: - alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU_combined + alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU, libGL , openssl, xorg, zlib }: @@ -56,7 +56,7 @@ in $out/kodestudio patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${libGLU_combined}/lib:${openssl.out}/lib" \ + --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${libGL}/lib:${libGLU}/lib:${openssl.out}/lib" \ $out/resources/app/extensions/krom/Krom/linux/Krom patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix index 04e64b76d3f..5966d6427ed 100644 --- a/pkgs/applications/graphics/antimony/default.nix +++ b/pkgs/applications/graphics/antimony/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, libpng, python3 -, libGLU_combined, qtbase, wrapQtAppsHook, ncurses +, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses , cmake, flex, lemon }: @@ -29,7 +29,7 @@ in buildInputs = [ libpng python3 python3.pkgs.boost - libGLU_combined qtbase wrapQtAppsHook + libGLU libGL qtbase wrapQtAppsHook ncurses ]; diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix index 57cf6c3f13f..2b70ea3b450 100644 --- a/pkgs/applications/graphics/cinepaint/default.nix +++ b/pkgs/applications/graphics/cinepaint/default.nix @@ -2,7 +2,7 @@ flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11, pythonPackages, gettext, intltool, babl, gegl, glib, makedepend, xorgproto, libXmu, openexr, - libGLU_combined, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } : + libGLU, libGL, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } : let inherit (pythonPackages) python pygtk; @@ -16,7 +16,7 @@ in stdenv.mkDerivation rec { buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg libexif zlib libX11 python pygtk gettext intltool babl - gegl glib makedepend xorgproto libXmu openexr libGLU_combined + gegl glib makedepend xorgproto libXmu openexr libGLU libGL libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk ] ++ (with perlPackages; [ perl XMLParser ]); diff --git a/pkgs/applications/graphics/draftsight/default.nix b/pkgs/applications/graphics/draftsight/default.nix index e59d14f7dd6..144c723da20 100644 --- a/pkgs/applications/graphics/draftsight/default.nix +++ b/pkgs/applications/graphics/draftsight/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, dpkg, makeWrapper, gcc, libGLU_combined, xdg_utils, +{ stdenv, fetchurl, dpkg, makeWrapper, gcc, libGLU, libGL, xdg_utils, dbus, alsaLib, cups, fontconfig, glib, icu, libpng12, xkeyboard_config, zlib, libxslt, libxml2, sqlite, orc, libX11, libXcursor, libXrandr, libxcb, libXi, libSM, libICE, @@ -71,7 +71,7 @@ stdenv.mkDerivation { sha256 = "05lrvml0zkzqg0sj6sj2h8h66hxdmsw5fg9fwz923r1y8j48qxdx"; }; - libPath = stdenv.lib.makeLibraryPath [ gcc.cc libGLU_combined xdg_utils + libPath = stdenv.lib.makeLibraryPath [ gcc.cc libGLU libGL xdg_utils dbus alsaLib cups.lib fontconfig glib icu libpng12 xkeyboard_config zlib libxslt libxml2 sqlite orc libX11 libXcursor libXrandr libxcb libXi libSM libICE libXrender diff --git a/pkgs/applications/graphics/exrdisplay/default.nix b/pkgs/applications/graphics/exrdisplay/default.nix index 562fb8c11dc..d8b08faf239 100644 --- a/pkgs/applications/graphics/exrdisplay/default.nix +++ b/pkgs/applications/graphics/exrdisplay/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, fltk, openexr, libGLU_combined, ctl }: +{ stdenv, fetchurl, pkgconfig, fltk, openexr, libGLU, libGL, ctl }: stdenv.mkDerivation { name ="openexr_viewers-2.2.1"; @@ -17,7 +17,7 @@ stdenv.mkDerivation { ''; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ openexr fltk libGLU_combined ctl ]; + buildInputs = [ openexr fltk libGLU libGL ctl ]; meta = { description = "Application for viewing OpenEXR images on a display at various exposure settings"; diff --git a/pkgs/applications/graphics/freepv/default.nix b/pkgs/applications/graphics/freepv/default.nix index 0bd3421f1b1..57321220fb1 100644 --- a/pkgs/applications/graphics/freepv/default.nix +++ b/pkgs/applications/graphics/freepv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libjpeg, libGLU_combined, freeglut, zlib, cmake, libX11, libxml2, libpng, +{ stdenv, fetchurl, libjpeg, libGLU, libGL, freeglut, zlib, cmake, libX11, libxml2, libpng, libXxf86vm }: stdenv.mkDerivation { @@ -9,7 +9,7 @@ stdenv.mkDerivation { sha256 = "1w19abqjn64w47m35alg7bcdl1p97nf11zn64cp4p0dydihmhv56"; }; - buildInputs = [ libjpeg libGLU_combined freeglut zlib cmake libX11 libxml2 libpng + buildInputs = [ libjpeg libGLU libGL freeglut zlib cmake libX11 libxml2 libpng libXxf86vm ]; postPatch = '' diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix index d7888da15ef..8f7800a7323 100644 --- a/pkgs/applications/graphics/hugin/default.nix +++ b/pkgs/applications/graphics/hugin/default.nix @@ -1,7 +1,7 @@ { stdenv, cmake, fetchurl, gnumake, makeWrapper, pkgconfig, fetchpatch , autopanosiftc, boost, cairo, enblend-enfuse, exiv2, fftw, flann, gettext , glew, ilmbase, lcms2, lensfun, libjpeg, libpng, libtiff, libX11, libXi -, libXmu, libGLU_combined, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib +, libXmu, libGLU, libGL, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib }: stdenv.mkDerivation rec { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ boost cairo exiv2 fftw flann gettext glew ilmbase lcms2 lensfun libjpeg - libpng libtiff libX11 libXi libXmu libGLU_combined openexr panotools sqlite vigra + libpng libtiff libX11 libXi libXmu libGLU libGL openexr panotools sqlite vigra wxGTK zlib ]; diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index 1487fb8adba..317987d8d91 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, fetchpatch, ftgl, glew, asciidoc -, cmake, ninja, libGLU_combined, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype +, cmake, ninja, libGLU, libGL, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff , gettext, intltool, perl, gtkmm2, glibmm, gtkglext, pangox_compat, libXmu }: @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja gettext intltool doxygen pkgconfig perl asciidoc ]; buildInputs = [ - libGLU_combined zlib python expat libxml2 libsigcxx libuuid freetype libpng + libGLU libGL zlib python expat libxml2 libsigcxx libuuid freetype libpng boost cairomm imagemagick libjpeg libtiff ftgl glew gtkmm2 glibmm gtkglext pangox_compat libXmu ]; diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix index 961b0175da9..35990946d51 100644 --- a/pkgs/applications/graphics/kodelife/default.nix +++ b/pkgs/applications/graphics/kodelife/default.nix @@ -3,7 +3,7 @@ , alsaLib , glib , gst_all_1 -, libGLU_combined +, libGLU, libGL , xorg }: @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { glib gst_all_1.gstreamer gst_all_1.gst-plugins-base - libGLU_combined + libGLU libGL xorg.libX11 ]; in '' diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index 9f7fbc8421b..2c95f6d403f 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -7,7 +7,7 @@ , flex , eigen , boost -, libGLU_combined +, libGLU, libGL , glew , opencsg , cgal @@ -44,7 +44,7 @@ mkDerivation rec { eigen boost glew opencsg cgal mpfr gmp glib harfbuzz lib3mf libzip double-conversion freetype fontconfig qtbase qtmultimedia qscintilla - ] ++ stdenv.lib.optional stdenv.isLinux libGLU_combined + ] ++ stdenv.lib.optionals stdenv.isLinux [ libGLU libGL ] ++ stdenv.lib.optional stdenv.isDarwin qtmacextras ; diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index fdda8062a43..1a47a355749 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, cmake, makeWrapper -,qtbase, qttools, python, libGLU_combined +,qtbase, qttools, python, libGLU, libGL ,libXt, qtx11extras, qtxmlpatterns , mkDerivation }: @@ -43,7 +43,7 @@ mkDerivation rec { buildInputs = [ python python.pkgs.numpy - libGLU_combined + libGLU libGL libXt qtbase qtx11extras diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix index 58cec2ec170..7d9b7582bd6 100644 --- a/pkgs/applications/graphics/seg3d/default.nix +++ b/pkgs/applications/graphics/seg3d/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, cmake, wxGTK, itk, libGLU_combined, libXft, libXext, libXi, zlib, libXmu, +{ fetchurl, stdenv, cmake, wxGTK, itk, libGLU, libGL, libXft, libXext, libXi, zlib, libXmu, libuuid }: assert (stdenv ? glibc); @@ -46,7 +46,7 @@ stdenv.mkDerivation { exit 1 ''; - buildInputs = [ cmake wxGTK itk libGLU_combined libXft libXext libXi zlib libXmu libuuid ]; + buildInputs = [ cmake wxGTK itk libGLU libGL libXft libXext libXi zlib libXmu libuuid ]; meta = { broken = true; diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 3b98114c710..dd9f2929d36 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,7 +1,7 @@ { config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew , ilmbase, libXi, libX11, libXext, libXrender , libjpeg, libpng, libsamplerate, libsndfile -, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages +, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath , jackaudioSupport ? false, libjack2 , cudaSupport ? config.cudaSupport or false, cudatoolkit @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { buildInputs = [ boost ffmpeg gettext glew ilmbase libXi libX11 libXext libXrender - freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU_combined openal + freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU libGL openal opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc (opensubdiv.override { inherit cudaSupport; }) makeWrapper diff --git a/pkgs/applications/misc/cpp-ethereum/default.nix b/pkgs/applications/misc/cpp-ethereum/default.nix index 0e9ff40cffa..dae25f6b817 100644 --- a/pkgs/applications/misc/cpp-ethereum/default.nix +++ b/pkgs/applications/misc/cpp-ethereum/default.nix @@ -13,7 +13,7 @@ , miniupnpc , libmicrohttpd , gmp -, libGLU_combined +, libGLU, libGL , extraCmakeFlags ? [] }: stdenv.mkDerivation rec { @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { miniupnpc libmicrohttpd gmp - libGLU_combined + libGLU libGL ]; dontStrip = true; diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix index 961efe4b057..181273752ea 100644 --- a/pkgs/applications/misc/googleearth/default.nix +++ b/pkgs/applications/misc/googleearth/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, glibc, libGLU_combined, freetype, glib, libSM, libICE, libXi, libXv +{ stdenv, fetchurl, glibc, libGLU, libGL, freetype, glib, libSM, libICE, libXi, libXv , libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11 , zlib, fontconfig, dpkg, libproxy, libxml2, gstreamer, gst_all_1, dbus }: @@ -20,7 +20,7 @@ let libICE libXi libXv - libGLU_combined + libGLU libGL libXrender libXrandr libXfixes diff --git a/pkgs/applications/misc/icesl/default.nix b/pkgs/applications/misc/icesl/default.nix index c197e1a8fd3..3ee4fd8259a 100644 --- a/pkgs/applications/misc/icesl/default.nix +++ b/pkgs/applications/misc/icesl/default.nix @@ -1,6 +1,6 @@ -{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU_combined, libSM, libXext, dialog, makeWrapper }: +{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU, libGL, libSM, libXext, dialog, makeWrapper }: let - lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU_combined libSM libXext ]; + lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU libGL libSM libXext ]; in stdenv.mkDerivation rec { pname = "iceSL"; diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix index 2c2acb6a743..25f9b10b1e8 100644 --- a/pkgs/applications/misc/llpp/default.nix +++ b/pkgs/applications/misc/llpp/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, -libGLU_combined, freetype, xclip, inotify-tools, procps }: +libGLU, libGL, freetype, xclip, inotify-tools, procps }: assert lib.versionAtLeast (lib.getVersion ocaml) "4.07"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { }); nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ ocaml mupdf libX11 libGLU_combined freetype ]; + buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ]; dontStrip = true; diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix index 4d95f0b5238..29e768c257f 100644 --- a/pkgs/applications/misc/navit/default.nix +++ b/pkgs/applications/misc/navit/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, pkgconfig, gtk2, fontconfig, freetype, imlib2 -, SDL_image, libGLU_combined, libXmu, freeglut, pcre, dbus, dbus-glib, glib +, SDL_image, libGLU, libGL, libXmu, freeglut, pcre, dbus, dbus-glib, glib , librsvg, freeimage, libxslt, cairo, gdk-pixbuf, pango , atk, patchelf, fetchurl, bzip2, python, gettext, quesoglc , gd, cmake, shapelib, SDL_ttf, fribidi, makeWrapper @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gtk2 fontconfig freetype imlib2 libGLU_combined freeimage + gtk2 fontconfig freetype imlib2 libGLU libGL freeimage libxslt libXmu freeglut python gettext quesoglc gd fribidi pcre dbus dbus-glib librsvg shapelib glib cairo gdk-pixbuf pango atk diff --git a/pkgs/applications/misc/openbrf/default.nix b/pkgs/applications/misc/openbrf/default.nix index b8b6e42d5cf..e943263600c 100644 --- a/pkgs/applications/misc/openbrf/default.nix +++ b/pkgs/applications/misc/openbrf/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmake, libGLU_combined }: +{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmake, libGLU, libGL }: stdenv.mkDerivation { @@ -28,7 +28,7 @@ stdenv.mkDerivation { install -Dm644 reference.brf $out/share/openBrf/reference.brf patchelf \ - --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU_combined ]}" \ + --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU libGL ]}" \ $out/share/openBrf/openBrf mkdir -p "$out/bin" diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 3f7782bb919..6edbbb31ff0 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -13,7 +13,7 @@ , bison, gperf , glib, gtk3, dbus-glib , glibc -, libXScrnSaver, libXcursor, libXtst, libGLU_combined, libGL +, libXScrnSaver, libXcursor, libXtst, libGLU, libGL , protobuf, speechd, libXdamage, cups , ffmpeg, libxslt, libxml2, at-spi2-core , jdk @@ -123,7 +123,7 @@ let utillinux alsaLib bison gperf kerberos glib gtk3 dbus-glib - libXScrnSaver libXcursor libXtst libGLU_combined + libXScrnSaver libXcursor libXtst libGLU libGL pciutils protobuf speechd libXdamage at-spi2-core jdk.jre ] ++ optional gnomeKeyringSupport libgnome-keyring3 diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 537a30c01a2..c9dbe6ba4b9 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -32,7 +32,7 @@ , libgnomeui , libnotify , gnome3 -, libGLU_combined +, libGLU, libGL , nspr , nss , pango @@ -126,7 +126,7 @@ stdenv.mkDerivation { libgnome libgnomeui libnotify - libGLU_combined + libGLU libGL nspr nss pango diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 1c6ddfc99eb..6c49c00ca6c 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -7,7 +7,7 @@ { lib, stdenv, pkgconfig, pango, perl, python2, python3, zip, libIDL , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg , freetype, fontconfig, file, nspr, nss, libnotify -, yasm, libGLU_combined, sqlite, unzip, makeWrapper +, yasm, libGLU, libGL, sqlite, unzip, makeWrapper , hunspell, libXdamage, libevent, libstartup_notification, libvpx , icu, libpng, jemalloc, glib , autoconf213, which, gnused, cargo, rustc, llvmPackages @@ -131,7 +131,7 @@ stdenv.mkDerivation rec { gtk2 perl zip libIDL libjpeg zlib bzip2 dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file - libnotify xorg.pixman yasm libGLU_combined + libnotify xorg.pixman yasm libGLU libGL xorg.libXScrnSaver xorg.xorgproto xorg.libXext sqlite unzip makeWrapper libevent libstartup_notification libvpx /* cairo */ diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index 07234f59a8e..05262b0cf50 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -3,7 +3,7 @@ , dbus, dbus-glib, ffmpeg, file, fontconfig, freetype , gnome2, gnum4, gtk2, hunspell, libevent, libjpeg , libnotify, libstartup_notification, makeWrapper -, libGLU_combined, perl, python, libpulseaudio +, libGLU, libGL, perl, python, libpulseaudio , unzip, xorg, wget, which, yasm, zip, zlib }: @@ -43,7 +43,7 @@ in stdenv.mkDerivation rec { buildInputs = [ alsaLib bzip2 cairo dbus dbus-glib ffmpeg file fontconfig freetype gnome2.GConf gnum4 gtk2 hunspell libevent libjpeg libnotify - libstartup_notification makeWrapper libGLU_combined perl + libstartup_notification makeWrapper libGLU libGL perl pkgconfig python libpulseaudio unzip wget which yasm zip zlib ] ++ (with xorg; [ libX11 libXext libXft libXi libXrender libXScrnSaver diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix index 1b3e1c8ad81..acdec1dc99c 100644 --- a/pkgs/applications/networking/instant-messengers/viber/default.nix +++ b/pkgs/applications/networking/instant-messengers/viber/default.nix @@ -1,6 +1,6 @@ {fetchurl, stdenv, dpkg, makeWrapper, alsaLib, cups, curl, dbus, expat, fontconfig, freetype, glib, gst_all_1, harfbuzz, libcap, - libpulseaudio, libxml2, libxslt, libGLU_combined, nspr, nss, openssl, systemd, wayland, xorg, zlib, ... + libpulseaudio, libxml2, libxslt, libGLU, libGL, nspr, nss, openssl, systemd, wayland, xorg, zlib, ... }: stdenv.mkDerivation { @@ -32,7 +32,7 @@ stdenv.mkDerivation { libpulseaudio libxml2 libxslt - libGLU_combined + libGLU libGL nspr nss openssl diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index ad98cd660d9..6cdbe4d58ad 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -34,7 +34,7 @@ , libgnome , libgnomeui , gnome3 -, libGLU_combined +, libGLU, libGL , nspr , nss , pango @@ -116,7 +116,7 @@ stdenv.mkDerivation { libcanberra-gtk2 libgnome libgnomeui - libGLU_combined + libGLU libGL nspr nss pango diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index a4edc76caca..78ed553ccd8 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, pkgconfig, gtk2, pango, perl, python2, python3, nodejs , libIDL, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg , freetype, fontconfig, file, nspr, nss, libnotify -, yasm, libGLU_combined, sqlite, zip, unzip +, yasm, libGLU, libGL, sqlite, zip, unzip , libevent, libstartup_notification , icu, libpng, jemalloc , autoconf213, which, m4, fetchpatch @@ -37,7 +37,7 @@ in stdenv.mkDerivation rec { [ gtk2 zip libIDL libjpeg zlib bzip2 dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file - nspr nss libnotify xorg.pixman yasm libGLU_combined + nspr nss libnotify xorg.pixman yasm libGLU libGL xorg.libXScrnSaver xorg.xorgproto xorg.libXext sqlite unzip libevent libstartup_notification /* cairo */ diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix index e9dd022c313..eff1e5834b4 100644 --- a/pkgs/applications/networking/remote/anydesk/default.nix +++ b/pkgs/applications/networking/remote/anydesk/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, makeDesktopItem -, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU_combined, pango, xorg +, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU, libGL, pango, xorg , lsb-release, freetype, fontconfig, pangox_compat, polkit, polkit_gnome , pulseaudio }: @@ -37,7 +37,7 @@ in stdenv.mkDerivation rec { buildInputs = [ atk cairo gdk-pixbuf glib gtk2 stdenv.cc.cc pango - gnome2.gtkglext libGLU_combined freetype fontconfig + gnome2.gtkglext libGLU libGL freetype fontconfig pangox_compat polkit polkit_gnome pulseaudio ] ++ (with xorg; [ libxcb libxkbfile libX11 libXdamage libXext libXfixes libXi libXmu diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 2f220fa2fb6..506f33a2d0e 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -4,7 +4,7 @@ , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux -, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, libmysqlclient +, librsvg, gnome_vfs, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio @@ -360,7 +360,7 @@ in stdenv.mkDerivation rec { hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11 libXaw libXext libXi libXinerama libxml2 libxslt libXtst - libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer + libXdmcp libpthreadstubs libGLU libGL mythes gst_all_1.gstreamer gst_all_1.gst-plugins-base glib libmysqlclient neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler python3 sane-backends unzip vigra which zip zlib diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix index be87a8bb672..12e49fa48fe 100644 --- a/pkgs/applications/office/libreoffice/still.nix +++ b/pkgs/applications/office/libreoffice/still.nix @@ -4,7 +4,7 @@ , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux -, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, libmysqlclient +, librsvg, gnome_vfs, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio @@ -357,7 +357,7 @@ in stdenv.mkDerivation rec { hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11 libXaw libXext libXi libXinerama libxml2 libxslt libXtst - libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer + libXdmcp libpthreadstubs libGLU libGL mythes gst_all_1.gstreamer gst_all_1.gst-plugins-base glib libmysqlclient neon nspr nss openldap openssl ORBit2 pam perl poppler python3 sane-backends unzip vigra which zip zlib diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 34dace1cadb..8ebf0e666ff 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -25,7 +25,7 @@ , libXt , libnotify , gnome3 -, libGLU_combined +, libGLU, libGL , nspr , nss , pango @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { libXrender libXt libnotify - libGLU_combined + libGLU libGL nspr nss pango diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix index e3ceffd34c1..e72354c8658 100644 --- a/pkgs/applications/science/astronomy/celestia/default.nix +++ b/pkgs/applications/science/astronomy/celestia/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, freeglut, gtk2, gtkglext, libjpeg_turbo, libtheora, libXmu -, lua, libGLU_combined, pkgconfig, perl, autoreconfHook +, lua, libGLU, libGL, pkgconfig, perl, autoreconfHook }: let @@ -44,7 +44,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU_combined lua + buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU libGL lua perl autoreconfHook ]; patchPhase = '' diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix index 03d0018f237..15f72938eff 100644 --- a/pkgs/applications/science/astronomy/gravit/default.nix +++ b/pkgs/applications/science/astronomy/gravit/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU_combined, libpng, lua5, autoconf, automake }: +{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU, libGL, libpng, lua5, autoconf, automake }: stdenv.mkDerivation rec { name = "gravit-0.5.1"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "14vf7zj2bgrl96wsl3f1knsggc8h9624354ajzd72l46y09x5ky7"; }; - buildInputs = [ libGLU_combined SDL SDL_ttf SDL_image lua5 libpng libSM libICE ]; + buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image lua5 libpng libSM libICE ]; nativeBuildInputs = [ autoconf automake ]; diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index 59c6a02d349..1c193c37cb3 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -1,5 +1,5 @@ { mkDerivation, lib, fetchFromGitHub -, cmake, freetype, libpng, libGLU_combined, openssl, perl, libiconv +, cmake, freetype, libpng, libGLU, libGL, openssl, perl, libiconv , qtscript, qtserialport, qttools , qtmultimedia, qtlocation, qtbase, wrapQtAppsHook }: @@ -18,7 +18,7 @@ mkDerivation rec { nativeBuildInputs = [ cmake perl wrapQtAppsHook ]; buildInputs = [ - freetype libpng libGLU_combined openssl libiconv qtscript qtserialport qttools + freetype libpng libGLU libGL openssl libiconv qtscript qtserialport qttools qtmultimedia qtlocation qtbase ]; diff --git a/pkgs/applications/science/chemistry/avogadro/default.nix b/pkgs/applications/science/chemistry/avogadro/default.nix index a569b82ff59..6aca678480d 100644 --- a/pkgs/applications/science/chemistry/avogadro/default.nix +++ b/pkgs/applications/science/chemistry/avogadro/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, libGLU_combined, libX11, doxygen }: +{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, libGLU, libGL, libX11, doxygen }: stdenv.mkDerivation rec { name = "avogadro-1.1.1"; @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { sha256 = "050ag9p4vg7jg8hj1wqfv7lsm6ar2isxjw2vw85s49vsl7g7nvzy"; }; - buildInputs = [ qt4 eigen zlib openbabel libGLU_combined libX11 ]; + buildInputs = [ qt4 eigen zlib openbabel libGL libGLU libX11 ]; nativeBuildInputs = [ cmake pkgconfig doxygen ]; - NIX_CFLAGS_COMPILE = "-include ${libGLU_combined}/include/GL/glu.h"; + NIX_CFLAGS_COMPILE = "-include ${libGLU.dev}/include/GL/glu.h"; patches = [ (fetchurl { diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 5d069c5a219..6b0c998d751 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -1,4 +1,4 @@ -{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU_combined, zlib +{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU, libGL, zlib , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig , doxygen, pcre, libpthreadstubs, libXdmcp , wrapGAppsHook @@ -63,7 +63,7 @@ in stdenv.mkDerivation rec { propagatedBuildInputs = [ pythonPackages.wxPython ]; buildInputs = [ - libGLU_combined zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs + libGLU libGL zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs cairo curl openssl boost swig (python.withPackages (ps: with ps; [ wxPython ])) ] ++ optional (oceSupport) opencascade diff --git a/pkgs/applications/science/electronics/kicad/unstable.nix b/pkgs/applications/science/electronics/kicad/unstable.nix index 5310da0699e..df0d9932b8a 100644 --- a/pkgs/applications/science/electronics/kicad/unstable.nix +++ b/pkgs/applications/science/electronics/kicad/unstable.nix @@ -1,4 +1,4 @@ -{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib +{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, zlib , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig , doxygen, pcre, libpthreadstubs, libXdmcp @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake doxygen pkgconfig ]; buildInputs = [ - libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs + libGLU libGL zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs cairo curl openssl boost ] ++ optional (oceSupport) opencascade ++ optional (ngspiceSupport) libngspice diff --git a/pkgs/applications/science/electronics/pcb/default.nix b/pkgs/applications/science/electronics/pcb/default.nix index 7514aed9f24..93d99928d7d 100644 --- a/pkgs/applications/science/electronics/pcb/default.nix +++ b/pkgs/applications/science/electronics/pcb/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gtk2, bison, intltool, flex -, netpbm, imagemagick, dbus, xlibsWrapper, libGLU_combined +, netpbm, imagemagick, dbus, xlibsWrapper, libGLU, libGL , shared-mime-info, tcl, tk, gnome2, pangox_compat, gd, xorg }: @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ gtk2 bison intltool flex netpbm imagemagick dbus xlibsWrapper - libGLU_combined tcl shared-mime-info tk + libGLU libGL tcl shared-mime-info tk gnome2.gtkglext pangox_compat gd xorg.libXmu ]; diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix index 93212c5b854..a479e31e339 100644 --- a/pkgs/applications/science/logic/mcrl2/default.nix +++ b/pkgs/applications/science/logic/mcrl2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, cmake, libGLU_combined, qt5, boost}: +{stdenv, fetchurl, cmake, libGLU, libGL, qt5, boost}: stdenv.mkDerivation rec { version = "201707"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1c8h94ja7271ph61zrcgnjgblxppld6v22f7f900prjgzbcfy14m"; }; - buildInputs = [ cmake libGLU_combined qt5.qtbase boost ]; + buildInputs = [ cmake libGLU libGL qt5.qtbase boost ]; enableParallelBuilding = true; diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index 90b1b367a7c..862761fe6fb 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapack , gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty , readline, gettext, libpng, libao, gfortran, perl -, enableGUI ? false, libGLU_combined ? null, xorg ? null, fltk ? null +, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null }: -assert enableGUI -> libGLU_combined != null && xorg != null && fltk != null; +assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null; stdenv.mkDerivation rec { name = "${attr}-${version}"; @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { (stdenv.lib.getLib gfortran.cc) liblapack ] ++ stdenv.lib.optionals enableGUI [ - libGLU_combined fltk xorg.libX11 + libGL libGLU fltk xorg.libX11 ]; /* fixes: diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix index 1cd5e364208..d35e0f0453f 100644 --- a/pkgs/applications/science/math/glsurf/default.nix +++ b/pkgs/applications/science/math/glsurf/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ocamlPackages, libGLU_combined, freeglut +{ stdenv, fetchurl, ocamlPackages, libGLU, libGL, freeglut , libmysqlclient, mpfr, gmp, libtiff, libjpeg, libpng, giflib }: @@ -10,7 +10,7 @@ stdenv.mkDerivation { sha256 = "0w8xxfnw2snflz8wdr2ca9f5g91w5vbyp1hwlx1v7vg83d4bwqs7"; }; - buildInputs = [ freeglut libGLU_combined libmysqlclient mpfr gmp + buildInputs = [ freeglut libGLU libGL libmysqlclient mpfr gmp libtiff libjpeg libpng giflib ] ++ (with ocamlPackages; [ ocaml findlib ocaml_mysql lablgl camlimages_4_0 mlgmpidl diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix index 1d96c0039ad..66c41bb073a 100644 --- a/pkgs/applications/science/math/gmsh/default.nix +++ b/pkgs/applications/science/math/gmsh/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg -, zlib, libGLU_combined, libGLU, xorg, opencascade-occt }: +, zlib, libGL, libGLU, xorg, opencascade-occt }: stdenv.mkDerivation rec { pname = "gmsh"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1p7hibmsgv961lfkzdxlgcvmcb0q155m2sp60r97cjsfzhw68g45"; }; - buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU_combined + buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE opencascade-occt diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix index 2633f4c8db1..218c2c325b6 100644 --- a/pkgs/applications/science/medicine/aliza/default.nix +++ b/pkgs/applications/science/medicine/aliza/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU_combined }: +{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU, libGL }: with stdenv.lib; stdenv.mkDerivation { @@ -27,7 +27,7 @@ stdenv.mkDerivation { ''; postInstall = let - libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU_combined ]; + libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU libGL ]; in '' ${patchelf}/bin/patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix index c806b558da0..38b9b8ec66d 100644 --- a/pkgs/applications/science/misc/boinc/default.nix +++ b/pkgs/applications/science/misc/boinc/default.nix @@ -1,5 +1,5 @@ { fetchFromGitHub, stdenv, autoconf, automake, pkgconfig, m4, curl, -libGLU_combined, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK30, xcbutil, +libGLU, libGL, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK30, xcbutil, sqlite, gtk2, patchelf, libXScrnSaver, libnotify, libX11, libxcb }: let @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ libtool automake autoconf m4 pkgconfig ]; buildInputs = [ - curl libGLU_combined libXmu libXi freeglut libjpeg wxGTK30 sqlite gtk2 libXScrnSaver + curl libGLU libGL libXmu libXi freeglut libjpeg wxGTK30 sqlite gtk2 libXScrnSaver libnotify patchelf libX11 libxcb xcbutil ]; diff --git a/pkgs/applications/science/misc/golly/beta.nix b/pkgs/applications/science/misc/golly/beta.nix index 99159fba5b4..36de6a1d4c5 100644 --- a/pkgs/applications/science/misc/golly/beta.nix +++ b/pkgs/applications/science/misc/golly/beta.nix @@ -1,5 +1,5 @@ {stdenv, fetchgit -, wxGTK, perl, python2, zlib, libGLU_combined, libX11 +, wxGTK, perl, python2, zlib, libGLU, libGL, libX11 , automake, autoconf }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [autoconf automake]; buildInputs = [ - wxGTK perl python2 zlib libGLU_combined libX11 + wxGTK perl python2 zlib libGLU libGL libX11 ]; # Link against Python explicitly as it is needed for scripts diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix index 4af233a6d55..1478bb64318 100644 --- a/pkgs/applications/science/misc/golly/default.nix +++ b/pkgs/applications/science/misc/golly/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, wxGTK, perl, python2, zlib, libGLU_combined, libX11}: +{stdenv, fetchurl, wxGTK, perl, python2, zlib, libGLU, libGL, libX11}: stdenv.mkDerivation rec { pname = "golly"; version = "3.3"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - wxGTK perl python2 zlib libGLU_combined libX11 + wxGTK perl python2 zlib libGLU libGL libX11 ]; setSourceRoot = '' diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix index b394639fd0c..9b510d432fb 100644 --- a/pkgs/applications/science/misc/gplates/default.nix +++ b/pkgs/applications/science/misc/gplates/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, qt4, qwt6_qt4, libGLU_combined, glew, gdal_1_11, cgal +{ stdenv, fetchurl, qt4, qwt6_qt4, libGLU, libGL, glew, gdal_1_11, cgal , proj, boost, cmake, python2, doxygen, graphviz, gmp }: stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - qt4 qwt6_qt4 libGLU_combined glew gdal_1_11 cgal proj boost cmake python2 + qt4 qwt6_qt4 libGLU libGL glew gdal_1_11 cgal proj boost cmake python2 doxygen graphviz gmp ]; diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix index 2145d7e71d3..8422eb8752b 100644 --- a/pkgs/applications/science/misc/root/5.nix +++ b/pkgs/applications/science/misc/root/5.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2 -, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1 +, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lzma, gsl_1 , Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ] - ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ] + ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 690dc920d5c..ada2f0b44ad 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, pcre, pkgconfig, python2 -, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash +, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, lzma, gsl, xxHash , Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ] - ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ] + ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix index 509cdeaee61..3f83f2f30a6 100644 --- a/pkgs/applications/science/misc/tulip/default.nix +++ b/pkgs/applications/science/misc/tulip/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, libxml2, freetype, libGLU_combined, glew, qt4 +{ fetchurl, stdenv, libxml2, freetype, libGLU, libGL, glew, qt4 , cmake, makeWrapper, libjpeg, python }: let version = "5.2.1"; in @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky"; }; - buildInputs = [ libxml2 freetype glew libGLU_combined qt4 libjpeg python ]; + buildInputs = [ libxml2 freetype glew libGLU libGL qt4 libjpeg python ]; nativeBuildInputs = [ cmake makeWrapper ]; diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix index 64482ddd74b..20c259a9d0c 100644 --- a/pkgs/applications/science/misc/vite/default.nix +++ b/pkgs/applications/science/misc/vite/default.nix @@ -1,4 +1,4 @@ -{ fetchsvn, stdenv, cmake, qt4, libGLU_combined }: +{ fetchsvn, stdenv, cmake, qt4, libGLU, libGL }: # ViTE 1.1 has several bugs, so use the SVN version. let @@ -23,7 +23,7 @@ stdenv.mkDerivation { ln -sv "${externals}" externals ''; - buildInputs = [ cmake qt4 libGLU_combined ]; + buildInputs = [ cmake qt4 libGLU libGL ]; NIX_LDFLAGS = "-lGLU"; diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix index 0a24cfbb3a0..371d9d83e29 100644 --- a/pkgs/applications/version-management/gource/default.nix +++ b/pkgs/applications/version-management/gource/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, SDL2, ftgl, pkgconfig, libpng, libjpeg, pcre -, SDL2_image, freetype, glew, libGLU_combined, boost, glm +, SDL2_image, freetype, glew, libGLU, libGL, boost, glm }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU_combined + glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU libGL boost glm freetype ]; diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix index 2734035b6de..2d82f3d3e2b 100644 --- a/pkgs/applications/video/aegisub/default.nix +++ b/pkgs/applications/video/aegisub/default.nix @@ -1,7 +1,7 @@ { config, stdenv, fetchurl , libX11, wxGTK , libiconv, fontconfig, freetype -, libGLU_combined +, libGLU, libGL , libass, fftw, ffms , ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies , icu, boost, intltool # New dependencies @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { postPatch = "sed '1i#include ' -i src/utils.cpp"; buildInputs = with stdenv.lib; - [ pkgconfig intltool libX11 wxGTK fontconfig freetype libGLU_combined + [ pkgconfig intltool libX11 wxGTK fontconfig freetype libGLU libGL libass fftw ffms ffmpeg zlib icu boost boost.out libiconv ] ++ optional spellcheckSupport hunspell diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix index 9ff65483f26..a9d98a9a2a4 100644 --- a/pkgs/applications/video/bomi/default.nix +++ b/pkgs/applications/video/bomi/default.nix @@ -1,6 +1,6 @@ { config, stdenv, fetchFromGitHub , fetchpatch, pkgconfig, perl, python, which -, libX11, libxcb, libGLU_combined +, libX11, libxcb, libGLU, libGL , qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras, qmake, makeWrapper , libchardet , ffmpeg @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { buildInputs = with stdenv.lib; [ libX11 libxcb - libGLU_combined + libGLU libGL qtbase qtx11extras qtdeclarative diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix index 2afb7d1c68a..a75a7a11d67 100644 --- a/pkgs/applications/video/mplayer/default.nix +++ b/pkgs/applications/video/mplayer/default.nix @@ -2,7 +2,7 @@ , aalibSupport ? true, aalib ? null , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null , fribidiSupport ? true, fribidi ? null -, x11Support ? true, libX11 ? null, libXext ? null, libGLU_combined ? null +, x11Support ? true, libX11 ? null, libXext ? null, libGLU, libGL ? null , xineramaSupport ? true, libXinerama ? null , xvSupport ? true, libXv ? null , alsaSupport ? stdenv.isLinux, alsaLib ? null @@ -32,7 +32,7 @@ assert fontconfigSupport -> (fontconfig != null); assert (!fontconfigSupport) -> (freefont_ttf != null); assert fribidiSupport -> (fribidi != null); -assert x11Support -> (libX11 != null && libXext != null && libGLU_combined != null); +assert x11Support -> (libX11 != null && libXext != null && libGLU != null && libGL != null); assert xineramaSupport -> (libXinerama != null && x11Support); assert xvSupport -> (libXv != null && x11Support); assert alsaSupport -> alsaLib != null; @@ -111,7 +111,7 @@ stdenv.mkDerivation rec { ++ optional aalibSupport aalib ++ optional fontconfigSupport fontconfig ++ optional fribidiSupport fribidi - ++ optionals x11Support [ libX11 libXext libGLU_combined ] + ++ optionals x11Support [ libX11 libXext libGLU libGL ] ++ optional alsaSupport alsaLib ++ optional xvSupport libXv ++ optional theoraSupport libtheora diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index f3c7d376100..6c86b514afd 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -9,7 +9,7 @@ , libxkbcommon ? null , x11Support ? stdenv.isLinux - , libGLU_combined ? null + , libGLU, libGL ? null , libX11 ? null , libXext ? null , libXxf86vm ? null @@ -86,7 +86,7 @@ assert vapoursynthSupport -> available vapoursynth; assert vdpauSupport -> available libvdpau; assert vulkanSupport -> all available [ libplacebo shaderc vulkan-headers vulkan-loader ]; assert waylandSupport -> all available [ wayland wayland-protocols libxkbcommon ]; -assert x11Support -> all available [ libGLU_combined libX11 libXext libXxf86vm libXrandr ]; +assert x11Support -> all available [ libGLU libGL libX11 libXext libXxf86vm libXrandr ]; assert xineramaSupport -> x11Support && available libXinerama; assert xvSupport -> x11Support && available libXv; assert youtubeSupport -> available youtube-dl; @@ -181,7 +181,7 @@ in stdenv.mkDerivation rec { ++ optionals drmSupport [ libdrm mesa ] ++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ] ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] - ++ optionals x11Support [ libX11 libXext libGLU_combined libXxf86vm libXrandr ] + ++ optionals x11Support [ libX11 libXext libGLU libGL libXxf86vm libXrandr ] ++ optionals vulkanSupport [ libplacebo shaderc vulkan-headers vulkan-loader ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation Cocoa CoreAudio diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix index 7914bb84c42..2c73d3e734c 100644 --- a/pkgs/applications/video/mythtv/default.nix +++ b/pkgs/applications/video/mythtv/default.nix @@ -1,5 +1,5 @@ { stdenv, mkDerivation, fetchFromGitHub, which, qtbase, qtwebkit, qtscript, xlibsWrapper -, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU_combined, alsaLib, freetype +, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsaLib, freetype , perl, pkgconfig , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders , libXNVCtrl, enableXnvctrl ? false @@ -26,7 +26,7 @@ mkDerivation rec { setSourceRoot = ''sourceRoot=$(echo */mythtv)''; buildInputs = [ - freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU_combined + freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU libGL perl libsamplerate libbluray lzo alsaLib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2 ] ++ stdenv.lib.optional enableXnvctrl libXNVCtrl; diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index 29ad928e27c..6191fd0f18a 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -1,5 +1,5 @@ { stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext, qtx11extras -, libXfixes, libGLU_combined, pkgconfig, libpulseaudio, qtbase, cmake, ninja +, libXfixes, libGLU, libGL, pkgconfig, libpulseaudio, qtbase, cmake, ninja }: mkDerivation rec { @@ -25,7 +25,7 @@ mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake ninja ]; buildInputs = [ - alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU_combined + alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU libGL libpulseaudio qtbase qtx11extras ]; diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix index 72db4f1e5aa..770154f1918 100644 --- a/pkgs/applications/virtualization/bochs/default.nix +++ b/pkgs/applications/virtualization/bochs/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl , pkgconfig, libtool -, gtk2, libGLU_combined, readline, libX11, libXpm +, gtk2, libGLU, libGL, readline, libX11, libXpm , docbook_xml_dtd_45, docbook_xsl , sdlSupport ? true, SDL2 ? null , termSupport ? true, ncurses ? null @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { patches = [ ./bochs-2.6.9-glibc-2.26.patch ]; buildInputs = with stdenv.lib; - [ pkgconfig libtool gtk2 libGLU_combined readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ] + [ pkgconfig libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ] ++ optionals termSupport [ ncurses ] ++ optionals sdlSupport [ SDL2 ] ++ optionals wxSupport [ wxGTK ] diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix index 27caaa70634..3b972718230 100644 --- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix +++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU_combined, pango, pangox_compat, xorg }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU, libGL, pango, pangox_compat, xorg }: stdenv.mkDerivation rec { name = "gtkglext-1.2.0"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; buildInputs = with xorg; - [ pkgconfig glib gtk2 libGLU_combined pango libX11 libXmu ]; + [ pkgconfig glib gtk2 libGLU libGL pango libX11 libXmu ]; propagatedBuildInputs = [ pangox_compat ]; patches = [ diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 5308296c833..05c67b9a5bd 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -259,7 +259,7 @@ self: super: builtins.intersectAttrs super { wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; }; # Test suite wants to connect to $DISPLAY. - hsqml = dontCheck (addExtraLibrary (super.hsqml.override { qt5 = pkgs.qt5Full; }) pkgs.libGLU_combined); + hsqml = dontCheck (addExtraLibraries (super.hsqml.override { qt5 = pkgs.qt5Full; }) [pkgs.libGLU pkgs.libGL]); # Tests attempt to use NPM to install from the network into # /homeless-shelter. Disabled. diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 2d1e866ac09..cf9256c130d 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -85987,7 +85987,7 @@ self: { "fltkhs" = callPackage ({ mkDerivation, base, bytestring, c2hs, Cabal, directory, filepath - , fltk14, libGLU_combined, mtl, OpenGLRaw, parsec, pkgconfig, text + , fltk14, libGLU, libGL, mtl, OpenGLRaw, parsec, pkgconfig, text , vector }: mkDerivation { @@ -86000,14 +86000,14 @@ self: { setupHaskellDepends = [ base Cabal directory filepath ]; libraryHaskellDepends = [ base bytestring text vector ]; librarySystemDepends = [ fltk14 ]; - libraryPkgconfigDepends = [ libGLU_combined ]; + libraryPkgconfigDepends = [ libGLU libGL ]; libraryToolDepends = [ c2hs pkgconfig ]; executableHaskellDepends = [ base directory filepath mtl OpenGLRaw parsec text ]; description = "FLTK bindings"; license = stdenv.lib.licenses.mit; - }) {inherit (pkgs) fltk14; inherit (pkgs) libGLU_combined; + }) {inherit (pkgs) fltk14; inherit (pkgs) libGLU libGL; pkgconfig = null;}; "fltkhs-demos" = callPackage diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 3f1c21cc881..9a1594da933 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -2,7 +2,7 @@ , libxml2, libxslt, ncurses, openssl, perl, autoconf , openjdk ? null # javacSupport , unixODBC ? null # odbcSupport -, libGLU_combined ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport +, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport , withSystemd ? stdenv.isLinux, systemd # systemd support in epmd }: @@ -18,7 +18,7 @@ , enableKernelPoll ? true , javacSupport ? false, javacPackages ? [ openjdk ] , odbcSupport ? false, odbcPackages ? [ unixODBC ] -, wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ] +, wxSupport ? true, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ] , preUnpack ? "", postUnpack ? "" , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? "" , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? "" @@ -32,7 +32,7 @@ assert wxSupport -> (if stdenv.isDarwin then wxmac != null - else libGLU_combined != null && wxGTK != null && xorg != null); + else libGL != null && libGLU != null && wxGTK != null && xorg != null); assert odbcSupport -> unixODBC != null; assert javacSupport -> openjdk != null; diff --git a/pkgs/development/interpreters/io/default.nix b/pkgs/development/interpreters/io/default.nix index 883d53c8269..f763274c15d 100644 --- a/pkgs/development/interpreters/io/default.nix +++ b/pkgs/development/interpreters/io/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cmake, zlib, sqlite, gmp, libffi, cairo, - ncurses, freetype, libGLU_combined, libpng, libtiff, libjpeg, readline, libsndfile, + ncurses, freetype, libGLU, libGL, libpng, libtiff, libjpeg, readline, libsndfile, libxml2, freeglut, libsamplerate, pcre, libevent, libedit, yajl, python3, openssl, glfw, pkgconfig, libpthreadstubs, libXdmcp, libmemcached }: @@ -19,7 +19,7 @@ stdenv.mkDerivation { buildInputs = [ zlib sqlite gmp libffi cairo ncurses freetype - libGLU_combined libpng libtiff libjpeg readline libsndfile libxml2 + libGLU libGL libpng libtiff libjpeg readline libsndfile libxml2 freeglut libsamplerate pcre libevent libedit yajl pkgconfig glfw openssl libpthreadstubs libXdmcp libmemcached python3 diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix index 7e90c6dfb28..6a3aa9f648f 100644 --- a/pkgs/development/interpreters/love/0.10.nix +++ b/pkgs/development/interpreters/love/0.10.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit, +{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit, libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg, libtheora, which, autoconf, automake, libtool }: @@ -19,7 +19,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123 + SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123 libvorbis libogg libtheora autoconf which libtool automake ]; diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix index 7f39259c298..3bf8aee0d07 100644 --- a/pkgs/development/interpreters/love/0.7.nix +++ b/pkgs/development/interpreters/love/0.7.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig -, SDL, libGLU_combined, openal, lua +, SDL, libGLU, libGL, openal, lua , libdevil, freetype, physfs , libmodplug, mpg123, libvorbis, libogg , libmng @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - SDL libGLU_combined openal lua + SDL libGLU libGL openal lua libdevil freetype physfs libmodplug mpg123 libvorbis libogg libmng ]; diff --git a/pkgs/development/interpreters/love/0.8.nix b/pkgs/development/interpreters/love/0.8.nix index 792fe299e4d..57c1a6ce564 100644 --- a/pkgs/development/interpreters/love/0.8.nix +++ b/pkgs/development/interpreters/love/0.8.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig -, SDL, libGLU_combined, openal, lua +, SDL, libGLU, libGL, openal, lua , libdevil, freetype, physfs , libmodplug, mpg123, libvorbis, libogg }: @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - SDL libGLU_combined openal lua + SDL libGLU libGL openal lua libdevil freetype physfs libmodplug mpg123 libvorbis libogg ]; diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix index f1571dc726c..a2182f45436 100644 --- a/pkgs/development/interpreters/love/0.9.nix +++ b/pkgs/development/interpreters/love/0.9.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig -, SDL2, libGLU_combined, openal, luajit +, SDL2, libGLU, libGL, openal, luajit , libdevil, freetype, physfs , libmodplug, mpg123, libvorbis, libogg }: @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - SDL2 libGLU_combined openal luajit + SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123 libvorbis libogg ]; diff --git a/pkgs/development/interpreters/love/11.1.nix b/pkgs/development/interpreters/love/11.1.nix index 6f3f7161a0b..0a60a4cacfe 100644 --- a/pkgs/development/interpreters/love/11.1.nix +++ b/pkgs/development/interpreters/love/11.1.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit, +{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit, libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg, libtheora, which, autoconf, automake, libtool }: @@ -19,7 +19,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123 + SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123 libvorbis libogg libtheora autoconf which libtool automake ]; diff --git a/pkgs/development/interpreters/lush/default.nix b/pkgs/development/interpreters/lush/default.nix index 5a241fbf83e..a8db08e87a2 100644 --- a/pkgs/development/interpreters/lush/default.nix +++ b/pkgs/development/interpreters/lush/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU_combined, SDL +{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU, libGL, SDL , blas, libbfd, intltool, gettext, zlib, libSM}: stdenv.mkDerivation rec { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libX11 libSM xorgproto indent readline gsl freeglut libGLU_combined SDL blas libbfd + libX11 libSM xorgproto indent readline gsl freeglut libGLU libGL SDL blas libbfd intltool gettext zlib ]; diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix index 42c68ed7e80..759a44b5760 100644 --- a/pkgs/development/interpreters/renpy/default.nix +++ b/pkgs/development/interpreters/renpy/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, python2Packages, pkgconfig, SDL2 -, libpng, ffmpeg, freetype, glew, libGLU_combined, fribidi, zlib +, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib , glib }: @@ -32,13 +32,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ python cython wrapPython tkinter - SDL2 libpng ffmpeg freetype glew libGLU_combined fribidi zlib pygame_sdl2 glib + SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib ]; pythonPath = [ pygame_sdl2 tkinter ]; RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: path) [ - SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU_combined fribidi zlib + SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU libGL fribidi zlib ]); buildPhase = '' diff --git a/pkgs/development/libraries/AntTweakBar/default.nix b/pkgs/development/libraries/AntTweakBar/default.nix index 94b36b855f2..1ae6346cbe5 100644 --- a/pkgs/development/libraries/AntTweakBar/default.nix +++ b/pkgs/development/libraries/AntTweakBar/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, unzip, xorg, libGLU_combined }: +{ stdenv, fetchurl, unzip, xorg, libGLU, libGL }: stdenv.mkDerivation { name = "AntTweakBar-1.16"; - buildInputs = [ unzip xorg.libX11 libGLU_combined ]; + buildInputs = [ unzip xorg.libX11 libGLU libGL ]; src = fetchurl { url = "mirror://sourceforge/project/anttweakbar/AntTweakBar_116.zip"; diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix index b267c62d6c7..5f5368f2866 100644 --- a/pkgs/development/libraries/allegro/5.nix +++ b/pkgs/development/libraries/allegro/5.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch, texinfo, libXext, xorgproto, libX11 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis , libXxf86dga, libXxf86misc -, libXxf86vm, openal, libGLU_combined, libjpeg, flac +, libXxf86vm, openal, libGLU, libGL, libjpeg, flac , libXi, libXfixes, freetype, libopus, libtheora , physfs, enet, pkgconfig, gtk2, pcre, libpulseaudio, libpthreadstubs , libXdmcp @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ texinfo libXext xorgproto libX11 libXpm libXt libXcursor alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc - libXxf86vm openal libGLU_combined + libXxf86vm openal libGLU libGL libjpeg flac libXi libXfixes enet libtheora freetype physfs libopus pkgconfig gtk2 pcre libXdmcp diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix index 6b44ec1b598..64488b25b09 100644 --- a/pkgs/development/libraries/allegro/default.nix +++ b/pkgs/development/libraries/allegro/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, texinfo, libXext, xorgproto, libX11 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis , libXxf86dga, libXxf86misc -, libXxf86vm, openal, libGLU_combined }: +, libXxf86vm, openal, libGLU, libGL }: stdenv.mkDerivation rec { pname = "allegro"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { buildInputs = [ texinfo libXext xorgproto libX11 libXpm libXt libXcursor alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc - libXxf86vm openal libGLU_combined + libXxf86vm openal libGLU libGL ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/libraries/arrayfire/default.nix b/pkgs/development/libraries/arrayfire/default.nix index 6e2db870068..21e93a8cd49 100644 --- a/pkgs/development/libraries/arrayfire/default.nix +++ b/pkgs/development/libraries/arrayfire/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig , cudatoolkit, opencl-clhpp, ocl-icd, fftw, fftwFloat, mkl -, blas, openblas, boost, mesa, libGLU_combined +, blas, openblas, boost, mesa, libGLU, libGL , freeimage, python, clfft, clblas , doxygen, buildDocs ? false }: @@ -51,7 +51,7 @@ in stdenv.mkDerivation rec { opencl-clhpp fftw fftwFloat mkl openblas - libGLU_combined + libGLU libGL mesa freeimage boost.out boost.dev ] ++ (stdenv.lib.optional stdenv.isLinux [ cudatoolkit ocl-icd ]) diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix index 328ac434d85..d4b4c33f35b 100644 --- a/pkgs/development/libraries/box2d/default.nix +++ b/pkgs/development/libraries/box2d/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, cmake, libGLU_combined, freeglut, libX11, xorgproto +{ stdenv, fetchurl, unzip, cmake, libGLU, libGL, freeglut, libX11, xorgproto , libXi, pkgconfig }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - unzip cmake libGLU_combined freeglut libX11 xorgproto libXi + unzip cmake libGLU libGL freeglut libX11 xorgproto libXi ]; cmakeFlags = [ diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix index 1b6c56f13af..5b4e37eff9f 100644 --- a/pkgs/development/libraries/bullet/default.nix +++ b/pkgs/development/libraries/bullet/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut +{ stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut , Cocoa, OpenGL }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ] + buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ]; patches = [ ./gwen-narrowing.patch ]; diff --git a/pkgs/development/libraries/bullet/roboschool-fork.nix b/pkgs/development/libraries/bullet/roboschool-fork.nix index 8b0901832d1..34a9ee3b6ee 100644 --- a/pkgs/development/libraries/bullet/roboschool-fork.nix +++ b/pkgs/development/libraries/bullet/roboschool-fork.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut +{ stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut , Cocoa, OpenGL }: @@ -18,7 +18,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ] + buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ]; patches = [ ./gwen-narrowing.patch ]; diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index 82570fbf7b4..d2e52638d07 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -5,7 +5,7 @@ , xcbSupport ? x11Support, libxcb, xcbutil # no longer experimental since 1.12 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms , glSupport ? config.cairo.gl or (libGLSupported && stdenv.isLinux && !stdenv.isAarch32 && !stdenv.isMips) -, libGL ? null # libGLU_combined is no longer a big dependency +, libGL ? null # libGLU libGL is no longer a big dependency , pdfSupport ? true , darwin }: diff --git a/pkgs/development/libraries/chipmunk/default.nix b/pkgs/development/libraries/chipmunk/default.nix index 76f722f31aa..5dd9917bc52 100644 --- a/pkgs/development/libraries/chipmunk/default.nix +++ b/pkgs/development/libraries/chipmunk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, freeglut, libGLU_combined, glfw2, glew, libX11, xorgproto +{ stdenv, fetchurl, cmake, freeglut, libGLU, libGL, glfw2, glew, libX11, xorgproto , libXi, libXmu }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = - [ freeglut libGLU_combined glfw2 glew libX11 xorgproto libXi libXmu ]; + [ freeglut libGLU libGL glfw2 glew libX11 xorgproto libXi libXmu ]; postInstall = '' mkdir -p $out/bin diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix index 9ab112dac12..0a9fa64afe3 100644 --- a/pkgs/development/libraries/ffmpeg-full/default.nix +++ b/pkgs/development/libraries/ffmpeg-full/default.nix @@ -104,7 +104,7 @@ #, opencl ? null # OpenCL code , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder #, opencv ? null # Video filtering -, openglExtlib ? false, libGLU_combined ? null # OpenGL rendering +, openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering #, openh264 ? null # H.264/AVC encoder , openjpeg ? null # JPEG 2000 de/encoder , opensslExtlib ? false, openssl ? null @@ -234,7 +234,7 @@ assert gnutls != null -> !opensslExtlib; assert libxcbshmExtlib -> libxcb != null; assert libxcbxfixesExtlib -> libxcb != null; assert libxcbshapeExtlib -> libxcb != null; -assert openglExtlib -> libGLU_combined != null; +assert openglExtlib -> libGL != null && libGLU != null; assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing; stdenv.mkDerivation rec { @@ -424,7 +424,7 @@ stdenv.mkDerivation rec { libxcb libXv libXext lzma openal openjpeg libpulseaudio rtmpdump opencore-amr samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore zeromq4 zlib - ] ++ optional openglExtlib libGLU_combined + ] ++ optionals openglExtlib [ libGL libGLU ] ++ optionals nonfreeLicensing [ fdk_aac openssl ] ++ optional ((isLinux || isFreeBSD) && libva != null) libva ++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index ccdf4662719..ba59b0c16e6 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -2,7 +2,7 @@ , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg , libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d -, openglSupport ? false, libGLU_combined ? null +, openglSupport ? false, libGLU ? null, libGL ? null , libmfxSupport ? false, intel-media-sdk ? null , libaomSupport ? false, libaom ? null # Build options @@ -63,7 +63,7 @@ let vpxSupport = reqMin "0.6" && !isAarch32; in -assert openglSupport -> libGLU_combined != null; +assert openglSupport -> libGL != null && libGLU != null; assert libmfxSupport -> intel-media-sdk != null; assert libaomSupport -> libaom != null; @@ -168,7 +168,7 @@ stdenv.mkDerivation rec { buildInputs = [ bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers - ] ++ optional openglSupport libGLU_combined + ] ++ optionals openglSupport [ libGL libGLU ] ++ optional libmfxSupport intel-media-sdk ++ optional vpxSupport libaom ++ optional vpxSupport libvpx diff --git a/pkgs/development/libraries/fltk/1.4.nix b/pkgs/development/libraries/fltk/1.4.nix index eebe119d142..a4a3dd05543 100644 --- a/pkgs/development/libraries/fltk/1.4.nix +++ b/pkgs/development/libraries/fltk/1.4.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi -, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng +, freeglut, libGLU, libGL, libjpeg, zlib, libXft, libpng , libtiff, freetype, Cocoa, AGL, GLUT }: @@ -19,7 +19,7 @@ stdenv.mkDerivation { patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ] + buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ] ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ]; propagatedBuildInputs = [ xorgproto ] diff --git a/pkgs/development/libraries/forge/default.nix b/pkgs/development/libraries/forge/default.nix index e6e002f16c5..83630aef9aa 100644 --- a/pkgs/development/libraries/forge/default.nix +++ b/pkgs/development/libraries/forge/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig , arrayfire, expat, fontconfig, freeimage, freetype, boost -, mesa, libGLU_combined, glfw3, SDL2, cudatoolkit +, mesa, libGLU, libGL, glfw3, SDL2, cudatoolkit }: stdenv.mkDerivation rec { @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { boost.dev freeimage mesa - libGLU_combined + libGLU libGL glfw3 SDL2 cudatoolkit diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix index af387b7232f..bb59a34b1cc 100644 --- a/pkgs/development/libraries/fox/fox-1.6.nix +++ b/pkgs/development/libraries/fox/fox-1.6.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, xlibsWrapper, libpng, libjpeg, libtiff, zlib, bzip2, libXcursor -, libXrandr, libGLU_combined, libXft, libXfixes, xinput +, libXrandr, libGLU, libGL, libXft, libXfixes, xinput , CoreServices }: let @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ xlibsWrapper libpng libjpeg libtiff zlib bzip2 libXcursor libXrandr - libXft libGLU_combined libXfixes xinput + libXft libGLU libGL libXfixes xinput ] ++ stdenv.lib.optional stdenv.isDarwin CoreServices; doCheck = true; diff --git a/pkgs/development/libraries/freenect/default.nix b/pkgs/development/libraries/freenect/default.nix index 41480789a08..9520542481c 100644 --- a/pkgs/development/libraries/freenect/default.nix +++ b/pkgs/development/libraries/freenect/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU_combined, libXi, libXmu +{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU, libGL, libXi, libXmu , GLUT, Cocoa }: @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "0vnc7z2avckh4mccqq6alsd2z7xvsh3kaslc5b0gnfxw0j269gl6"; }; - buildInputs = [ libusb freeglut libGLU_combined libXi libXmu ] + buildInputs = [ libusb freeglut libGLU libGL libXi libXmu ] ++ lib.optionals stdenv.isDarwin [ GLUT Cocoa ]; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/development/libraries/glui/default.nix b/pkgs/development/libraries/glui/default.nix index 59357bf6fb1..9379a0032af 100644 --- a/pkgs/development/libraries/glui/default.nix +++ b/pkgs/development/libraries/glui/default.nix @@ -1,7 +1,7 @@ -{stdenv, fetchurl, freeglut, libGLU_combined, libXmu, libXext, libX11, libXi}: +{stdenv, fetchurl, freeglut, libGLU, libGL, libXmu, libXext, libX11, libXi}: stdenv.mkDerivation { name = "glui-2.35"; - buildInputs = [freeglut libGLU_combined libXmu libXext libX11 libXi]; + buildInputs = [freeglut libGLU libGL libXmu libXext libX11 libXi]; preConfigure = ''cd src''; installPhase = '' mkdir -p "$out"/{bin,lib,share/glui/doc,include} diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index de8556ccc96..22815c95647 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -70,7 +70,8 @@ , xvidcore , gnutls , mjpegtools -, libGLU_combined +, libGLU +, libGL , libintl , libgme , openssl @@ -148,7 +149,8 @@ in stdenv.mkDerivation rec { libwebp xvidcore gnutls - libGLU_combined + libGL + libGLU libgme openssl x265 diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix index bfa5abc7b53..0b47ef2244c 100644 --- a/pkgs/development/libraries/gstreamer/vaapi/default.nix +++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix @@ -10,7 +10,8 @@ , libdrm , udev , xorg -, libGLU_combined +, libGLU +, libGL , gstreamer , gst-plugins-bad , nasm @@ -50,7 +51,8 @@ stdenv.mkDerivation rec { xorg.libXrandr xorg.libSM xorg.libICE - libGLU_combined + libGL + libGLU nasm libvpx python diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix index 35ef14cbc13..788772888c6 100644 --- a/pkgs/development/libraries/irrlicht/default.nix +++ b/pkgs/development/libraries/irrlicht/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchzip, libGLU_combined, unzip, libXrandr, libX11, libXxf86vm }: +{ stdenv, fetchzip, libGLU, libGL, unzip, libXrandr, libX11, libXxf86vm }: stdenv.mkDerivation rec { @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { mkdir -p $out/lib ''; - buildInputs = [ unzip libGLU_combined libXrandr libX11 libXxf86vm ]; + buildInputs = [ unzip libGLU libGL libXrandr libX11 libXxf86vm ]; meta = { homepage = http://irrlicht.sourceforge.net/; diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix index a93d7774291..6eb5a1f5355 100644 --- a/pkgs/development/libraries/java/swt/default.nix +++ b/pkgs/development/libraries/java/swt/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, unzip, jdk, pkgconfig, gtk2 -, libXt, libXtst, libXi, libGLU_combined, webkitgtk, libsoup, xorg +, libXt, libXtst, libXi, libGLU, libGL, webkitgtk, libsoup, xorg , pango, gdk-pixbuf, glib }: @@ -36,7 +36,7 @@ in stdenv.mkDerivation rec { sourceRoot = "."; nativeBuildInputs = [ unzip pkgconfig ]; - buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU_combined webkitgtk libsoup ]; + buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU libGL webkitgtk libsoup ]; NIX_LFLAGS = (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk-pixbuf glib ]) ++ [ "-lX11" "-lpango-1.0" "-lgdk_pixbuf-2.0" "-lglib-2.0" ]; diff --git a/pkgs/development/libraries/libagar/default.nix b/pkgs/development/libraries/libagar/default.nix index 630b1712158..c0a43efc27e 100644 --- a/pkgs/development/libraries/libagar/default.nix +++ b/pkgs/development/libraries/libagar/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, libtool, perl, bsdbuild, gettext, mandoc -, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU_combined +, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU, libGL , libsndfile, portaudio, libmysqlclient, fontconfig }: @@ -19,7 +19,7 @@ stdenv.mkDerivation { "--enable-nls=yes" "--with-gettext=${gettext}" "--with-jpeg=${libjpeg.dev}" - "--with-gl=${libGLU_combined}" + "--with-gl=${libGL}" "--with-mysql=${libmysqlclient}" "--with-manpages=yes" ]; @@ -29,7 +29,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig libtool gettext ]; buildInputs = [ - bsdbuild perl xlibsWrapper libXinerama SDL libGLU_combined libmysqlclient mandoc + bsdbuild perl xlibsWrapper libXinerama SDL libGL libmysqlclient mandoc freetype.dev libpng libjpeg.dev fontconfig portaudio libsndfile ]; diff --git a/pkgs/development/libraries/libtcod/default.nix b/pkgs/development/libraries/libtcod/default.nix index 6d95d81e5d9..5a7fb3395eb 100644 --- a/pkgs/development/libraries/libtcod/default.nix +++ b/pkgs/development/libraries/libtcod/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromBitbucket, cmake, SDL, libGLU_combined, upx, zlib }: +{ stdenv, fetchFromBitbucket, cmake, SDL, libGLU, libGL, upx, zlib }: stdenv.mkDerivation { @@ -21,7 +21,7 @@ stdenv.mkDerivation { cmakeFlags="-DLIBTCOD_SAMPLES=OFF"; - buildInputs = [ cmake SDL libGLU_combined upx zlib ]; + buildInputs = [ cmake SDL libGLU libGL upx zlib ]; meta = { description = "API for roguelike games"; diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix index fc9932567cf..56c3f638d52 100644 --- a/pkgs/development/libraries/libwebp/default.nix +++ b/pkgs/development/libraries/libwebp/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl , threadingSupport ? true # multi-threading -, openglSupport ? false, freeglut ? null, libGLU_combined ? null # OpenGL (required for vwebp) +, openglSupport ? false, freeglut ? null, libGL ? null, libGLU ? null # OpenGL (required for vwebp) , pngSupport ? true, libpng ? null # PNG image format , jpegSupport ? true, libjpeg ? null # JPEG image format , tiffSupport ? true, libtiff ? null # TIFF image format @@ -14,7 +14,7 @@ , libwebpdecoderSupport ? true # Build libwebpdecoder }: -assert openglSupport -> ((freeglut != null) && (libGLU_combined != null)); +assert openglSupport -> freeglut != null && libGL != null && libGLU != null; assert pngSupport -> (libpng != null); assert jpegSupport -> (libjpeg != null); assert tiffSupport -> (libtiff != null); @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ ] - ++ optionals openglSupport [ freeglut libGLU_combined ] + ++ optionals openglSupport [ freeglut libGL libGLU ] ++ optional pngSupport libpng ++ optional jpegSupport libjpeg ++ optional tiffSupport libtiff diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix index 2df7ef94cf3..74952456e64 100644 --- a/pkgs/development/libraries/liquidfun/default.nix +++ b/pkgs/development/libraries/liquidfun/default.nix @@ -1,4 +1,4 @@ -{ stdenv, requireFile, cmake, libGLU_combined, libX11, libXi }: +{ stdenv, requireFile, cmake, libGLU, libGL, libX11, libXi }: let sourceInfo = rec { @@ -16,7 +16,7 @@ stdenv.mkDerivation { }; inherit (sourceInfo) name version; - buildInputs = [ cmake libGLU_combined libX11 libXi ]; + buildInputs = [ cmake libGLU libGL libX11 libXi ]; sourceRoot = "liquidfun/Box2D/"; diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix index 93e73a44bc9..a338c9b49db 100644 --- a/pkgs/development/libraries/mediastreamer/default.nix +++ b/pkgs/development/libraries/mediastreamer/default.nix @@ -1,5 +1,5 @@ { stdenv, pkgconfig, intltool, alsaLib, libpulseaudio, speex, gsm -, libopus, ffmpeg, libX11, libXv, libGLU_combined, glew, libtheora, libvpx, SDL, libupnp +, libopus, ffmpeg, libX11, libXv, libGLU, libGL, glew, libtheora, libvpx, SDL, libupnp , ortp, libv4l, libpcap, srtp, fetchFromGitHub, cmake, bctoolbox, doxygen , python, libXext, libmatroska, openssl, fetchpatch }: @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ alsaLib libpulseaudio speex gsm libopus - ffmpeg libX11 libXv libGLU_combined glew libtheora libvpx SDL libupnp + ffmpeg libX11 libXv libGLU libGL glew libtheora libvpx SDL libupnp ortp libv4l libpcap srtp bctoolbox libXext libmatroska openssl ]; diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix index 0907f0174c9..c277b7934b9 100644 --- a/pkgs/development/libraries/mygui/default.nix +++ b/pkgs/development/libraries/mygui/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid, - boost, pkgconfig, withOgre ? false, ogre ? null, libGLU_combined ? null } : + boost, pkgconfig, withOgre ? false, ogre ? null, libGL, libGLU ? null } : let renderSystem = if withOgre then "3" else "4"; @@ -17,7 +17,8 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libX11 unzip cmake ois freetype libuuid boost (if withOgre then ogre else libGLU_combined) ]; + buildInputs = [ libX11 unzip cmake ois freetype libuuid boost ] + ++ (if withOgre then [ ogre ] else [libGL libGLU]); # Tools are disabled due to compilation failures. cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ]; diff --git a/pkgs/development/libraries/ogre/1.10.x.nix b/pkgs/development/libraries/ogre/1.10.x.nix index d847f447048..b66759524fa 100644 --- a/pkgs/development/libraries/ogre/1.10.x.nix +++ b/pkgs/development/libraries/ogre/1.10.x.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, lib -, cmake, libGLU_combined +, cmake, libGLU, libGL , freetype, freeimage, zziplib, xorgproto, libXrandr , libXaw, freeglut, libXt, libpng, boost, ois , libX11, libXmu, libSM, pkgconfig @@ -24,7 +24,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; buildInputs = - [ cmake libGLU_combined + [ cmake libGLU libGL freetype freeimage zziplib xorgproto libXrandr libXaw freeglut libXt libpng boost ois libX11 libXmu libSM pkgconfig diff --git a/pkgs/development/libraries/ogre/1.9.x.nix b/pkgs/development/libraries/ogre/1.9.x.nix index 2855d1139c3..ced01580185 100644 --- a/pkgs/development/libraries/ogre/1.9.x.nix +++ b/pkgs/development/libraries/ogre/1.9.x.nix @@ -1,5 +1,5 @@ { fetchFromGitHub, stdenv, lib -, cmake, libGLU_combined +, cmake, libGLU, libGL , freetype, freeimage, zziplib, xorgproto, libXrandr , libXaw, freeglut, libXt, libpng, boost, ois , libX11, libXmu, libSM, pkgconfig @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; buildInputs = - [ cmake libGLU_combined + [ cmake libGLU libGL freetype freeimage zziplib xorgproto libXrandr libXaw freeglut libXt libpng boost ois libX11 libXmu libSM pkgconfig diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix index dc3bf8cf009..235da872392 100644 --- a/pkgs/development/libraries/ogre/default.nix +++ b/pkgs/development/libraries/ogre/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, lib -, cmake, libGLU_combined +, cmake, libGLU, libGL , freetype, freeimage, zziplib, xorgproto, libXrandr , libXaw, freeglut, libXt, libpng, boost, ois , libX11, libXmu, libSM, pkgconfig @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; buildInputs = - [ cmake libGLU_combined + [ cmake libGLU libGL freetype freeimage zziplib xorgproto libXrandr libXaw freeglut libXt libpng boost ois libX11 libXmu libSM pkgconfig diff --git a/pkgs/development/libraries/opencsg/default.nix b/pkgs/development/libraries/opencsg/default.nix index 724c0d7c764..cf46077a56c 100644 --- a/pkgs/development/libraries/opencsg/default.nix +++ b/pkgs/development/libraries/opencsg/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, libGLU_combined, freeglut, glew, libXmu, libXext, libX11 +{stdenv, fetchurl, libGLU, libGL, freeglut, glew, libXmu, libXext, libX11 , qmake, GLUT, fixDarwinDylibNames }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; buildInputs = [ glew ] - ++ stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut libXmu libXext libX11 ] + ++ stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut libXmu libXext libX11 ] ++ stdenv.lib.optional stdenv.isDarwin GLUT; doCheck = false; diff --git a/pkgs/development/libraries/openexrid-unstable/default.nix b/pkgs/development/libraries/openexrid-unstable/default.nix index b8a3c4a81e0..92cd343cf6a 100644 --- a/pkgs/development/libraries/openexrid-unstable/default.nix +++ b/pkgs/development/libraries/openexrid-unstable/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, libGLU_combined, openexr }: +{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, libGLU, libGL, openexr }: stdenv.mkDerivation { pname = "openexrid-unstable"; @@ -25,7 +25,7 @@ stdenv.mkDerivation { -I${openfx.dev}/include/OpenFX ''; - buildInputs = [ unzip re2 openfx zlib ilmbase libGLU_combined openexr ]; + buildInputs = [ unzip re2 openfx zlib ilmbase libGLU libGL openexr ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/partio/default.nix b/pkgs/development/libraries/partio/default.nix index b08936dd34d..ba042562320 100644 --- a/pkgs/development/libraries/partio/default.nix +++ b/pkgs/development/libraries/partio/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, libGLU_combined, zlib, swig, python, doxygen, xorg }: +{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, libGLU, libGL, zlib, swig, python, doxygen, xorg }: stdenv.mkDerivation { pname = "partio"; @@ -14,7 +14,7 @@ stdenv.mkDerivation { outputs = [ "dev" "out" "lib" ]; nativeBuildInputs = [ unzip cmake doxygen ]; - buildInputs = [ freeglut libGLU_combined zlib swig python xorg.libXi xorg.libXmu ]; + buildInputs = [ freeglut libGLU libGL zlib swig python xorg.libXi xorg.libXmu ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix index dd163571a1b..277823b91c0 100644 --- a/pkgs/development/libraries/phonon/default.nix +++ b/pkgs/development/libraries/phonon/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, cmake, libGLU_combined, pkgconfig, libpulseaudio +{ stdenv, lib, fetchurl, cmake, libGLU, libGL, pkgconfig, libpulseaudio , qt4 ? null, extra-cmake-modules ? null, qtbase ? null, qttools ? null , withQt5 ? false , debug ? false }: @@ -32,7 +32,7 @@ stdenv.mkDerivation { }; buildInputs = - [ libGLU_combined libpulseaudio ] + [ libGLU libGL libpulseaudio ] ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ]); nativeBuildInputs = diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix index 96715882c23..007e4ad0c32 100644 --- a/pkgs/development/libraries/physics/geant4/default.nix +++ b/pkgs/development/libraries/physics/geant4/default.nix @@ -30,7 +30,7 @@ , libXpm # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11. -, libGLU_combined +, libGLU, libGL , xlibsWrapper , libXmu }: @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ cmake ]; - buildInputs = [ clhep expat zlib libGLU_combined xlibsWrapper libXmu ] + buildInputs = [ clhep expat zlib libGLU libGL xlibsWrapper libXmu ] ++ stdenv.lib.optionals enableGDML [ xercesc ] ++ stdenv.lib.optionals enableXM [ motif ] ++ stdenv.lib.optionals enableQT [ qtbase ] diff --git a/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix index c9e8c632c7f..bbc5eb21c27 100644 --- a/pkgs/development/libraries/plib/default.nix +++ b/pkgs/development/libraries/plib/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, fetchpatch, stdenv, libGLU_combined, freeglut, SDL +{ fetchurl, fetchpatch, stdenv, libGLU, libGL, freeglut, SDL , libXi, libSM, libXmu, libXext, libX11 }: stdenv.mkDerivation rec { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ - libGLU_combined freeglut SDL + libGLU libGL freeglut SDL # The following libs ought to be propagated build inputs of Mesa. libXi libSM libXmu libXext libX11 diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix index a46dcec0312..98519ae294a 100644 --- a/pkgs/development/libraries/qt-3/default.nix +++ b/pkgs/development/libraries/qt-3/default.nix @@ -8,7 +8,7 @@ , mysqlSupport ? false, libmysqlclient ? null , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms , openglSupport ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms -, libGLU_combined ? null, libXmu ? null +, libGL ? null, libGLU ? null, libXmu ? null , xlibsWrapper, xorgproto, zlib, libjpeg, libpng, which }: @@ -17,7 +17,7 @@ assert xrenderSupport -> xftSupport && libXrender != null; assert xrandrSupport -> libXrandr != null; assert cursorSupport -> libXcursor != null; assert mysqlSupport -> libmysqlclient != null; -assert openglSupport -> libGLU_combined != null && libXmu != null; +assert openglSupport -> libGL != null && libGLU != null && libXmu != null; stdenv.mkDerivation { name = "qt-3.3.8"; @@ -51,7 +51,7 @@ stdenv.mkDerivation { (mk xftSupport "xft") ] ++ stdenv.lib.optionals openglSupport [ "-dlopen-opengl" - "-L${libGLU_combined}/lib" "-I${libGLU_combined}/include" + "-L${libGL}/lib" "-I${libGLU}/include" "-L${libXmu.out}/lib" "-I${libXmu.dev}/include" ] ++ stdenv.lib.optionals xrenderSupport [ "-L${libXrender.out}/lib" "-I${libXrender.dev}/include" diff --git a/pkgs/development/libraries/quesoglc/default.nix b/pkgs/development/libraries/quesoglc/default.nix index 2e47a213565..fe24d0fcddf 100644 --- a/pkgs/development/libraries/quesoglc/default.nix +++ b/pkgs/development/libraries/quesoglc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libGLU_combined, glew, freetype, fontconfig, fribidi, libX11 }: +{ stdenv, fetchurl, libGLU, libGL, glew, freetype, fontconfig, fribidi, libX11 }: stdenv.mkDerivation rec { pname = "quesoglc"; version = "0.7.2"; @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; sha256 = "0cf9ljdzii5d4i2m23gdmf3kn521ljcldzq69lsdywjid3pg5zjl"; }; - buildInputs = [ libGLU_combined glew freetype fontconfig fribidi libX11 ]; + buildInputs = [ libGLU libGL glew freetype fontconfig fribidi libX11 ]; # FIXME: Configure fails to use system glew. meta = with stdenv.lib; { description = "A free implementation of the OpenGL Character Renderer"; diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix index 471bcb22234..bdd8dd9d999 100644 --- a/pkgs/development/libraries/simgear/default.nix +++ b/pkgs/development/libraries/simgear/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, plib, freeglut, xorgproto, libX11, libXext, libXi -, libICE, libSM, libXt, libXmu, libGLU_combined, boost, zlib, libjpeg, freealut +, libICE, libSM, libXt, libXmu, libGLU, libGL, boost, zlib, libjpeg, freealut , openscenegraph, openal, expat, cmake, apr , curl }: @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ plib freeglut xorgproto libX11 libXext libXi - libICE libSM libXt libXmu libGLU_combined boost zlib libjpeg freealut + libICE libSM libXt libXmu libGLU libGL boost zlib libjpeg freealut openscenegraph openal expat apr curl ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix index e2866788302..a7ffc146f41 100644 --- a/pkgs/development/libraries/smpeg/default.nix +++ b/pkgs/development/libraries/smpeg/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU_combined, makeWrapper }: +{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU, libGL, makeWrapper }: stdenv.mkDerivation rec { name = "smpeg-svn${version}"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ SDL gtk2 libGLU_combined ]; + buildInputs = [ SDL gtk2 libGLU libGL ]; nativeBuildInputs = [ autoconf automake libtool m4 pkgconfig makeWrapper ]; diff --git a/pkgs/development/libraries/soxt/default.nix b/pkgs/development/libraries/soxt/default.nix index 11ba48c5971..4afb310d49a 100644 --- a/pkgs/development/libraries/soxt/default.nix +++ b/pkgs/development/libraries/soxt/default.nix @@ -1,4 +1,4 @@ -{ fetchhg, stdenv, cmake, coin3d, motif, xlibsWrapper, libXmu, libGLU_combined }: +{ fetchhg, stdenv, cmake, coin3d, motif, xlibsWrapper, libXmu, libGLU, libGL }: stdenv.mkDerivation { pname = "soxt"; @@ -12,7 +12,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ coin3d motif xlibsWrapper libGLU_combined libXmu ]; + buildInputs = [ coin3d motif xlibsWrapper libGLU libGL libXmu ]; meta = with stdenv.lib; { homepage = https://bitbucket.org/Coin3D/coin/wiki/Home; diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix index e3fd7ad57e0..94f96b867d5 100644 --- a/pkgs/development/libraries/vaapi-vdpau/default.nix +++ b/pkgs/development/libraries/vaapi-vdpau/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, libvdpau, libGLU_combined, libva, pkgconfig }: +{ stdenv, fetchurl, fetchpatch, libvdpau, libGLU, libGL, libva, pkgconfig }: stdenv.mkDerivation rec { pname = "libva-vdpau-driver"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libvdpau libGLU_combined libva ]; + buildInputs = [ libvdpau libGLU libGL libva ]; postPatch = '' sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure diff --git a/pkgs/development/libraries/vrpn/default.nix b/pkgs/development/libraries/vrpn/default.nix index 0ae5ba147cb..688dc8d451e 100644 --- a/pkgs/development/libraries/vrpn/default.nix +++ b/pkgs/development/libraries/vrpn/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, unzip, cmake, libGLU_combined }: +{ stdenv, fetchFromGitHub, unzip, cmake, libGLU, libGL }: stdenv.mkDerivation rec { name = "${pname}-${date}"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "032q295d68w34rk5q8nfqdd29s55n00bfik84y7xzkjrpspaprlh"; }; - buildInputs = [ unzip cmake libGLU_combined ]; + buildInputs = [ unzip cmake libGLU libGL ]; doCheck = false; # FIXME: test failure checkTarget = "test"; diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix index fd772a1ff9d..adcb2e74b0b 100644 --- a/pkgs/development/libraries/xine-lib/default.nix +++ b/pkgs/development/libraries/xine-lib/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU_combined, aalib +{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU, libGL, aalib , libvorbis, libtheora, speex, zlib, perl, ffmpeg , flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager , libmpcdec @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ xorg.libX11 xorg.libXv xorg.libXinerama xorg.libxcb xorg.libXext - alsaLib libGLU_combined aalib libvorbis libtheora speex perl ffmpeg flac + alsaLib libGLU libGL aalib libvorbis libtheora speex perl ffmpeg flac libcaca libpulseaudio libmng libcdio libv4l vcdimager libmpcdec ]; diff --git a/pkgs/development/misc/amdapp-sdk/default.nix b/pkgs/development/misc/amdapp-sdk/default.nix index 4169b9e4d35..c3bf3217b6a 100644 --- a/pkgs/development/misc/amdapp-sdk/default.nix +++ b/pkgs/development/misc/amdapp-sdk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, perl, libGLU_combined, xorg, +{ stdenv, fetchurl, makeWrapper, perl, libGLU, libGL, xorg, version? "2.8", # What version samples? false # Should samples be installed }: @@ -47,7 +47,7 @@ in stdenv.mkDerivation { patches = stdenv.lib.attrByPath [version "patches"] [] src_info; patchFlags = "-p0"; - buildInputs = [ makeWrapper perl libGLU_combined xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ]; + buildInputs = [ makeWrapper perl libGLU libGL xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ]; propagatedBuildInputs = [ stdenv.cc ]; NIX_LDFLAGS = "-lX11 -lXext -lXmu -lXi -lXxf86vm"; doCheck = false; diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix index 427d0d5a0e1..ae85847b58b 100644 --- a/pkgs/development/ocaml-modules/lablgl/default.nix +++ b/pkgs/development/ocaml-modules/lablgl/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ocaml, lablgtk, findlib, libGLU_combined, freeglut, camlp4 } : +{stdenv, fetchurl, ocaml, lablgtk, findlib, libGLU, libGL, freeglut, camlp4 } : let pname = "lablgl"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ocaml findlib lablgtk freeglut camlp4]; - propagatedBuildInputs = [ libGLU_combined ]; + propagatedBuildInputs = [ libGLU libGL ]; patches = [ ./Makefile.config.patch ./META.patch ]; diff --git a/pkgs/development/pharo/vm/build-vm-legacy.nix b/pkgs/development/pharo/vm/build-vm-legacy.nix index bd84dd06e7f..e76b1802c23 100644 --- a/pkgs/development/pharo/vm/build-vm-legacy.nix +++ b/pkgs/development/pharo/vm/build-vm-legacy.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, libGLU_combined, freetype, xorg, alsaLib, cairo, libuuid, makeWrapper, ... }: +{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, libGLU, libGL, freetype, xorg, alsaLib, cairo, libuuid, makeWrapper, ... }: { name, src, ... }: @@ -46,9 +46,9 @@ stdenv.mkDerivation rec { ln -s "${pharo-share}/lib/"*.sources $prefix/lib/$name ''; - LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ cairo libGLU_combined freetype openssl libuuid alsaLib xorg.libICE xorg.libSM ]; + LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ cairo libGLU libGL freetype openssl libuuid alsaLib xorg.libICE xorg.libSM ]; nativeBuildInputs = [ unzip cmake gcc makeWrapper ]; - buildInputs = [ bash glibc openssl libGLU_combined freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ]; + buildInputs = [ bash glibc openssl libGLU libGL freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ]; meta = { description = "Clean and innovative Smalltalk-inspired environment"; diff --git a/pkgs/development/pharo/vm/build-vm.nix b/pkgs/development/pharo/vm/build-vm.nix index 47773c20954..5fc747cbc8c 100644 --- a/pkgs/development/pharo/vm/build-vm.nix +++ b/pkgs/development/pharo/vm/build-vm.nix @@ -5,7 +5,7 @@ , glibc , openssl , libgit2 -, libGLU_combined +, libGLU, libGL , freetype , xorg , alsaLib @@ -85,7 +85,7 @@ stdenv.mkDerivation rec { libs = [ cairo libgit2 - libGLU_combined + libGLU libGL freetype openssl libuuid @@ -139,7 +139,7 @@ stdenv.mkDerivation rec { glibc openssl gcc48 - libGLU_combined + libGLU libGL freetype xorg.libX11 xorg.libICE diff --git a/pkgs/development/pharo/vm/vms.nix b/pkgs/development/pharo/vm/vms.nix index 91cf0184709..080da830af6 100644 --- a/pkgs/development/pharo/vm/vms.nix +++ b/pkgs/development/pharo/vm/vms.nix @@ -7,7 +7,7 @@ , openssl , gcc , libgit2 -, libGLU_combined +, libGLU, libGL , freetype , xorg , alsaLib diff --git a/pkgs/development/pure-modules/gl/default.nix b/pkgs/development/pure-modules/gl/default.nix index 51c57bb5c51..b67a972b00b 100644 --- a/pkgs/development/pure-modules/gl/default.nix +++ b/pkgs/development/pure-modules/gl/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU_combined, xlibsWrapper }: +{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU, libGL, xlibsWrapper }: stdenv.mkDerivation rec { baseName = "gl"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - propagatedBuildInputs = [ pure freeglut libGLU_combined xlibsWrapper ]; + propagatedBuildInputs = [ pure freeglut libGLU libGL xlibsWrapper ]; makeFlags = "libdir=$(out)/lib prefix=$(out)/"; setupHook = ../generic-setup-hook.sh; diff --git a/pkgs/development/python-modules/pivy/default.nix b/pkgs/development/python-modules/pivy/default.nix index 6c8fc211ae6..93aa5ad144c 100644 --- a/pkgs/development/python-modules/pivy/default.nix +++ b/pkgs/development/python-modules/pivy/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { buildInputs = with pkgs; with xorg; [ coin3d soqt qt5.qtbase - libGLU_combined + libGLU libGL libXi libXext libSM libICE libX11 ]; diff --git a/pkgs/development/python-modules/pybullet/default.nix b/pkgs/development/python-modules/pybullet/default.nix index f72f09a3328..f4c12f48542 100644 --- a/pkgs/development/python-modules/pybullet/default.nix +++ b/pkgs/development/python-modules/pybullet/default.nix @@ -1,7 +1,7 @@ { lib , buildPythonPackage , fetchPypi -, libGLU_combined +, libGLU, libGL , xorg }: @@ -15,7 +15,7 @@ buildPythonPackage rec { }; buildInputs = [ - libGLU_combined + libGLU libGL xorg.libX11 ]; diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix index bf92f7360dd..90fd7903808 100644 --- a/pkgs/development/python-modules/pyftgl/default.nix +++ b/pkgs/development/python-modules/pyftgl/default.nix @@ -1,5 +1,5 @@ { lib, buildPythonPackage, fetchFromGitHub -, boost, freetype, ftgl, libGLU_combined +, boost, freetype, ftgl, libGLU, libGL , python }: @@ -24,7 +24,7 @@ buildPythonPackage rec { sed -i "s,'boost_python','boost_python${pythonVersion}',g" setup.py ''; - buildInputs = [ boost freetype ftgl libGLU_combined ]; + buildInputs = [ boost freetype ftgl libGLU libGL ]; meta = with lib; { description = "Python bindings for FTGL (FreeType for OpenGL)"; diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix index 16484cb1211..b680df21dd7 100644 --- a/pkgs/development/python-modules/pyglet/default.nix +++ b/pkgs/development/python-modules/pyglet/default.nix @@ -1,7 +1,8 @@ { stdenv , buildPythonPackage , fetchPypi -, libGLU_combined +, libGL +, libGLU , xorg , future , pytest @@ -34,9 +35,9 @@ buildPythonPackage rec { for name in names: path = None if name == 'GL': - path = '${libGLU_combined}/lib/libGL${ext}' + path = '${libGL}/lib/libGL${ext}' elif name == 'GLU': - path = '${libGLU_combined}/lib/libGLU${ext}' + path = '${libGL}/lib/libGLU${ext}' elif name == 'c': path = '${glibc}/lib/libc${ext}.6' elif name == 'X11': diff --git a/pkgs/development/python-modules/pyopengl/default.nix b/pkgs/development/python-modules/pyopengl/default.nix index 11a51f354d9..b00502700e8 100644 --- a/pkgs/development/python-modules/pyopengl/default.nix +++ b/pkgs/development/python-modules/pyopengl/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { sha256 = "9b47c5c3a094fa518ca88aeed35ae75834d53e4285512c61879f67a48c94ddaf"; }; - propagatedBuildInputs = [ pkgs.libGLU_combined pkgs.freeglut pillow ]; + propagatedBuildInputs = [ pkgs.libGLU pkgs.libGL pkgs.freeglut pillow ]; patchPhase = let ext = stdenv.hostPlatform.extensions.sharedLibrary; in '' diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index cd78084d60b..f1a9a9e0e41 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -311,7 +311,7 @@ let rgdal = [ pkgs.proj.dev pkgs.gdal ]; rgeos = [ pkgs.geos ]; rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ]; - rgl = [ pkgs.libGLU_combined pkgs.xlibsWrapper ]; + rgl = [ pkgs.libGLU pkgs.libGL pkgs.xlibsWrapper ]; Rglpk = [ pkgs.glpk ]; RGtk2 = [ pkgs.gtk2.dev ]; rhdf5 = [ pkgs.zlib ]; diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix index 71f488c760a..c7bc96871f8 100644 --- a/pkgs/development/tools/simavr/default.nix +++ b/pkgs/development/tools/simavr/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, libelf, which, pkgconfig, freeglut , avrgcc, avrlibc -, libGLU_combined +, libGLU, libGL , GLUT }: stdenv.mkDerivation rec { @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ which pkgconfig avrgcc ]; - buildInputs = [ libelf freeglut libGLU_combined ] + buildInputs = [ libelf freeglut libGLU libGL ] ++ stdenv.lib.optional stdenv.isDarwin GLUT; # Hack to avoid TMPDIR in RPATHs. diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix index ef285f8cb93..8102235d88e 100644 --- a/pkgs/games/0ad/game.nix +++ b/pkgs/games/0ad/game.nix @@ -1,7 +1,7 @@ { stdenv, lib, perl, fetchurl, python2 , pkgconfig, spidermonkey_38, boost, icu, libxml2, libpng, libsodium , libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc -, openal, libGLU_combined, xorgproto, libX11, libXcursor, nspr, SDL2 +, openal, libGLU, libGL, xorgproto, libX11, libXcursor, nspr, SDL2 , gloox, nvidia-texture-tools , withEditor ? true, wxGTK ? null }: @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ spidermonkey_38 boost icu libxml2 libpng libjpeg zlib curl libogg libvorbis enet miniupnpc openal - libGLU_combined xorgproto libX11 libXcursor nspr SDL2 gloox + libGLU libGL xorgproto libX11 libXcursor nspr SDL2 gloox nvidia-texture-tools libsodium ] ++ lib.optional withEditor wxGTK; diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix index 9766e58c15a..2d3be1880de 100644 --- a/pkgs/games/adom/default.nix +++ b/pkgs/games/adom/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU_combined, alsaLib, libpulseaudio +{ stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU, libGL, alsaLib, libpulseaudio , xorg }: let @@ -6,7 +6,7 @@ let inherit (xorg) libXext libX11; lpath = "${stdenv.cc.cc.lib}/lib64:" + stdenv.lib.makeLibraryPath [ - zlib libmad libpng12 libcaca libXext libX11 libGLU_combined alsaLib libpulseaudio]; + zlib libmad libpng12 libcaca libXext libX11 libGLU libGL alsaLib libpulseaudio]; in stdenv.mkDerivation rec { diff --git a/pkgs/games/alienarena/default.nix b/pkgs/games/alienarena/default.nix index 89c74d83b49..77a8cf9a2ef 100644 --- a/pkgs/games/alienarena/default.nix +++ b/pkgs/games/alienarena/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, libjpeg, libX11, libXxf86vm, curl, libogg -, libvorbis, freetype, openal, libGLU_combined }: +, libvorbis, freetype, openal, libGLU, libGL }: stdenv.mkDerivation { name = "alienarena-7.65"; @@ -11,12 +11,12 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libjpeg libX11 curl libogg libvorbis - freetype openal libGLU_combined libXxf86vm ]; + freetype openal libGLU libGL libXxf86vm ]; patchPhase = '' substituteInPlace ./configure \ --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 \ - --replace libGL.so.1 ${libGLU_combined}/lib/libGL.so.1 + --replace libGL.so.1 ${libGLU libGL}/lib/libGL.so.1 ''; meta = with stdenv.lib; { diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix index 70c23664dc0..edb739125c0 100644 --- a/pkgs/games/armagetronad/default.nix +++ b/pkgs/games/armagetronad/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU_combined, zlib }: +{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU, libGL, zlib }: let versionMajor = "0.2.8"; @@ -19,7 +19,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; configureFlags = [ "--disable-etc" ]; - buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU_combined zlib ]; + buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU libGL zlib ]; meta = with stdenv.lib; { homepage = http://armagetronad.org; diff --git a/pkgs/games/astromenace/default.nix b/pkgs/games/astromenace/default.nix index 37593d3bd72..191428f66db 100644 --- a/pkgs/games/astromenace/default.nix +++ b/pkgs/games/astromenace/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, cmake, xlibsWrapper, libGLU_combined, SDL, openal, freealut, libogg, libvorbis, runtimeShell }: +{ fetchurl, stdenv, cmake, xlibsWrapper, libGLU, libGL, SDL, openal, freealut, libogg, libvorbis, runtimeShell }: stdenv.mkDerivation rec { version = "1.3.2"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1rkz6lwjcd5mwv72kf07ghvx6z46kf3xs250mjbmnmjpn7r5sxwv"; }; - buildInputs = [ cmake xlibsWrapper libGLU_combined SDL openal freealut libogg libvorbis ]; + buildInputs = [ cmake xlibsWrapper libGLU libGL SDL openal freealut libogg libvorbis ]; buildPhase = '' cmake ./ diff --git a/pkgs/games/bitsnbots/default.nix b/pkgs/games/bitsnbots/default.nix index 94a1e6ee91a..c6c5176ecdf 100644 --- a/pkgs/games/bitsnbots/default.nix +++ b/pkgs/games/bitsnbots/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, SDL, lua, libGLU_combined }: +{ stdenv, fetchurl, SDL, lua, libGLU, libGL }: stdenv.mkDerivation rec { name = "bitsnbots-20111230"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ln -s $out/share/${name}/bitsnbots $out/bin ''; - buildInputs = [ SDL lua libGLU_combined ]; + buildInputs = [ SDL lua libGLU libGL ]; meta = { description = "Simple puzzle game with moving robots"; diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix index a35b449f92f..608b32764bb 100644 --- a/pkgs/games/blackshades/default.nix +++ b/pkgs/games/blackshades/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchsvn, SDL, libGLU_combined, openal, libvorbis, freealut, SDL_image}: +{stdenv, fetchsvn, SDL, libGLU, libGL, openal, libvorbis, freealut, SDL_image}: stdenv.mkDerivation { name = "blackshades-svn-110"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { NIX_LDFLAGS = "-lSDL_image"; - buildInputs = [ SDL SDL_image libGLU_combined openal libvorbis freealut ]; + buildInputs = [ SDL SDL_image libGLU libGL openal libvorbis freealut ]; patchPhase = '' sed -i -e s,Data/,$out/opt/$name/Data/,g \ diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix index d3eb2348a0d..938d767c3d8 100644 --- a/pkgs/games/blobby/default.nix +++ b/pkgs/games/blobby/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, SDL2, SDL2_image, libGLU_combined, cmake, physfs, boost, zip, zlib +{stdenv, fetchurl, SDL2, SDL2_image, libGLU, libGL, cmake, physfs, boost, zip, zlib , pkgconfig, unzip}: stdenv.mkDerivation rec { version = "1.0"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [SDL2 SDL2_image libGLU_combined cmake physfs boost zip zlib + buildInputs = [SDL2 SDL2_image libGLU libGL cmake physfs boost zip zlib unzip]; preConfigure='' diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix index 56d2866a235..d07088a30a3 100644 --- a/pkgs/games/bzflag/default.nix +++ b/pkgs/games/bzflag/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, pkgconfig -, curl, SDL2, libGLU_combined, glew, ncurses, c-ares +, curl, SDL2, libGLU, libGL, glew, ncurses, c-ares , Carbon, CoreServices }: stdenv.mkDerivation rec { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ curl SDL2 libGLU_combined glew ncurses c-ares ] + buildInputs = [ curl SDL2 libGLU libGL glew ncurses c-ares ] ++ lib.optionals stdenv.isDarwin [ Carbon CoreServices ]; meta = with lib; { diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix index 9528c6d06cb..bbd11a26046 100644 --- a/pkgs/games/construo/default.nix +++ b/pkgs/games/construo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libX11, zlib, xorgproto, libGL ? null, freeglut ? null }: +{ stdenv, fetchurl, libX11, zlib, xorgproto, libGL, libGLU, freeglut ? null }: stdenv.mkDerivation rec { pname = "construo"; @@ -9,8 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1wmj527hbj1qv44cdsj6ahfjrnrjwg2dp8gdick8nd07vm062qxa"; }; - buildInputs = [ libX11 zlib xorgproto ] - ++ stdenv.lib.optional (libGL != null) libGL + buildInputs = [ libX11 zlib xorgproto libGL libGLU ] ++ stdenv.lib.optional (freeglut != null) freeglut; preConfigure = '' diff --git a/pkgs/games/crack-attack/default.nix b/pkgs/games/crack-attack/default.nix index bb06bec411b..4741ac7bb68 100644 --- a/pkgs/games/crack-attack/default.nix +++ b/pkgs/games/crack-attack/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU_combined, libXi, libXmu }: +{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU, libGL, libXi, libXmu }: stdenv.mkDerivation { name = "crack-attack-1.1.14"; @@ -16,7 +16,7 @@ stdenv.mkDerivation { configureFlags = [ "--enable-sound=yes" ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU_combined libXi libXmu ]; + buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU libGL libXi libXmu ]; hardeningDisable = [ "format" ]; enableParallelBuilding = true; diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix index 47632408e79..e4cccdd6221 100644 --- a/pkgs/games/crawl/default.nix +++ b/pkgs/games/crawl/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses -, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU_combined, freetype, pngcrush, advancecomp +, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU, libGL, freetype, pngcrush, advancecomp , tileMode ? false, enableSound ? tileMode # MacOS / Darwin builds @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { # Still unstable with luajit buildInputs = [ lua5_1 zlib sqlite ncurses ] ++ (with python3.pkgs; [ pyyaml ]) - ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU_combined ] + ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU libGL ] ++ lib.optional enableSound SDL2_mixer ++ (lib.optionals stdenv.isDarwin ( assert (lib.assertMsg (darwin != null) "Must have darwin frameworks available for darwin builds"); diff --git a/pkgs/games/crrcsim/default.nix b/pkgs/games/crrcsim/default.nix index b9d3a69d87b..75ff970a16a 100644 --- a/pkgs/games/crrcsim/default.nix +++ b/pkgs/games/crrcsim/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libGLU_combined, SDL, SDL_mixer, plib, libjpeg }: +{ stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, plib, libjpeg }: let version = "0.9.13"; in @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libGLU_combined SDL SDL_mixer plib libjpeg + libGLU libGL SDL SDL_mixer plib libjpeg ]; patches = [ diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix index 441e9f66981..fd972937640 100644 --- a/pkgs/games/dhewm3/default.nix +++ b/pkgs/games/dhewm3/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU_combined, zlib, libjpeg, libogg, libvorbis +{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU, libGL, zlib, libjpeg, libogg, libvorbis , openal, curl }: stdenv.mkDerivation rec { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "0wsabvh1x4g12xmhzs2m2pgri2q9sir1w3m2r7fpy6kzxp32hqdk"; }; - # Add libGLU_combined linking + # Add libGLU libGL linking patchPhase = '' sed -i 's/\ libGL != null && libGLU != null; + stdenv.mkDerivation rec { name = "prboom-2.5.0"; src = fetchurl { @@ -11,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ SDL SDL_mixer SDL_net ] - ++ stdenv.lib.optional useOpenGL libGLU_combined; + ++ stdenv.lib.optionals useOpenGL [ libGL libGLU ]; doCheck = stdenv.hostPlatform == stdenv.buildPlatform; diff --git a/pkgs/games/privateer/default.nix b/pkgs/games/privateer/default.nix index d4945d43c7d..607458f3798 100644 --- a/pkgs/games/privateer/default.nix +++ b/pkgs/games/privateer/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchsvn, boost, cmake, ffmpeg, freeglut, glib, gtk2, libjpeg, libpng, libpthreadstubs, libvorbis, libXau, libXdmcp, - libXmu, libGLU_combined, openal, pixman, pkgconfig, python27, SDL }: + libXmu, libGLU, libGL, openal, pixman, pkgconfig, python27, SDL }: stdenv.mkDerivation { name = "privateer-1.03"; @@ -14,7 +14,7 @@ stdenv.mkDerivation { buildInputs = [ boost cmake ffmpeg freeglut glib gtk2 libjpeg libpng - libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU_combined openal + libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU libGL openal pixman pkgconfig python27 SDL ]; patches = [ ./0001-fix-VSFile-constructor.patch ]; diff --git a/pkgs/games/residualvm/default.nix b/pkgs/games/residualvm/default.nix index 79d657e668d..9b0cfaa3b50 100644 --- a/pkgs/games/residualvm/default.nix +++ b/pkgs/games/residualvm/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, alsaLib , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms -, openglSupport ? libGLSupported, libGLU_combined ? null +, openglSupport ? libGLSupported, libGLU, libGL ? null }: -assert openglSupport -> libGLU_combined != null; +assert openglSupport -> libGL != null && libGLU != null; with stdenv.lib; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ stdenv SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ] - ++ optional openglSupport libGLU_combined; + ++ optionals openglSupport [ libGL libGLU ]; configureFlags = [ "--enable-all-engines" ]; diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix index 09550339f83..00faee7b928 100644 --- a/pkgs/games/rigsofrods/default.nix +++ b/pkgs/games/rigsofrods/default.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU_combined, boost, +{ fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU, libGL, boost, pkgconfig, libuuid, openal, ogre, ois, curl, gtk2, mygui, unzip, angelscript, ogrepaged, mysocketw, libxcb }: @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ wxGTK30 freeimage cmake zziplib libGLU_combined boost + buildInputs = [ wxGTK30 freeimage cmake zziplib libGLU libGL boost libuuid openal ogre ois curl gtk2 mygui unzip angelscript ogrepaged mysocketw libxcb ]; diff --git a/pkgs/games/scorched3d/default.nix b/pkgs/games/scorched3d/default.nix index 1527f61c4d0..a2859c11712 100644 --- a/pkgs/games/scorched3d/default.nix +++ b/pkgs/games/scorched3d/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libGLU_combined, glew, pkgconfig, openalSoft, freealut, wxGTK, libogg +{ stdenv, fetchurl, libGLU, libGL, glew, pkgconfig, openalSoft, freealut, wxGTK, libogg , freetype, libvorbis, fftwSinglePrec, SDL, SDL_net, expat, libjpeg, libpng }: stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ libGLU_combined glew openalSoft freealut wxGTK libogg freetype libvorbis + [ libGLU libGL glew openalSoft freealut wxGTK libogg freetype libvorbis SDL SDL_net expat libjpeg libpng fftwSinglePrec ]; diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix index 8c4ce46f6f5..8ef6e0c8be5 100644 --- a/pkgs/games/scummvm/default.nix +++ b/pkgs/games/scummvm/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, nasm -, alsaLib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libvorbis, libGLU_combined, SDL2, zlib +, alsaLib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libvorbis, libGLU, libGL, SDL2, zlib }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ nasm ]; buildInputs = [ - alsaLib curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libvorbis libGLU_combined SDL2 zlib + alsaLib curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libvorbis libGLU libGL SDL2 zlib ]; dontDisableStatic = true; diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix index 2ffd3f3d053..7179c4f48b5 100644 --- a/pkgs/games/soi/default.nix +++ b/pkgs/games/soi/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake -, boost, eigen2, lua, luabind, libGLU_combined, SDL }: +, boost, eigen2, lua, luabind, libGLU, libGL, SDL }: stdenv.mkDerivation rec { pname = "soi"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost lua luabind libGLU_combined SDL ]; + buildInputs = [ boost lua luabind libGLU libGL SDL ]; cmakeFlags = [ "-DEIGEN_INCLUDE_DIR=${eigen2}/include/eigen2" diff --git a/pkgs/games/space-orbit/default.nix b/pkgs/games/space-orbit/default.nix index 2b69dfccad1..e9fe6257fb6 100644 --- a/pkgs/games/space-orbit/default.nix +++ b/pkgs/games/space-orbit/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl -, libGLU_combined, libXi, libXt, libXext, libX11, libXmu, freeglut +, libGLU, libGL, libXi, libXt, libXext, libX11, libXmu, freeglut }: stdenv.mkDerivation rec { @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { version = "1.01"; patchversion = "9"; - buildInputs = [ libGLU_combined libXi libXt libXext libX11 libXmu freeglut ]; + buildInputs = [ libGLU libGL libXi libXt libXext libX11 libXmu freeglut ]; src = fetchurl { url = "mirror://debian/pool/main/s/space-orbit/space-orbit_${version}.orig.tar.gz"; diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix index 17cb57d3fdb..473409ffae9 100644 --- a/pkgs/games/speed-dreams/default.nix +++ b/pkgs/games/speed-dreams/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, libGLU_combined, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto, +{ fetchurl, stdenv, libGLU, libGL, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto, libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, openscenegraph, expat, libpng, zlib, bash, SDL2, enet, libjpeg, cmake, pkgconfig, libvorbis, runtimeShell, curl }: @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake ]; - buildInputs = [ libpng libGLU_combined freeglut libX11 plib openal freealut libXrandr xorgproto + buildInputs = [ libpng libGLU libGL freeglut libX11 plib openal freealut libXrandr xorgproto libXext libSM libICE libXi libXt libXrender libXxf86vm zlib bash expat SDL2 enet libjpeg openscenegraph libvorbis curl ]; diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix index e98148cbc83..8f43a6d84b1 100644 --- a/pkgs/games/spring/default.nix +++ b/pkgs/games/spring/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, lzma, boost, libdevil, zlib, p7zip -, openal, libvorbis, glew, freetype, xorg, SDL2, libGLU_combined +, openal, libvorbis, glew, freetype, xorg, SDL2, libGLU, libGL , asciidoc, libxslt, docbook_xsl, docbook_xsl_ns, curl, makeWrapper , jdk ? null, python ? null, systemd, libunwind, which, minizip , withAI ? true # support for AI Interfaces and Skirmish AIs @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { "-DPREFER_STATIC_LIBS:BOOL=OFF"]; buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL2 - xorg.libX11 xorg.libXcursor libGLU_combined glew asciidoc libxslt docbook_xsl curl makeWrapper + xorg.libX11 xorg.libXcursor libGLU libGL glew asciidoc libxslt docbook_xsl curl makeWrapper docbook_xsl_ns systemd libunwind which minizip ] ++ stdenv.lib.optional withAI jdk ++ stdenv.lib.optional withAI python; diff --git a/pkgs/games/stardust/default.nix b/pkgs/games/stardust/default.nix index 9de9bd37e8d..1e2089b9c50 100644 --- a/pkgs/games/stardust/default.nix +++ b/pkgs/games/stardust/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, zlib, libtiff, libxml2, SDL, xorgproto, libX11 -, libXi, libXmu, libXext, libGLU_combined }: +, libXi, libXmu, libXext, libGLU, libGL }: stdenv.mkDerivation rec { pname = "stardust"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ zlib libtiff libxml2 SDL xorgproto libX11 libXi - libXmu libXext libGLU_combined + libXmu libXext libGLU libGL ]; installFlags = [ "bindir=\${out}/bin" ]; diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix index 0bdd1f9f62d..8eceea06243 100644 --- a/pkgs/games/super-tux-kart/default.nix +++ b/pkgs/games/super-tux-kart/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, fetchsvn, cmake, pkgconfig -, openal, freealut, libGLU_combined, libvorbis, libogg, gettext, curl, freetype +, openal, freealut, libGLU, libGL, libvorbis, libogg, gettext, curl, freetype , fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr, enet }: let @@ -29,7 +29,7 @@ in stdenv.mkDerivation rec { buildInputs = [ libX11 libXrandr - openal freealut libGLU_combined libvorbis libogg zlib freetype + openal freealut libGLU libGL libvorbis libogg zlib freetype curl fribidi bluez libjpeg libpng enet ]; diff --git a/pkgs/games/supertux/default.nix b/pkgs/games/supertux/default.nix index 6cfabc4ee6a..df6901585bb 100644 --- a/pkgs/games/supertux/default.nix +++ b/pkgs/games/supertux/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image , curl -, libogg, libvorbis, libGLU_combined, openal, boost, glew +, libogg, libvorbis, libGLU, libGL, openal, boost, glew , libpng, freetype }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake ]; - buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU_combined openal boost glew + buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU libGL openal boost glew libpng freetype ]; diff --git a/pkgs/games/tdm/default.nix b/pkgs/games/tdm/default.nix index f0a89adab57..fef3350a061 100644 --- a/pkgs/games/tdm/default.nix +++ b/pkgs/games/tdm/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, binutils-unwrapped, scons, gnum4, p7zip, glibc_multi, mesa -, xorg, libGLU_combined, openal +, xorg, libGLU, libGL, openal , lib, makeWrapper, makeDesktopItem }: let @@ -29,7 +29,7 @@ in stdenv.mkDerivation { buildInputs = [ glibc_multi mesa.dev xorg.libX11.dev openal xorg.libXext.dev xorg.libXxf86vm.dev - libGLU_combined + libGL libGLU ]; unpackPhase = '' 7z x $src @@ -86,7 +86,7 @@ EOF ''; postInstall = '' - wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGLU_combined ]} + wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libGLU ]} ''; enableParallelBuilding = true; diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix index 02c55d7d06c..4033835e3f9 100644 --- a/pkgs/games/tibia/default.nix +++ b/pkgs/games/tibia/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU_combined }: +{ stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU, libGL }: with stdenv.lib; stdenv.mkDerivation { @@ -24,7 +24,7 @@ stdenv.mkDerivation { cp -r * $out/res patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \ - --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU_combined ]} \ + --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU libGL ]} \ "$out/res/Tibia" # We've patchelf'd the files. The main ‘Tibia’ binary is a bit diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix index b5ff38b93a1..b778579c9d7 100644 --- a/pkgs/games/trackballs/default.nix +++ b/pkgs/games/trackballs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU_combined }: +{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU, libGL }: with stdenv.lib; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "1yjzz50r57aahy7wcbsmhrd40abzyriq40j49225ya7m9g28vmgl"; }; - buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU_combined ]; + buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU libGL ]; meta = { homepage = https://trackballs.github.io/; diff --git a/pkgs/games/tremulous/default.nix b/pkgs/games/tremulous/default.nix index 802bdb08a87..fc9bc985c00 100644 --- a/pkgs/games/tremulous/default.nix +++ b/pkgs/games/tremulous/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, libGLU_combined, libX11, SDL, openal, runtimeShell }: +{ stdenv, fetchurl, unzip, libGLU, libGL, libX11, SDL, openal, runtimeShell }: stdenv.mkDerivation rec { pname = "tremulous"; version = "1.1.0"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { url = "http://releases.mercenariesguild.net/tremded/mg_tremded_source_1.01.tar.gz"; sha256 = "1njrqlhzjvy9myddzkagszwdcf3m4h08wip888w2rmbshs6kz6ql"; }; - buildInputs = [ unzip libGLU_combined libX11 SDL openal ]; + buildInputs = [ unzip libGLU libGL libX11 SDL openal ]; unpackPhase = '' unzip $src1 cd tremulous diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix index 0050ef19cea..34ae0762bea 100644 --- a/pkgs/games/trigger/default.nix +++ b/pkgs/games/trigger/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, runtimeShell -, SDL2, freealut, SDL2_image, openal, physfs, zlib, libGLU_combined, glew }: +, SDL2, freealut, SDL2_image, openal, physfs, zlib, libGLU, libGL, glew }: stdenv.mkDerivation rec { name = "trigger-rally-0.6.6"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "08qa2f2s8zyn42ff6jb1gsi64d916020ixkzvl16kbb88rabqra8"; }; - buildInputs = [ SDL2 freealut SDL2_image openal physfs zlib libGLU_combined glew ]; + buildInputs = [ SDL2 freealut SDL2_image openal physfs zlib libGLU libGL glew ]; preConfigure = '' sed s,/usr/local,$out, -i bin/*defs diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix index f699a6a05c6..beff8ada96b 100644 --- a/pkgs/games/ufoai/default.nix +++ b/pkgs/games/ufoai/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libtheora, xvidcore, libGLU_combined, SDL, SDL_ttf, SDL_mixer +{ stdenv, fetchurl, libtheora, xvidcore, libGLU, libGL, SDL, SDL_ttf, SDL_mixer , curl, libjpeg, libpng, gettext, cunit, enableEditor?false }: stdenv.mkDerivation rec { @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional enableEditor "--enable-uforadiant"; buildInputs = [ - libtheora xvidcore libGLU_combined SDL SDL_ttf SDL_mixer + libtheora xvidcore libGLU libGL SDL SDL_ttf SDL_mixer curl libjpeg libpng gettext cunit ]; diff --git a/pkgs/games/ultimatestunts/default.nix b/pkgs/games/ultimatestunts/default.nix index a7ad366aa19..df80b3a555f 100644 --- a/pkgs/games/ultimatestunts/default.nix +++ b/pkgs/games/ultimatestunts/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, SDL, libGLU_combined, SDL_image, freealut, openal, libvorbis, +{stdenv, fetchurl, SDL, libGLU, libGL, SDL_image, freealut, openal, libvorbis, pkgconfig}: stdenv.mkDerivation { @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ SDL libGLU_combined SDL_image freealut openal libvorbis ]; + buildInputs = [ SDL libGLU libGL SDL_image freealut openal libvorbis ]; postPatch = '' sed -e '1i#include ' -i $(find . -name '*.c' -o -name '*.cpp') diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix index 8dd8222e55e..1c40d8f5800 100644 --- a/pkgs/games/ultrastardx/default.nix +++ b/pkgs/games/ultrastardx/default.nix @@ -1,13 +1,13 @@ { stdenv, autoreconfHook, fetchFromGitHub, pkgconfig , lua, fpc, pcre, portaudio, freetype, libpng , SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_net, SDL2_ttf -, ffmpeg, sqlite, zlib, libX11, libGLU_combined }: +, ffmpeg, sqlite, zlib, libX11, libGLU, libGL }: let sharedLibs = [ pcre portaudio freetype SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf - sqlite lua zlib libX11 libGLU_combined ffmpeg + sqlite lua zlib libX11 libGLU libGL ffmpeg ]; in stdenv.mkDerivation rec { diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix index 638900c9e89..3944050e983 100644 --- a/pkgs/games/uqm/default.nix +++ b/pkgs/games/uqm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, pkgconfig, libGLU_combined +{ stdenv, lib, fetchurl, pkgconfig, libGLU, libGL , SDL, SDL_image, libpng, libvorbis, libogg, libmikmod , use3DOVideos ? false, requireFile ? null, writeText ? null @@ -51,7 +51,7 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU_combined ]; + buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU libGL ]; postUnpack = '' mkdir -p uqm-${version}/content/packages diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix index 999799de58d..98ef32b0472 100644 --- a/pkgs/games/urbanterror/default.nix +++ b/pkgs/games/urbanterror/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, SDL, libGLU_combined, openal, curl, libXxf86vm }: +{ stdenv, fetchurl, unzip, SDL, libGLU, libGL, openal, curl, libXxf86vm }: stdenv.mkDerivation rec { pname = "urbanterror"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ unzip SDL libGLU_combined openal curl libXxf86vm ]; + buildInputs = [ unzip SDL libGL libGLU openal curl libXxf86vm ]; sourceRoot = "ioq3-for-UrbanTerror-4-release-${version}"; configurePhase = '' @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { postFixup = '' p=$out/opt/urbanterror/Quake3-UrT cur_rpath=$(patchelf --print-rpath $p) - patchelf --set-rpath $cur_rpath:${libGLU_combined}/lib $p + patchelf --set-rpath $cur_rpath:${libGL}/lib:${libGLU}/lib $p ''; hardeningDisable = [ "format" ]; diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix index e018dfd664d..3002216b9d4 100644 --- a/pkgs/games/vdrift/default.nix +++ b/pkgs/games/vdrift/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU_combined, SDL2, SDL2_image +{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU, libGL, SDL2, SDL2_image , libvorbis, bullet, curl, gettext, writeTextFile , data ? fetchsvn { @@ -21,7 +21,7 @@ let }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ scons libGLU_combined SDL2 SDL2_image libvorbis bullet curl gettext ]; + buildInputs = [ scons libGLU libGL SDL2 SDL2_image libvorbis bullet curl gettext ]; patches = [ ./0001-Ignore-missing-data-for-installation.patch ]; diff --git a/pkgs/games/voxelands/default.nix b/pkgs/games/voxelands/default.nix index 9ea9ec7bd12..d8c16c9b7ce 100644 --- a/pkgs/games/voxelands/default.nix +++ b/pkgs/games/voxelands/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, irrlicht, libpng, bzip2, sqlite -, libjpeg, libXxf86vm, libGLU_combined, openal, libvorbis, xlibsWrapper, pkgconfig }: +, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, xlibsWrapper, pkgconfig }: stdenv.mkDerivation rec { pname = "voxelands"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake irrlicht libpng bzip2 libjpeg sqlite - libXxf86vm libGLU_combined openal libvorbis xlibsWrapper pkgconfig + libXxf86vm libGLU libGL openal libvorbis xlibsWrapper pkgconfig ]; meta = with stdenv.lib; { diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix index 7d8380e9f7c..0889e52d8f8 100644 --- a/pkgs/games/worldofgoo/default.nix +++ b/pkgs/games/worldofgoo/default.nix @@ -1,5 +1,5 @@ { stdenv, requireFile -, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, libGLU_combined +, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, libGLU, libGL , runtimeShell , demo ? false }: @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64 libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc ] - + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis libGLU_combined ] + + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis libGLU libGL ] + ":" + stdenv.cc.cc + "/lib64"; installPhase = '' diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix index d9bba3fdbdc..34c9bf1f06d 100644 --- a/pkgs/games/xmoto/default.nix +++ b/pkgs/games/xmoto/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, chipmunk, sqlite, curl, zlib, bzip2, libjpeg -, libpng, freeglut, libGLU_combined, SDL, SDL_mixer, SDL_image, SDL_net +, libpng, freeglut, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_net , SDL_ttf, lua5, ode, libxdg_basedir, libxml2 }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildInputs = [ chipmunk sqlite curl zlib bzip2 libjpeg libpng - freeglut libGLU_combined SDL SDL_mixer SDL_image SDL_net SDL_ttf + freeglut libGLU libGL SDL SDL_mixer SDL_image SDL_net SDL_ttf lua5 ode libxdg_basedir libxml2 ]; diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix index ac7bf7973d7..f4ce3c86a64 100644 --- a/pkgs/games/xonotic/default.nix +++ b/pkgs/games/xonotic/default.nix @@ -2,7 +2,7 @@ , # required for both unzip, libjpeg, zlib, libvorbis, curl , # glx - libX11, libGLU_combined, libXpm, libXext, libXxf86vm, alsaLib + libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, alsaLib , # sdl SDL2 }: @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { # required for both unzip libjpeg # glx - libX11 libGLU_combined libXpm libXext libXxf86vm alsaLib + libX11 libGLU libGL libXpm libXext libXxf86vm alsaLib # sdl SDL2 zlib libvorbis curl diff --git a/pkgs/games/xpilot/bloodspilot-client.nix b/pkgs/games/xpilot/bloodspilot-client.nix index aefc8ad9876..257b0010245 100644 --- a/pkgs/games/xpilot/bloodspilot-client.nix +++ b/pkgs/games/xpilot/bloodspilot-client.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libX11, SDL, libGLU_combined, expat, zlib, SDL_ttf, SDL_image }: +{ stdenv, fetchurl, libX11, SDL, libGLU, libGL, expat, zlib, SDL_ttf, SDL_image }: stdenv.mkDerivation rec { version = "1.5.0"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libX11 SDL SDL_ttf SDL_image libGLU_combined expat zlib + libX11 SDL SDL_ttf SDL_image libGLU libGL expat zlib ]; NIX_LDFLAGS = [ "-lX11" ]; diff --git a/pkgs/games/xpilot/default.nix b/pkgs/games/xpilot/default.nix index d0fe9f61896..7d83dece333 100644 --- a/pkgs/games/xpilot/default.nix +++ b/pkgs/games/xpilot/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libX11, libSM, SDL, libGLU_combined, expat, SDL_ttf +{ stdenv, fetchurl, libX11, libSM, SDL, libGLU, libGL, expat, SDL_ttf , SDL_image, zlib, libXxf86misc }: stdenv.mkDerivation rec { pname = "xpilot-ng"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "02a7pnp88kh88fzda5q8mzlckk6y9r5fw47j00h26wbsfly0k1zj"; }; buildInputs = [ - libX11 libSM SDL SDL_ttf SDL_image libGLU_combined expat zlib libXxf86misc + libX11 libSM SDL SDL_ttf SDL_image libGLU libGL expat zlib libXxf86misc ]; meta = with stdenv.lib; { description = "A multiplayer X11 space combat game"; diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix index 228da687094..38dc54ea9d7 100644 --- a/pkgs/misc/emulators/atari800/default.nix +++ b/pkgs/misc/emulators/atari800/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl -, unzip, zlib, SDL, readline, libGLU_combined, libX11 }: +, unzip, zlib, SDL, readline, libGLU, libGL, libX11 }: with stdenv.lib; stdenv.mkDerivation rec{ @@ -11,7 +11,7 @@ stdenv.mkDerivation rec{ sha256 = "1dcynsf8i52y7zyg62bkbhl3rdd22ss95zs2s9jm4y5jvn4vks88"; }; - buildInputs = [ unzip zlib SDL readline libGLU_combined libX11 ]; + buildInputs = [ unzip zlib SDL readline libGLU libGL libX11 ]; configureFlags = [ "--target=default" diff --git a/pkgs/misc/emulators/attract-mode/default.nix b/pkgs/misc/emulators/attract-mode/default.nix index a725d9c9b08..7e6694b28d9 100644 --- a/pkgs/misc/emulators/attract-mode/default.nix +++ b/pkgs/misc/emulators/attract-mode/default.nix @@ -1,5 +1,5 @@ { expat, fetchFromGitHub, ffmpeg, fontconfig, freetype, libarchive, libjpeg -, libGLU_combined, openal, pkgconfig, sfml, stdenv, zlib +, libGLU, libGL, openal, pkgconfig, sfml, stdenv, zlib }: stdenv.mkDerivation rec { @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ''; buildInputs = [ - expat ffmpeg fontconfig freetype libarchive libjpeg libGLU_combined openal sfml zlib + expat ffmpeg fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib ]; meta = with stdenv.lib; { diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix index 303c2f82d9e..cc49ef2aa1d 100644 --- a/pkgs/misc/emulators/dolphin-emu/default.nix +++ b/pkgs/misc/emulators/dolphin-emu/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchpatch, pkgconfig, cmake, bluez, ffmpeg, libao, gtk2, glib -, libGLU_combined , gettext, libpthreadstubs, libXrandr, libXext, readline +, libGLU, libGL , gettext, libpthreadstubs, libXrandr, libXext, readline , openal , libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev , wxGTK30, soundtouch, miniupnpc, mbedtls, curl, lzo, sfml , libpulseaudio ? null }: @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cmake bluez ffmpeg libao libGLU_combined gtk2 glib + buildInputs = [ cmake bluez ffmpeg libao libGLU libGL gtk2 glib gettext libpthreadstubs libXrandr libXext readline openal libevdev libXdmcp portaudio libusb libpulseaudio libevdev libXdmcp portaudio libusb libpulseaudio diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix index 9e03780daa3..cec88918282 100644 --- a/pkgs/misc/emulators/dolphin-emu/master.nix +++ b/pkgs/misc/emulators/dolphin-emu/master.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, makeDesktopItem, pkgconfig, cmake -, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU_combined, pcre, gettext +, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext , libXrandr, libusb, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsaLib , miniupnpc, enet, mbedtls, soundtouch, sfml @@ -35,7 +35,7 @@ in stdenv.mkDerivation rec { ++ lib.optional stdenv.isLinux wrapQtAppsHook; buildInputs = [ - curl ffmpeg libao libGLU_combined pcre gettext libpthreadstubs libpulseaudio + curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo portaudio libusb libpng hidapi miniupnpc enet mbedtls soundtouch sfml qtbase diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix index e7250491608..5b770a6471a 100644 --- a/pkgs/misc/emulators/dosbox/default.nix +++ b/pkgs/misc/emulators/dosbox/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU_combined, libpng, graphicsmagick }: +{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU, libGL, libpng, graphicsmagick }: stdenv.mkDerivation rec { name = "dosbox-0.74-3"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - buildInputs = [ SDL SDL_net SDL_sound libGLU_combined libpng ]; + buildInputs = [ SDL SDL_net SDL_sound libGLU libGL libpng ]; nativeBuildInputs = [ graphicsmagick ]; diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix index d8f5f1cbdb0..668d1804544 100644 --- a/pkgs/misc/emulators/emulationstation/default.nix +++ b/pkgs/misc/emulators/emulationstation/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen -, freeimage, freetype, libGLU_combined, SDL2, alsaLib, libarchive }: +, freeimage, freetype, libGLU, libGL, SDL2, alsaLib, libarchive }: stdenv.mkDerivation { pname = "emulationstation"; @@ -13,7 +13,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU_combined SDL2 ]; + buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU libGL SDL2 ]; buildPhase = "cmake . && make"; installPhase = '' diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/misc/emulators/epsxe/default.nix index 1cfa0db790f..81202008db1 100644 --- a/pkgs/misc/emulators/epsxe/default.nix +++ b/pkgs/misc/emulators/epsxe/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU_combined, +{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU, libGL, libX11, openssl_1_0_2, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook, autoPatchelfHook }: with stdenv.lib; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { glib gtk3 libX11 - libGLU_combined + libGLU libGL openssl_1_0_2 ncurses5 SDL diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/misc/emulators/fakenes/default.nix index eb7964cc017..704cef52e5e 100644 --- a/pkgs/misc/emulators/fakenes/default.nix +++ b/pkgs/misc/emulators/fakenes/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, allegro, openal, libGLU_combined, zlib, hawknl, freeglut, libX11, +{stdenv, fetchurl, allegro, openal, libGLU, libGL, zlib, hawknl, freeglut, libX11, libXxf86vm, libXcursor, libXpm }: stdenv.mkDerivation { @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "026h67s4pzc1vma59pmzk02iy379255qbai2q74wln9bxqcpniy4"; }; - buildInputs = [ allegro openal libGLU_combined zlib hawknl freeglut libX11 + buildInputs = [ allegro openal libGLU libGL zlib hawknl freeglut libX11 libXxf86vm libXcursor libXpm ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/misc/emulators/fs-uae/default.nix index 95a95bb17b1..6c037eb9f22 100644 --- a/pkgs/misc/emulators/fs-uae/default.nix +++ b/pkgs/misc/emulators/fs-uae/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig -, gettext, gtk2, SDL2, zlib, glib, openal, libGLU_combined, lua, freetype, libmpeg2, zip }: +, gettext, gtk2, SDL2, zlib, glib, openal, libGLU, libGL, lua, freetype, libmpeg2, zip }: with stdenv.lib; stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU_combined lua freetype libmpeg2 zip ]; + buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU libGL lua freetype libmpeg2 zip ]; meta = { description = "An accurate, customizable Amiga Emulator"; diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/misc/emulators/gens-gs/default.nix index da53b4f8c55..4120ec7ba6a 100644 --- a/pkgs/misc/emulators/gens-gs/default.nix +++ b/pkgs/misc/emulators/gens-gs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU_combined }: +{ stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU, libGL }: stdenv.mkDerivation { name = "gens-gs-7"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk2 SDL nasm zlib libpng libGLU_combined ]; + buildInputs = [ gtk2 SDL nasm zlib libpng libGLU libGL ]; # Work around build failures on recent GTK. # See http://ubuntuforums.org/showthread.php?p=10535837 diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix index ad96ca36bc1..c1e64d26b47 100644 --- a/pkgs/misc/emulators/higan/default.nix +++ b/pkgs/misc/emulators/higan/default.nix @@ -2,7 +2,7 @@ , p7zip, pkgconfig , libX11, libXv , udev -, libGLU_combined, SDL +, libGLU, libGL, SDL , libao, openal, libpulseaudio , gtk2, gtksourceview , runtimeShell }: @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { postPatch = "sed '1i#include ' -i higan/fc/ppu/ppu.cpp"; buildInputs = - [ p7zip pkgconfig libX11 libXv udev libGLU_combined + [ p7zip pkgconfig libX11 libXv udev libGLU libGL SDL libao openal libpulseaudio gtk2 gtksourceview ]; unpackPhase = '' diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix index 74c456cfb10..337d19804fc 100644 --- a/pkgs/misc/emulators/mednafen/default.nix +++ b/pkgs/misc/emulators/mednafen/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, freeglut, libGLU_combined, libcdio, libjack2 +{ stdenv, fetchurl, pkgconfig, freeglut, libGLU, libGL, libcdio, libjack2 , libsamplerate, libsndfile, libX11, SDL, SDL_net, zlib }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ freeglut - libGLU_combined + libGLU libGL libcdio libjack2 libsamplerate diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/misc/emulators/nestopia/default.nix index 4f02d0f147d..20c7c39312a 100644 --- a/pkgs/misc/emulators/nestopia/default.nix +++ b/pkgs/misc/emulators/nestopia/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, pkgconfig, SDL2, alsaLib, gtk3 -, makeWrapper, libGLU_combined, libarchive, libao, unzip, xdg_utils +, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg_utils , epoxy, gdk-pixbuf, gnome3, wrapGAppsHook }: @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { epoxy gtk3 gdk-pixbuf - libGLU_combined + libGLU libGL libarchive libao unzip diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix index 3b55c44d173..350f4a39381 100644 --- a/pkgs/misc/emulators/retroarch/default.nix +++ b/pkgs/misc/emulators/retroarch/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, which, pkgconfig, makeWrapper -, ffmpeg, libGLU_combined, freetype, libxml2, python3 +, ffmpeg, libGLU, libGL, freetype, libxml2, python3 , libobjc, AppKit, Foundation , alsaLib ? null , libpulseaudio ? null @@ -39,7 +39,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ] ++ optional withVulkan [ makeWrapper ]; - buildInputs = [ ffmpeg freetype libxml2 libGLU_combined python3 SDL2 which ] + buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ++ optional enableNvidiaCgToolkit nvidia_cg_toolkit ++ optional withVulkan [ vulkan-loader ] ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ] diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/misc/emulators/vbam/default.nix index daa6814a411..e44b45dbb4b 100644 --- a/pkgs/misc/emulators/vbam/default.nix +++ b/pkgs/misc/emulators/vbam/default.nix @@ -4,7 +4,7 @@ , fetchFromGitHub , ffmpeg , gettext -, libGLU_combined +, libGLU, libGL , openal , pkgconfig , SDL2 @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { cairo ffmpeg gettext - libGLU_combined + libGLU libGL openal SDL2 sfml diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/misc/emulators/vice/default.nix index 7cf4faf55cd..cb083c0aa0d 100644 --- a/pkgs/misc/emulators/vice/default.nix +++ b/pkgs/misc/emulators/vice/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bison, flex, perl, libpng, giflib, libjpeg, alsaLib, readline, libGLU_combined, libXaw +{ stdenv, fetchurl, bison, flex, perl, libpng, giflib, libjpeg, alsaLib, readline, libGLU, libGL, libXaw , pkgconfig, gtk2, SDL, autoreconfHook, makeDesktopItem }: @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "0h0jbml02s2a36hr78dxv1zshmfhxp1wadpcdl09aq416fb1bf1y"; }; - buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU_combined + buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU libGL pkgconfig gtk2 SDL autoreconfHook libXaw ]; dontDisableStatic = true; configureFlags = [ "--enable-fullscreen --enable-gnomeui" ]; diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index 8252c96282d..057615a79a1 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) { ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ] ++ lib.optionals xmlSupport [ pkgs.libxml2 pkgs.libxslt ] ++ lib.optionals tlsSupport [ pkgs.openssl pkgs.gnutls ] - ++ lib.optionals openglSupport [ pkgs.libGLU_combined pkgs.mesa.osmesa pkgs.libdrm ] + ++ lib.optionals openglSupport [ pkgs.libGLU pkgs.libGL pkgs.mesa.osmesa pkgs.libdrm ] ++ lib.optionals stdenv.isDarwin (with pkgs.buildPackages.darwin.apple_sdk.frameworks; [ CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration Security ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenAL OpenCL Cocoa Carbon diff --git a/pkgs/misc/emulators/wxmupen64plus/default.nix b/pkgs/misc/emulators/wxmupen64plus/default.nix index 1199f987bb6..2416ddd65b7 100644 --- a/pkgs/misc/emulators/wxmupen64plus/default.nix +++ b/pkgs/misc/emulators/wxmupen64plus/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU_combined +{ stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU, libGL , wafHook }: stdenv.mkDerivation { @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ wafHook ]; - buildInputs = [ python wxGTK29 SDL libX11 libGLU_combined ]; + buildInputs = [ python wxGTK29 SDL libX11 libGLU libGL ]; preConfigure = '' tar xf ${mupen64plus.src} diff --git a/pkgs/misc/emulators/yabause/default.nix b/pkgs/misc/emulators/yabause/default.nix index ed8652d08f1..abceb752b2f 100644 --- a/pkgs/misc/emulators/yabause/default.nix +++ b/pkgs/misc/emulators/yabause/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qt5, libGLU_combined +{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qt5, libGLU, libGL , freeglut ? null, openal ? null, SDL2 ? null }: stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ qtbase qt5.qtmultimedia libGLU_combined freeglut openal SDL2 ]; + buildInputs = [ qtbase qt5.qtmultimedia libGLU libGL freeglut openal SDL2 ]; patches = [ ./linkage-rwx-linux-elf.patch diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix index 1ea8d7e68d3..55fe49895c9 100644 --- a/pkgs/misc/emulators/zsnes/default.nix +++ b/pkgs/misc/emulators/zsnes/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU_combined +{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU, libGL , makeDesktopItem }: let @@ -22,7 +22,7 @@ in stdenv.mkDerivation { sha256 = "1gy79d5wdaacph0cc1amw7mqm7i0716n6mvav16p1svi26iz193v"; }; - buildInputs = [ nasm SDL zlib libpng ncurses libGLU_combined ]; + buildInputs = [ nasm SDL zlib libpng ncurses libGLU libGL ]; prePatch = '' for i in $(cat debian/patches/series); do diff --git a/pkgs/misc/gnash/default.nix b/pkgs/misc/gnash/default.nix index e866a1937d6..287000bf4e3 100644 --- a/pkgs/misc/gnash/default.nix +++ b/pkgs/misc/gnash/default.nix @@ -6,7 +6,9 @@ # renderers , enableAGG ? true, agg ? null , enableCairo ? false, cairo ? null -, enableOpenGL ? false, libGLU_combined ? null +, enableOpenGL ? false +, libGLU ? null +, libGL ? null # GUI toolkits , enableGTK ? true, gtk2 ? null, gnome2 ? null @@ -45,7 +47,7 @@ in # renderers assert enableAGG -> available agg; assert enableCairo -> available cairo; -assert enableOpenGL -> available libGLU_combined; +assert enableOpenGL -> all available [ libGLU libGL ]; # GUI toolkits assert enableGTK -> all available [ gtk2 gnome2.gtkglext gnome2.GConf ]; @@ -57,7 +59,7 @@ assert enableFFmpeg -> available ffmpeg_2 ; # misc assert enableJemalloc -> available jemalloc; -assert enableHwAccel -> available libGLU_combined; +assert enableHwAccel -> all available [ libGLU libGL ]; assert enablePlugins -> all available [ xulrunner npapi_sdk ]; assert length toolkits == 0 -> throw "at least one GUI toolkit must be enabled"; @@ -85,11 +87,11 @@ stdenv.mkDerivation { libpng libjpeg giflib pango atk ] ++ optional enableAGG agg ++ optional enableCairo cairo - ++ optional enableOpenGL libGLU_combined ++ optional enableQt qt4 ++ optional enableFFmpeg ffmpeg_2 ++ optional enableJemalloc jemalloc - ++ optional enableHwAccel libGLU_combined + ++ optional enableHwAccel [ libGL libGLU ] + ++ optionals enableOpenGL [ libGL libGLU ] ++ optionals enablePlugins [ xulrunner npapi_sdk ] ++ optionals enableGTK [ gtk2 gnome2.gtkglext gnome2.GConf ]; diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix index b1c2ec5c3bd..b36f8bf98de 100644 --- a/pkgs/misc/screensavers/electricsheep/default.nix +++ b/pkgs/misc/screensavers/electricsheep/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, libav, lua5_1, curl -, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, libGLU_combined +, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, libGLU, libGL , glee }: stdenv.mkDerivation rec { @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ wxGTK30 libav lua5_1 curl libpng xorg.libXrender - flam3 libgtop boost tinyxml freeglut libGLU_combined glee + flam3 libgtop boost tinyxml freeglut libGLU libGL glee ]; preAutoreconf = '' diff --git a/pkgs/misc/screensavers/rss-glx/default.nix b/pkgs/misc/screensavers/rss-glx/default.nix index 7f6d99297ab..467f762de86 100644 --- a/pkgs/misc/screensavers/rss-glx/default.nix +++ b/pkgs/misc/screensavers/rss-glx/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, pkgconfig, xlibsWrapper, libXext, libGLU_combined, imagemagick, libtiff, bzip2}: +{stdenv, fetchurl, pkgconfig, xlibsWrapper, libXext, libGLU, libGL, imagemagick, libtiff, bzip2}: stdenv.mkDerivation rec { version = "0.9.1"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libGLU_combined xlibsWrapper imagemagick libtiff bzip2 ]; + buildInputs = [ libGLU libGL xlibsWrapper imagemagick libtiff bzip2 ]; NIX_CFLAGS_COMPILE = "-I${imagemagick.dev}/include/ImageMagick"; NIX_LDFLAGS= "-rpath ${libXext}/lib"; diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix index 39706bb96ed..1937874a49c 100644 --- a/pkgs/misc/screensavers/xscreensaver/default.nix +++ b/pkgs/misc/screensavers/xscreensaver/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, bc, perl, perlPackages, pam, libXext, libXScrnSaver, libX11 -, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU_combined, gtk2 +, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU, libGL, gtk2 , libxml2, libglade, intltool, xorg, makeWrapper, gle , forceInstallAllHacks ? false }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ pkgconfig bc perl libjpeg libGLU_combined gtk2 libxml2 libglade pam + [ pkgconfig bc perl libjpeg libGLU libGL gtk2 libxml2 libglade pam libXext libXScrnSaver libX11 libXrandr libXmu libXxf86vm libXrender libXxf86misc intltool xorg.appres makeWrapper gle ]; diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh index f6ad8e2c03b..c848365f599 100644 --- a/pkgs/os-specific/linux/ati-drivers/builder.sh +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -246,9 +246,9 @@ if test -z "$libsOnly"; then ( # build and install fgl_glxgears cd fgl_glxgears; gcc -DGL_ARB_texture_multisample=1 -g \ - -I$libGLU_combined/include \ + -I$libGLU libGL/include \ -I$out/include \ - -L$libGLU_combined/lib -lGL -lGLU -lX11 -lm \ + -L$libGLU libGL/lib -lGL -lGLU -lX11 -lm \ -o $out/bin/fgl_glxgears -Wall fgl_glxgears.c ) diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index b79054d4406..a391f73391f 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, kernel ? null, which , xorg, makeWrapper, glibc, patchelf, unzip -, fontconfig, freetype, libGLU_combined # for fgl_glxgears +, fontconfig, freetype, libGLU, libGL # for fgl_glxgears , # Whether to build the libraries only (i.e. not the kernel module or # driver utils). Used to support 32-bit binaries on 64-bit # Linux. @@ -90,7 +90,7 @@ stdenv.mkDerivation rec { xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE patchelf unzip - libGLU_combined + libGLU libGL fontconfig freetype makeWrapper @@ -108,7 +108,7 @@ stdenv.mkDerivation rec { LD_LIBRARY_PATH = makeLibraryPath [ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE - libGLU_combined + libGLU libGL fontconfig freetype stdenv.cc.cc @@ -122,7 +122,7 @@ stdenv.mkDerivation rec { xorg.libX11.out xorg.libXinerama.out xorg.libSM.out xorg.libICE.out ]; - inherit libGLU_combined; # only required to build the examples + inherit libGLU libGL; # only required to build the examples enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix index 0fff816eac7..fd16acaa3a9 100644 --- a/pkgs/os-specific/linux/kmscon/default.nix +++ b/pkgs/os-specific/linux/kmscon/default.nix @@ -4,7 +4,7 @@ , systemd , libxkbcommon , libdrm -, libGLU_combined +, libGLU, libGL , pango , pixman , pkgconfig @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { systemd libxkbcommon libdrm - libGLU_combined + libGLU libGL pango pixman pkgconfig diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix index 79c90575653..8c46e8154c1 100644 --- a/pkgs/tools/graphics/enblend-enfuse/default.nix +++ b/pkgs/tools/graphics/enblend-enfuse/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl -, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU_combined, vigra +, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU, libGL, vigra , help2man, pkgconfig, perl, texlive }: stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"; }; - buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU_combined vigra ]; + buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU libGL vigra ]; nativeBuildInputs = [ help2man perl pkgconfig texlive.combined.scheme-small ]; diff --git a/pkgs/tools/graphics/glee/default.nix b/pkgs/tools/graphics/glee/default.nix index ae6291811a4..a68e64c0894 100644 --- a/pkgs/tools/graphics/glee/default.nix +++ b/pkgs/tools/graphics/glee/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchgit, cmake, libGLU_combined, xorg }: +{stdenv, fetchgit, cmake, libGLU, libGL, xorg }: stdenv.mkDerivation rec { pname = "glee"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; - buildInputs = [ libGLU_combined xorg.libX11 ]; + buildInputs = [ libGLU libGL xorg.libX11 ]; configureScript = '' cmake diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix index 1f1da8df3f2..aed8b0573ba 100644 --- a/pkgs/tools/graphics/logstalgia/default.nix +++ b/pkgs/tools/graphics/logstalgia/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, SDL2, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL2_image, glew -, libGLU_combined, boost, glm, freetype }: +, libGLU, libGL, boost, glm, freetype }: stdenv.mkDerivation rec { pname = "logstalgia"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU_combined boost + buildInputs = [ glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU libGL boost glm freetype ]; meta = with stdenv.lib; { diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix index 068aea54595..6dafbfe2f9f 100644 --- a/pkgs/tools/graphics/pfstools/default.nix +++ b/pkgs/tools/graphics/pfstools/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, pkgconfig, darwin -, openexr, zlib, imagemagick, libGLU_combined, freeglut, fftwFloat +, openexr, zlib, imagemagick, libGLU, libGL, freeglut, fftwFloat , fftw, gsl, libexif, perl, opencv, qt5, netpbm }: @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [ OpenGL GLUT ]) else [ - libGLU_combined freeglut + libGLU libGL freeglut ]); patches = [ ./threads.patch ./pfstools.patch ./pfsalign.patch ]; diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix index ff14a13da04..c915e812891 100644 --- a/pkgs/tools/inputmethods/touchegg/default.nix +++ b/pkgs/tools/inputmethods/touchegg/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xorg, xorgserver, qt4, libGLU_combined, geis, qmake4Hook }: +{ stdenv, fetchurl, xorg, xorgserver, qt4, libGLU, libGL, geis, qmake4Hook }: stdenv.mkDerivation rec { pname = "touchegg"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038"; }; - buildInputs = [ xorgserver libGLU_combined xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ]; + buildInputs = [ xorgserver libGLU libGL xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ]; nativeBuildInputs = [ qmake4Hook ]; diff --git a/pkgs/tools/misc/kisslicer/default.nix b/pkgs/tools/misc/kisslicer/default.nix index 3667b483383..5e5a7174a14 100644 --- a/pkgs/tools/misc/kisslicer/default.nix +++ b/pkgs/tools/misc/kisslicer/default.nix @@ -1,6 +1,6 @@ { fetchzip , libX11 -, libGLU_combined +, libGLU, libGL , makeWrapper , stdenv }: @@ -8,7 +8,7 @@ let libPath = stdenv.lib.makeLibraryPath [ - libGLU_combined + libGLU libGL stdenv.cc.cc libX11 ]; @@ -30,7 +30,7 @@ stdenv.mkDerivation { buildInputs = [ makeWrapper - libGLU_combined + libGLU libGL libX11 ]; diff --git a/pkgs/tools/misc/ocz-ssd-guru/default.nix b/pkgs/tools/misc/ocz-ssd-guru/default.nix index 4317c46190d..d54302b31d1 100644 --- a/pkgs/tools/misc/ocz-ssd-guru/default.nix +++ b/pkgs/tools/misc/ocz-ssd-guru/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU_combined, glibc, makeWrapper }: +{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU, libGL, glibc, makeWrapper }: let system = if stdenv.hostPlatform.system == "x86_64-linux" then "linux64" else "linux32"; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { xorg.libXrender stdenv.cc.cc glibc - libGLU_combined + libGLU libGL ]; installPhase = '' diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix index 5bd1e347082..20b45360f01 100644 --- a/pkgs/tools/misc/pipelight/default.nix +++ b/pkgs/tools/misc/pipelight/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU_combined, wine-staging }: +{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU, libGL, wine-staging }: let wine_custom = wine-staging; @@ -17,7 +17,7 @@ in stdenv.mkDerivation rec { sha256 = "1kyy6knkr42k34rs661r0f5sf6l1s2jdbphdg89n73ynijqmzjhk"; }; - buildInputs = [ wine_custom libX11 libGLU_combined curl ]; + buildInputs = [ wine_custom libX11 libGLU libGL curl ]; propagatedbuildInputs = [ curl cabextract ]; diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix index 65031c2a1fe..335a687dbc2 100644 --- a/pkgs/tools/misc/slop/default.nix +++ b/pkgs/tools/misc/slop/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig -, glew, glm, libGLU_combined, libX11, libXext, libXrender, icu +, glew, glm, libGLU, libGL, libX11, libXext, libXrender, icu , cppcheck }: @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ glew glm libGLU_combined libX11 libXext libXrender icu ] + buildInputs = [ glew glm libGLU libGL libX11 libXext libXrender icu ] ++ stdenv.lib.optional doCheck cppcheck; doCheck = false; diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix index 3cb5c1163e5..6e61f054122 100644 --- a/pkgs/tools/security/enpass/default.nix +++ b/pkgs/tools/security/enpass/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, dpkg, xorg -, glib, libGLU_combined, libpulseaudio, zlib, dbus, fontconfig, freetype +, glib, libGLU, libGL, libpulseaudio, zlib, dbus, fontconfig, freetype , gtk3, pango , makeWrapper , python2Packages, lib , lsof, curl, libuuid, cups, mesa @@ -19,7 +19,7 @@ let # used of both wrappers and libpath libPath = lib.makeLibraryPath (with xorg; [ mesa.drivers - libGLU_combined + libGLU libGL fontconfig freetype libpulseaudio diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d04fcbb8978..be48819fe15 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13035,16 +13035,6 @@ in # Default libGLU libGLU = mesa_glu; - # Combined derivation, contains both libGL and libGLU - # Please, avoid using this attribute. It was meant as transitional hack - # for packages that assume that libGLU and libGL live in the same prefix. - # libGLU_combined propagates both libGL and libGLU - libGLU_combined = buildEnv { - name = "libGLU-combined"; - paths = [ libGL libGLU ]; - extraOutputsToInstall = [ "dev" ]; - }; - mesa = callPackage ../development/libraries/mesa { llvmPackages = llvmPackages_9; inherit (darwin.apple_sdk.frameworks) OpenGL; @@ -22496,12 +22486,12 @@ in construoBase = lowPrio (callPackage ../games/construo { libGL = null; + libGLU = null; freeglut = null; }); construo = construoBase.override { - inherit freeglut; - libGL = libGLU_combined; + inherit libGL libGLU freeglut; }; crack_attack = callPackage ../games/crack-attack { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 468ebd0b003..51e5a23ae08 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -13689,8 +13689,8 @@ let sha256 = "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj"; }; - # FIXME: try with libGL + libGLU instead of libGLU_combined - buildInputs = [ pkgs.libGLU_combined pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ]; + # FIXME: try with libGL + libGLU instead of libGLU libGL + buildInputs = [ pkgs.libGLU pkgs.libGL pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ]; patches = [ ../development/perl-modules/perl-opengl.patch ]; From dcfc821c6c4294db933dfee0b7de25d856ff49c2 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Mon, 11 Nov 2019 23:30:24 +0000 Subject: [PATCH 2/5] treewide: Stop using Qt 5.9 --- pkgs/applications/misc/merkaartor/default.nix | 5 +++-- .../version-management/bcompare/default.nix | 2 +- .../ruby-modules/gem-config/default.nix | 7 +------ pkgs/tools/graphics/nifskope/default.nix | 7 ++++++- pkgs/top-level/all-packages.nix | 17 +++++++---------- 5 files changed, 18 insertions(+), 20 deletions(-) diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix index 3023a5b5930..149546e46d2 100644 --- a/pkgs/applications/misc/merkaartor/default.nix +++ b/pkgs/applications/misc/merkaartor/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, makeWrapper, qmake, pkgconfig, boost, gdal, proj -, qtbase, qtsvg, qtwebkit }: +, qtbase, qtsvg, qtwebview, qtwebkit }: stdenv.mkDerivation rec { pname = "merkaartor"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper qmake pkgconfig ]; - buildInputs = [ boost gdal proj qtbase qtsvg qtwebkit ]; + buildInputs = [ boost gdal proj qtbase qtsvg qtwebview qtwebkit ]; enableParallelBuilding = true; @@ -30,5 +30,6 @@ stdenv.mkDerivation rec { homepage = http://merkaartor.be/; license = licenses.gpl2Plus; maintainers = with maintainers; [ ]; + broken = true; # Does not build with qt >= 5.12 }; } diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix index 8f862af0a28..d8a6ec05844 100644 --- a/pkgs/applications/version-management/bcompare/default.nix +++ b/pkgs/applications/version-management/bcompare/default.nix @@ -1,4 +1,4 @@ -{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qt511, qtbase, stdenv, runtimeShell }: +{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qtbase, stdenv, runtimeShell }: stdenv.mkDerivation rec { pname = "bcompare"; diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index d8c3d484f43..18e24d5a31e 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -21,7 +21,7 @@ , libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick , pkgconfig , ncurses, xapian, gpgme, utillinux, tzdata, icu, libffi , cmake, libssh2, openssl, libmysqlclient, darwin, git, perl, pcre, gecode_3, curl -, msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem +, msgpack, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem , cairo, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk @@ -70,11 +70,6 @@ in buildInputs = [ cairo pcre xorg.libpthreadstubs xorg.libXdmcp ]; }; - capybara-webkit = attrs: { - buildInputs = [ qt59.qtbase qt59.qtwebkit ] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]; - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1"; - }; - charlock_holmes = attrs: { buildInputs = [ which icu zlib ]; }; diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix index 0e545fbfab9..90716d04a75 100644 --- a/pkgs/tools/graphics/nifskope/default.nix +++ b/pkgs/tools/graphics/nifskope/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook }: +{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook, fetchpatch }: stdenv.mkDerivation { pname = "nifskope"; @@ -18,6 +18,11 @@ stdenv.mkDerivation { src = ./qttools-bins.patch; qttools = "${qttools.dev}/bin"; }) + (fetchpatch { + name = "qt512-build-fix.patch"; + url = "https://github.com/niftools/nifskope/commit/30954e7f01f3d779a2a1fd37d363e8a6ad560bd3.patch"; + sha256 = "0d6xjj2mjjhdd7w1aig5f75jksjni16jyj0lxsz51pys6xqb6fpj"; + }) ]; buildInputs = [ qtbase qttools libGLU.dev ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index be48819fe15..8a03c1ee550 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5213,7 +5213,7 @@ in niff = callPackage ../tools/package-management/niff { }; - nifskope = libsForQt59.callPackage ../tools/graphics/nifskope { }; + nifskope = libsForQt5.callPackage ../tools/graphics/nifskope { }; nilfs-utils = callPackage ../tools/filesystems/nilfs-utils {}; @@ -9853,7 +9853,7 @@ in funnelweb = callPackage ../development/tools/literate-programming/funnelweb { }; - gede = libsForQt59.callPackage ../development/tools/misc/gede { }; + gede = libsForQt5.callPackage ../development/tools/misc/gede { }; gdbgui = python3Packages.callPackage ../development/tools/misc/gdbgui { }; @@ -13482,10 +13482,7 @@ in python-qt = callPackage ../development/libraries/python-qt { python = python27; - qmake = qt59.qmake; - qttools = qt59.qttools; - qtwebengine = qt59.qtwebengine; - qtxmlpatterns = qt59.qtxmlpatterns; + inherit (qt5) qmake qttools qtwebengine qtxmlpatterns; }; pyotherside = libsForQt5.callPackage ../development/libraries/pyotherside {}; @@ -18164,7 +18161,7 @@ in pygments = python27Packages.pygments; }; - csound-qt = libsForQt59.callPackage ../applications/audio/csound/csound-qt { + csound-qt = libsForQt5.callPackage ../applications/audio/csound/csound-qt { python = python27; }; @@ -19853,7 +19850,7 @@ in mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; }); - merkaartor = libsForQt59.callPackage ../applications/misc/merkaartor { + merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { gdal = gdal_2; # https://github.com/openstreetmap/merkaartor/issues/179 }; @@ -20562,7 +20559,7 @@ in gtksharp = gtk-sharp-2_0; }; - plex-media-player = libsForQt59.callPackage ../applications/video/plex-media-player { }; + plex-media-player = libsForQt5.callPackage ../applications/video/plex-media-player { }; plover = recurseIntoAttrs (libsForQt5.callPackage ../applications/misc/plover { }); @@ -22462,7 +22459,7 @@ in chessdb = callPackage ../games/chessdb { }; - chessx = libsForQt59.callPackage ../games/chessx { }; + chessx = libsForQt5.callPackage ../games/chessx { }; chiaki = libsForQt5.callPackage ../games/chiaki { }; From f70c47a9017495301afa09e6a72fa8a7df648f1c Mon Sep 17 00:00:00 2001 From: adisbladis Date: Mon, 11 Nov 2019 23:33:56 +0000 Subject: [PATCH 3/5] qt59: Remove package sets Nothing depends on Qt 5.9 any more --- .../libraries/qt-5/5.9/default.nix | 179 - pkgs/development/libraries/qt-5/5.9/fetch.sh | 1 - .../qt-5/5.9/qtbase-fixguicmake.patch | 30 - .../qt-5/5.9/qtbase-openssl_1_1.patch | 3985 ----------------- .../libraries/qt-5/5.9/qtbase.patch | 1119 ----- .../libraries/qt-5/5.9/qtdeclarative.patch | 33 - .../libraries/qt-5/5.9/qtscript.patch | 13 - .../libraries/qt-5/5.9/qtserialport.patch | 22 - .../libraries/qt-5/5.9/qttools.patch | 71 - .../qt-5/5.9/qtwebengine-clang-fix.patch | 38 - ...qtwebengine-darwin-no-platform-check.patch | 50 - .../qt-5/5.9/qtwebengine-no-build-skip.patch | 12 - .../libraries/qt-5/5.9/qtwebkit.patch | 64 - pkgs/development/libraries/qt-5/5.9/srcs.nix | 333 -- pkgs/top-level/all-packages.nix | 16 - 15 files changed, 5966 deletions(-) delete mode 100644 pkgs/development/libraries/qt-5/5.9/default.nix delete mode 100644 pkgs/development/libraries/qt-5/5.9/fetch.sh delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtbase.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtscript.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtserialport.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qttools.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/qtwebkit.patch delete mode 100644 pkgs/development/libraries/qt-5/5.9/srcs.nix diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix deleted file mode 100644 index 8854ed54700..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/default.nix +++ /dev/null @@ -1,179 +0,0 @@ -/* - -# Updates - -Before a major version update, make a copy of this directory. (We like to -keep the old version around for a short time after major updates.) Add a -top-level attribute to `top-level/all-packages.nix`. - -1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`. -2. From the top of the Nixpkgs tree, run - `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`. -3. Check that the new packages build correctly. -4. Commit the changes and open a pull request. - -*/ - -{ - newScope, - stdenv, fetchurl, fetchpatch, makeSetupHook, makeWrapper, - bison, cups ? null, harfbuzz, libGL, perl, - gstreamer, gst-plugins-base, gtk3, dconf, - - # options - developerBuild ? false, - decryptSslTraffic ? false, - debug ? false, -}: - -with stdenv.lib; - -let - - qtCompatVersion = srcs.qtbase.version; - - mirror = "http://download.qt.io"; - srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; }; - - patches = { - qtbase = [ - ./qtbase.patch - ./qtbase-fixguicmake.patch - ./qtbase-openssl_1_1.patch - ]; - qtdeclarative = [ ./qtdeclarative.patch ]; - qtscript = [ - ./qtscript.patch - # needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196 - # fixed in qtscript 5.12.2 - (fetchpatch { - url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff"; - sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi"; - }) - ]; - qtserialport = [ ./qtserialport.patch ]; - qttools = [ ./qttools.patch ]; - qtwebengine = [ - ./qtwebengine-no-build-skip.patch - # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707 - # https://bugreports.qt.io/browse/QTBUG-77037 - (fetchpatch { - name = "fix-build-with-pulseaudio-13.0.patch"; - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951"; - sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am"; - }) - ] ++ optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch - ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch; - - qtwebkit = [ ./qtwebkit.patch ]; - qtvirtualkeyboard = [ - (fetchpatch { - name = "CVE-2018-19865-A.patch"; - url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=61780a113f02b3c62fb14516fe8ea47d91f9ed9a"; - sha256 = "0jd4nzaz9ndm9ryvrkav7kjs437l661288diklhbmgh249f8gki0"; - }) - (fetchpatch { - name = "CVE-2018-19865-B.patch"; - url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=c0ac7a4c684e2fed60a72ceee53da89eea3f95a7"; - sha256 = "0yvxrx5vx6845vgnq8ml3q93y61py5j0bvhqj7nqvpbmyj1wy1p3"; - - }) - (fetchpatch { - name = "CVE-2018-19865-C.patch"; - url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=a2e7b8412f56841e12ed20a39f4a38e32d3c1e30"; - sha256 = "1yijysa9gy5xbxndx5ri0dkfrjqja0d1bsx52qz4mhzi4pkbib02"; - }) - ]; - - }; - - qtModule = - import ../qtModule.nix - { - inherit perl; - inherit (stdenv) lib; - # Use a variant of mkDerivation that does not include wrapQtApplications - # to avoid cyclic dependencies between Qt modules. - mkDerivation = - import ../mkDerivation.nix - { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; } - stdenv.mkDerivation; - } - { inherit self srcs patches; }; - - addPackages = self: with self; - let - callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; }; - in { - - mkDerivationWith = - import ../mkDerivation.nix - { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; }; - - mkDerivation = mkDerivationWith stdenv.mkDerivation; - - qtbase = callPackage ../modules/qtbase.nix { - inherit (srcs.qtbase) src version; - patches = patches.qtbase; - inherit bison cups harfbuzz libGL; - withGtk3 = true; inherit dconf gtk3; - inherit developerBuild decryptSslTraffic; - }; - - qtcharts = callPackage ../modules/qtcharts.nix {}; - qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; - qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; - qtdoc = callPackage ../modules/qtdoc.nix {}; - qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; - qtimageformats = callPackage ../modules/qtimageformats.nix {}; - qtlocation = callPackage ../modules/qtlocation.nix {}; - qtmacextras = callPackage ../modules/qtmacextras.nix {}; - qtmultimedia = callPackage ../modules/qtmultimedia.nix { - inherit gstreamer gst-plugins-base; - }; - qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {}; - qtquick1 = null; - qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {}; - qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {}; - qtscript = callPackage ../modules/qtscript.nix {}; - qtsensors = callPackage ../modules/qtsensors.nix {}; - qtserialport = callPackage ../modules/qtserialport.nix {}; - qtsvg = callPackage ../modules/qtsvg.nix {}; - qttools = callPackage ../modules/qttools.nix {}; - qttranslations = callPackage ../modules/qttranslations.nix {}; - qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {}; - qtwayland = callPackage ../modules/qtwayland.nix {}; - qtwebchannel = callPackage ../modules/qtwebchannel.nix {}; - qtwebengine = callPackage ../modules/qtwebengine.nix {}; - qtwebkit = callPackage ../modules/qtwebkit.nix {}; - qtwebsockets = callPackage ../modules/qtwebsockets.nix {}; - qtx11extras = callPackage ../modules/qtx11extras.nix {}; - qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; - - env = callPackage ../qt-env.nix {}; - full = env "qt-full-${qtbase.version}" ([ - qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects - qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 - qtscript qtsensors qtserialport qtsvg qttools qttranslations - qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets - qtx11extras qtxmlpatterns - ] ++ optional (!stdenv.isDarwin) qtwayland - ++ optional (stdenv.isDarwin) qtmacextras); - - qmake = makeSetupHook { - deps = [ self.qtbase.dev ]; - substitutions = { - fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; - }; - } ../hooks/qmake-hook.sh; - - wrapQtAppsHook = makeSetupHook { - deps = - [ self.qtbase.dev makeWrapper ] - ++ optional stdenv.isLinux self.qtwayland.dev; - } ../hooks/wrap-qt-apps-hook.sh; - }; - - self = makeScope newScope addPackages; - -in self diff --git a/pkgs/development/libraries/qt-5/5.9/fetch.sh b/pkgs/development/libraries/qt-5/5.9/fetch.sh deleted file mode 100644 index 17ebe1e532d..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/fetch.sh +++ /dev/null @@ -1 +0,0 @@ -WGET_ARGS=( http://download.qt.io/official_releases/qt/5.9/5.9.7/submodules/ ) diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch deleted file mode 100644 index 8b46d432812..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 0bbc871..3673634 100644 ---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) - set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - -- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") -+ set(imported_location \"${PLUGIN_LOCATION}\") - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::${Plugin} PROPERTIES - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -index 5baf0fd..3583745 100644 ---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -@@ -2,10 +2,10 @@ - add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) - - !!IF !isEmpty(CMAKE_RELEASE_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\") - !!ENDIF - !!IF !isEmpty(CMAKE_DEBUG_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\") - !!ENDIF - - list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch deleted file mode 100644 index d5f4d7527cb..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch +++ /dev/null @@ -1,3985 +0,0 @@ -commit 2d88fc0ce4ac76924a65ffd797183de9422ba672 -Author: Andreas Rammhold -Date: Wed Mar 6 00:18:51 2019 +0100 - - openssl1.1 compat - -diff --git a/config.tests/openssl/openssl.cpp b/config.tests/openssl/openssl.cpp -index 6c8a9e8f19..d33b62389c 100644 ---- a/config.tests/openssl/openssl.cpp -+++ b/config.tests/openssl/openssl.cpp -@@ -39,8 +39,8 @@ - - #include - --#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL || OPENSSL_VERSION_NUMBER-0 >= 0x10100000L --# error "OpenSSL >= 0.9.7, and < 1.1.0 is required" -+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL -+# error "OpenSSL >= 0.9.7 is required" - #endif - - #include -diff --git a/config.tests/openssl11/openssl.cpp b/config.tests/openssl11/openssl.cpp -new file mode 100644 -index 0000000000..c20cc59deb ---- /dev/null -+++ b/config.tests/openssl11/openssl.cpp -@@ -0,0 +1,48 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2017 The Qt Company Ltd. -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the config.tests of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 3 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL3 included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 3 requirements -+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 2.0 or (at your option) the GNU General -+** Public license version 3 or any later version approved by the KDE Free -+** Qt Foundation. The licenses are as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-2.0.html and -+** https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include -+ -+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L -+# error "OpenSSL >= 1.1 is required" -+#endif -+ -+int main() -+{ -+} -diff --git a/config.tests/openssl11/openssl11.pro b/config.tests/openssl11/openssl11.pro -new file mode 100644 -index 0000000000..a023aee4aa ---- /dev/null -+++ b/config.tests/openssl11/openssl11.pro -@@ -0,0 +1,2 @@ -+SOURCES = openssl.cpp -+CONFIG -= x11 qt -diff --git a/src/network/configure.json b/src/network/configure.json -index 2cf90ed94b..a021c0734b 100644 ---- a/src/network/configure.json -+++ b/src/network/configure.json -@@ -77,6 +77,17 @@ - }, - { "libs": "-lssl -lcrypto", "condition": "!config.win32" } - ] -+ }, -+ "openssl11": { -+ "label": "OpenSSL v. 1.1 support", -+ "type": "compile", -+ "test": "openssl11", -+ "sources": [ -+ { -+ "comment": "placeholder for OPENSSL_PATH", -+ "libs": "" -+ } -+ ] - } - }, - -@@ -182,7 +193,7 @@ - "enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'", - "disable": "input.openssl == 'no' || input.ssl == 'no'", - "autoDetect": "!config.winrt", -- "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers)", -+ "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers || feature.opensslv11)", - "output": [ - "privateFeature", - { "type": "publicQtConfig", "condition": "!features.openssl-linked" }, -@@ -193,7 +204,7 @@ - "label": " Qt directly linked to OpenSSL", - "enable": "input.openssl == 'linked'", - "disable": "input.openssl != 'linked'", -- "condition": "!features.securetransport && libs.openssl", -+ "condition": "!features.securetransport && (libs.openssl || feature.opensslv11)", - "output": [ - "privateFeature", - { "type": "define", "name": "QT_LINKED_OPENSSL" } -@@ -213,6 +224,11 @@ - "condition": "config.winrt || features.securetransport || features.openssl", - "output": [ "publicFeature", "feature" ] - }, -+ "opensslv11": { -+ "label": "OpenSSL v. 1.1", -+ "condition": "libs.openssl11", -+ "output": ["publicFeature", "feature"] -+ }, - "sctp": { - "label": "SCTP", - "autoDetect": false, -diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp -index 28b7eda54a..71e514a025 100644 ---- a/src/network/ssl/qsslcertificate_openssl.cpp -+++ b/src/network/ssl/qsslcertificate_openssl.cpp -@@ -1,6 +1,7 @@ - /**************************************************************************** - ** --** Copyright (C) 2016 The Qt Company Ltd. -+** Copyright (C) 2017 The Qt Company Ltd. -+** Copyright (C) 2016 Richard J. Moore - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the QtNetwork module of the Qt Toolkit. -@@ -64,12 +65,14 @@ bool QSslCertificate::operator==(const QSslCertificate &other) const - uint qHash(const QSslCertificate &key, uint seed) Q_DECL_NOTHROW - { - if (X509 * const x509 = key.d->x509) { -- (void)q_X509_cmp(x509, x509); // populate x509->sha1_hash -- // (if someone knows a better way...) -- return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed); -- } else { -- return seed; -+ const EVP_MD *sha1 = q_EVP_sha1(); -+ unsigned int len = 0; -+ unsigned char md[EVP_MAX_MD_SIZE]; -+ q_X509_digest(x509, sha1, md, &len); -+ return qHashBits(md, len, seed); - } -+ -+ return seed; - } - - bool QSslCertificate::isNull() const -@@ -89,8 +92,7 @@ QByteArray QSslCertificate::version() const - { - QMutexLocker lock(QMutexPool::globalInstanceGet(d.data())); - if (d->versionString.isEmpty() && d->x509) -- d->versionString = -- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1); -+ d->versionString = QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1); - - return d->versionString; - } -@@ -99,7 +101,7 @@ QByteArray QSslCertificate::serialNumber() const - { - QMutexLocker lock(QMutexPool::globalInstanceGet(d.data())); - if (d->serialNumberString.isEmpty() && d->x509) { -- ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber; -+ ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509); - QByteArray hexString; - hexString.reserve(serialNumber->length * 3); - for (int a = 0; a < serialNumber->length; ++a) { -@@ -199,14 +201,15 @@ QMultiMap QSslCertificate::subjectAlter - continue; - } - -- const char *altNameStr = reinterpret_cast(q_ASN1_STRING_data(genName->d.ia5)); -+ const char *altNameStr = reinterpret_cast(q_ASN1_STRING_get0_data(genName->d.ia5)); - const QString altName = QString::fromLatin1(altNameStr, len); - if (genName->type == GEN_DNS) - result.insert(QSsl::DnsEntry, altName); - else if (genName->type == GEN_EMAIL) - result.insert(QSsl::EmailEntry, altName); - } -- q_sk_pop_free((STACK*)altNames, reinterpret_cast(q_sk_free)); -+ -+ q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast(q_OPENSSL_sk_free)); - } - - return result; -@@ -235,25 +238,26 @@ QSslKey QSslCertificate::publicKey() const - QSslKey key; - - key.d->type = QSsl::PublicKey; -- X509_PUBKEY *xkey = d->x509->cert_info->key; -- EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey); -+ -+ EVP_PKEY *pkey = q_X509_get_pubkey(d->x509); - Q_ASSERT(pkey); -+ const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey)); - -- if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) { -+ if (keyType == EVP_PKEY_RSA) { - key.d->rsa = q_EVP_PKEY_get1_RSA(pkey); - key.d->algorithm = QSsl::Rsa; - key.d->isNull = false; -- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) { -+ } else if (keyType == EVP_PKEY_DSA) { - key.d->dsa = q_EVP_PKEY_get1_DSA(pkey); - key.d->algorithm = QSsl::Dsa; - key.d->isNull = false; - #ifndef OPENSSL_NO_EC -- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) { -+ } else if (keyType == EVP_PKEY_EC) { - key.d->ec = q_EVP_PKEY_get1_EC_KEY(pkey); - key.d->algorithm = QSsl::Ec; - key.d->isNull = false; - #endif -- } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) { -+ } else if (keyType == EVP_PKEY_DH) { - // DH unsupported - } else { - // error? -@@ -275,7 +279,7 @@ static QVariant x509UnknownExtensionToValue(X509_EXTENSION *ext) - X509V3_EXT_METHOD *meth = const_cast(q_X509V3_EXT_get(ext)); - if (!meth) { - ASN1_OCTET_STRING *value = q_X509_EXTENSION_get_data(ext); -- QByteArray result( reinterpret_cast(q_ASN1_STRING_data(value)), -+ QByteArray result( reinterpret_cast(q_ASN1_STRING_get0_data(value)), - q_ASN1_STRING_length(value)); - return result; - } -@@ -371,7 +375,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext) - continue; - } - -- const char *uriStr = reinterpret_cast(q_ASN1_STRING_data(name->d.uniformResourceIdentifier)); -+ const char *uriStr = reinterpret_cast(q_ASN1_STRING_get0_data(name->d.uniformResourceIdentifier)); - const QString uri = QString::fromUtf8(uriStr, len); - - result[QString::fromUtf8(QSslCertificatePrivate::asn1ObjectName(ad->method))] = uri; -@@ -380,11 +384,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext) - } - } - --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -- q_sk_pop_free((_STACK*)info, reinterpret_cast(q_sk_free)); --#else -- q_sk_pop_free((STACK*)info, reinterpret_cast(q_sk_free)); --#endif -+ q_OPENSSL_sk_pop_free((OPENSSL_STACK*)info, reinterpret_cast(q_OPENSSL_sk_free)); - return result; - } - break; -@@ -607,7 +607,11 @@ static QMap _q_mapFromX509Name(X509_NAME *name) - unsigned char *data = 0; - int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e)); - info.insertMulti(name, QString::fromUtf8((char*)data, size)); -+#if QT_CONFIG(opensslv11) -+ q_CRYPTO_free(data, 0, 0); -+#else - q_CRYPTO_free(data); -+#endif - } - - return info; -@@ -619,8 +623,9 @@ QSslCertificate QSslCertificatePrivate::QSslCertificate_from_X509(X509 *x509) - if (!x509 || !QSslSocket::supportsSsl()) - return certificate; - -- ASN1_TIME *nbef = q_X509_get_notBefore(x509); -- ASN1_TIME *naft = q_X509_get_notAfter(x509); -+ ASN1_TIME *nbef = q_X509_getm_notBefore(x509); -+ ASN1_TIME *naft = q_X509_getm_notAfter(x509); -+ - certificate.d->notValidBefore = q_getTimeFromASN1(nbef); - certificate.d->notValidAfter = q_getTimeFromASN1(naft); - certificate.d->null = false; -diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp -index c92d8fc3f8..cef503710c 100644 ---- a/src/network/ssl/qsslcontext_openssl.cpp -+++ b/src/network/ssl/qsslcontext_openssl.cpp -@@ -1,6 +1,6 @@ - /**************************************************************************** - ** --** Copyright (C) 2016 The Qt Company Ltd. -+** Copyright (C) 2017 The Qt Company Ltd. - ** Copyright (C) 2014 BlackBerry Limited. All rights reserved. - ** Copyright (C) 2014 Governikus GmbH & Co. KG. - ** Contact: https://www.qt.io/licensing/ -@@ -41,22 +41,14 @@ - - - #include --#include --#include - - #include "private/qssl_p.h" - #include "private/qsslcontext_openssl_p.h" --#include "private/qsslsocket_p.h" - #include "private/qsslsocket_openssl_p.h" - #include "private/qsslsocket_openssl_symbols_p.h" --#include "private/qssldiffiehellmanparameters_p.h" - - QT_BEGIN_NAMESPACE - --// defined in qsslsocket_openssl.cpp: --extern int q_X509Callback(int ok, X509_STORE_CTX *ctx); --extern QString getErrorsFromOpenSsl(); -- - QSslContext::QSslContext() - : ctx(0), - pkey(0), -@@ -78,301 +70,6 @@ QSslContext::~QSslContext() - q_SSL_SESSION_free(session); - } - --static inline QString msgErrorSettingEllipticCurves(const QString &why) --{ -- return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why); --} -- --// static --void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) --{ -- sslContext->sslConfiguration = configuration; -- sslContext->errorCode = QSslError::NoError; -- -- bool client = (mode == QSslSocket::SslClientMode); -- -- bool reinitialized = false; -- bool unsupportedProtocol = false; --init_context: -- switch (sslContext->sslConfiguration.protocol()) { -- case QSsl::SslV2: --#ifndef OPENSSL_NO_SSL2 -- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method()); --#else -- // SSL 2 not supported by the system, but chosen deliberately -> error -- sslContext->ctx = 0; -- unsupportedProtocol = true; --#endif -- break; -- case QSsl::SslV3: --#ifndef OPENSSL_NO_SSL3_METHOD -- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); --#else -- // SSL 3 not supported by the system, but chosen deliberately -> error -- sslContext->ctx = 0; -- unsupportedProtocol = true; --#endif -- break; -- case QSsl::SecureProtocols: -- // SSLv2 and SSLv3 will be disabled by SSL options -- // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32. -- case QSsl::TlsV1SslV3: -- // SSLv2 will will be disabled by SSL options -- case QSsl::AnyProtocol: -- default: -- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); -- break; -- case QSsl::TlsV1_0: -- sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method()); -- break; -- case QSsl::TlsV1_1: --#if OPENSSL_VERSION_NUMBER >= 0x10001000L -- sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method()); --#else -- // TLS 1.1 not supported by the system, but chosen deliberately -> error -- sslContext->ctx = 0; -- unsupportedProtocol = true; --#endif -- break; -- case QSsl::TlsV1_2: --#if OPENSSL_VERSION_NUMBER >= 0x10001000L -- sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method()); --#else -- // TLS 1.2 not supported by the system, but chosen deliberately -> error -- sslContext->ctx = 0; -- unsupportedProtocol = true; --#endif -- break; -- case QSsl::TlsV1_0OrLater: -- // Specific protocols will be specified via SSL options. -- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); -- break; -- case QSsl::TlsV1_1OrLater: -- case QSsl::TlsV1_2OrLater: --#if OPENSSL_VERSION_NUMBER >= 0x10001000L -- // Specific protocols will be specified via SSL options. -- sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); --#else -- // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error -- sslContext->ctx = 0; -- unsupportedProtocol = true; --#endif -- break; -- } -- -- if (!sslContext->ctx) { -- // After stopping Flash 10 the SSL library looses its ciphers. Try re-adding them -- // by re-initializing the library. -- if (!reinitialized) { -- reinitialized = true; -- if (q_SSL_library_init() == 1) -- goto init_context; -- } -- -- sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg( -- unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl() -- ); -- sslContext->errorCode = QSslError::UnspecifiedError; -- return; -- } -- -- // Enable bug workarounds. -- long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions); -- q_SSL_CTX_set_options(sslContext->ctx, options); -- --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -- // Tell OpenSSL to release memory early -- // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html -- if (q_SSLeay() >= 0x10000000L) -- q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS); --#endif -- -- // Initialize ciphers -- QByteArray cipherString; -- bool first = true; -- QList ciphers = sslContext->sslConfiguration.ciphers(); -- if (ciphers.isEmpty()) -- ciphers = QSslSocketPrivate::defaultCiphers(); -- for (const QSslCipher &cipher : qAsConst(ciphers)) { -- if (first) -- first = false; -- else -- cipherString.append(':'); -- cipherString.append(cipher.name().toLatin1()); -- } -- -- if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) { -- sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -- sslContext->errorCode = QSslError::UnspecifiedError; -- return; -- } -- -- const QDateTime now = QDateTime::currentDateTimeUtc(); -- -- // Add all our CAs to this store. -- const auto caCertificates = sslContext->sslConfiguration.caCertificates(); -- for (const QSslCertificate &caCertificate : caCertificates) { -- // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html: -- // -- // If several CA certificates matching the name, key identifier, and -- // serial number condition are available, only the first one will be -- // examined. This may lead to unexpected results if the same CA -- // certificate is available with different expiration dates. If a -- // ``certificate expired'' verification error occurs, no other -- // certificate will be searched. Make sure to not have expired -- // certificates mixed with valid ones. -- // -- // See also: QSslSocketBackendPrivate::verify() -- if (caCertificate.expiryDate() >= now) { -- q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle()); -- } -- } -- -- if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) { -- // tell OpenSSL the directories where to look up the root certs on demand -- const QList unixDirs = QSslSocketPrivate::unixRootCertDirectories(); -- for (const QByteArray &unixDir : unixDirs) -- q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData()); -- } -- -- if (!sslContext->sslConfiguration.localCertificate().isNull()) { -- // Require a private key as well. -- if (sslContext->sslConfiguration.privateKey().isNull()) { -- sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -- sslContext->errorCode = QSslError::UnspecifiedError; -- return; -- } -- -- // Load certificate -- if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) { -- sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -- sslContext->errorCode = QSslError::UnspecifiedError; -- return; -- } -- -- if (configuration.d->privateKey.algorithm() == QSsl::Opaque) { -- sslContext->pkey = reinterpret_cast(configuration.d->privateKey.handle()); -- } else { -- // Load private key -- sslContext->pkey = q_EVP_PKEY_new(); -- // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free. -- // this lead to a memory leak. Now we use the *_set1_* functions which do not -- // take ownership of the RSA/DSA key instance because the QSslKey already has ownership. -- if (configuration.d->privateKey.algorithm() == QSsl::Rsa) -- q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); -- else if (configuration.d->privateKey.algorithm() == QSsl::Dsa) -- q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); --#ifndef OPENSSL_NO_EC -- else if (configuration.d->privateKey.algorithm() == QSsl::Ec) -- q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); --#endif -- } -- -- if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) { -- sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -- sslContext->errorCode = QSslError::UnspecifiedError; -- return; -- } -- if (configuration.d->privateKey.algorithm() == QSsl::Opaque) -- sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey -- -- // Check if the certificate matches the private key. -- if (!q_SSL_CTX_check_private_key(sslContext->ctx)) { -- sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -- sslContext->errorCode = QSslError::UnspecifiedError; -- return; -- } -- -- // If we have any intermediate certificates then we need to add them to our chain -- bool first = true; -- for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) { -- if (first) { -- first = false; -- continue; -- } -- q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0, -- q_X509_dup(reinterpret_cast(cert.handle()))); -- } -- } -- -- // Initialize peer verification. -- if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) { -- q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0); -- } else { -- q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback); -- } -- -- // Set verification depth. -- if (sslContext->sslConfiguration.peerVerifyDepth() != 0) -- q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth()); -- -- // set persisted session if the user set it -- if (!configuration.sessionTicket().isEmpty()) -- sslContext->setSessionASN1(configuration.sessionTicket()); -- -- // Set temp DH params -- QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters(); -- -- if (!dhparams.isValid()) { -- sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid"); -- sslContext->errorCode = QSslError::UnspecifiedError; -- return; -- } -- -- if (!dhparams.isEmpty()) { -- const QByteArray ¶ms = dhparams.d->derData; -- const char *ptr = params.constData(); -- DH *dh = q_d2i_DHparams(NULL, reinterpret_cast(&ptr), params.length()); -- if (dh == NULL) -- qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form"); -- q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh); -- q_DH_free(dh); -- } -- --#ifndef OPENSSL_NO_EC --#if OPENSSL_VERSION_NUMBER >= 0x10002000L -- if (q_SSLeay() >= 0x10002000L) { -- q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL); -- } else --#endif -- { -- // Set temp ECDH params -- EC_KEY *ecdh = 0; -- ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); -- q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh); -- q_EC_KEY_free(ecdh); -- } --#endif // OPENSSL_NO_EC -- --#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) -- if (!client) -- q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData()); --#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) -- -- const QVector qcurves = sslContext->sslConfiguration.ellipticCurves(); -- if (!qcurves.isEmpty()) { --#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !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, -- // but let's avoid a copy into a temporary array -- if (!q_SSL_CTX_ctrl(sslContext->ctx, -- SSL_CTRL_SET_CURVES, -- qcurves.size(), -- const_cast(reinterpret_cast(qcurves.data())))) { -- sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -- sslContext->errorCode = QSslError::UnspecifiedError; -- } -- } else --#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !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")); -- sslContext->errorCode = QSslError::UnspecifiedError; -- } -- } --} -- - QSslContext* QSslContext::fromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) - { - QSslContext *sslContext = new QSslContext(); -@@ -463,7 +160,7 @@ SSL* QSslContext::createSsl() - m_npnContext.len = m_supportedNPNVersions.count(); - m_npnContext.status = QSslConfiguration::NextProtocolNegotiationNone; - #if OPENSSL_VERSION_NUMBER >= 0x10002000L -- if (q_SSLeay() >= 0x10002000L) { -+ if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) { - // Callback's type has a parameter 'const unsigned char ** out' - // since it was introduced in 1.0.2. Internally, OpenSSL's own code - // (tests/examples) cast it to unsigned char * (since it's 'out'). -@@ -508,7 +205,7 @@ bool QSslContext::cacheSession(SSL* ssl) - unsigned char *data = reinterpret_cast(m_sessionASN1.data()); - if (!q_i2d_SSL_SESSION(session, &data)) - qCWarning(lcSsl, "could not store persistent version of SSL session"); -- m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint; -+ m_sessionTicketLifeTimeHint = q_SSL_SESSION_get_ticket_lifetime_hint(session); - } - } - -diff --git a/src/network/ssl/qsslcontext_openssl11.cpp b/src/network/ssl/qsslcontext_openssl11.cpp -new file mode 100644 -index 0000000000..787b6ae3f5 ---- /dev/null -+++ b/src/network/ssl/qsslcontext_openssl11.cpp -@@ -0,0 +1,277 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2017 The Qt Company Ltd. -+** Copyright (C) 2014 BlackBerry Limited. All rights reserved. -+** Copyright (C) 2014 Governikus GmbH & Co. KG. -+** Copyright (C) 2016 Richard J. Moore -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the QtNetwork module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 3 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL3 included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 3 requirements -+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 2.0 or (at your option) the GNU General -+** Public license version 3 or any later version approved by the KDE Free -+** Qt Foundation. The licenses are as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-2.0.html and -+** https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+ -+#include -+#include -+ -+#include "private/qssl_p.h" -+#include "private/qsslcontext_openssl_p.h" -+#include "private/qsslsocket_p.h" -+#include "private/qsslsocket_openssl_p.h" -+#include "private/qsslsocket_openssl_symbols_p.h" -+#include "private/qssldiffiehellmanparameters_p.h" -+ -+#include -+ -+QT_BEGIN_NAMESPACE -+ -+// defined in qsslsocket_openssl.cpp: -+extern int q_X509Callback(int ok, X509_STORE_CTX *ctx); -+extern QString getErrorsFromOpenSsl(); -+ -+static inline QString msgErrorSettingEllipticCurves(const QString &why) -+{ -+ return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why); -+} -+ -+// static -+void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) -+{ -+ sslContext->sslConfiguration = configuration; -+ sslContext->errorCode = QSslError::NoError; -+ -+ bool client = (mode == QSslSocket::SslClientMode); -+ -+ bool reinitialized = false; -+ bool unsupportedProtocol = false; -+init_context: -+ if (sslContext->sslConfiguration.protocol() == QSsl::SslV2) { -+ // SSL 2 is no longer supported, but chosen deliberately -> error -+ sslContext->ctx = nullptr; -+ unsupportedProtocol = true; -+ } else { -+ // The ssl options will actually control the supported methods -+ sslContext->ctx = q_SSL_CTX_new(client ? q_TLS_client_method() : q_TLS_server_method()); -+ } -+ -+ if (!sslContext->ctx) { -+ // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them -+ // by re-initializing the library. -+ if (!reinitialized) { -+ reinitialized = true; -+ if (q_OPENSSL_init_ssl(0, nullptr) == 1) -+ goto init_context; -+ } -+ -+ sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg( -+ unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl() -+ ); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ // Enable bug workarounds. -+ long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions); -+ q_SSL_CTX_set_options(sslContext->ctx, options); -+ -+ // Tell OpenSSL to release memory early -+ // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html -+ q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS); -+ -+ // Initialize ciphers -+ QByteArray cipherString; -+ bool first = true; -+ QList ciphers = sslContext->sslConfiguration.ciphers(); -+ if (ciphers.isEmpty()) -+ ciphers = QSslSocketPrivate::defaultCiphers(); -+ for (const QSslCipher &cipher : qAsConst(ciphers)) { -+ if (first) -+ first = false; -+ else -+ cipherString.append(':'); -+ cipherString.append(cipher.name().toLatin1()); -+ } -+ -+ if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) { -+ sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ const QDateTime now = QDateTime::currentDateTimeUtc(); -+ -+ // Add all our CAs to this store. -+ const auto caCertificates = sslContext->sslConfiguration.caCertificates(); -+ for (const QSslCertificate &caCertificate : caCertificates) { -+ // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html: -+ // -+ // If several CA certificates matching the name, key identifier, and -+ // serial number condition are available, only the first one will be -+ // examined. This may lead to unexpected results if the same CA -+ // certificate is available with different expiration dates. If a -+ // ``certificate expired'' verification error occurs, no other -+ // certificate will be searched. Make sure to not have expired -+ // certificates mixed with valid ones. -+ // -+ // See also: QSslSocketBackendPrivate::verify() -+ if (caCertificate.expiryDate() >= now) { -+ q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle()); -+ } -+ } -+ -+ if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) { -+ // tell OpenSSL the directories where to look up the root certs on demand -+ const QList unixDirs = QSslSocketPrivate::unixRootCertDirectories(); -+ for (const QByteArray &unixDir : unixDirs) -+ q_SSL_CTX_load_verify_locations(sslContext->ctx, nullptr, unixDir.constData()); -+ } -+ -+ if (!sslContext->sslConfiguration.localCertificate().isNull()) { -+ // Require a private key as well. -+ if (sslContext->sslConfiguration.privateKey().isNull()) { -+ sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ // Load certificate -+ if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) { -+ sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ if (configuration.d->privateKey.algorithm() == QSsl::Opaque) { -+ sslContext->pkey = reinterpret_cast(configuration.d->privateKey.handle()); -+ } else { -+ // Load private key -+ sslContext->pkey = q_EVP_PKEY_new(); -+ // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free. -+ // this lead to a memory leak. Now we use the *_set1_* functions which do not -+ // take ownership of the RSA/DSA key instance because the QSslKey already has ownership. -+ if (configuration.d->privateKey.algorithm() == QSsl::Rsa) -+ q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); -+ else if (configuration.d->privateKey.algorithm() == QSsl::Dsa) -+ q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); -+#ifndef OPENSSL_NO_EC -+ else if (configuration.d->privateKey.algorithm() == QSsl::Ec) -+ q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); -+#endif -+ } -+ -+ if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) { -+ sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ if (configuration.d->privateKey.algorithm() == QSsl::Opaque) -+ sslContext->pkey = nullptr; // Don't free the private key, it belongs to QSslKey -+ -+ // Check if the certificate matches the private key. -+ if (!q_SSL_CTX_check_private_key(sslContext->ctx)) { -+ sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ // If we have any intermediate certificates then we need to add them to our chain -+ bool first = true; -+ for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) { -+ if (first) { -+ first = false; -+ continue; -+ } -+ q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0, -+ q_X509_dup(reinterpret_cast(cert.handle()))); -+ } -+ } -+ -+ // Initialize peer verification. -+ if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) { -+ q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, nullptr); -+ } else { -+ q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback); -+ } -+ -+ // Set verification depth. -+ if (sslContext->sslConfiguration.peerVerifyDepth() != 0) -+ q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth()); -+ -+ // set persisted session if the user set it -+ if (!configuration.sessionTicket().isEmpty()) -+ sslContext->setSessionASN1(configuration.sessionTicket()); -+ -+ // Set temp DH params -+ QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters(); -+ -+ if (!dhparams.isValid()) { -+ sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid"); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ if (!dhparams.isEmpty()) { -+ const QByteArray ¶ms = dhparams.d->derData; -+ const char *ptr = params.constData(); -+ DH *dh = q_d2i_DHparams(NULL, reinterpret_cast(&ptr), params.length()); -+ if (dh == NULL) -+ qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form"); -+ q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh); -+ q_DH_free(dh); -+ } -+ -+#ifndef OPENSSL_NO_PSK -+ if (!client) -+ q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData()); -+#endif // !OPENSSL_NO_PSK -+ -+ const QVector qcurves = sslContext->sslConfiguration.ellipticCurves(); -+ if (!qcurves.isEmpty()) { -+#ifdef OPENSSL_NO_EC -+ sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version with disabled elliptic curves")); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+#else -+ // Set the curves to be used. -+ std::vector curves; -+ curves.reserve(qcurves.size()); -+ for (const auto &sslCurve : qcurves) -+ curves.push_back(sslCurve.id); -+ if (!q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_CURVES, long(curves.size()), &curves[0])) { -+ sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ } -+#endif -+ } -+} -+ -+QT_END_NAMESPACE -diff --git a/src/network/ssl/qsslcontext_opensslpre11.cpp b/src/network/ssl/qsslcontext_opensslpre11.cpp -new file mode 100644 -index 0000000000..9c01c2f2dc ---- /dev/null -+++ b/src/network/ssl/qsslcontext_opensslpre11.cpp -@@ -0,0 +1,354 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2017 The Qt Company Ltd. -+** Copyright (C) 2014 BlackBerry Limited. All rights reserved. -+** Copyright (C) 2014 Governikus GmbH & Co. KG. -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the QtNetwork module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 3 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL3 included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 3 requirements -+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 2.0 or (at your option) the GNU General -+** Public license version 3 or any later version approved by the KDE Free -+** Qt Foundation. The licenses are as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-2.0.html and -+** https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+ -+#include -+#include -+ -+#include "private/qssl_p.h" -+#include "private/qsslcontext_openssl_p.h" -+#include "private/qsslsocket_p.h" -+#include "private/qsslsocket_openssl_p.h" -+#include "private/qsslsocket_openssl_symbols_p.h" -+#include "private/qssldiffiehellmanparameters_p.h" -+ -+QT_BEGIN_NAMESPACE -+ -+// defined in qsslsocket_openssl.cpp: -+extern int q_X509Callback(int ok, X509_STORE_CTX *ctx); -+extern QString getErrorsFromOpenSsl(); -+ -+static inline QString msgErrorSettingEllipticCurves(const QString &why) -+{ -+ return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why); -+} -+ -+// static -+void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading) -+{ -+ sslContext->sslConfiguration = configuration; -+ sslContext->errorCode = QSslError::NoError; -+ -+ bool client = (mode == QSslSocket::SslClientMode); -+ -+ bool reinitialized = false; -+ bool unsupportedProtocol = false; -+init_context: -+ switch (sslContext->sslConfiguration.protocol()) { -+ case QSsl::SslV2: -+#ifndef OPENSSL_NO_SSL2 -+ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method()); -+#else -+ // SSL 2 not supported by the system, but chosen deliberately -> error -+ sslContext->ctx = 0; -+ unsupportedProtocol = true; -+#endif -+ break; -+ case QSsl::SslV3: -+#ifndef OPENSSL_NO_SSL3_METHOD -+ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); -+#else -+ // SSL 3 not supported by the system, but chosen deliberately -> error -+ sslContext->ctx = 0; -+ unsupportedProtocol = true; -+#endif -+ break; -+ case QSsl::SecureProtocols: -+ // SSLv2 and SSLv3 will be disabled by SSL options -+ // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32. -+ case QSsl::TlsV1SslV3: -+ // SSLv2 will will be disabled by SSL options -+ case QSsl::AnyProtocol: -+ default: -+ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); -+ break; -+ case QSsl::TlsV1_0: -+ sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method()); -+ break; -+ case QSsl::TlsV1_1: -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+ sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method()); -+#else -+ // TLS 1.1 not supported by the system, but chosen deliberately -> error -+ sslContext->ctx = 0; -+ unsupportedProtocol = true; -+#endif -+ break; -+ case QSsl::TlsV1_2: -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+ sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method()); -+#else -+ // TLS 1.2 not supported by the system, but chosen deliberately -> error -+ sslContext->ctx = 0; -+ unsupportedProtocol = true; -+#endif -+ break; -+ case QSsl::TlsV1_0OrLater: -+ // Specific protocols will be specified via SSL options. -+ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); -+ break; -+ case QSsl::TlsV1_1OrLater: -+ case QSsl::TlsV1_2OrLater: -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+ // Specific protocols will be specified via SSL options. -+ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method()); -+#else -+ // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error -+ sslContext->ctx = 0; -+ unsupportedProtocol = true; -+#endif -+ break; -+ } -+ -+ if (!sslContext->ctx) { -+ // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them -+ // by re-initializing the library. -+ if (!reinitialized) { -+ reinitialized = true; -+ if (q_SSL_library_init() == 1) -+ goto init_context; -+ } -+ -+ sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg( -+ unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl() -+ ); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ // Enable bug workarounds. -+ long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions); -+ q_SSL_CTX_set_options(sslContext->ctx, options); -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+ // Tell OpenSSL to release memory early -+ // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html -+ if (q_SSLeay() >= 0x10000000L) -+ q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS); -+#endif -+ -+ // Initialize ciphers -+ QByteArray cipherString; -+ bool first = true; -+ QList ciphers = sslContext->sslConfiguration.ciphers(); -+ if (ciphers.isEmpty()) -+ ciphers = QSslSocketPrivate::defaultCiphers(); -+ for (const QSslCipher &cipher : qAsConst(ciphers)) { -+ if (first) -+ first = false; -+ else -+ cipherString.append(':'); -+ cipherString.append(cipher.name().toLatin1()); -+ } -+ -+ if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) { -+ sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ const QDateTime now = QDateTime::currentDateTimeUtc(); -+ -+ // Add all our CAs to this store. -+ const auto caCertificates = sslContext->sslConfiguration.caCertificates(); -+ for (const QSslCertificate &caCertificate : caCertificates) { -+ // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html: -+ // -+ // If several CA certificates matching the name, key identifier, and -+ // serial number condition are available, only the first one will be -+ // examined. This may lead to unexpected results if the same CA -+ // certificate is available with different expiration dates. If a -+ // ``certificate expired'' verification error occurs, no other -+ // certificate will be searched. Make sure to not have expired -+ // certificates mixed with valid ones. -+ // -+ // See also: QSslSocketBackendPrivate::verify() -+ if (caCertificate.expiryDate() >= now) { -+ q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle()); -+ } -+ } -+ -+ if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) { -+ // tell OpenSSL the directories where to look up the root certs on demand -+ const QList unixDirs = QSslSocketPrivate::unixRootCertDirectories(); -+ for (const QByteArray &unixDir : unixDirs) -+ q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData()); -+ } -+ -+ if (!sslContext->sslConfiguration.localCertificate().isNull()) { -+ // Require a private key as well. -+ if (sslContext->sslConfiguration.privateKey().isNull()) { -+ sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ // Load certificate -+ if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) { -+ sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ if (configuration.d->privateKey.algorithm() == QSsl::Opaque) { -+ sslContext->pkey = reinterpret_cast(configuration.d->privateKey.handle()); -+ } else { -+ // Load private key -+ sslContext->pkey = q_EVP_PKEY_new(); -+ // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free. -+ // this lead to a memory leak. Now we use the *_set1_* functions which do not -+ // take ownership of the RSA/DSA key instance because the QSslKey already has ownership. -+ if (configuration.d->privateKey.algorithm() == QSsl::Rsa) -+ q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); -+ else if (configuration.d->privateKey.algorithm() == QSsl::Dsa) -+ q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); -+#ifndef OPENSSL_NO_EC -+ else if (configuration.d->privateKey.algorithm() == QSsl::Ec) -+ q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast(configuration.d->privateKey.handle())); -+#endif -+ } -+ -+ if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) { -+ sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ if (configuration.d->privateKey.algorithm() == QSsl::Opaque) -+ sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey -+ -+ // Check if the certificate matches the private key. -+ if (!q_SSL_CTX_check_private_key(sslContext->ctx)) { -+ sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ // If we have any intermediate certificates then we need to add them to our chain -+ bool first = true; -+ for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) { -+ if (first) { -+ first = false; -+ continue; -+ } -+ q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0, -+ q_X509_dup(reinterpret_cast(cert.handle()))); -+ } -+ } -+ -+ // Initialize peer verification. -+ if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) { -+ q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0); -+ } else { -+ q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback); -+ } -+ -+ // Set verification depth. -+ if (sslContext->sslConfiguration.peerVerifyDepth() != 0) -+ q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth()); -+ -+ // set persisted session if the user set it -+ if (!configuration.sessionTicket().isEmpty()) -+ sslContext->setSessionASN1(configuration.sessionTicket()); -+ -+ // Set temp DH params -+ QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters(); -+ -+ if (!dhparams.isValid()) { -+ sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid"); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ return; -+ } -+ -+ if (!dhparams.isEmpty()) { -+ const QByteArray ¶ms = dhparams.d->derData; -+ const char *ptr = params.constData(); -+ DH *dh = q_d2i_DHparams(NULL, reinterpret_cast(&ptr), params.length()); -+ if (dh == NULL) -+ qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form"); -+ q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh); -+ q_DH_free(dh); -+ } -+ -+#ifndef OPENSSL_NO_EC -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L -+ if (q_SSLeay() >= 0x10002000L) { -+ q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL); -+ } else -+#endif -+ { -+ // Set temp ECDH params -+ EC_KEY *ecdh = 0; -+ ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); -+ q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh); -+ q_EC_KEY_free(ecdh); -+ } -+#endif // OPENSSL_NO_EC -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) -+ if (!client) -+ q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData()); -+#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) -+ -+ const QVector qcurves = sslContext->sslConfiguration.ellipticCurves(); -+ if (!qcurves.isEmpty()) { -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !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, -+ // but let's avoid a copy into a temporary array -+ if (!q_SSL_CTX_ctrl(sslContext->ctx, -+ SSL_CTRL_SET_CURVES, -+ qcurves.size(), -+ const_cast(reinterpret_cast(qcurves.data())))) { -+ sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl()); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ } -+ } else -+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !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")); -+ sslContext->errorCode = QSslError::UnspecifiedError; -+ } -+ } -+} -+ -+QT_END_NAMESPACE -diff --git a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp -index 90687b05c5..5ebad822f1 100644 ---- a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp -+++ b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp -@@ -1,6 +1,7 @@ - /**************************************************************************** - ** - ** Copyright (C) 2015 Mikkel Krautz -+** Copyright (C) 2016 Richard J. Moore - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the QtNetwork module of the Qt Toolkit. -@@ -50,8 +51,8 @@ - #include - #endif - --// For q_BN_is_word. - #include -+#include - - QT_BEGIN_NAMESPACE - -@@ -62,13 +63,6 @@ static bool isSafeDH(DH *dh) - - QSslSocketPrivate::ensureInitialized(); - -- // Mark p < 1024 bits as unsafe. -- if (q_BN_num_bits(dh->p) < 1024) { -- return false; -- } -- -- if (q_DH_check(dh, &status) != 1) -- return false; - - // From https://wiki.openssl.org/index.php/Diffie-Hellman_parameters: - // -@@ -81,11 +75,39 @@ static bool isSafeDH(DH *dh) - // Without the test, the IETF parameters would - // fail validation. For details, see Diffie-Hellman - // Parameter Check (when g = 2, must p mod 24 == 11?). -+#if QT_CONFIG(opensslv11) -+ // Mark p < 1024 bits as unsafe. -+ if (q_DH_bits(dh) < 1024) -+ return false; -+ -+ if (q_DH_check(dh, &status) != 1) -+ return false; -+ -+ const BIGNUM *p = nullptr; -+ const BIGNUM *q = nullptr; -+ const BIGNUM *g = nullptr; -+ q_DH_get0_pqg(dh, &p, &q, &g); -+ -+ if (q_BN_is_word(const_cast(g), DH_GENERATOR_2)) { -+ long residue = q_BN_mod_word(p, 24); -+ if (residue == 11 || residue == 23) -+ status &= ~DH_NOT_SUITABLE_GENERATOR; -+ } -+ -+#else -+ // Mark p < 1024 bits as unsafe. -+ if (q_BN_num_bits(dh->p) < 1024) -+ return false; -+ -+ if (q_DH_check(dh, &status) != 1) -+ return false; -+ - if (q_BN_is_word(dh->g, DH_GENERATOR_2)) { - long residue = q_BN_mod_word(dh->p, 24); - if (residue == 11 || residue == 23) - status &= ~DH_NOT_SUITABLE_GENERATOR; - } -+#endif - - bad |= DH_CHECK_P_NOT_PRIME; - bad |= DH_CHECK_P_NOT_SAFE_PRIME; -diff --git a/src/network/ssl/qsslellipticcurve.h b/src/network/ssl/qsslellipticcurve.h -index 231566063e..57dda19bad 100644 ---- a/src/network/ssl/qsslellipticcurve.h -+++ b/src/network/ssl/qsslellipticcurve.h -@@ -80,6 +80,7 @@ private: - friend Q_DECL_CONSTEXPR bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs) Q_DECL_NOTHROW; - friend Q_DECL_CONSTEXPR uint qHash(QSslEllipticCurve curve, uint seed) Q_DECL_NOTHROW; - -+ friend class QSslContext; - friend class QSslSocketPrivate; - friend class QSslSocketBackendPrivate; - }; -diff --git a/src/network/ssl/qsslellipticcurve_openssl.cpp b/src/network/ssl/qsslellipticcurve_openssl.cpp -index e18197b703..8cd14837f0 100644 ---- a/src/network/ssl/qsslellipticcurve_openssl.cpp -+++ b/src/network/ssl/qsslellipticcurve_openssl.cpp -@@ -1,6 +1,7 @@ - /**************************************************************************** - ** - ** Copyright (C) 2014 Governikus GmbH & Co. KG. -+** Copyright (C) 2016 Richard J. Moore - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the QtNetwork module of the Qt Toolkit. -@@ -78,17 +79,18 @@ QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name) - QSslEllipticCurve result; - - #ifndef OPENSSL_NO_EC -- const QByteArray curveNameLatin1 = name.toLatin1(); - -+ const QByteArray curveNameLatin1 = name.toLatin1(); - int nid = q_OBJ_sn2nid(curveNameLatin1.data()); - - #if OPENSSL_VERSION_NUMBER >= 0x10002000L -- if (nid == 0 && q_SSLeay() >= 0x10002000L) -+ if (nid == 0 && QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) - nid = q_EC_curve_nist2nid(curveNameLatin1.data()); - #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L - - result.id = nid; --#endif -+ -+#endif // !OPENSSL_NO_EC - - return result; - } -diff --git a/src/network/ssl/qsslkey_openssl.cpp b/src/network/ssl/qsslkey_openssl.cpp -index 26119023d1..2b03af9441 100644 ---- a/src/network/ssl/qsslkey_openssl.cpp -+++ b/src/network/ssl/qsslkey_openssl.cpp -@@ -1,6 +1,7 @@ - /**************************************************************************** - ** --** Copyright (C) 2016 The Qt Company Ltd. -+** Copyright (C) 2017 The Qt Company Ltd. -+** Copyright (C) 2016 Richard J. Moore - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the QtNetwork module of the Qt Toolkit. -@@ -87,33 +88,32 @@ bool QSslKeyPrivate::fromEVP_PKEY(EVP_PKEY *pkey) - if (pkey == nullptr) - return false; - -- if (pkey->type == EVP_PKEY_RSA) { -+#if QT_CONFIG(opensslv11) -+ const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey)); -+#else -+ const int keyType = pkey->type; -+#endif -+ if (keyType == EVP_PKEY_RSA) { - isNull = false; - algorithm = QSsl::Rsa; - type = QSsl::PrivateKey; - -- rsa = q_RSA_new(); -- memcpy(rsa, q_EVP_PKEY_get1_RSA(pkey), sizeof(RSA)); -- -+ rsa = q_EVP_PKEY_get1_RSA(pkey); - return true; -- } -- else if (pkey->type == EVP_PKEY_DSA) { -+ } else if (keyType == EVP_PKEY_DSA) { - isNull = false; - algorithm = QSsl::Dsa; - type = QSsl::PrivateKey; - -- dsa = q_DSA_new(); -- memcpy(dsa, q_EVP_PKEY_get1_DSA(pkey), sizeof(DSA)); -- -+ dsa = q_EVP_PKEY_get1_DSA(pkey); - return true; - } - #ifndef OPENSSL_NO_EC -- else if (pkey->type == EVP_PKEY_EC) { -+ else if (keyType == EVP_PKEY_EC) { - isNull = false; - algorithm = QSsl::Ec; - type = QSsl::PrivateKey; -- ec = q_EC_KEY_dup(q_EVP_PKEY_get1_EC_KEY(pkey)); -- -+ ec = q_EVP_PKEY_get1_EC_KEY(pkey); - return true; - } - #endif -@@ -181,8 +181,8 @@ int QSslKeyPrivate::length() const - return -1; - - switch (algorithm) { -- case QSsl::Rsa: return q_BN_num_bits(rsa->n); -- case QSsl::Dsa: return q_BN_num_bits(dsa->p); -+ case QSsl::Rsa: return q_RSA_bits(rsa); -+ case QSsl::Dsa: return q_DSA_bits(dsa); - #ifndef OPENSSL_NO_EC - case QSsl::Ec: return q_EC_GROUP_get_degree(q_EC_KEY_get0_group(ec)); - #endif -@@ -276,7 +276,13 @@ Qt::HANDLE QSslKeyPrivate::handle() const - - static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv, int enc) - { -- EVP_CIPHER_CTX ctx; -+#if QT_CONFIG(opensslv11) -+ EVP_CIPHER_CTX *ctx = q_EVP_CIPHER_CTX_new(); -+#else -+ EVP_CIPHER_CTX evpCipherContext; -+ EVP_CIPHER_CTX *ctx = &evpCipherContext; -+#endif -+ - const EVP_CIPHER* type = 0; - int i = 0, len = 0; - -@@ -294,21 +300,44 @@ static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, - - QByteArray output; - output.resize(data.size() + EVP_MAX_BLOCK_LENGTH); -- q_EVP_CIPHER_CTX_init(&ctx); -- q_EVP_CipherInit(&ctx, type, NULL, NULL, enc); -- q_EVP_CIPHER_CTX_set_key_length(&ctx, key.size()); -+ -+#if QT_CONFIG(opensslv11) -+ q_EVP_CIPHER_CTX_reset(ctx); -+#else -+ q_EVP_CIPHER_CTX_init(ctx); -+#endif -+ -+ q_EVP_CipherInit(ctx, type, NULL, NULL, enc); -+ q_EVP_CIPHER_CTX_set_key_length(ctx, key.size()); - if (cipher == QSslKeyPrivate::Rc2Cbc) -- q_EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL); -- q_EVP_CipherInit(&ctx, NULL, -+ q_EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL); -+ -+#if QT_CONFIG(opensslv11) -+ // EVP_CipherInit in 1.1 resets the context thus making the calls above useless. -+ // We call EVP_CipherInit_ex instead. -+ q_EVP_CipherInit_ex(ctx, nullptr, nullptr, -+ reinterpret_cast(key.constData()), -+ reinterpret_cast(iv.constData()), -+ enc); -+#else -+ q_EVP_CipherInit(ctx, NULL, - reinterpret_cast(key.constData()), - reinterpret_cast(iv.constData()), enc); -- q_EVP_CipherUpdate(&ctx, -+#endif // opensslv11 -+ -+ q_EVP_CipherUpdate(ctx, - reinterpret_cast(output.data()), &len, - reinterpret_cast(data.constData()), data.size()); -- q_EVP_CipherFinal(&ctx, -+ q_EVP_CipherFinal(ctx, - reinterpret_cast(output.data()) + len, &i); - len += i; -- q_EVP_CIPHER_CTX_cleanup(&ctx); -+ -+#if QT_CONFIG(opensslv11) -+ q_EVP_CIPHER_CTX_reset(ctx); -+ q_EVP_CIPHER_CTX_free(ctx); -+#else -+ q_EVP_CIPHER_CTX_cleanup(ctx); -+#endif - - return output.left(len); - } -diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp -index f5b493897e..45cea490fc 100644 ---- a/src/network/ssl/qsslsocket_openssl.cpp -+++ b/src/network/ssl/qsslsocket_openssl.cpp -@@ -1,6 +1,6 @@ - /**************************************************************************** - ** --** Copyright (C) 2016 The Qt Company Ltd. -+** Copyright (C) 2017 The Qt Company Ltd. - ** Copyright (C) 2014 Governikus GmbH & Co. KG - ** Contact: https://www.qt.io/licensing/ - ** -@@ -97,70 +97,6 @@ bool QSslSocketPrivate::s_loadRootCertsOnDemand = false; - int QSslSocketBackendPrivate::s_indexForSSLExtraData = -1; - #endif - --/* \internal -- -- From OpenSSL's thread(3) manual page: -- -- OpenSSL can safely be used in multi-threaded applications provided that at -- least two callback functions are set. -- -- locking_function(int mode, int n, const char *file, int line) is needed to -- perform locking on shared data structures. (Note that OpenSSL uses a -- number of global data structures that will be implicitly shared -- whenever multiple threads use OpenSSL.) Multi-threaded -- applications will crash at random if it is not set. ... -- ... -- id_function(void) is a function that returns a thread ID. It is not -- needed on Windows nor on platforms where getpid() returns a different -- ID for each thread (most notably Linux) --*/ --class QOpenSslLocks --{ --public: -- inline QOpenSslLocks() -- : initLocker(QMutex::Recursive), -- locksLocker(QMutex::Recursive) -- { -- QMutexLocker locker(&locksLocker); -- int numLocks = q_CRYPTO_num_locks(); -- locks = new QMutex *[numLocks]; -- memset(locks, 0, numLocks * sizeof(QMutex *)); -- } -- inline ~QOpenSslLocks() -- { -- QMutexLocker locker(&locksLocker); -- for (int i = 0; i < q_CRYPTO_num_locks(); ++i) -- delete locks[i]; -- delete [] locks; -- -- QSslSocketPrivate::deinitialize(); -- } -- inline QMutex *lock(int num) -- { -- QMutexLocker locker(&locksLocker); -- QMutex *tmp = locks[num]; -- if (!tmp) -- tmp = locks[num] = new QMutex(QMutex::Recursive); -- return tmp; -- } -- -- QMutex *globalLock() -- { -- return &locksLocker; -- } -- -- QMutex *initLock() -- { -- return &initLocker; -- } -- --private: -- QMutex initLocker; -- QMutex locksLocker; -- QMutex **locks; --}; --Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks) -- - QString QSslSocketBackendPrivate::getErrorsFromOpenSsl() - { - QString errorString; -@@ -175,20 +111,6 @@ QString QSslSocketBackendPrivate::getErrorsFromOpenSsl() - } - - extern "C" { --static void locking_function(int mode, int lockNumber, const char *, int) --{ -- QMutex *mutex = openssl_locks()->lock(lockNumber); -- -- // Lock or unlock it -- if (mode & CRYPTO_LOCK) -- mutex->lock(); -- else -- mutex->unlock(); --} --static unsigned long id_function() --{ -- return (quintptr)QThread::currentThreadId(); --} - - #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) - static unsigned int q_ssl_psk_client_callback(SSL *ssl, -@@ -227,7 +149,7 @@ QSslSocketBackendPrivate::~QSslSocketBackendPrivate() - destroySslContext(); - } - --QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher) -+QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher) - { - QSslCipher ciph; - -@@ -283,6 +205,7 @@ struct QSslErrorList - QMutex mutex; - QVector errors; - }; -+ - Q_GLOBAL_STATIC(QSslErrorList, _q_sslErrorList) - - int q_X509Callback(int ok, X509_STORE_CTX *ctx) -@@ -312,7 +235,7 @@ int q_X509Callback(int ok, X509_STORE_CTX *ctx) - } - #endif - } -- // Always return OK to allow verification to continue. We're handle the -+ // Always return OK to allow verification to continue. We handle the - // errors gracefully after collecting all errors, after verification has - // completed. - return 1; -@@ -397,7 +320,7 @@ bool QSslSocketBackendPrivate::initSslContext() - if (configuration.protocol != QSsl::SslV2 && - configuration.protocol != QSsl::SslV3 && - configuration.protocol != QSsl::UnknownProtocol && -- mode == QSslSocket::SslClientMode && q_SSLeay() >= 0x00090806fL) { -+ mode == QSslSocket::SslClientMode && QSslSocket::sslLibraryVersionNumber() >= 0x00090806fL) { - // Set server hostname on TLS extension. RFC4366 section 3.1 requires it in ACE format. - QString tlsHostName = verificationPeerName.isEmpty() ? q->peerName() : verificationPeerName; - if (tlsHostName.isEmpty()) -@@ -438,13 +361,13 @@ bool QSslSocketBackendPrivate::initSslContext() - - #if OPENSSL_VERSION_NUMBER >= 0x10001000L - // Save a pointer to this object into the SSL structure. -- if (q_SSLeay() >= 0x10001000L) -+ if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L) - q_SSL_set_ex_data(ssl, s_indexForSSLExtraData, this); - #endif - - #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) - // Set the client callback for PSK -- if (q_SSLeay() >= 0x10001000L) { -+ if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L) { - if (mode == QSslSocket::SslClientMode) - q_SSL_set_psk_client_callback(ssl, &q_ssl_psk_client_callback); - else if (mode == QSslSocket::SslServerMode) -@@ -464,16 +387,6 @@ void QSslSocketBackendPrivate::destroySslContext() - sslContextPointer.clear(); - } - --/*! -- \internal --*/ --void QSslSocketPrivate::deinitialize() --{ -- q_CRYPTO_set_id_callback(0); -- q_CRYPTO_set_locking_callback(0); -- q_ERR_free_strings(); --} -- - /*! - \internal - -@@ -486,91 +399,6 @@ bool QSslSocketPrivate::supportsSsl() - return ensureLibraryLoaded(); - } - --bool QSslSocketPrivate::ensureLibraryLoaded() --{ -- if (!q_resolveOpenSslSymbols()) -- return false; -- -- // Check if the library itself needs to be initialized. -- QMutexLocker locker(openssl_locks()->initLock()); -- -- if (!s_libraryLoaded) { -- s_libraryLoaded = true; -- -- // Initialize OpenSSL. -- q_CRYPTO_set_id_callback(id_function); -- q_CRYPTO_set_locking_callback(locking_function); -- if (q_SSL_library_init() != 1) -- return false; -- q_SSL_load_error_strings(); -- q_OpenSSL_add_all_algorithms(); -- --#if OPENSSL_VERSION_NUMBER >= 0x10001000L -- if (q_SSLeay() >= 0x10001000L) -- QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL); --#endif -- -- // Initialize OpenSSL's random seed. -- if (!q_RAND_status()) { -- qWarning("Random number generator not seeded, disabling SSL support"); -- return false; -- } -- } -- return true; --} -- --void QSslSocketPrivate::ensureCiphersAndCertsLoaded() --{ -- QMutexLocker locker(openssl_locks()->initLock()); -- if (s_loadedCiphersAndCerts) -- return; -- s_loadedCiphersAndCerts = true; -- -- resetDefaultCiphers(); -- resetDefaultEllipticCurves(); -- --#if QT_CONFIG(library) -- //load symbols needed to receive certificates from system store --#if defined(Q_OS_WIN) -- HINSTANCE hLib = LoadLibraryW(L"Crypt32"); -- if (hLib) { -- ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW"); -- ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore"); -- ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore"); -- if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore) -- qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen -- } else { -- qCWarning(lcSsl, "could not load crypt32 library"); // should never happen -- } --#elif defined(Q_OS_QNX) -- s_loadRootCertsOnDemand = true; --#elif defined(Q_OS_UNIX) && !defined(Q_OS_MAC) -- // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there) -- QList dirs = unixRootCertDirectories(); -- QStringList symLinkFilter; -- symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]"); -- for (int a = 0; a < dirs.count(); ++a) { -- QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files); -- if (iterator.hasNext()) { -- s_loadRootCertsOnDemand = true; -- break; -- } -- } --#endif --#endif // QT_CONFIG(library) -- // if on-demand loading was not enabled, load the certs now -- if (!s_loadRootCertsOnDemand) -- setDefaultCaCertificates(systemCaCertificates()); --#ifdef Q_OS_WIN -- //Enabled for fetching additional root certs from windows update on windows 6+ -- //This flag is set false by setDefaultCaCertificates() indicating the app uses -- //its own cert bundle rather than the system one. -- //Same logic that disables the unix on demand cert loading. -- //Unlike unix, we do preload the certificates from the cert store. -- if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0) -- s_loadRootCertsOnDemand = true; --#endif --} - - /*! - \internal -@@ -587,26 +415,6 @@ void QSslSocketPrivate::ensureInitialized() - ensureCiphersAndCertsLoaded(); - } - --long QSslSocketPrivate::sslLibraryVersionNumber() --{ -- if (!supportsSsl()) -- return 0; -- -- return q_SSLeay(); --} -- --QString QSslSocketPrivate::sslLibraryVersionString() --{ -- if (!supportsSsl()) -- return QString(); -- -- const char *versionString = q_SSLeay_version(SSLEAY_VERSION); -- if (!versionString) -- return QString(); -- -- return QString::fromLatin1(versionString); --} -- - long QSslSocketPrivate::sslLibraryBuildVersionNumber() - { - return OPENSSL_VERSION_NUMBER; -@@ -628,7 +436,11 @@ QString QSslSocketPrivate::sslLibraryBuildVersionString() - */ - void QSslSocketPrivate::resetDefaultCiphers() - { -+#if QT_CONFIG(opensslv11) -+ SSL_CTX *myCtx = q_SSL_CTX_new(q_TLS_client_method()); -+#else - SSL_CTX *myCtx = q_SSL_CTX_new(q_SSLv23_client_method()); -+#endif - SSL *mySsl = q_SSL_new(myCtx); - - QList ciphers; -@@ -664,7 +476,7 @@ void QSslSocketPrivate::resetDefaultEllipticCurves() - QVector curves; - - #ifndef OPENSSL_NO_EC -- const size_t curveCount = q_EC_get_builtin_curves(NULL, 0); -+ const size_t curveCount = q_EC_get_builtin_curves(nullptr, 0); - - QVarLengthArray builtinCurves(static_cast(curveCount)); - -@@ -698,13 +510,14 @@ QList QSslSocketPrivate::systemCaCertificates() - if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) { - HCERTSTORE hSystemStore; - hSystemStore = ptrCertOpenSystemStoreW(0, L"ROOT"); -- if(hSystemStore) { -- PCCERT_CONTEXT pc = NULL; -- while(1) { -- pc = ptrCertFindCertificateInStore( hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, NULL, pc); -- if(!pc) -+ if (hSystemStore) { -+ PCCERT_CONTEXT pc = nullptr; -+ while (1) { -+ pc = ptrCertFindCertificateInStore(hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, nullptr, pc); -+ if (!pc) - break; -- QByteArray der((const char *)(pc->pbCertEncoded), static_cast(pc->cbCertEncoded)); -+ QByteArray der(reinterpret_cast(pc->pbCertEncoded), -+ static_cast(pc->cbCertEncoded)); - QSslCertificate cert(der, QSsl::Der); - systemCerts.append(cert); - } -@@ -1504,14 +1317,8 @@ QSslCipher QSslSocketBackendPrivate::sessionCipher() const - { - if (!ssl) - return QSslCipher(); --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -- // FIXME This is fairly evil, but needed to keep source level compatibility -- // with the OpenSSL 0.9.x implementation at maximum -- some other functions -- // don't take a const SSL_CIPHER* when they should -- SSL_CIPHER *sessionCipher = const_cast(q_SSL_get_current_cipher(ssl)); --#else -- SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl); --#endif -+ -+ const SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl); - return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher(); - } - -@@ -1537,112 +1344,6 @@ QSsl::SslProtocol QSslSocketBackendPrivate::sessionProtocol() const - return QSsl::UnknownProtocol; - } - --void QSslSocketBackendPrivate::continueHandshake() --{ -- Q_Q(QSslSocket); -- // if we have a max read buffer size, reset the plain socket's to match -- if (readBufferMaxSize) -- plainSocket->setReadBufferSize(readBufferMaxSize); -- -- if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL)) -- configuration.peerSessionShared = true; -- --#ifdef QT_DECRYPT_SSL_TRAFFIC -- if (ssl->session && ssl->s3) { -- const char *mk = reinterpret_cast(ssl->session->master_key); -- QByteArray masterKey(mk, ssl->session->master_key_length); -- const char *random = reinterpret_cast(ssl->s3->client_random); -- QByteArray clientRandom(random, SSL3_RANDOM_SIZE); -- -- // different format, needed for e.g. older Wireshark versions: --// const char *sid = reinterpret_cast(ssl->session->session_id); --// QByteArray sessionID(sid, ssl->session->session_id_length); --// QByteArray debugLineRSA("RSA Session-ID:"); --// debugLineRSA.append(sessionID.toHex().toUpper()); --// debugLineRSA.append(" Master-Key:"); --// debugLineRSA.append(masterKey.toHex().toUpper()); --// debugLineRSA.append("\n"); -- -- QByteArray debugLineClientRandom("CLIENT_RANDOM "); -- debugLineClientRandom.append(clientRandom.toHex().toUpper()); -- debugLineClientRandom.append(" "); -- debugLineClientRandom.append(masterKey.toHex().toUpper()); -- debugLineClientRandom.append("\n"); -- -- QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys"); -- QFile file(sslKeyFile); -- if (!file.open(QIODevice::Append)) -- qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending"; -- if (!file.write(debugLineClientRandom)) -- qCWarning(lcSsl) << "could not write to file" << sslKeyFile; -- file.close(); -- } else { -- qCWarning(lcSsl, "could not decrypt SSL traffic"); -- } --#endif -- -- // Cache this SSL session inside the QSslContext -- if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) { -- if (!sslContextPointer->cacheSession(ssl)) { -- sslContextPointer.clear(); // we could not cache the session -- } else { -- // Cache the session for permanent usage as well -- if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) { -- if (!sslContextPointer->sessionASN1().isEmpty()) -- configuration.sslSession = sslContextPointer->sessionASN1(); -- configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint(); -- } -- } -- } -- --#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG) -- -- configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status; -- if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) { -- // we could not agree -> be conservative and use HTTP/1.1 -- configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1"); -- } else { -- const unsigned char *proto = 0; -- unsigned int proto_len = 0; --#if OPENSSL_VERSION_NUMBER >= 0x10002000L -- if (q_SSLeay() >= 0x10002000L) { -- q_SSL_get0_alpn_selected(ssl, &proto, &proto_len); -- if (proto_len && mode == QSslSocket::SslClientMode) { -- // Client does not have a callback that sets it ... -- configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated; -- } -- } -- -- if (!proto_len) { // Test if NPN was more lucky ... --#else -- { --#endif -- q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len); -- } -- -- if (proto_len) -- configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast(proto), proto_len); -- else -- configuration.nextNegotiatedProtocol.clear(); -- } --#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ... -- --#if OPENSSL_VERSION_NUMBER >= 0x10002000L -- if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) { -- EVP_PKEY *key; -- if (q_SSL_get_server_tmp_key(ssl, &key)) -- configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey); -- } --#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ... -- -- connectionEncrypted = true; -- emit q->encrypted(); -- if (autoStartHandshake && pendingClose) { -- pendingClose = false; -- q->disconnectFromHost(); -- } --} -- - QList QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509) - { - ensureInitialized(); -@@ -1696,12 +1397,12 @@ QList QSslSocketBackendPrivate::verify(const QList & - QMutexLocker sslErrorListMutexLocker(&_q_sslErrorList()->mutex); - - // Register a custom callback to get all verification errors. -- X509_STORE_set_verify_cb_func(certStore, q_X509Callback); -+ q_X509_STORE_set_verify_cb(certStore, q_X509Callback); - - // Build the chain of intermediate certificates - STACK_OF(X509) *intermediates = 0; - if (certificateChain.length() > 1) { -- intermediates = (STACK_OF(X509) *) q_sk_new_null(); -+ intermediates = (STACK_OF(X509) *) q_OPENSSL_sk_new_null(); - - if (!intermediates) { - q_X509_STORE_free(certStore); -@@ -1715,11 +1416,8 @@ QList QSslSocketBackendPrivate::verify(const QList & - first = false; - continue; - } --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -- q_sk_push( (_STACK *)intermediates, reinterpret_cast(cert.handle())); --#else -- q_sk_push( (STACK *)intermediates, reinterpret_cast(cert.handle())); --#endif -+ -+ q_OPENSSL_sk_push((OPENSSL_STACK *)intermediates, reinterpret_cast(cert.handle())); - } - } - -@@ -1743,11 +1441,7 @@ QList QSslSocketBackendPrivate::verify(const QList & - (void) q_X509_verify_cert(storeContext); - - q_X509_STORE_CTX_free(storeContext); --#if OPENSSL_VERSION_NUMBER >= 0x10000000L -- q_sk_free( (_STACK *) intermediates); --#else -- q_sk_free( (STACK *) intermediates); --#endif -+ q_OPENSSL_sk_free((OPENSSL_STACK *)intermediates); - - // Now process the errors - const auto errorList = std::move(_q_sslErrorList()->errors); -@@ -1821,7 +1515,8 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device, - // Convert to Qt types - if (!key->d->fromEVP_PKEY(pkey)) { - qCWarning(lcSsl, "Unable to convert private key"); -- q_sk_pop_free(reinterpret_cast(ca), reinterpret_cast(q_sk_free)); -+ q_OPENSSL_sk_pop_free(reinterpret_cast(ca), -+ reinterpret_cast(q_OPENSSL_sk_free)); - q_X509_free(x509); - q_EVP_PKEY_free(pkey); - q_PKCS12_free(p12); -@@ -1836,7 +1531,11 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device, - *caCertificates = QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(ca); - - // Clean up -- q_sk_pop_free(reinterpret_cast(ca), reinterpret_cast(q_sk_free)); -+ // TODO: verify ASAP, in the past we had sk_pop_free with q_OPENSSL_sk_free -+ // which seems to be blatantly wrong and even crashes with 1.1. -+ q_OPENSSL_sk_pop_free(reinterpret_cast(ca), -+ reinterpret_cast(q_X509_free)); -+ - q_X509_free(x509); - q_EVP_PKEY_free(pkey); - q_PKCS12_free(p12); -diff --git a/src/network/ssl/qsslsocket_openssl11.cpp b/src/network/ssl/qsslsocket_openssl11.cpp -new file mode 100644 -index 0000000000..b6d18943a5 ---- /dev/null -+++ b/src/network/ssl/qsslsocket_openssl11.cpp -@@ -0,0 +1,285 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2017 The Qt Company Ltd. -+** Copyright (C) 2014 Governikus GmbH & Co. KG -+** Copyright (C) 2016 Richard J. Moore -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the QtNetwork module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 3 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL3 included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 3 requirements -+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 2.0 or (at your option) the GNU General -+** Public license version 3 or any later version approved by the KDE Free -+** Qt Foundation. The licenses are as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-2.0.html and -+** https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+/**************************************************************************** -+** -+** In addition, as a special exception, the copyright holders listed above give -+** permission to link the code of its release of Qt with the OpenSSL project's -+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the -+** same license as the original version), and distribute the linked executables. -+** -+** You must comply with the GNU General Public License version 2 in all -+** respects for all of the code used other than the "OpenSSL" code. If you -+** modify this file, you may extend this exception to your version of the file, -+** but you are not obligated to do so. If you do not wish to do so, delete -+** this exception statement from your version of this file. -+** -+****************************************************************************/ -+ -+//#define QT_DECRYPT_SSL_TRAFFIC -+ -+#include "qssl_p.h" -+#include "qsslsocket_openssl_p.h" -+#include "qsslsocket_openssl_symbols_p.h" -+#include "qsslsocket.h" -+#include "qsslkey.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+QT_BEGIN_NAMESPACE -+ -+Q_GLOBAL_STATIC_WITH_ARGS(QMutex, qt_opensslInitMutex, (QMutex::Recursive)) -+ -+/*! -+ \internal -+*/ -+void QSslSocketPrivate::deinitialize() -+{ -+ // This function exists only for compatibility with the pre-11 code, -+ // where deinitialize() actually does some cleanup. To be discarded -+ // once we retire < 1.1. -+} -+ -+bool QSslSocketPrivate::ensureLibraryLoaded() -+{ -+ if (!q_resolveOpenSslSymbols()) -+ return false; -+ -+ const QMutexLocker locker(qt_opensslInitMutex); -+ -+ if (!s_libraryLoaded) { -+ s_libraryLoaded = true; -+ -+ // Initialize OpenSSL. -+ if (q_OPENSSL_init_ssl(0, nullptr) != 1) -+ return false; -+ q_SSL_load_error_strings(); -+ q_OpenSSL_add_all_algorithms(); -+ -+ QSslSocketBackendPrivate::s_indexForSSLExtraData -+ = q_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, 0L, nullptr, nullptr, -+ nullptr, nullptr); -+ -+ // Initialize OpenSSL's random seed. -+ if (!q_RAND_status()) { -+ qWarning("Random number generator not seeded, disabling SSL support"); -+ return false; -+ } -+ } -+ return true; -+} -+ -+void QSslSocketPrivate::ensureCiphersAndCertsLoaded() -+{ -+ const QMutexLocker locker(qt_opensslInitMutex); -+ -+ if (s_loadedCiphersAndCerts) -+ return; -+ s_loadedCiphersAndCerts = true; -+ -+ resetDefaultCiphers(); -+ resetDefaultEllipticCurves(); -+ -+#if QT_CONFIG(library) -+ //load symbols needed to receive certificates from system store -+#if defined(Q_OS_WIN) -+ HINSTANCE hLib = LoadLibraryW(L"Crypt32"); -+ if (hLib) { -+ ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW"); -+ ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore"); -+ ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore"); -+ if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore) -+ qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen -+ } else { -+ qCWarning(lcSsl, "could not load crypt32 library"); // should never happen -+ } -+#elif defined(Q_OS_QNX) -+ s_loadRootCertsOnDemand = true; -+#elif defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) -+ // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there) -+ QList dirs = unixRootCertDirectories(); -+ QStringList symLinkFilter; -+ symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]"); -+ for (int a = 0; a < dirs.count(); ++a) { -+ QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files); -+ if (iterator.hasNext()) { -+ s_loadRootCertsOnDemand = true; -+ break; -+ } -+ } -+#endif -+#endif // QT_CONFIG(library) -+ // if on-demand loading was not enabled, load the certs now -+ if (!s_loadRootCertsOnDemand) -+ setDefaultCaCertificates(systemCaCertificates()); -+#ifdef Q_OS_WIN -+ //Enabled for fetching additional root certs from windows update on windows 6+ -+ //This flag is set false by setDefaultCaCertificates() indicating the app uses -+ //its own cert bundle rather than the system one. -+ //Same logic that disables the unix on demand cert loading. -+ //Unlike unix, we do preload the certificates from the cert store. -+ if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0) -+ s_loadRootCertsOnDemand = true; -+#endif -+} -+ -+long QSslSocketPrivate::sslLibraryVersionNumber() -+{ -+ if (!supportsSsl()) -+ return 0; -+ -+ return q_OpenSSL_version_num(); -+} -+ -+QString QSslSocketPrivate::sslLibraryVersionString() -+{ -+ if (!supportsSsl()) -+ return QString(); -+ -+ const char *versionString = q_OpenSSL_version(OPENSSL_VERSION); -+ if (!versionString) -+ return QString(); -+ -+ return QString::fromLatin1(versionString); -+} -+ -+void QSslSocketBackendPrivate::continueHandshake() -+{ -+ Q_Q(QSslSocket); -+ // if we have a max read buffer size, reset the plain socket's to match -+ if (readBufferMaxSize) -+ plainSocket->setReadBufferSize(readBufferMaxSize); -+ -+ if (q_SSL_session_reused(ssl)) -+ configuration.peerSessionShared = true; -+ -+#ifdef QT_DECRYPT_SSL_TRAFFIC -+ if (q_SSL_get_session(ssl)) { -+ size_t master_key_len = q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl), 0, 0); -+ size_t client_random_len = q_SSL_get_client_random(ssl, 0, 0); -+ QByteArray masterKey(int(master_key_len), 0); // Will not overflow -+ QByteArray clientRandom(int(client_random_len), 0); // Will not overflow -+ -+ q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl), -+ reinterpret_cast(masterKey.data()), -+ masterKey.size()); -+ q_SSL_get_client_random(ssl, reinterpret_cast(clientRandom.data()), -+ clientRandom.size()); -+ -+ QByteArray debugLineClientRandom("CLIENT_RANDOM "); -+ debugLineClientRandom.append(clientRandom.toHex().toUpper()); -+ debugLineClientRandom.append(" "); -+ debugLineClientRandom.append(masterKey.toHex().toUpper()); -+ debugLineClientRandom.append("\n"); -+ -+ QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys"); -+ QFile file(sslKeyFile); -+ if (!file.open(QIODevice::Append)) -+ qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending"; -+ if (!file.write(debugLineClientRandom)) -+ qCWarning(lcSsl) << "could not write to file" << sslKeyFile; -+ file.close(); -+ } else { -+ qCWarning(lcSsl, "could not decrypt SSL traffic"); -+ } -+#endif -+ -+ // Cache this SSL session inside the QSslContext -+ if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) { -+ if (!sslContextPointer->cacheSession(ssl)) { -+ sslContextPointer.clear(); // we could not cache the session -+ } else { -+ // Cache the session for permanent usage as well -+ if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) { -+ if (!sslContextPointer->sessionASN1().isEmpty()) -+ configuration.sslSession = sslContextPointer->sessionASN1(); -+ configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint(); -+ } -+ } -+ } -+ -+#if !defined(OPENSSL_NO_NEXTPROTONEG) -+ -+ configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status; -+ if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) { -+ // we could not agree -> be conservative and use HTTP/1.1 -+ configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1"); -+ } else { -+ const unsigned char *proto = 0; -+ unsigned int proto_len = 0; -+ -+ q_SSL_get0_alpn_selected(ssl, &proto, &proto_len); -+ if (proto_len && mode == QSslSocket::SslClientMode) { -+ // Client does not have a callback that sets it ... -+ configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated; -+ } -+ -+ if (!proto_len) { // Test if NPN was more lucky ... -+ q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len); -+ } -+ -+ if (proto_len) -+ configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast(proto), proto_len); -+ else -+ configuration.nextNegotiatedProtocol.clear(); -+ } -+#endif // !defined(OPENSSL_NO_NEXTPROTONEG) -+ -+ if (mode == QSslSocket::SslClientMode) { -+ EVP_PKEY *key; -+ if (q_SSL_get_server_tmp_key(ssl, &key)) -+ configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey); -+ } -+ -+ connectionEncrypted = true; -+ emit q->encrypted(); -+ if (autoStartHandshake && pendingClose) { -+ pendingClose = false; -+ q->disconnectFromHost(); -+ } -+} -+ -+QT_END_NAMESPACE -diff --git a/src/network/ssl/qsslsocket_openssl11_symbols_p.h b/src/network/ssl/qsslsocket_openssl11_symbols_p.h -new file mode 100644 -index 0000000000..2980b3d23e ---- /dev/null -+++ b/src/network/ssl/qsslsocket_openssl11_symbols_p.h -@@ -0,0 +1,132 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2017 The Qt Company Ltd. -+** Copyright (C) 2014 BlackBerry Limited. All rights reserved. -+** Copyright (C) 2016 Richard J. Moore -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the QtNetwork module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 3 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL3 included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 3 requirements -+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 2.0 or (at your option) the GNU General -+** Public license version 3 or any later version approved by the KDE Free -+** Qt Foundation. The licenses are as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-2.0.html and -+** https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+/**************************************************************************** -+** -+** In addition, as a special exception, the copyright holders listed above give -+** permission to link the code of its release of Qt with the OpenSSL project's -+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the -+** same license as the original version), and distribute the linked executables. -+** -+** You must comply with the GNU General Public License version 2 in all -+** respects for all of the code used other than the "OpenSSL" code. If you -+** modify this file, you may extend this exception to your version of the file, -+** but you are not obligated to do so. If you do not wish to do so, delete -+** this exception statement from your version of this file. -+** -+****************************************************************************/ -+ -+#ifndef QSSLSOCKET_OPENSSL11_SYMBOLS_P_H -+#define QSSLSOCKET_OPENSSL11_SYMBOLS_P_H -+ -+// -+// W A R N I N G -+// ------------- -+// -+// This file is not part of the Qt API. It exists purely as an -+// implementation detail. This header file may change from version to -+// version without notice, or even be removed. -+// -+// We mean it. -+// -+ -+// Note: this file does not have QT_BEGIN_NAMESPACE/QT_END_NAMESPACE, it's done -+// in qsslsocket_openssl_symbols_p.h. -+ -+#ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H -+#error "You are not supposed to use this header file, include qsslsocket_openssl_symbols_p.h instead" -+#endif -+ -+const unsigned char * q_ASN1_STRING_get0_data(const ASN1_STRING *x); -+ -+Q_AUTOTEST_EXPORT BIO *q_BIO_new(const BIO_METHOD *a); -+Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem(); -+ -+int q_DSA_bits(DSA *a); -+int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c); -+int q_EVP_PKEY_base_id(EVP_PKEY *a); -+int q_RSA_bits(RSA *a); -+int q_OPENSSL_sk_num(OPENSSL_STACK *a); -+void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *)); -+OPENSSL_STACK *q_OPENSSL_sk_new_null(); -+void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data); -+void q_OPENSSL_sk_free(OPENSSL_STACK *a); -+void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b); -+int q_SSL_session_reused(SSL *a); -+unsigned long q_SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op); -+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); -+size_t q_SSL_get_client_random(SSL *a, unsigned char *out, size_t outlen); -+size_t q_SSL_SESSION_get_master_key(const SSL_SESSION *session, unsigned char *out, size_t outlen); -+int q_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -+const SSL_METHOD *q_TLS_method(); -+const SSL_METHOD *q_TLS_client_method(); -+const SSL_METHOD *q_TLS_server_method(); -+ASN1_TIME *q_X509_getm_notBefore(X509 *a); -+ASN1_TIME *q_X509_getm_notAfter(X509 *a); -+ -+long q_X509_get_version(X509 *a); -+EVP_PKEY *q_X509_get_pubkey(X509 *a); -+void q_X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb); -+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx); -+void q_DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); -+int q_DH_bits(DH *dh); -+ -+# define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \ -+ | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) -+ -+#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_OPENSSL_sk_num)(st) -+#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_OPENSSL_sk_value)(st, i) -+ -+#define q_OPENSSL_add_all_algorithms_conf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ -+ | OPENSSL_INIT_ADD_ALL_DIGESTS \ -+ | OPENSSL_INIT_LOAD_CONFIG, NULL) -+#define q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ -+ | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL) -+ -+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); -+void q_CRYPTO_free(void *str, const char *file, int line); -+ -+long q_OpenSSL_version_num(); -+const char *q_OpenSSL_version(int type); -+ -+unsigned long q_SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *session); -+ -+#endif -diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h -index b2adb3e547..7f9e884045 100644 ---- a/src/network/ssl/qsslsocket_openssl_p.h -+++ b/src/network/ssl/qsslsocket_openssl_p.h -@@ -1,6 +1,6 @@ - /**************************************************************************** - ** --** Copyright (C) 2016 The Qt Company Ltd. -+** Copyright (C) 2017 The Qt Company Ltd. - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the QtNetwork module of the Qt Toolkit. -@@ -98,8 +98,8 @@ - #include - #include - --#if OPENSSL_VERSION_NUMBER >= 0x10000000L --typedef _STACK STACK; -+#if QT_CONFIG(opensslv11) -+#include - #endif - - QT_BEGIN_NAMESPACE -@@ -151,7 +151,7 @@ public: - #endif - - Q_AUTOTEST_EXPORT static long setupOpenSslOptions(QSsl::SslProtocol protocol, QSsl::SslOptions sslOptions); -- static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher); -+ static QSslCipher QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher); - static QList STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509); - static QList verify(const QList &certificateChain, const QString &hostName); - static QString getErrorsFromOpenSsl(); -diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp -index c344a94427..0ef8bf6b5e 100644 ---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp -+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp -@@ -1,7 +1,8 @@ - /**************************************************************************** - ** --** Copyright (C) 2016 The Qt Company Ltd. -+** Copyright (C) 2017 The Qt Company Ltd. - ** Copyright (C) 2014 BlackBerry Limited. All rights reserved. -+** Copyright (C) 2016 Richard J. Moore - ** Contact: https://www.qt.io/licensing/ - ** - ** This file is part of the QtNetwork module of the Qt Toolkit. -@@ -136,49 +137,195 @@ void qsslSocketCannotResolveSymbolWarning(const char *functionName) - - #endif // QT_LINKED_OPENSSL - -+#if QT_CONFIG(opensslv11) -+ -+// Below are the functions first introduced in version 1.1: -+ -+DEFINEFUNC(const unsigned char *, ASN1_STRING_get0_data, const ASN1_STRING *a, a, return 0, return) -+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return) -+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return) -+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return) -+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) -+DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return) -+DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return) -+DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return) -+DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return) -+DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return) -+DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return) -+DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG) -+DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG) -+DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG) -+DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return 0, return) -+DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return) -+DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return) -+DEFINEFUNC3(size_t, SSL_get_client_random, SSL *a, a, unsigned char *out, out, size_t outlen, outlen, return 0, return) -+DEFINEFUNC3(size_t, SSL_SESSION_get_master_key, const SSL_SESSION *ses, ses, unsigned char *out, out, size_t outlen, outlen, return 0, return) -+DEFINEFUNC6(int, CRYPTO_get_ex_new_index, int class_index, class_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return) -+ -+DEFINEFUNC(const SSL_METHOD *, TLS_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *a, a, return 0, return) -+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *a, a, return 0, return) -+DEFINEFUNC(long, X509_get_version, X509 *a, a, return -1, return) -+DEFINEFUNC(EVP_PKEY *, X509_get_pubkey, X509 *a, a, return 0, return) -+DEFINEFUNC2(void, X509_STORE_set_verify_cb, X509_STORE *a, a, X509_STORE_CTX_verify_cb verify_cb, verify_cb, return, DUMMYARG) -+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return) -+DEFINEFUNC3(void, CRYPTO_free, void *str, str, const char *file, file, int line, line, return, DUMMYARG) -+DEFINEFUNC(long, OpenSSL_version_num, void, DUMMYARG, return 0, return) -+DEFINEFUNC(const char *, OpenSSL_version, int a, a, return 0, return) -+DEFINEFUNC(unsigned long, SSL_SESSION_get_ticket_lifetime_hint, const SSL_SESSION *session, session, return 0, return) -+DEFINEFUNC4(void, DH_get0_pqg, const DH *dh, dh, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, DUMMYARG) -+DEFINEFUNC(int, DH_bits, DH *dh, dh, return 0, return) -+ -+#else // QT_CONFIG(opensslv11) -+ -+// Functions below are either deprecated or removed in OpenSSL >= 1.1: -+ -+DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return) -+ - #ifdef SSLEAY_MACROS - DEFINEFUNC3(void *, ASN1_dup, i2d_of_void *a, a, d2i_of_void *b, b, char *c, c, return 0, return) - #endif -+DEFINEFUNC2(BIO *, BIO_new_file, const char *filename, filename, const char *mode, mode, return 0, return) -+DEFINEFUNC(void, ERR_clear_error, DUMMYARG, DUMMYARG, return, DUMMYARG) -+DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return) -+DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) -+DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG) -+DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG) -+DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG) -+DEFINEFUNC(unsigned long, ERR_peek_last_error, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG) -+DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG) -+DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG) -+ -+#ifdef SSLEAY_MACROS -+DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return) -+DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return) -+#endif // SSLEAY_MACROS -+ -+DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return) -+DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG) -+DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG) -+DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return) -+#else -+DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG) -+DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG) -+DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return) -+#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L -+ -+DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return) -+DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG) -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return) -+#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10000000L -+#ifndef OPENSSL_NO_SSL2 -+DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+#ifndef OPENSSL_NO_SSL3_METHOD -+DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+#ifndef OPENSSL_NO_SSL2 -+DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+#ifndef OPENSSL_NO_SSL3_METHOD -+DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+#else -+#ifndef OPENSSL_NO_SSL2 -+DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+#ifndef OPENSSL_NO_SSL3_METHOD -+DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) -+#ifndef OPENSSL_NO_SSL2 -+DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+#ifndef OPENSSL_NO_SSL3_METHOD -+DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) -+#endif -+ -+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return) -+ -+#ifdef SSLEAY_MACROS -+DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return) -+DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return) -+#ifndef OPENSSL_NO_EC -+DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return) -+#endif -+DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return) -+DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return) -+#ifndef OPENSSL_NO_EC -+DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return) -+#endif -+#endif -+DEFINEFUNC(char *, CONF_get1_default_config_file, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG) -+DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG) -+DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return) -+DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return) -+ -+#endif // QT_CONFIG(opensslv11) -+ - DEFINEFUNC(long, ASN1_INTEGER_get, ASN1_INTEGER *a, a, return 0, return) --DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return) - DEFINEFUNC(int, ASN1_STRING_length, ASN1_STRING *a, a, return 0, return) --DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return); -+DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return) - DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return) - DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return) --DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return) - DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return) - DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return) --DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) -+ - DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return) - DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return) --#if OPENSSL_VERSION_NUMBER >= 0x10100000L --DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return) --#endif - DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return static_cast(-1), return) - #ifndef OPENSSL_NO_EC - DEFINEFUNC(const EC_GROUP*, EC_KEY_get0_group, const EC_KEY* k, k, return 0, return) - DEFINEFUNC(int, EC_GROUP_get_degree, const EC_GROUP* g, g, return 0, return) - #endif --DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG) --DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG) --DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG) - DEFINEFUNC(DSA *, DSA_new, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG) - DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, const unsigned char **b, b, long c, c, return 0, return) - DEFINEFUNC2(char *, ERR_error_string, unsigned long a, a, char *b, b, return 0, return) - DEFINEFUNC(unsigned long, ERR_get_error, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG) --DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG) --DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG) --DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return); -+DEFINEFUNC(EVP_CIPHER_CTX *, EVP_CIPHER_CTX_new, void, DUMMYARG, return 0, return) -+DEFINEFUNC(void, EVP_CIPHER_CTX_free, EVP_CIPHER_CTX *a, a, return, DUMMYARG) -+DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return) - DEFINEFUNC2(int, EVP_CIPHER_CTX_set_key_length, EVP_CIPHER_CTX *ctx, ctx, int keylen, keylen, return 0, return) --DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return); --DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return); --DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return); -+DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return) -+DEFINEFUNC6(int, EVP_CipherInit_ex, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *cipher, cipher, ENGINE *impl, impl, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return) -+DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return) -+DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return) - DEFINEFUNC(const EVP_CIPHER *, EVP_des_cbc, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(const EVP_CIPHER *, EVP_des_ede3_cbc, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(const EVP_CIPHER *, EVP_rc2_cbc, DUMMYARG, DUMMYARG, return 0, return) -+DEFINEFUNC(const EVP_MD *, EVP_sha1, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC3(int, EVP_PKEY_assign, EVP_PKEY *a, a, int b, b, char *c, c, return -1, return) - DEFINEFUNC2(int, EVP_PKEY_set1_RSA, EVP_PKEY *a, a, RSA *b, b, return -1, return) - DEFINEFUNC2(int, EVP_PKEY_set1_DSA, EVP_PKEY *a, a, DSA *b, b, return -1, return) -@@ -202,10 +349,8 @@ DEFINEFUNC3(int, i2t_ASN1_OBJECT, char *a, a, int b, b, ASN1_OBJECT *c, c, retur - DEFINEFUNC4(int, OBJ_obj2txt, char *a, a, int b, b, ASN1_OBJECT *c, c, int d, d, return -1, return) - - DEFINEFUNC(int, OBJ_obj2nid, const ASN1_OBJECT *a, a, return NID_undef, return) --#ifdef SSLEAY_MACROS --DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return) --DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return) --#else -+ -+#ifndef SSLEAY_MACROS - DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PrivateKey, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return) - DEFINEFUNC4(DSA *, PEM_read_bio_DSAPrivateKey, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return) - DEFINEFUNC4(RSA *, PEM_read_bio_RSAPrivateKey, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return) -@@ -218,7 +363,7 @@ DEFINEFUNC7(int, PEM_write_bio_RSAPrivateKey, BIO *a, a, RSA *b, b, const EVP_CI - #ifndef OPENSSL_NO_EC - DEFINEFUNC7(int, PEM_write_bio_ECPrivateKey, BIO *a, a, EC_KEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return) - #endif --#endif -+#endif // !SSLEAY_MACROS - DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PUBKEY, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return) - DEFINEFUNC4(DSA *, PEM_read_bio_DSA_PUBKEY, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return) - DEFINEFUNC4(RSA *, PEM_read_bio_RSA_PUBKEY, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return) -@@ -234,23 +379,10 @@ DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG) - DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return) - DEFINEFUNC(RSA *, RSA_new, DUMMYARG, DUMMYARG, return 0, return) - DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG) --DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return) --DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) --#if OPENSSL_VERSION_NUMBER >= 0x10000000L --DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG) --DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG) --DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return) --#else --DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG) --DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG) --DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return) --#endif - DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return) - DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return) --DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return) --DEFINEFUNC2(int, SSL_CIPHER_get_bits, SSL_CIPHER *a, a, int *b, b, return 0, return) -+DEFINEFUNC3(char *, SSL_CIPHER_description, const SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return) -+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *a, a, int *b, b, return 0, return) - DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return) - DEFINEFUNC(int, SSL_CTX_check_private_key, const SSL_CTX *a, a, return -1, return) - DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return) -@@ -287,8 +419,6 @@ DEFINEFUNC(long, SSL_get_verify_result, const SSL *a, a, return -1, return) - #else - DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return) - #endif --DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return) --DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG) - DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return) - DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return) - DEFINEFUNC3(int, SSL_read, SSL *a, a, void *b, b, int c, c, return -1, return) -@@ -301,7 +431,6 @@ DEFINEFUNC(void, SSL_SESSION_free, SSL_SESSION *ses, ses, return, DUMMYARG) - DEFINEFUNC(SSL_SESSION*, SSL_get1_session, SSL *ssl, ssl, return 0, return) - DEFINEFUNC(SSL_SESSION*, SSL_get_session, const SSL *ssl, ssl, return 0, return) - #if OPENSSL_VERSION_NUMBER >= 0x10001000L --DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return) - DEFINEFUNC3(int, SSL_set_ex_data, SSL *ssl, ssl, int idx, idx, void *arg, arg, return 0, return) - DEFINEFUNC2(void *, SSL_get_ex_data, const SSL *ssl, ssl, int idx, idx, return NULL, return) - #endif -@@ -310,51 +439,9 @@ DEFINEFUNC2(void, SSL_set_psk_client_callback, SSL* ssl, ssl, q_psk_client_callb - DEFINEFUNC2(void, SSL_set_psk_server_callback, SSL* ssl, ssl, q_psk_server_callback_t callback, callback, return, DUMMYARG) - DEFINEFUNC2(int, SSL_CTX_use_psk_identity_hint, SSL_CTX* ctx, ctx, const char *hint, hint, return 0, return) - #endif --#if OPENSSL_VERSION_NUMBER >= 0x10000000L --#ifndef OPENSSL_NO_SSL2 --DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --#ifndef OPENSSL_NO_SSL3_METHOD --DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) --#if OPENSSL_VERSION_NUMBER >= 0x10001000L --DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --#ifndef OPENSSL_NO_SSL2 --DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --#ifndef OPENSSL_NO_SSL3_METHOD --DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) --#if OPENSSL_VERSION_NUMBER >= 0x10001000L --DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --#else --#ifndef OPENSSL_NO_SSL2 --DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --#ifndef OPENSSL_NO_SSL3_METHOD --DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) --#ifndef OPENSSL_NO_SSL2 --DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --#ifndef OPENSSL_NO_SSL3_METHOD --DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) --#endif --DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) --DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) --#endif - DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return) - DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return) -+DEFINEFUNC4(int, X509_digest, const X509 *x509, x509, const EVP_MD *type, type, unsigned char *md, md, unsigned int *len, len, return -1, return) - #ifndef SSLEAY_MACROS - DEFINEFUNC(X509 *, X509_dup, X509 *a, a, return 0, return) - #endif -@@ -378,6 +465,7 @@ DEFINEFUNC2(int, ASN1_STRING_print, BIO *a, a, ASN1_STRING *b, b, return 0, retu - DEFINEFUNC2(int, X509_check_issued, X509 *a, a, X509 *b, b, return -1, return) - DEFINEFUNC(X509_NAME *, X509_get_issuer_name, X509 *a, a, return 0, return) - DEFINEFUNC(X509_NAME *, X509_get_subject_name, X509 *a, a, return 0, return) -+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *a, a, return 0, return) - DEFINEFUNC(int, X509_verify_cert, X509_STORE_CTX *a, a, return -1, return) - DEFINEFUNC(int, X509_NAME_entry_count, X509_NAME *a, a, return 0, return) - DEFINEFUNC2(X509_NAME_ENTRY *, X509_NAME_get_entry, X509_NAME *a, a, int b, b, return 0, return) -@@ -393,25 +481,8 @@ DEFINEFUNC2(int, X509_STORE_CTX_set_purpose, X509_STORE_CTX *a, a, int b, b, ret - DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return) - DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return) - DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return) --DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return) - DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return) --#ifdef SSLEAY_MACROS --DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return) --DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return) --#ifndef OPENSSL_NO_EC --DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return) --#endif --DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return) --DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return) --#ifndef OPENSSL_NO_EC --DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return) --#endif --#endif --DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG) --DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG) - DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return) --DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return) --DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return) - DEFINEFUNC2(int, i2d_SSL_SESSION, SSL_SESSION *in, in, unsigned char **pp, pp, return 0, return) - DEFINEFUNC3(SSL_SESSION *, d2i_SSL_SESSION, SSL_SESSION **a, a, const unsigned char **pp, pp, long length, length, return 0, return) - #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG) -@@ -694,8 +765,8 @@ static QPair loadOpenSsl() - #ifndef Q_OS_DARWIN - // second attempt: find the development files libssl.so and libcrypto.so - // -- // disabled on OS X/iOS: -- // OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third -+ // disabled on macOS/iOS: -+ // macOS's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third - // attempt, _after_ /Contents/Frameworks has been searched. - // iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place. - libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); -@@ -754,7 +825,11 @@ bool q_resolveOpenSslSymbols() - static bool symbolsResolved = false; - static bool triedToResolveSymbols = false; - #ifndef QT_NO_THREAD -+#if QT_CONFIG(opensslv11) -+ QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl)); -+#else - QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init)); -+#endif - #endif - if (symbolsResolved) - return true; -@@ -771,11 +846,145 @@ bool q_resolveOpenSslSymbols() - // failed to load them - return false; - -+#if QT_CONFIG(opensslv11) -+ -+ RESOLVEFUNC(OPENSSL_init_ssl) -+ RESOLVEFUNC(OPENSSL_init_crypto) -+ RESOLVEFUNC(ASN1_STRING_get0_data) -+ RESOLVEFUNC(EVP_CIPHER_CTX_reset) -+ RESOLVEFUNC(EVP_PKEY_base_id) -+ RESOLVEFUNC(RSA_bits) -+ RESOLVEFUNC(OPENSSL_sk_new_null) -+ RESOLVEFUNC(OPENSSL_sk_push) -+ RESOLVEFUNC(OPENSSL_sk_free) -+ RESOLVEFUNC(OPENSSL_sk_num) -+ RESOLVEFUNC(OPENSSL_sk_pop_free) -+ RESOLVEFUNC(OPENSSL_sk_value) -+ RESOLVEFUNC(DH_get0_pqg) -+ RESOLVEFUNC(SSL_CTX_set_options) -+ RESOLVEFUNC(SSL_get_client_random) -+ RESOLVEFUNC(SSL_SESSION_get_master_key) -+ RESOLVEFUNC(SSL_session_reused) -+ RESOLVEFUNC(SSL_get_session) -+ RESOLVEFUNC(CRYPTO_get_ex_new_index) -+ RESOLVEFUNC(TLS_method) -+ RESOLVEFUNC(TLS_client_method) -+ RESOLVEFUNC(TLS_server_method) -+ RESOLVEFUNC(X509_STORE_CTX_get0_chain) -+ RESOLVEFUNC(X509_getm_notBefore) -+ RESOLVEFUNC(X509_getm_notAfter) -+ RESOLVEFUNC(X509_get_version) -+ RESOLVEFUNC(X509_get_pubkey) -+ RESOLVEFUNC(X509_STORE_set_verify_cb) -+ RESOLVEFUNC(CRYPTO_free) -+ RESOLVEFUNC(OpenSSL_version_num) -+ RESOLVEFUNC(OpenSSL_version) -+ if (!_q_OpenSSL_version) { -+ // Apparently, we were built with OpenSSL 1.1 enabled but are now using -+ // a wrong library. -+ delete libs.first; -+ delete libs.second; -+ qCWarning(lcSsl, "Incompatible version of OpenSSL"); -+ return false; -+ } -+ -+ RESOLVEFUNC(SSL_SESSION_get_ticket_lifetime_hint) -+ RESOLVEFUNC(DH_bits) -+ RESOLVEFUNC(DSA_bits) -+ -+#else // !opensslv11 -+ -+ RESOLVEFUNC(ASN1_STRING_data) -+ - #ifdef SSLEAY_MACROS - RESOLVEFUNC(ASN1_dup) -+#endif // SSLEAY_MACROS -+ RESOLVEFUNC(BIO_new_file) -+ RESOLVEFUNC(ERR_clear_error) -+ RESOLVEFUNC(CRYPTO_free) -+ RESOLVEFUNC(CRYPTO_num_locks) -+ RESOLVEFUNC(CRYPTO_set_id_callback) -+ RESOLVEFUNC(CRYPTO_set_locking_callback) -+ RESOLVEFUNC(ERR_peek_last_error) -+ RESOLVEFUNC(ERR_free_strings) -+ RESOLVEFUNC(EVP_CIPHER_CTX_cleanup) -+ RESOLVEFUNC(EVP_CIPHER_CTX_init) -+ -+#ifdef SSLEAY_MACROS // ### verify -+ RESOLVEFUNC(PEM_ASN1_read_bio) -+#endif // SSLEAY_MACROS -+ -+ RESOLVEFUNC(sk_new_null) -+ RESOLVEFUNC(sk_push) -+ RESOLVEFUNC(sk_free) -+ RESOLVEFUNC(sk_num) -+ RESOLVEFUNC(sk_pop_free) -+ RESOLVEFUNC(sk_value) -+ RESOLVEFUNC(SSL_library_init) -+ RESOLVEFUNC(SSL_load_error_strings) -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+ RESOLVEFUNC(SSL_get_ex_new_index) -+#endif -+#ifndef OPENSSL_NO_SSL2 -+ RESOLVEFUNC(SSLv2_client_method) - #endif -+#ifndef OPENSSL_NO_SSL3_METHOD -+ RESOLVEFUNC(SSLv3_client_method) -+#endif -+ RESOLVEFUNC(SSLv23_client_method) -+ RESOLVEFUNC(TLSv1_client_method) -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+ RESOLVEFUNC(TLSv1_1_client_method) -+ RESOLVEFUNC(TLSv1_2_client_method) -+#endif -+#ifndef OPENSSL_NO_SSL2 -+ RESOLVEFUNC(SSLv2_server_method) -+#endif -+#ifndef OPENSSL_NO_SSL3_METHOD -+ RESOLVEFUNC(SSLv3_server_method) -+#endif -+ RESOLVEFUNC(SSLv23_server_method) -+ RESOLVEFUNC(TLSv1_server_method) -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+ RESOLVEFUNC(TLSv1_1_server_method) -+ RESOLVEFUNC(TLSv1_2_server_method) -+#endif -+ RESOLVEFUNC(X509_STORE_CTX_get_chain) -+#ifdef SSLEAY_MACROS -+ RESOLVEFUNC(i2d_DSAPrivateKey) -+ RESOLVEFUNC(i2d_RSAPrivateKey) -+ RESOLVEFUNC(d2i_DSAPrivateKey) -+ RESOLVEFUNC(d2i_RSAPrivateKey) -+#endif -+ RESOLVEFUNC(CONF_get1_default_config_file) -+ RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf) -+ RESOLVEFUNC(OPENSSL_add_all_algorithms_conf) -+ RESOLVEFUNC(SSLeay) -+ -+ if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) { -+ // OpenSSL 1.1 has deprecated and removed SSLeay. We consider a failure to -+ // resolve this symbol as a failure to resolve symbols. -+ // The right operand of '||' above is ... a bit of paranoia. -+ delete libs.first; -+ delete libs.second; -+ qCWarning(lcSsl, "Incompatible version of OpenSSL"); -+ return false; -+ } -+ -+ -+ RESOLVEFUNC(SSLeay_version) -+ -+#ifndef OPENSSL_NO_EC -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L -+ if (q_SSLeay() >= 0x10002000L) -+ RESOLVEFUNC(EC_curve_nist2nid) -+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L -+#endif // OPENSSL_NO_EC -+ -+ -+#endif // !opensslv11 -+ - RESOLVEFUNC(ASN1_INTEGER_get) -- RESOLVEFUNC(ASN1_STRING_data) - RESOLVEFUNC(ASN1_STRING_length) - RESOLVEFUNC(ASN1_STRING_to_UTF8) - RESOLVEFUNC(BIO_ctrl) -@@ -794,25 +1003,22 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(BN_is_word) - #endif - RESOLVEFUNC(BN_mod_word) -- RESOLVEFUNC(CRYPTO_free) -- RESOLVEFUNC(CRYPTO_num_locks) -- RESOLVEFUNC(CRYPTO_set_id_callback) -- RESOLVEFUNC(CRYPTO_set_locking_callback) - RESOLVEFUNC(DSA_new) - RESOLVEFUNC(DSA_free) - RESOLVEFUNC(ERR_error_string) - RESOLVEFUNC(ERR_get_error) -- RESOLVEFUNC(ERR_free_strings) -- RESOLVEFUNC(EVP_CIPHER_CTX_cleanup) -- RESOLVEFUNC(EVP_CIPHER_CTX_init) -+ RESOLVEFUNC(EVP_CIPHER_CTX_new) -+ RESOLVEFUNC(EVP_CIPHER_CTX_free) - RESOLVEFUNC(EVP_CIPHER_CTX_ctrl) - RESOLVEFUNC(EVP_CIPHER_CTX_set_key_length) - RESOLVEFUNC(EVP_CipherInit) -+ RESOLVEFUNC(EVP_CipherInit_ex) - RESOLVEFUNC(EVP_CipherUpdate) - RESOLVEFUNC(EVP_CipherFinal) - RESOLVEFUNC(EVP_des_cbc) - RESOLVEFUNC(EVP_des_ede3_cbc) - RESOLVEFUNC(EVP_rc2_cbc) -+ RESOLVEFUNC(EVP_sha1) - RESOLVEFUNC(EVP_PKEY_assign) - RESOLVEFUNC(EVP_PKEY_set1_RSA) - RESOLVEFUNC(EVP_PKEY_set1_DSA) -@@ -834,9 +1040,8 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(i2t_ASN1_OBJECT) - RESOLVEFUNC(OBJ_obj2txt) - RESOLVEFUNC(OBJ_obj2nid) --#ifdef SSLEAY_MACROS // ### verify -- RESOLVEFUNC(PEM_ASN1_read_bio) --#else -+ -+#ifndef SSLEAY_MACROS - RESOLVEFUNC(PEM_read_bio_PrivateKey) - RESOLVEFUNC(PEM_read_bio_DSAPrivateKey) - RESOLVEFUNC(PEM_read_bio_RSAPrivateKey) -@@ -849,7 +1054,8 @@ bool q_resolveOpenSslSymbols() - #ifndef OPENSSL_NO_EC - RESOLVEFUNC(PEM_write_bio_ECPrivateKey) - #endif --#endif -+#endif // !SSLEAY_MACROS -+ - RESOLVEFUNC(PEM_read_bio_PUBKEY) - RESOLVEFUNC(PEM_read_bio_DSA_PUBKEY) - RESOLVEFUNC(PEM_read_bio_RSA_PUBKEY) -@@ -865,12 +1071,6 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(RAND_status) - RESOLVEFUNC(RSA_new) - RESOLVEFUNC(RSA_free) -- RESOLVEFUNC(sk_new_null) -- RESOLVEFUNC(sk_push) -- RESOLVEFUNC(sk_free) -- RESOLVEFUNC(sk_num) -- RESOLVEFUNC(sk_pop_free) -- RESOLVEFUNC(sk_value) - RESOLVEFUNC(SSL_CIPHER_description) - RESOLVEFUNC(SSL_CIPHER_get_bits) - RESOLVEFUNC(SSL_CTX_check_private_key) -@@ -898,8 +1098,6 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(SSL_get_peer_cert_chain) - RESOLVEFUNC(SSL_get_peer_certificate) - RESOLVEFUNC(SSL_get_verify_result) -- RESOLVEFUNC(SSL_library_init) -- RESOLVEFUNC(SSL_load_error_strings) - RESOLVEFUNC(SSL_new) - RESOLVEFUNC(SSL_ctrl) - RESOLVEFUNC(SSL_read) -@@ -912,7 +1110,6 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(SSL_get1_session) - RESOLVEFUNC(SSL_get_session) - #if OPENSSL_VERSION_NUMBER >= 0x10001000L -- RESOLVEFUNC(SSL_get_ex_new_index) - RESOLVEFUNC(SSL_set_ex_data) - RESOLVEFUNC(SSL_get_ex_data) - #endif -@@ -922,30 +1119,6 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(SSL_CTX_use_psk_identity_hint) - #endif - RESOLVEFUNC(SSL_write) --#ifndef OPENSSL_NO_SSL2 -- RESOLVEFUNC(SSLv2_client_method) --#endif --#ifndef OPENSSL_NO_SSL3_METHOD -- RESOLVEFUNC(SSLv3_client_method) --#endif -- RESOLVEFUNC(SSLv23_client_method) -- RESOLVEFUNC(TLSv1_client_method) --#if OPENSSL_VERSION_NUMBER >= 0x10001000L -- RESOLVEFUNC(TLSv1_1_client_method) -- RESOLVEFUNC(TLSv1_2_client_method) --#endif --#ifndef OPENSSL_NO_SSL2 -- RESOLVEFUNC(SSLv2_server_method) --#endif --#ifndef OPENSSL_NO_SSL3_METHOD -- RESOLVEFUNC(SSLv3_server_method) --#endif -- RESOLVEFUNC(SSLv23_server_method) -- RESOLVEFUNC(TLSv1_server_method) --#if OPENSSL_VERSION_NUMBER >= 0x10001000L -- RESOLVEFUNC(TLSv1_1_server_method) -- RESOLVEFUNC(TLSv1_2_server_method) --#endif - RESOLVEFUNC(X509_NAME_entry_count) - RESOLVEFUNC(X509_NAME_get_entry) - RESOLVEFUNC(X509_NAME_ENTRY_get_data) -@@ -961,12 +1134,12 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(X509_STORE_CTX_get_error) - RESOLVEFUNC(X509_STORE_CTX_get_error_depth) - RESOLVEFUNC(X509_STORE_CTX_get_current_cert) -- RESOLVEFUNC(X509_STORE_CTX_get_chain) - RESOLVEFUNC(X509_cmp) - #ifndef SSLEAY_MACROS - RESOLVEFUNC(X509_dup) - #endif - RESOLVEFUNC(X509_print) -+ RESOLVEFUNC(X509_digest) - RESOLVEFUNC(X509_EXTENSION_get_object) - RESOLVEFUNC(X509_free) - RESOLVEFUNC(X509_get_ext) -@@ -982,20 +1155,11 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(X509_check_issued) - RESOLVEFUNC(X509_get_issuer_name) - RESOLVEFUNC(X509_get_subject_name) -+ RESOLVEFUNC(X509_get_serialNumber) - RESOLVEFUNC(X509_verify_cert) - RESOLVEFUNC(d2i_X509) - RESOLVEFUNC(i2d_X509) --#ifdef SSLEAY_MACROS -- RESOLVEFUNC(i2d_DSAPrivateKey) -- RESOLVEFUNC(i2d_RSAPrivateKey) -- RESOLVEFUNC(d2i_DSAPrivateKey) -- RESOLVEFUNC(d2i_RSAPrivateKey) --#endif -- RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf) -- RESOLVEFUNC(OPENSSL_add_all_algorithms_conf) - RESOLVEFUNC(SSL_CTX_load_verify_locations) -- RESOLVEFUNC(SSLeay) -- RESOLVEFUNC(SSLeay_version) - RESOLVEFUNC(i2d_SSL_SESSION) - RESOLVEFUNC(d2i_SSL_SESSION) - #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG) -@@ -1019,27 +1183,14 @@ bool q_resolveOpenSslSymbols() - RESOLVEFUNC(EC_KEY_new_by_curve_name) - RESOLVEFUNC(EC_KEY_free) - RESOLVEFUNC(EC_get_builtin_curves) --#if OPENSSL_VERSION_NUMBER >= 0x10002000L -- if (q_SSLeay() >= 0x10002000L) -- RESOLVEFUNC(EC_curve_nist2nid) --#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L - #endif // OPENSSL_NO_EC - RESOLVEFUNC(PKCS12_parse) - RESOLVEFUNC(d2i_PKCS12_bio) - RESOLVEFUNC(PKCS12_free) - -+ symbolsResolved = true; - delete libs.first; - delete libs.second; -- if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) { -- // OpenSSL 1.1 deprecated and removed SSLeay. We consider a failure to -- // resolve this symbol as a failure to resolve symbols. -- // The right operand of '||' above ... a bit of paranoia. -- qCWarning(lcSsl, "Incompatible version of OpenSSL"); -- return false; -- } -- -- symbolsResolved = true; -- - return true; - } - #endif // QT_CONFIG(library) -diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h -index b35a895d38..796bf2d4f5 100644 ---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h -+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h -@@ -1,6 +1,6 @@ - /**************************************************************************** - ** --** Copyright (C) 2016 The Qt Company Ltd. -+** Copyright (C) 2017 The Qt Company Ltd. - ** Copyright (C) 2014 BlackBerry Limited. All rights reserved. - ** Contact: https://www.qt.io/licensing/ - ** -@@ -56,6 +56,7 @@ - #ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H - #define QSSLSOCKET_OPENSSL_SYMBOLS_P_H - -+ - // - // W A R N I N G - // ------------- -@@ -215,17 +216,20 @@ QT_BEGIN_NAMESPACE - - #endif // !defined QT_LINKED_OPENSSL - -+#if QT_CONFIG(opensslv11) -+#include "qsslsocket_openssl11_symbols_p.h" -+#else -+#include "qsslsocket_opensslpre11_symbols_p.h" -+#endif // QT_CONFIG -+ - bool q_resolveOpenSslSymbols(); - long q_ASN1_INTEGER_get(ASN1_INTEGER *a); --unsigned char * q_ASN1_STRING_data(ASN1_STRING *a); - int q_ASN1_STRING_length(ASN1_STRING *a); - int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b); - long q_BIO_ctrl(BIO *a, int b, long c, void *d); - Q_AUTOTEST_EXPORT int q_BIO_free(BIO *a); --Q_AUTOTEST_EXPORT BIO *q_BIO_new(BIO_METHOD *a); - BIO *q_BIO_new_mem_buf(void *a, int b); - int q_BIO_read(BIO *a, void *b, int c); --Q_AUTOTEST_EXPORT BIO_METHOD *q_BIO_s_mem(); - Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c); - int q_BN_num_bits(const BIGNUM *a); - #if OPENSSL_VERSION_NUMBER >= 0x10100000L -@@ -247,26 +251,23 @@ BN_ULONG q_BN_mod_word(const BIGNUM *a, BN_ULONG w); - const EC_GROUP* q_EC_KEY_get0_group(const EC_KEY* k); - int q_EC_GROUP_get_degree(const EC_GROUP* g); - #endif --int q_CRYPTO_num_locks(); --void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int)); --void q_CRYPTO_set_id_callback(unsigned long (*a)()); --void q_CRYPTO_free(void *a); - DSA *q_DSA_new(); - void q_DSA_free(DSA *a); - X509 *q_d2i_X509(X509 **a, const unsigned char **b, long c); - char *q_ERR_error_string(unsigned long a, char *b); - unsigned long q_ERR_get_error(); --void q_ERR_free_strings(); --void q_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a); --void q_EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a); -+EVP_CIPHER_CTX *q_EVP_CIPHER_CTX_new(); -+void q_EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a); - int q_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); - int q_EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); - int q_EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *key, const unsigned char *iv, int enc); -+int q_EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc); - int q_EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl); - int q_EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); - const EVP_CIPHER *q_EVP_des_cbc(); - const EVP_CIPHER *q_EVP_des_ede3_cbc(); - const EVP_CIPHER *q_EVP_rc2_cbc(); -+const EVP_MD *q_EVP_sha1(); - int q_EVP_PKEY_assign(EVP_PKEY *a, int b, char *c); - Q_AUTOTEST_EXPORT int q_EVP_PKEY_set1_RSA(EVP_PKEY *a, RSA *b); - int q_EVP_PKEY_set1_DSA(EVP_PKEY *a, DSA *b); -@@ -310,7 +311,7 @@ int q_PEM_write_bio_RSAPrivateKey(BIO *a, RSA *b, const EVP_CIPHER *c, unsigned - int q_PEM_write_bio_ECPrivateKey(BIO *a, EC_KEY *b, const EVP_CIPHER *c, unsigned char *d, - int e, pem_password_cb *f, void *g); - #endif --#endif -+#endif // SSLEAY_MACROS - Q_AUTOTEST_EXPORT EVP_PKEY *q_PEM_read_bio_PUBKEY(BIO *a, EVP_PKEY **b, pem_password_cb *c, void *d); - DSA *q_PEM_read_bio_DSA_PUBKEY(BIO *a, DSA **b, pem_password_cb *c, void *d); - RSA *q_PEM_read_bio_RSA_PUBKEY(BIO *a, RSA **b, pem_password_cb *c, void *d); -@@ -326,23 +327,10 @@ void q_RAND_seed(const void *a, int b); - int q_RAND_status(); - RSA *q_RSA_new(); - void q_RSA_free(RSA *a); --int q_sk_num(STACK *a); --void q_sk_pop_free(STACK *a, void (*b)(void *)); --#if OPENSSL_VERSION_NUMBER >= 0x10000000L --_STACK *q_sk_new_null(); --void q_sk_push(_STACK *st, void *data); --void q_sk_free(_STACK *a); --void * q_sk_value(STACK *a, int b); --#else --STACK *q_sk_new_null(); --void q_sk_push(STACK *st, char *data); --void q_sk_free(STACK *a); --char * q_sk_value(STACK *a, int b); --#endif - int q_SSL_accept(SSL *a); - int q_SSL_clear(SSL *a); --char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c); --int q_SSL_CIPHER_get_bits(SSL_CIPHER *a, int *b); -+char *q_SSL_CIPHER_description(const SSL_CIPHER *a, char *b, int c); -+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *a, int *b); - int q_SSL_connect(SSL *a); - int q_SSL_CTX_check_private_key(const SSL_CTX *a); - long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d); -@@ -374,8 +362,6 @@ int q_SSL_get_error(SSL *a, int b); - STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a); - X509 *q_SSL_get_peer_certificate(SSL *a); - long q_SSL_get_verify_result(const SSL *a); --int q_SSL_library_init(); --void q_SSL_load_error_strings(); - SSL *q_SSL_new(SSL_CTX *a); - long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg); - int q_SSL_read(SSL *a, void *b, int c); -@@ -388,7 +374,6 @@ void q_SSL_SESSION_free(SSL_SESSION *ses); - SSL_SESSION *q_SSL_get1_session(SSL *ssl); - SSL_SESSION *q_SSL_get_session(const SSL *ssl); - #if OPENSSL_VERSION_NUMBER >= 0x10001000L --int q_SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); - int q_SSL_set_ex_data(SSL *ssl, int idx, void *arg); - void *q_SSL_get_ex_data(const SSL *ssl, int idx); - #endif -@@ -399,49 +384,6 @@ typedef unsigned int (*q_psk_server_callback_t)(SSL *ssl, const char *identity, - void q_SSL_set_psk_server_callback(SSL *ssl, q_psk_server_callback_t callback); - int q_SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint); - #endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK) --#if OPENSSL_VERSION_NUMBER >= 0x10000000L --#ifndef OPENSSL_NO_SSL2 --const SSL_METHOD *q_SSLv2_client_method(); --#endif --#ifndef OPENSSL_NO_SSL3_METHOD --const SSL_METHOD *q_SSLv3_client_method(); --#endif --const SSL_METHOD *q_SSLv23_client_method(); --const SSL_METHOD *q_TLSv1_client_method(); --const SSL_METHOD *q_TLSv1_1_client_method(); --const SSL_METHOD *q_TLSv1_2_client_method(); --#ifndef OPENSSL_NO_SSL2 --const SSL_METHOD *q_SSLv2_server_method(); --#endif --#ifndef OPENSSL_NO_SSL3_METHOD --const SSL_METHOD *q_SSLv3_server_method(); --#endif --const SSL_METHOD *q_SSLv23_server_method(); --const SSL_METHOD *q_TLSv1_server_method(); --const SSL_METHOD *q_TLSv1_1_server_method(); --const SSL_METHOD *q_TLSv1_2_server_method(); --#else --#ifndef OPENSSL_NO_SSL2 --SSL_METHOD *q_SSLv2_client_method(); --#endif --#ifndef OPENSSL_NO_SSL3_METHOD --SSL_METHOD *q_SSLv3_client_method(); --#endif --SSL_METHOD *q_SSLv23_client_method(); --SSL_METHOD *q_TLSv1_client_method(); --SSL_METHOD *q_TLSv1_1_client_method(); --SSL_METHOD *q_TLSv1_2_client_method(); --#ifndef OPENSSL_NO_SSL2 --SSL_METHOD *q_SSLv2_server_method(); --#endif --#ifndef OPENSSL_NO_SSL3_METHOD --SSL_METHOD *q_SSLv3_server_method(); --#endif --SSL_METHOD *q_SSLv23_server_method(); --SSL_METHOD *q_TLSv1_server_method(); --SSL_METHOD *q_TLSv1_1_server_method(); --SSL_METHOD *q_TLSv1_2_server_method(); --#endif - int q_SSL_write(SSL *a, const void *b, int c); - int q_X509_cmp(X509 *a, X509 *b); - #ifdef SSLEAY_MACROS -@@ -452,6 +394,7 @@ void *q_ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x); - X509 *q_X509_dup(X509 *a); - #endif - void q_X509_print(BIO *a, X509*b); -+int q_X509_digest(const X509 *x509, const EVP_MD *type, unsigned char *md, unsigned int *len); - ASN1_OBJECT *q_X509_EXTENSION_get_object(X509_EXTENSION *a); - void q_X509_free(X509 *a); - X509_EXTENSION *q_X509_get_ext(X509 *a, int b); -@@ -471,6 +414,7 @@ int q_ASN1_STRING_print(BIO *a, ASN1_STRING *b); - int q_X509_check_issued(X509 *a, X509 *b); - X509_NAME *q_X509_get_issuer_name(X509 *a); - X509_NAME *q_X509_get_subject_name(X509 *a); -+ASN1_INTEGER *q_X509_get_serialNumber(X509 *a); - int q_X509_verify_cert(X509_STORE_CTX *ctx); - int q_X509_NAME_entry_count(X509_NAME *a); - X509_NAME_ENTRY *q_X509_NAME_get_entry(X509_NAME *a,int b); -@@ -488,7 +432,6 @@ int q_X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); - int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); - int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); - X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); --STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); - - // Diffie-Hellman support - DH *q_DH_new(); -@@ -522,34 +465,9 @@ int q_PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, - PKCS12 *q_d2i_PKCS12_bio(BIO *bio, PKCS12 **pkcs12); - void q_PKCS12_free(PKCS12 *pkcs12); - -- - #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) - #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) --#ifdef SSLEAY_MACROS --int q_i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); --int q_i2d_RSAPrivateKey(const RSA *a, unsigned char **pp); --RSA *q_d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length); --DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length); --#define q_PEM_read_bio_RSAPrivateKey(bp, x, cb, u) \ -- (RSA *)q_PEM_ASN1_read_bio( \ -- (void *(*)(void**, const unsigned char**, long int))q_d2i_RSAPrivateKey, PEM_STRING_RSA, bp, (void **)x, cb, u) --#define q_PEM_read_bio_DSAPrivateKey(bp, x, cb, u) \ -- (DSA *)q_PEM_ASN1_read_bio( \ -- (void *(*)(void**, const unsigned char**, long int))q_d2i_DSAPrivateKey, PEM_STRING_DSA, bp, (void **)x, cb, u) --#define q_PEM_write_bio_RSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \ -- PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_RSAPrivateKey,PEM_STRING_RSA,\ -- bp,(char *)x,enc,kstr,klen,cb,u) --#define q_PEM_write_bio_DSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \ -- PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\ -- bp,(char *)x,enc,kstr,klen,cb,u) --#define q_PEM_read_bio_DHparams(bp, dh, cb, u) \ -- (DH *)q_PEM_ASN1_read_bio( \ -- (void *(*)(void**, const unsigned char**, long int))q_d2i_DHparams, PEM_STRING_DHPARAMS, bp, (void **)x, cb, u) --#endif --#define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) - #define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) --#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st) --#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i) - #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st)) - #define q_sk_GENERAL_NAME_value(st, i) q_SKM_sk_value(GENERAL_NAME, (st), (i)) - #define q_sk_X509_num(st) q_SKM_sk_num(X509, (st)) -@@ -558,18 +476,12 @@ DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length); - #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i)) - #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \ - q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509) --#define q_X509_get_notAfter(x) X509_get_notAfter(x) --#define q_X509_get_notBefore(x) X509_get_notBefore(x) - #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ - (char *)(rsa)) - #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ - (char *)(dsa)) - #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_conf() --void q_OPENSSL_add_all_algorithms_noconf(); --void q_OPENSSL_add_all_algorithms_conf(); - int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath); --long q_SSLeay(); --const char *q_SSLeay_version(int type); - int q_i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); - SSL_SESSION *q_d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length); - -diff --git a/src/network/ssl/qsslsocket_opensslpre11.cpp b/src/network/ssl/qsslsocket_opensslpre11.cpp -new file mode 100644 -index 0000000000..e51888c5f2 ---- /dev/null -+++ b/src/network/ssl/qsslsocket_opensslpre11.cpp -@@ -0,0 +1,424 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2017 The Qt Company Ltd. -+** Copyright (C) 2014 Governikus GmbH & Co. KG -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the QtNetwork module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 3 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL3 included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 3 requirements -+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 2.0 or (at your option) the GNU General -+** Public license version 3 or any later version approved by the KDE Free -+** Qt Foundation. The licenses are as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-2.0.html and -+** https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+/**************************************************************************** -+** -+** In addition, as a special exception, the copyright holders listed above give -+** permission to link the code of its release of Qt with the OpenSSL project's -+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the -+** same license as the original version), and distribute the linked executables. -+** -+** You must comply with the GNU General Public License version 2 in all -+** respects for all of the code used other than the "OpenSSL" code. If you -+** modify this file, you may extend this exception to your version of the file, -+** but you are not obligated to do so. If you do not wish to do so, delete -+** this exception statement from your version of this file. -+** -+****************************************************************************/ -+ -+//#define QT_DECRYPT_SSL_TRAFFIC -+ -+#include "qssl_p.h" -+#include "qsslsocket_openssl_p.h" -+#include "qsslsocket_openssl_symbols_p.h" -+#include "qsslsocket.h" -+#include "qsslkey.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+QT_BEGIN_NAMESPACE -+ -+/* \internal -+ -+ From OpenSSL's thread(3) manual page: -+ -+ OpenSSL can safely be used in multi-threaded applications provided that at -+ least two callback functions are set. -+ -+ locking_function(int mode, int n, const char *file, int line) is needed to -+ perform locking on shared data structures. (Note that OpenSSL uses a -+ number of global data structures that will be implicitly shared -+ whenever multiple threads use OpenSSL.) Multi-threaded -+ applications will crash at random if it is not set. ... -+ ... -+ id_function(void) is a function that returns a thread ID. It is not -+ needed on Windows nor on platforms where getpid() returns a different -+ ID for each thread (most notably Linux) -+*/ -+ -+class QOpenSslLocks -+{ -+public: -+ QOpenSslLocks() -+ : initLocker(QMutex::Recursive), -+ locksLocker(QMutex::Recursive) -+ { -+ QMutexLocker locker(&locksLocker); -+ int numLocks = q_CRYPTO_num_locks(); -+ locks = new QMutex *[numLocks]; -+ memset(locks, 0, numLocks * sizeof(QMutex *)); -+ } -+ ~QOpenSslLocks() -+ { -+ QMutexLocker locker(&locksLocker); -+ for (int i = 0; i < q_CRYPTO_num_locks(); ++i) -+ delete locks[i]; -+ delete [] locks; -+ -+ QSslSocketPrivate::deinitialize(); -+ } -+ QMutex *lock(int num) -+ { -+ QMutexLocker locker(&locksLocker); -+ QMutex *tmp = locks[num]; -+ if (!tmp) -+ tmp = locks[num] = new QMutex(QMutex::Recursive); -+ return tmp; -+ } -+ -+ QMutex *globalLock() -+ { -+ return &locksLocker; -+ } -+ -+ QMutex *initLock() -+ { -+ return &initLocker; -+ } -+ -+private: -+ QMutex initLocker; -+ QMutex locksLocker; -+ QMutex **locks; -+}; -+ -+Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks) -+ -+extern "C" { -+static void locking_function(int mode, int lockNumber, const char *, int) -+{ -+ QMutex *mutex = openssl_locks()->lock(lockNumber); -+ -+ // Lock or unlock it -+ if (mode & CRYPTO_LOCK) -+ mutex->lock(); -+ else -+ mutex->unlock(); -+} -+static unsigned long id_function() -+{ -+ return (quintptr)QThread::currentThreadId(); -+} -+ -+} // extern "C" -+ -+static void q_OpenSSL_add_all_algorithms_safe() -+{ -+#ifdef Q_OS_WIN -+ // Prior to version 1.0.1m an attempt to call OpenSSL_add_all_algorithms on -+ // Windows could result in 'exit' call from OPENSSL_config (QTBUG-43843). -+ // We can predict this and avoid OPENSSL_add_all_algorithms call. -+ // From OpenSSL docs: -+ // "An application does not need to add algorithms to use them explicitly, -+ // for example by EVP_sha1(). It just needs to add them if it (or any of -+ // the functions it calls) needs to lookup algorithms. -+ // The cipher and digest lookup functions are used in many parts of the -+ // library. If the table is not initialized several functions will -+ // misbehave and complain they cannot find algorithms. This includes the -+ // PEM, PKCS#12, SSL and S/MIME libraries. This is a common query in -+ // the OpenSSL mailing lists." -+ // -+ // Anyway, as a result, we chose not to call this function if it would exit. -+ -+ if (q_SSLeay() < 0x100010DFL) -+ { -+ // Now, before we try to call it, check if an attempt to open config file -+ // will result in exit: -+ if (char *confFileName = q_CONF_get1_default_config_file()) { -+ BIO *confFile = q_BIO_new_file(confFileName, "r"); -+ const auto lastError = q_ERR_peek_last_error(); -+ q_CRYPTO_free(confFileName); -+ if (confFile) { -+ q_BIO_free(confFile); -+ } else { -+ q_ERR_clear_error(); -+ if (ERR_GET_REASON(lastError) == ERR_R_SYS_LIB) { -+ qCWarning(lcSsl, "failed to open openssl.conf file"); -+ return; -+ } -+ } -+ } -+ } -+#endif // Q_OS_WIN -+ -+ q_OpenSSL_add_all_algorithms(); -+} -+ -+ -+/*! -+ \internal -+*/ -+void QSslSocketPrivate::deinitialize() -+{ -+ q_CRYPTO_set_id_callback(0); -+ q_CRYPTO_set_locking_callback(0); -+ q_ERR_free_strings(); -+} -+ -+ -+bool QSslSocketPrivate::ensureLibraryLoaded() -+{ -+ if (!q_resolveOpenSslSymbols()) -+ return false; -+ -+ // Check if the library itself needs to be initialized. -+ QMutexLocker locker(openssl_locks()->initLock()); -+ -+ if (!s_libraryLoaded) { -+ s_libraryLoaded = true; -+ -+ // Initialize OpenSSL. -+ q_CRYPTO_set_id_callback(id_function); -+ q_CRYPTO_set_locking_callback(locking_function); -+ if (q_SSL_library_init() != 1) -+ return false; -+ q_SSL_load_error_strings(); -+ q_OpenSSL_add_all_algorithms_safe(); -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L -+ if (q_SSLeay() >= 0x10001000L) -+ QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL); -+#endif -+ -+ // Initialize OpenSSL's random seed. -+ if (!q_RAND_status()) { -+ qWarning("Random number generator not seeded, disabling SSL support"); -+ return false; -+ } -+ } -+ return true; -+} -+ -+void QSslSocketPrivate::ensureCiphersAndCertsLoaded() -+{ -+ QMutexLocker locker(openssl_locks()->initLock()); -+ if (s_loadedCiphersAndCerts) -+ return; -+ s_loadedCiphersAndCerts = true; -+ -+ resetDefaultCiphers(); -+ resetDefaultEllipticCurves(); -+ -+#if QT_CONFIG(library) -+ //load symbols needed to receive certificates from system store -+#if defined(Q_OS_WIN) -+ HINSTANCE hLib = LoadLibraryW(L"Crypt32"); -+ if (hLib) { -+ ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW"); -+ ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore"); -+ ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore"); -+ if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore) -+ qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen -+ } else { -+ qCWarning(lcSsl, "could not load crypt32 library"); // should never happen -+ } -+#elif defined(Q_OS_QNX) -+ s_loadRootCertsOnDemand = true; -+#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) -+ // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there) -+ QList dirs = unixRootCertDirectories(); -+ QStringList symLinkFilter; -+ symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]"); -+ for (int a = 0; a < dirs.count(); ++a) { -+ QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files); -+ if (iterator.hasNext()) { -+ s_loadRootCertsOnDemand = true; -+ break; -+ } -+ } -+#endif -+#endif // QT_CONFIG(library) -+ // if on-demand loading was not enabled, load the certs now -+ if (!s_loadRootCertsOnDemand) -+ setDefaultCaCertificates(systemCaCertificates()); -+#ifdef Q_OS_WIN -+ //Enabled for fetching additional root certs from windows update on windows 6+ -+ //This flag is set false by setDefaultCaCertificates() indicating the app uses -+ //its own cert bundle rather than the system one. -+ //Same logic that disables the unix on demand cert loading. -+ //Unlike unix, we do preload the certificates from the cert store. -+ if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0) -+ s_loadRootCertsOnDemand = true; -+#endif -+} -+ -+long QSslSocketPrivate::sslLibraryVersionNumber() -+{ -+ if (!supportsSsl()) -+ return 0; -+ -+ return q_SSLeay(); -+} -+ -+QString QSslSocketPrivate::sslLibraryVersionString() -+{ -+ if (!supportsSsl()) -+ return QString(); -+ -+ const char *versionString = q_SSLeay_version(SSLEAY_VERSION); -+ if (!versionString) -+ return QString(); -+ -+ return QString::fromLatin1(versionString); -+} -+ -+void QSslSocketBackendPrivate::continueHandshake() -+{ -+ Q_Q(QSslSocket); -+ // if we have a max read buffer size, reset the plain socket's to match -+ if (readBufferMaxSize) -+ plainSocket->setReadBufferSize(readBufferMaxSize); -+ -+ if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL)) -+ configuration.peerSessionShared = true; -+ -+#ifdef QT_DECRYPT_SSL_TRAFFIC -+ if (ssl->session && ssl->s3) { -+ const char *mk = reinterpret_cast(ssl->session->master_key); -+ QByteArray masterKey(mk, ssl->session->master_key_length); -+ const char *random = reinterpret_cast(ssl->s3->client_random); -+ QByteArray clientRandom(random, SSL3_RANDOM_SIZE); -+ -+ // different format, needed for e.g. older Wireshark versions: -+// const char *sid = reinterpret_cast(ssl->session->session_id); -+// QByteArray sessionID(sid, ssl->session->session_id_length); -+// QByteArray debugLineRSA("RSA Session-ID:"); -+// debugLineRSA.append(sessionID.toHex().toUpper()); -+// debugLineRSA.append(" Master-Key:"); -+// debugLineRSA.append(masterKey.toHex().toUpper()); -+// debugLineRSA.append("\n"); -+ -+ QByteArray debugLineClientRandom("CLIENT_RANDOM "); -+ debugLineClientRandom.append(clientRandom.toHex().toUpper()); -+ debugLineClientRandom.append(" "); -+ debugLineClientRandom.append(masterKey.toHex().toUpper()); -+ debugLineClientRandom.append("\n"); -+ -+ QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys"); -+ QFile file(sslKeyFile); -+ if (!file.open(QIODevice::Append)) -+ qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending"; -+ if (!file.write(debugLineClientRandom)) -+ qCWarning(lcSsl) << "could not write to file" << sslKeyFile; -+ file.close(); -+ } else { -+ qCWarning(lcSsl, "could not decrypt SSL traffic"); -+ } -+#endif -+ -+ // Cache this SSL session inside the QSslContext -+ if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) { -+ if (!sslContextPointer->cacheSession(ssl)) { -+ sslContextPointer.clear(); // we could not cache the session -+ } else { -+ // Cache the session for permanent usage as well -+ if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) { -+ if (!sslContextPointer->sessionASN1().isEmpty()) -+ configuration.sslSession = sslContextPointer->sessionASN1(); -+ configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint(); -+ } -+ } -+ } -+ -+#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG) -+ -+ configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status; -+ if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) { -+ // we could not agree -> be conservative and use HTTP/1.1 -+ configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1"); -+ } else { -+ const unsigned char *proto = 0; -+ unsigned int proto_len = 0; -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L -+ if (q_SSLeay() >= 0x10002000L) { -+ q_SSL_get0_alpn_selected(ssl, &proto, &proto_len); -+ if (proto_len && mode == QSslSocket::SslClientMode) { -+ // Client does not have a callback that sets it ... -+ configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated; -+ } -+ } -+ -+ if (!proto_len) { // Test if NPN was more lucky ... -+#else -+ { -+#endif -+ q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len); -+ } -+ -+ if (proto_len) -+ configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast(proto), proto_len); -+ else -+ configuration.nextNegotiatedProtocol.clear(); -+ } -+#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ... -+ -+#if OPENSSL_VERSION_NUMBER >= 0x10002000L -+ if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) { -+ EVP_PKEY *key; -+ if (q_SSL_get_server_tmp_key(ssl, &key)) -+ configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey); -+ } -+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ... -+ -+ connectionEncrypted = true; -+ emit q->encrypted(); -+ if (autoStartHandshake && pendingClose) { -+ pendingClose = false; -+ q->disconnectFromHost(); -+ } -+} -+ -+QT_END_NAMESPACE -diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri -index d2b0c2d60d..2783effaf1 100644 ---- a/src/network/ssl/ssl.pri -+++ b/src/network/ssl/ssl.pri -@@ -60,13 +60,25 @@ qtConfig(ssl) { - HEADERS += ssl/qsslcontext_openssl_p.h \ - ssl/qsslsocket_openssl_p.h \ - ssl/qsslsocket_openssl_symbols_p.h -- SOURCES += ssl/qsslcertificate_openssl.cpp \ -- ssl/qsslcontext_openssl.cpp \ -+ SOURCES += ssl/qsslsocket_openssl_symbols.cpp \ - ssl/qssldiffiehellmanparameters_openssl.cpp \ -+ ssl/qsslcertificate_openssl.cpp \ - ssl/qsslellipticcurve_openssl.cpp \ - ssl/qsslkey_openssl.cpp \ - ssl/qsslsocket_openssl.cpp \ -- ssl/qsslsocket_openssl_symbols.cpp -+ ssl/qsslcontext_openssl.cpp -+ -+ qtConfig(opensslv11) { -+ HEADERS += ssl/qsslsocket_openssl11_symbols_p.h -+ SOURCES += ssl/qsslsocket_openssl11.cpp \ -+ ssl/qsslcontext_openssl11.cpp -+ -+ QMAKE_CXXFLAGS += -DOPENSSL_API_COMPAT=0x10100000L -+ } else { -+ HEADERS += ssl/qsslsocket_opensslpre11_symbols_p.h -+ SOURCES += ssl/qsslsocket_opensslpre11.cpp \ -+ ssl/qsslcontext_opensslpre11.cpp -+ } - - darwin:SOURCES += ssl/qsslsocket_mac_shared.cpp - diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase.patch b/pkgs/development/libraries/qt-5/5.9/qtbase.patch deleted file mode 100644 index f87c508a380..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtbase.patch +++ /dev/null @@ -1,1119 +0,0 @@ -diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf -index 5208379f9a..92fe29a0ac 100644 ---- a/mkspecs/common/mac.conf -+++ b/mkspecs/common/mac.conf -@@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL = \ - - QMAKE_FIX_RPATH = install_name_tool -id - --QMAKE_LFLAGS_RPATH = -Wl,-rpath, -+QMAKE_LFLAGS_RPATH = - QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip - - QMAKE_LFLAGS_REL_RPATH = -diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf -index bb5083c925..77034f9bb6 100644 ---- a/mkspecs/features/create_cmake.prf -+++ b/mkspecs/features/create_cmake.prf -@@ -21,7 +21,7 @@ load(cmake_functions) - # at cmake time whether package has been found via a symlink, and correct - # that to an absolute path. This is only done for installations to - # the /usr or / prefix. --CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS]) -+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/) - contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR - - CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake -@@ -47,47 +47,22 @@ split_incpath { - $$cmake_extra_source_includes.output - } - --CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") { -- CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/ -- CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True --} -+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/ -+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True - - !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true - --CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_LIB_DIR,"^\\.\\./.*") { -- CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/ -- CMAKE_LIB_DIR_IS_ABSOLUTE = True --} else { -- CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS]) -- # We need to go up another two levels because the CMake files are -- # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME} -- CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../" --} -+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/ -+CMAKE_LIB_DIR_IS_ABSOLUTE = True - --CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_BIN_DIR, "^\\.\\./.*") { -- CMAKE_BIN_DIR = $$[QT_HOST_BINS]/ -- CMAKE_BIN_DIR_IS_ABSOLUTE = True --} -+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/ -+CMAKE_BIN_DIR_IS_ABSOLUTE = True - --CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") { -- CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/ -- CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True --} -+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/ -+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True - --win32:!static:!staticlib { -- CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX]) -- contains(CMAKE_DLL_DIR, "^\\.\\./.*") { -- CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/ -- CMAKE_DLL_DIR_IS_ABSOLUTE = True -- } --} else { -- CMAKE_DLL_DIR = $$CMAKE_LIB_DIR -- CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE --} -+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/ -+CMAKE_DLL_DIR_IS_ABSOLUTE = True - - static|staticlib:CMAKE_STATIC_TYPE = true - -@@ -167,7 +142,7 @@ contains(CONFIG, plugin) { - cmake_target_file - - cmake_qt5_plugin_file.files = $$cmake_target_file.output -- cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} -+ cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} - INSTALLS += cmake_qt5_plugin_file - - return() -@@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) { - cmake_qt5_module_files.files += $$cmake_macros_file.output - } - --cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} -+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} - - # We are generating cmake files. Most developers of Qt are not aware of cmake, - # so we require automatic tests to be available. The only module which should -diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 55c74aad66..0bbc8718eb 100644 ---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -+++ b/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}.VERSION)") -@@ -58,11 +34,7 @@ endmacro() - macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION) - 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}\") --!!ELSE - set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") --!!ENDIF - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES - \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" -@@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI - ) - - !!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 -@@ -95,24 +63,13 @@ 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\" -+ \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" -+ \"$${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}\") --!!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}\" -+ \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" -+ \"$${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 \"\") -@@ -128,7 +85,6 @@ 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 -@@ -280,25 +236,13 @@ 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}\" --!!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}\" ) --!!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() -@@ -317,25 +261,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - !!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}\" --!!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}\" ) --!!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() -@@ -354,11 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) - 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}\") --!!ELSE - set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") --!!ENDIF - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::${Plugin} PROPERTIES - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf -index e645ba5803..a0e5c68b7e 100644 ---- a/mkspecs/features/mac/default_post.prf -+++ b/mkspecs/features/mac/default_post.prf -@@ -24,166 +24,3 @@ qt { - } - } - } -- --# Add the same default rpaths as Xcode does for new projects. --# This is especially important for iOS/tvOS/watchOS where no other option is possible. --!no_default_rpath { -- QMAKE_RPATHDIR += @executable_path/Frameworks -- equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks --} -- --# Don't pass -headerpad_max_install_names when using Bitcode. --# In that case the linker emits a warning stating that the flag is ignored when --# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962). --# Using this flag is also unnecessary in practice on UIKit platforms since they --# are sandboxed, and only UIKit platforms support bitcode to begin with. --!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD -- --app_extension_api_only { -- QMAKE_CFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION --} -- --macx-xcode { -- !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) { -- debug_information_format.name = DEBUG_INFORMATION_FORMAT -- debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT -- debug_information_format.build = debug -- QMAKE_MAC_XCODE_SETTINGS += debug_information_format -- } -- -- QMAKE_XCODE_ARCHS = -- -- arch_device.name = "ARCHS[sdk=$${device.sdk}*]" -- arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS -- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS -- QMAKE_MAC_XCODE_SETTINGS += arch_device -- -- simulator { -- arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]" -- arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS -- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS -- QMAKE_MAC_XCODE_SETTINGS += arch_simulator -- } -- -- only_active_arch.name = ONLY_ACTIVE_ARCH -- only_active_arch.value = YES -- only_active_arch.build = debug -- QMAKE_MAC_XCODE_SETTINGS += only_active_arch --} else { -- device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS -- simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS -- VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS -- -- isEmpty(VALID_ARCHS): \ -- error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture") -- -- single_arch: VALID_ARCHS = $$first(VALID_ARCHS) -- -- ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS)) -- ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch)) -- -- QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS -- -- arch_flags = $(EXPORT_ARCH_ARGS) -- -- QMAKE_CFLAGS += $$arch_flags -- QMAKE_CXXFLAGS += $$arch_flags -- QMAKE_LFLAGS += $$arch_flags -- -- QMAKE_PCH_ARCHS = $$VALID_ARCHS -- -- macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET -- ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET -- tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET -- watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET -- -- # If we're doing a simulator and device build, device and simulator -- # architectures use different paths and flags for the sysroot and -- # deployment target switch, so we must multiplex them across multiple -- # architectures using -Xarch. Otherwise we fall back to the simple path. -- # This is not strictly necessary, but results in cleaner command lines -- # and makes it easier for people to override EXPORT_VALID_ARCHS to limit -- # individual rules to a different set of architecture(s) from the overall -- # build (such as machtest in QtCore). -- simulator:device { -- QMAKE_XARCH_CFLAGS = -- QMAKE_XARCH_LFLAGS = -- QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS -- -- for (arch, VALID_ARCHS) { -- contains(VALID_SIMULATOR_ARCHS, $$arch) { -- sdk = $$simulator.sdk -- version_identifier = $$simulator.deployment_identifier -- } else { -- sdk = $$device.sdk -- version_identifier = $$device.deployment_identifier -- } -- -- version_min_flags = \ -- -Xarch_$${arch} \ -- -m$${version_identifier}-version-min=$$deployment_target -- QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \ -- -Xarch_$${arch} \ -- -isysroot$$xcodeSDKInfo(Path, $$sdk) -- QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ -- -Xarch_$${arch} \ -- -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) -- -- QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) -- QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) -- -- QMAKE_EXTRA_VARIABLES += \ -- QMAKE_XARCH_CFLAGS_$${arch} \ -- QMAKE_XARCH_LFLAGS_$${arch} -- } -- -- QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) -- QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) -- QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS) -- } else { -- simulator: \ -- version_identifier = $$simulator.deployment_identifier -- else: \ -- version_identifier = $$device.deployment_identifier -- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target -- QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag -- QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag -- QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag -- } -- -- # Enable precompiled headers for multiple architectures -- QMAKE_CFLAGS_USE_PRECOMPILE = -- for (arch, VALID_ARCHS) { -- icc_pch_style: \ -- use_flag = "-pch-use " -- else: \ -- use_flag = -include -- -- # Only use Xarch with multi-arch, as the option confuses ccache -- count(VALID_ARCHS, 1, greaterThan): \ -- QMAKE_CFLAGS_USE_PRECOMPILE += \ -- -Xarch_$${arch} -- -- QMAKE_CFLAGS_USE_PRECOMPILE += \ -- $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}} -- } -- icc_pch_style { -- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT} -- QMAKE_CFLAGS_USE_PRECOMPILE = -- } else { -- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- } -- -- QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT} --} -- --cache(QMAKE_XCODE_DEVELOPER_PATH, stash) --!isEmpty(QMAKE_XCODE_VERSION): \ -- cache(QMAKE_XCODE_VERSION, stash) -- --QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix() -diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf -index 44636f2288..3b01424e67 100644 ---- a/mkspecs/features/mac/default_pre.prf -+++ b/mkspecs/features/mac/default_pre.prf -@@ -1,56 +1,2 @@ - CONFIG = asset_catalogs rez $$CONFIG - load(default_pre) -- --isEmpty(QMAKE_XCODE_DEVELOPER_PATH) { -- # Get path of Xcode's Developer directory -- QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null") -- isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ -- error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.") -- -- # Make sure Xcode path is valid -- !exists($$QMAKE_XCODE_DEVELOPER_PATH): \ -- error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") --} -- --isEmpty(QMAKE_XCODEBUILD_PATH): \ -- QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null") -- --!isEmpty(QMAKE_XCODEBUILD_PATH) { -- # Make sure Xcode is set up properly -- !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \ -- error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.") -- -- isEmpty(QMAKE_XCODE_VERSION) { -- # Extract Xcode version using xcodebuild -- xcode_version = $$system("/usr/bin/xcrun xcodebuild -version") -- QMAKE_XCODE_VERSION = $$member(xcode_version, 1) -- isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.") -- unset(xcode_version) -- } --} -- --isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { -- QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist -- exists($$QMAKE_XCODE_PREFERENCES_FILE): \ -- QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null") -- -- !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \ -- cache(QMAKE_TARGET_BUNDLE_PREFIX) --} -- --QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon -- --# Make the default debug info format for static debug builds --# DWARF instead of DWARF with dSYM. This cuts down build times --# for application debug builds significantly, as Xcode doesn't --# have to pull out all the DWARF info from the Qt static libs --# and put it into a dSYM file. We don't need that dSYM file in --# the first place, since the information is available in the --# object files inside the archives (static libraries). --macx-xcode:qtConfig(static): \ -- QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf -- --# This variable is used by the xcode_dynamic_library_suffix --# feature, which allows Xcode to choose the Qt libraries to link to --# at build time, depending on the current Xcode SDK and configuration. --QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX -diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf -index 3f6dc076ca..e69de29bb2 100644 ---- a/mkspecs/features/mac/sdk.prf -+++ b/mkspecs/features/mac/sdk.prf -@@ -1,58 +0,0 @@ -- --isEmpty(QMAKE_MAC_SDK): \ -- error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.") -- --contains(QMAKE_MAC_SDK, .*/.*): \ -- error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)") -- --defineReplace(xcodeSDKInfo) { -- info = $$1 -- equals(info, "Path"): \ -- info = --show-sdk-path -- equals(info, "PlatformPath"): \ -- info = --show-sdk-platform-path -- equals(info, "SDKVersion"): \ -- info = --show-sdk-version -- sdk = $$2 -- isEmpty(sdk): \ -- sdk = $$QMAKE_MAC_SDK -- -- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) { -- QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$info 2>/dev/null") -- # --show-sdk-platform-path won't work for Command Line Tools; this is fine -- # only used by the XCTest backend to testlib -- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(info, "--show-sdk-platform-path")): \ -- error("Could not resolve SDK $$info for \'$$sdk\'") -- cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info}) -- } -- -- return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info})) --} -- --QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path) --QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath) --QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) -- --sysrootified = --for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val --QMAKE_INCDIR_OPENGL = $$sysrootified -- --QMAKESPEC_NAME = $$basename(QMAKESPEC) -- --# Resolve SDK version of various tools --for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) { -- tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool} -- !isEmpty($$tool_variable) { -- $$tool = $$eval($$tool_variable) -- next() -- } -- -- value = $$eval($$tool) -- isEmpty(value): next() -- -- sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null") -- isEmpty(sysrooted): next() -- -- $$tool = $$sysrooted $$member(value, 1, -1) -- cache($$tool_variable, set stash, $$tool) --} -diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf -index 4db0040dc5..65d6da1f4d 100644 ---- a/mkspecs/features/qml_module.prf -+++ b/mkspecs/features/qml_module.prf -@@ -23,13 +23,8 @@ for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FIL - - load(qt_build_paths) - --qml1_target { -- DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH -- instbase = $$[QT_INSTALL_IMPORTS] --} else { -- DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH -- instbase = $$[QT_INSTALL_QML] --} -+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH -+instbase = $$NIX_OUTPUT_QML - - !qml1_target:static: CONFIG += builtin_resources - -diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf -index d49f4c49c1..097dcd7d39 100644 ---- a/mkspecs/features/qml_plugin.prf -+++ b/mkspecs/features/qml_plugin.prf -@@ -48,13 +48,8 @@ exists($$QMLTYPEFILE): AUX_QML_FILES += $$QMLTYPEFILE - - load(qt_build_paths) - --qml1_target { -- DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH -- instbase = $$[QT_INSTALL_IMPORTS] --} else { -- DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH -- instbase = $$[QT_INSTALL_QML] --} -+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH -+instbase = $$NIX_OUTPUT_QML - - target.path = $$instbase/$$TARGETPATH - INSTALLS += target -diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf -index 883f8ca215..81db8eb2d4 100644 ---- a/mkspecs/features/qt_app.prf -+++ b/mkspecs/features/qt_app.prf -@@ -33,7 +33,7 @@ host_build:force_bootstrap { - target.path = $$[QT_HOST_BINS] - } else { - !build_pass:qtConfig(debug_and_release): CONFIG += release -- target.path = $$[QT_INSTALL_BINS] -+ target.path = $$NIX_OUTPUT_BIN/bin - CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable - } - INSTALLS += target -diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf -index 1848f00e90..2af93675c5 100644 ---- a/mkspecs/features/qt_build_paths.prf -+++ b/mkspecs/features/qt_build_paths.prf -@@ -23,6 +23,6 @@ exists($$MODULE_BASE_INDIR/.git): \ - !force_independent { - # If the module is not built independently, everything ends up in qtbase. - # This is the case in non-prefix builds, except for selected modules. -- MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX] -- MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX] -+ MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT -+ MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT - } -diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf -index fb96d1b6a0..508ed17d30 100644 ---- a/mkspecs/features/qt_common.prf -+++ b/mkspecs/features/qt_common.prf -@@ -32,8 +32,8 @@ contains(TEMPLATE, .*lib) { - qqt_libdir = \$\$\$\$[QT_HOST_LIBS] - qt_libdir = $$[QT_HOST_LIBS] - } else { -- qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] -- qt_libdir = $$[QT_INSTALL_LIBS] -+ qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib -+ qt_libdir = $$NIX_OUTPUT_OUT/lib - } - contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { - lib_replace.match = "[^ ']*$$rplbase/lib" -diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf -index 72dde61a40..f891a2baed 100644 ---- a/mkspecs/features/qt_docs.prf -+++ b/mkspecs/features/qt_docs.prf -@@ -45,7 +45,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR - - QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR) - !build_online_docs: \ -- QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS]) -+ QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC) - PREP_DOC_INDEXES = - DOC_INDEXES = - !isEmpty(QTREPOS) { -@@ -64,8 +64,8 @@ DOC_INDEXES = - DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc) - } else { - prepare_docs: \ -- PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) -- DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) -+ PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) -+ DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) - } - - qtattributionsscanner.target = qtattributionsscanner -@@ -88,12 +88,12 @@ prepare_docs { - qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch) - - inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR -- inst_html_docs.path = $$[QT_INSTALL_DOCS] -+ inst_html_docs.path = $$NIX_OUTPUT_DOC - inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build - INSTALLS += inst_html_docs - - inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch -- inst_qch_docs.path = $$[QT_INSTALL_DOCS] -+ inst_qch_docs.path = $$NIX_OUTPUT_DOC - inst_qch_docs.CONFIG += no_check_exist no_default_install no_build - INSTALLS += inst_qch_docs - -diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf -index 668669e4cd..eb4840a0aa 100644 ---- a/mkspecs/features/qt_example_installs.prf -+++ b/mkspecs/features/qt_example_installs.prf -@@ -82,7 +82,7 @@ sourcefiles += \ - $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \ - $$DBUS_ADAPTORS $$DBUS_INTERFACES - addInstallFiles(sources.files, $$sourcefiles) --sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase -+sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase - INSTALLS += sources - - check_examples { -diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 1903e509c8..ae7b585989 100644 ---- a/mkspecs/features/qt_functions.prf -+++ b/mkspecs/features/qt_functions.prf -@@ -69,7 +69,7 @@ defineTest(qtHaveModule) { - defineTest(qtPrepareTool) { - cmd = $$eval(QT_TOOL.$${2}.binary) - isEmpty(cmd) { -- cmd = $$[QT_HOST_BINS]/$$2 -+ cmd = $$system("command -v $$2") - exists($${cmd}.pl) { - $${1}_EXE = $${cmd}.pl - cmd = perl -w $$system_path($${cmd}.pl) -diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf -index 0d3dfb6b93..5f935b4424 100644 ---- a/mkspecs/features/qt_installs.prf -+++ b/mkspecs/features/qt_installs.prf -@@ -12,16 +12,10 @@ - #library - !qt_no_install_library { - win32 { -- host_build: \ -- dlltarget.path = $$[QT_HOST_BINS] -- else: \ -- dlltarget.path = $$[QT_INSTALL_BINS] -+ dlltarget.path = $$NIX_OUTPUT_BIN/bin - INSTALLS += dlltarget - } -- host_build: \ -- target.path = $$[QT_HOST_LIBS] -- else: \ -- target.path = $$[QT_INSTALL_LIBS] -+ target.path = $$NIX_OUTPUT_OUT/lib - !static: target.CONFIG = no_dll - INSTALLS += target - } -@@ -29,33 +23,33 @@ - #headers - qt_install_headers { - class_headers.files = $$SYNCQT.HEADER_CLASSES -- class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME -+ class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME - INSTALLS += class_headers - - targ_headers.files = $$SYNCQT.HEADER_FILES -- targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME -+ targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME - INSTALLS += targ_headers - - private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES -- private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private -+ private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private - INSTALLS += private_headers - - qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES -- qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa -+ qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa - INSTALLS += qpa_headers - } - - #module - qt_install_module { - !isEmpty(MODULE_PRI) { -- pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules -+ pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules - pritarget.files = $$MODULE_PRI - INSTALLS += pritarget - } else: isEmpty(MODULE_PRIVATE_PRI) { - warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.") - } - !isEmpty(MODULE_PRIVATE_PRI) { -- privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules -+ privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules - privpritarget.files = $$MODULE_PRIVATE_PRI - INSTALLS += privpritarget - } -diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf -index 62e1b69fde..abd63123f9 100644 ---- a/mkspecs/features/qt_plugin.prf -+++ b/mkspecs/features/qt_plugin.prf -@@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build { - } - } - --target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE -+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE - INSTALLS += target - - TARGET = $$qt5LibraryTarget($$TARGET) -diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in -index 545b9a3d1e..6ac0cdefe4 100644 ---- a/src/corelib/Qt5CoreConfigExtras.cmake.in -+++ b/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_OUTPUT_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_OUTPUT_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_OUTPUT_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_OUTPUT_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_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") - !!ELSE - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") - !!ENDIF -diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in -index c357237d0e..6f0c75de3c 100644 ---- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in -+++ b/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_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") - !!ELSE - set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") - !!ENDIF -diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in -index 706304cf34..546420f6ad 100644 ---- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in -+++ b/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_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") - !!ELSE - set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") - !!ENDIF -diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp -index cba279c184..5ae3fd62e5 100644 ---- a/src/corelib/kernel/qcoreapplication.cpp -+++ b/src/corelib/kernel/qcoreapplication.cpp -@@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths() - QStringList *app_libpaths = new QStringList; - coreappdata()->app_libpaths.reset(app_libpaths); - -+ // Add library paths derived from PATH -+ const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); -+ const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX); -+ for (const QString &path: paths) { -+ if (!path.isEmpty()) { -+ app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir)); -+ } -+ } -+ - const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH"); - if (!libPathEnv.isEmpty()) { - QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts); -diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp -index 4fdc2e36ac..d3ec222543 100644 ---- a/src/corelib/tools/qtimezoneprivate_tz.cpp -+++ b/src/corelib/tools/qtimezoneprivate_tz.cpp -@@ -70,7 +70,11 @@ typedef QHash QTzTimeZoneHash; - // 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"); -+ // Try TZDIR first, in case we're running on NixOS. -+ QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); -+ // Fallback to traditional paths in case we are not on NixOS. -+ if (!QFile::exists(path)) -+ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); - if (!QFile::exists(path)) - path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); - -@@ -645,12 +649,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId) - 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, in case we're running on NixOS -+ tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); - 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/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in -index 1d947159e2..b36865fc48 100644 ---- a/src/dbus/Qt5DBusConfigExtras.cmake.in -+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in -@@ -2,11 +2,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\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") --!!ENDIF -+ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") - _qt5_DBus_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qdbuscpp2xml PROPERTIES -@@ -17,11 +13,7 @@ endif() - 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\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") --!!ENDIF -+ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") - _qt5_DBus_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qdbusxml2cpp PROPERTIES -diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in -index 07869efd7d..fb4183bada 100644 ---- a/src/gui/Qt5GuiConfigExtras.cmake.in -+++ b/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_OUTPUT_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_properties TargetName Configuration LIB_LOCATIO - 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_OUTPUT_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_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") - !!ELSE - set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") - !!ENDIF -diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp -index 1da00813ce..0bf877afcb 100644 ---- a/src/network/kernel/qdnslookup_unix.cpp -+++ b/src/network/kernel/qdnslookup_unix.cpp -@@ -92,7 +92,7 @@ static bool resolveLibraryInternal() - if (!lib.load()) - #endif - { -- lib.setFileName(QLatin1String("resolv")); -+ lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); - if (!lib.load()) - return false; - } -diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp -index 9a24938284..74962b4ae2 100644 ---- a/src/network/kernel/qhostinfo_unix.cpp -+++ b/src/network/kernel/qhostinfo_unix.cpp -@@ -102,7 +102,7 @@ static bool resolveLibraryInternal() - if (!lib.load()) - #endif - { -- lib.setFileName(QLatin1String("resolv")); -+ lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV)); - if (!lib.load()) - return false; - } -diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp -index b5a0a5bbeb..6c20305f4d 100644 ---- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp -+++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp -@@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocations() - m_possibleLocations.reserve(7); - 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(X11_PREFIX "/share/X11/locale")); - m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); -+ m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE)); - } - - QString TableGenerator::findComposeFile() -diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp -index e2e573f0e1..1c8289f81e 100644 ---- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp -+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp -@@ -580,7 +580,14 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName) - #if QT_CONFIG(library) - extern const QString qt_gl_library_name(); - // QLibrary lib(qt_gl_library_name()); -+ // Check system library paths first - QLibrary lib(QLatin1String("GL")); -+#ifdef NIXPKGS_MESA_GL -+ if (!lib.load()) { -+ // Fallback to Mesa driver -+ lib.setFileName(QLatin1String(NIXPKGS_MESA_GL)); -+ } -+#endif // NIXPKGS_MESA_GL - glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); - #endif - } -diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp -index 7c62c2e2b3..fefa40e0f6 100644 ---- a/src/plugins/platforms/xcb/qxcbcursor.cpp -+++ b/src/plugins/platforms/xcb/qxcbcursor.cpp -@@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen) - #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library) - static bool function_ptrs_not_initialized = true; - if (function_ptrs_not_initialized) { -- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); -+ QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1); - bool xcursorFound = xcursorLib.load(); - if (!xcursorFound) { // try without the version number -- xcursorLib.setFileName(QLatin1String("Xcursor")); -+ xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR)); - xcursorFound = xcursorLib.load(); - } - if (xcursorFound) { -diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp -index c4cd66c33b..b6f2691587 100644 ---- a/src/plugins/platformthemes/gtk3/main.cpp -+++ b/src/plugins/platformthemes/gtk3/main.cpp -@@ -39,6 +39,7 @@ - - #include - #include "qgtk3theme.h" -+#include - - QT_BEGIN_NAMESPACE - -@@ -54,8 +55,22 @@ public: - QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList ¶ms) - { - Q_UNUSED(params); -- if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) -+ if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) { -+ -+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS -+ QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':'); -+ XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS); -+ qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':'))); -+#endif -+ -+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES -+ QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':'); -+ GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES); -+ qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':'))); -+#endif -+ - return new QGtk3Theme; -+ } - - return 0; - } -diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h -index 6498ea84ef..d821ced7fc 100644 ---- a/src/testlib/qtestassert.h -+++ b/src/testlib/qtestassert.h -@@ -44,10 +44,13 @@ - - QT_BEGIN_NAMESPACE - -- -+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) -+#define QTEST_ASSERT(cond) do { } while ((false) && (cond)) -+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond)) -+#else - #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false) -- - #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false) -+#endif - - QT_END_NAMESPACE - -diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in -index 99d87e2e46..a4eab2aa72 100644 ---- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in -+++ b/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_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ENDIF diff --git a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch deleted file mode 100644 index bb1bbbeb05e..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp -index ee5b38717..bbccef8c4 100644 ---- a/src/qml/qml/qqmlimport.cpp -+++ b/src/qml/qml/qqmlimport.cpp -@@ -1678,6 +1678,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e) - QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath); - addImportPath(installImportsPath); - -+ // Add import paths derived from PATH -+ const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); -+ const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX); -+ for (const QString &path: paths) { -+ if (!path.isEmpty()) { -+ addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir)); -+ } -+ } -+ - // env import paths - if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) { - const QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH"); -diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf -index 330da358b..cdf570205 100644 ---- a/tools/qmlcachegen/qmlcache.prf -+++ b/tools/qmlcachegen/qmlcache.prf -@@ -44,7 +44,7 @@ defineReplace(qmlCacheOutputFileName) { - } - - qmlcacheinst.base = $$QMLCACHE_DESTDIR --qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH -+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH - qmlcacheinst.CONFIG = no_check_exist - - qmlcachegen.input = CACHEGEN_FILES diff --git a/pkgs/development/libraries/qt-5/5.9/qtscript.patch b/pkgs/development/libraries/qt-5/5.9/qtscript.patch deleted file mode 100644 index 5508dec1280..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtscript.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 - #elif PLATFORM(GTK) - #include --typedef struct _GMutex GMutex; -+typedef union _GMutex GMutex; - typedef struct _GCond GCond; - #endif - diff --git a/pkgs/development/libraries/qt-5/5.9/qtserialport.patch b/pkgs/development/libraries/qt-5/5.9/qtserialport.patch deleted file mode 100644 index f25524e80bc..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtserialport.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h -index af2dab2..8e17f64 100644 ---- a/src/serialport/qtudev_p.h -+++ b/src/serialport/qtudev_p.h -@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN - inline bool resolveSymbols(QLibrary *udevLibrary) - { - if (!udevLibrary->isLoaded()) { -+#ifdef NIXPKGS_LIBUDEV -+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1); -+#else - udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); -+#endif - if (!udevLibrary->load()) { -+#ifdef NIXPKGS_LIBUDEV -+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0); -+#else - udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); -+#endif - if (!udevLibrary->load()) { - qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); - return false; diff --git a/pkgs/development/libraries/qt-5/5.9/qttools.patch b/pkgs/development/libraries/qt-5/5.9/qttools.patch deleted file mode 100644 index fbba439ef7a..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qttools.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in -index 3b97923a..63336bd5 100644 ---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in -+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in -@@ -2,11 +2,10 @@ - if (NOT TARGET Qt5::qcollectiongenerator) - add_executable(Qt5::qcollectiongenerator IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") --!!ENDIF -+ if(NOT EXISTS \"${imported_location}\") -+ set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") -+ endif() - _qt5_Help_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qcollectiongenerator PROPERTIES -@@ -17,11 +16,7 @@ endif() - if (NOT TARGET Qt5::qhelpgenerator) - add_executable(Qt5::qhelpgenerator IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_Help_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qhelpgenerator PROPERTIES -diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in -index 4318b16f..d60db4ff 100644 ---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in -+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in -@@ -44,11 +44,7 @@ endmacro() - if (NOT TARGET Qt5::lrelease) - add_executable(Qt5::lrelease IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lrelease PROPERTIES -@@ -59,11 +55,7 @@ endif() - if (NOT TARGET Qt5::lupdate) - add_executable(Qt5::lupdate IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lupdate PROPERTIES -@@ -74,11 +66,7 @@ endif() - if (NOT TARGET Qt5::lconvert) - add_executable(Qt5::lconvert IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lconvert PROPERTIES diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch deleted file mode 100644 index cf082cddd11..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fix a following build error: - -In file included from ../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:7: -In file included from ../../3rdparty/chromium/base/bind.h:8: -../../3rdparty/chromium/base/bind_internal.h:214:31: error: cannot initialize a parameter of type 'NSError *' with an lvalue of type 'const long' - return (receiver.*method)(std::forward(args)...); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -../../3rdparty/chromium/base/bind_internal.h:285:20: note: in instantiation of function template specialization 'base::internal::FunctorTraits::Invoke' requested here - return Traits::Invoke(std::forward(functor), - ^ -../../3rdparty/chromium/base/bind_internal.h:361:43: note: in instantiation of function template specialization 'base::internal::InvokeHelper::MakeItSo' requested here - return InvokeHelper::MakeItSo( - ^ -../../3rdparty/chromium/base/bind_internal.h:339:12: note: in instantiation of function template specialization 'base::internal::Invoker, long>, void ()>::RunImpl, long> &, 0, 1>' requested here - return RunImpl(storage->functor_, - ^ -../../3rdparty/chromium/base/bind.h:62:45: note: in instantiation of member function 'base::internal::Invoker, long>, void ()>::Run' requested here - PolymorphicInvoke invoke_func = &Invoker::Run; - ^ -../../3rdparty/chromium/base/bind.h:77:10: note: in instantiation of function template specialization 'base::BindRepeating, long>' requested here - return BindRepeating(std::forward(functor), - ^ -../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:241:15: note: in instantiation of function template specialization 'base::Bind, long>' requested here - base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue, - ---- a/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm -+++ b/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm -@@ -239,7 +239,7 @@ void BluetoothRemoteGattCharacteristicMac::WriteRemoteCharacteristic( - base::ThreadTaskRunnerHandle::Get()->PostTask( - FROM_HERE, - base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue, -- base::Unretained(this), nil)); -+ base::Unretained(this), nullptr)); - } - } - diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch deleted file mode 100644 index 7156c41c5ec..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf ---- a/mkspecs/features/configure.prf -+++ b/mkspecs/features/configure.prf -@@ -194,9 +194,6 @@ defineTest(runConfigure) { - } else { - log("Native Spellchecker .............. Not enabled (Default, enable with WEBENGINE_CONFIG+=use_native_spellchecker)$${EOL}") - } -- !isMinOSXSDKVersion(10, 10, 3) { -- log(" Force Touch API usage .............. Not enabled (Because the OS X SDK version to be used \"$${WEBENGINE_OSX_SDK_PRODUCT_VERSION}\" is lower than the required \"10.10.3\")$${EOL}") -- } - } - } - -diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf ---- a/mkspecs/features/functions.prf -+++ b/mkspecs/features/functions.prf -@@ -38,10 +38,6 @@ defineTest(isPlatformSupported) { - return(false) - } - } else:osx { -- !isMinXcodeVersion(5, 1) { -- skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.") -- return(false) -- } - !clang|intel_icc { - skipBuild("Qt WebEngine on macOS requires Clang.") - return(false) -@@ -52,10 +48,6 @@ defineTest(isPlatformSupported) { - skipBuild("Qt WebEngine requires OS X version 10.10 or newer.") - return(false) - } -- !isMinOSXSDKVersion(10, 10): { -- skipBuild("Qt WebEngine requires an OS X SDK version of 10.10 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.") -- return(false) -- } - } else { - skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and OS X.") - return(false) -diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri ---- a/src/core/config/mac_osx.pri -+++ b/src/core/config/mac_osx.pri -@@ -5,8 +5,6 @@ load(functions) - # otherwise query for it. - QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion) - isEmpty(QMAKE_MAC_SDK_VERSION) { -- QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null") -- isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'") - } - - QMAKE_CLANG_DIR = "/usr" diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch deleted file mode 100644 index f332d5e1bb2..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/qtwebengine.pro b/qtwebengine.pro ---- a/qtwebengine.pro -+++ b/qtwebengine.pro -@@ -5,7 +5,7 @@ runConfigure() - - !isEmpty(skipBuildReason) { - SUBDIRS = -- log($${skipBuildReason}$${EOL}) -+ error($${skipBuildReason}$${EOL}) - log(QtWebEngine will not be built.$${EOL}) - } - diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch deleted file mode 100644 index 718bda36194..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp -index a923d49aa..46772a4bb 100644 ---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp -+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp -@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0) - } - } - -+#ifdef NIXPKGS_LIBGTK2 -+ QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0); -+#else - QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); -+#endif - if (library.load()) { - typedef void *(*gtk_init_check_ptr)(int*, char***); - gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); -diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp -index de06a2fea..86fe39ef1 100644 ---- a/Source/WebCore/plugins/qt/PluginViewQt.cpp -+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp -@@ -697,7 +697,11 @@ static Display *getPluginDisplay() - // support gdk based plugins (like flash) that use a different X connection. - // The code below has the same effect as this one: - // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); -+#ifdef NIXPKGS_LIBGDK2 -+ QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0); -+#else - QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); -+#endif - if (!library.load()) - return 0; - -diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp -index 8de65216b..38f5c05e5 100644 ---- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp -+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp -@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr - - static bool initializeGtk() - { -+#ifdef NIXPKGS_LIBGTK2 -+ QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0); -+#else - QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0); -+#endif - if (!gtkLibrary.load()) - return false; - typedef void* (*gtk_init_ptr)(void*, void*); -diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp -index d734ff684..0f6ff63d1 100644 ---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp -+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp -@@ -64,7 +64,11 @@ static Display* getPluginDisplay() - // The code below has the same effect as this one: - // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); - -+#ifdef NIXPKGS_LIBGDK2 -+ QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0); -+#else - QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); -+#endif - if (!library.load()) - return 0; - diff --git a/pkgs/development/libraries/qt-5/5.9/srcs.nix b/pkgs/development/libraries/qt-5/5.9/srcs.nix deleted file mode 100644 index 09b6293daeb..00000000000 --- a/pkgs/development/libraries/qt-5/5.9/srcs.nix +++ /dev/null @@ -1,333 +0,0 @@ -# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh -{ fetchurl, mirror }: - -{ - qt3d = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qt3d-opensource-src-5.9.7.tar.xz"; - sha256 = "0skdp72jlfy97cw9lpa3l2ivs6f5x9w53978sf2xbkl9k1ai268l"; - name = "qt3d-opensource-src-5.9.7.tar.xz"; - }; - }; - qtactiveqt = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtactiveqt-opensource-src-5.9.7.tar.xz"; - sha256 = "01yp0railyc80ldvpiy36lpsdk26rs8vfp78xca9jy1glm4cmaik"; - name = "qtactiveqt-opensource-src-5.9.7.tar.xz"; - }; - }; - qtandroidextras = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtandroidextras-opensource-src-5.9.7.tar.xz"; - sha256 = "1bl05hr0zm23z7qig3kxhzyvm440wfrjfgsxvpmlvk9pbb8h2q63"; - name = "qtandroidextras-opensource-src-5.9.7.tar.xz"; - }; - }; - qtbase = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtbase-opensource-src-5.9.7.tar.xz"; - sha256 = "004gs95ig51jv2wz64kwzl4rvqqzs4rln3kqmzjs3sh6y1s9bp9n"; - name = "qtbase-opensource-src-5.9.7.tar.xz"; - }; - }; - qtcanvas3d = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtcanvas3d-opensource-src-5.9.7.tar.xz"; - sha256 = "131zwqddjns7cpkdbr33jahqgvnw6f8gdcr1b2hmadi0p2shrcwq"; - name = "qtcanvas3d-opensource-src-5.9.7.tar.xz"; - }; - }; - qtcharts = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtcharts-opensource-src-5.9.7.tar.xz"; - sha256 = "1rkj4lkpgdqk4ygxivkj7gc8mlccb5sgi9mfr0xwvq5j85r3dk8n"; - name = "qtcharts-opensource-src-5.9.7.tar.xz"; - }; - }; - qtconnectivity = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtconnectivity-opensource-src-5.9.7.tar.xz"; - sha256 = "0f7g2lfnfgsjka7y5hdf0lbzpfxlxh8bfhdxix44cwlmwzjizy3l"; - name = "qtconnectivity-opensource-src-5.9.7.tar.xz"; - }; - }; - qtdatavis3d = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdatavis3d-opensource-src-5.9.7.tar.xz"; - sha256 = "08anm8byxcym7h1n49j3cbxkh3kh3xjlxd3b8vi8fxyqqhvll4lv"; - name = "qtdatavis3d-opensource-src-5.9.7.tar.xz"; - }; - }; - qtdeclarative = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdeclarative-opensource-src-5.9.7.tar.xz"; - sha256 = "0p26c96fb33khbf7ws91ha73n72lwmn714v8spg0bla9m1jkfhk8"; - name = "qtdeclarative-opensource-src-5.9.7.tar.xz"; - }; - }; - qtdoc = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdoc-opensource-src-5.9.7.tar.xz"; - sha256 = "1vs6dy0mdcn65fhpl8nib0pjw9bliqkjnaahqm833ayvxr15vzyj"; - name = "qtdoc-opensource-src-5.9.7.tar.xz"; - }; - }; - qtgamepad = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtgamepad-opensource-src-5.9.7.tar.xz"; - sha256 = "0242683h9jz6b0n11s4m4ii2691dbws0gkj45n6sx6z513blfx9f"; - name = "qtgamepad-opensource-src-5.9.7.tar.xz"; - }; - }; - qtgraphicaleffects = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtgraphicaleffects-opensource-src-5.9.7.tar.xz"; - sha256 = "1yhxa3i3jvfnc9l6a3q3pyk7y702a3pp87ypshb63607xvrxrv2d"; - name = "qtgraphicaleffects-opensource-src-5.9.7.tar.xz"; - }; - }; - qtimageformats = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtimageformats-opensource-src-5.9.7.tar.xz"; - sha256 = "1an0k3rzxjc4x4rscnibdk36zff6g1n41lh5dasys4jc05k3w1b2"; - name = "qtimageformats-opensource-src-5.9.7.tar.xz"; - }; - }; - qtlocation = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtlocation-opensource-src-5.9.7.tar.xz"; - sha256 = "0lp6zn630px1lj7623shq47dlv02nr0aj7iqscrk0yzhygbv7dc2"; - name = "qtlocation-opensource-src-5.9.7.tar.xz"; - }; - }; - qtmacextras = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtmacextras-opensource-src-5.9.7.tar.xz"; - sha256 = "0b0znccbach41la226cmps9aaigpz8mj940xj890arjf8hn4jd97"; - name = "qtmacextras-opensource-src-5.9.7.tar.xz"; - }; - }; - qtmultimedia = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtmultimedia-opensource-src-5.9.7.tar.xz"; - sha256 = "060gic3gl27r7k4vw4n550384b4wadqfn3biajbq6lbyj3zhgxxx"; - name = "qtmultimedia-opensource-src-5.9.7.tar.xz"; - }; - }; - qtnetworkauth = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtnetworkauth-opensource-src-5.9.7.tar.xz"; - sha256 = "14n8wzsyq7bw67r1k442widfvszawgi5sh0b10h2jcrp5aikqr0p"; - name = "qtnetworkauth-opensource-src-5.9.7.tar.xz"; - }; - }; - qtpurchasing = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtpurchasing-opensource-src-5.9.7.tar.xz"; - sha256 = "1qvxsi0ar04qy0zajbhvwj5blldhfq2mn3laq15g0xxy1xh4m46i"; - name = "qtpurchasing-opensource-src-5.9.7.tar.xz"; - }; - }; - qtquickcontrols = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtquickcontrols-opensource-src-5.9.7.tar.xz"; - sha256 = "1jkz2b2wzxzmskvwwb4afqxz0yp0siaf3yhj2i01y865sp6q1wz0"; - name = "qtquickcontrols-opensource-src-5.9.7.tar.xz"; - }; - }; - qtquickcontrols2 = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtquickcontrols2-opensource-src-5.9.7.tar.xz"; - sha256 = "0w9rq77a8vc9avhbwbx7swg7zw7jn21wd7si59822rw9ln1p6zb0"; - name = "qtquickcontrols2-opensource-src-5.9.7.tar.xz"; - }; - }; - qtremoteobjects = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtremoteobjects-opensource-src-5.9.7.tar.xz"; - sha256 = "1ninscf4jkframv585zzi76fml1lyz0mhb091r2r54lrf66wl3lw"; - name = "qtremoteobjects-opensource-src-5.9.7.tar.xz"; - }; - }; - qtscript = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtscript-opensource-src-5.9.7.tar.xz"; - sha256 = "0mv33a1mjaahq7ixfasvjasc881bprfbkjhx8pn3z5f0l8213m67"; - name = "qtscript-opensource-src-5.9.7.tar.xz"; - }; - }; - qtscxml = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtscxml-opensource-src-5.9.7.tar.xz"; - sha256 = "0xz2q2bl1n43gxx00nrzyc0bsnq4wch0k2rkj3prc9gsgmpq0bih"; - name = "qtscxml-opensource-src-5.9.7.tar.xz"; - }; - }; - qtsensors = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtsensors-opensource-src-5.9.7.tar.xz"; - sha256 = "0pfh4lr9zxsh9winzx1lmcgl2hgp9lr45smcvslr4an93z6mbf8r"; - name = "qtsensors-opensource-src-5.9.7.tar.xz"; - }; - }; - qtserialbus = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtserialbus-opensource-src-5.9.7.tar.xz"; - sha256 = "0n6z56axm0gbrxmnwbz8fv40ar9mw1rlfvmpqvpg5xb9031qil1b"; - name = "qtserialbus-opensource-src-5.9.7.tar.xz"; - }; - }; - qtserialport = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtserialport-opensource-src-5.9.7.tar.xz"; - sha256 = "05qy4m1p5j5bh6af7d97iblsmgy9kppm5wif3bl63p6yghn319sh"; - name = "qtserialport-opensource-src-5.9.7.tar.xz"; - }; - }; - qtspeech = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtspeech-opensource-src-5.9.7.tar.xz"; - sha256 = "0nnbqnh18vw26vphancs38vjr816xha8m6wl389kjqi01kjrcz70"; - name = "qtspeech-opensource-src-5.9.7.tar.xz"; - }; - }; - qtsvg = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtsvg-opensource-src-5.9.7.tar.xz"; - sha256 = "0r2mqy6lb2ypmilf83zyp73v5d9ars314jfm6f0fv5if8yw253v2"; - name = "qtsvg-opensource-src-5.9.7.tar.xz"; - }; - }; - qttools = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qttools-opensource-src-5.9.7.tar.xz"; - sha256 = "18b7jg25434p80yr929nfihk0i124bxpd2dv9mqdcicnv5q0ybnn"; - name = "qttools-opensource-src-5.9.7.tar.xz"; - }; - }; - qttranslations = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qttranslations-opensource-src-5.9.7.tar.xz"; - sha256 = "051a3igp1qnd7d7bg2dvjaqwh6f67fvkn19jdfjzrdis7kcsfvdk"; - name = "qttranslations-opensource-src-5.9.7.tar.xz"; - }; - }; - qtvirtualkeyboard = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtvirtualkeyboard-opensource-src-5.9.7.tar.xz"; - sha256 = "1qcj6ncg53rv4pg4ijdq7vbkzgzfr9bn40aif7g4dndykj0zwla7"; - name = "qtvirtualkeyboard-opensource-src-5.9.7.tar.xz"; - }; - }; - qtwayland = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwayland-opensource-src-5.9.7.tar.xz"; - sha256 = "0y6ky1ipg42gq390ibgr4nns9i4j648yb7bkmx6b7lhsi7mvnp2n"; - name = "qtwayland-opensource-src-5.9.7.tar.xz"; - }; - }; - qtwebchannel = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebchannel-opensource-src-5.9.7.tar.xz"; - sha256 = "189qkfxixddfblwkaf46yrqjp91vhmw90gpafjryqfmd2141r8qj"; - name = "qtwebchannel-opensource-src-5.9.7.tar.xz"; - }; - }; - qtwebengine = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebengine-opensource-src-5.9.7.tar.xz"; - sha256 = "0kzpgks5h19rm7gbhr688lr5f5d9ykf062kj91q7wf6fk7qd72v2"; - name = "qtwebengine-opensource-src-5.9.7.tar.xz"; - }; - }; - qtwebkit = { - version = "5.9.1"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz"; - sha256 = "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998"; - name = "qtwebkit-opensource-src-5.9.1.tar.xz"; - }; - }; - qtwebkit-examples = { - version = "5.9.1"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz"; - sha256 = "1l2l7ycgqql6rf4gx6sjhsqjapdhvy6vxaxssax3l938nkk4vkp4"; - name = "qtwebkit-examples-opensource-src-5.9.1.tar.xz"; - }; - }; - qtwebsockets = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebsockets-opensource-src-5.9.7.tar.xz"; - sha256 = "1qqvd6qf7m2xq71mdaidwabj5c03cbbi1hwc7p95fvbnz9crz79x"; - name = "qtwebsockets-opensource-src-5.9.7.tar.xz"; - }; - }; - qtwebview = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebview-opensource-src-5.9.7.tar.xz"; - sha256 = "1zwqkmzik4f83hdffmw0hz90mzga34hkyz7d0skfbdp25y278r12"; - name = "qtwebview-opensource-src-5.9.7.tar.xz"; - }; - }; - qtwinextras = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwinextras-opensource-src-5.9.7.tar.xz"; - sha256 = "1a57v7krglfdi4gizm402jn9pg7fqpcma7xk6sm68zg1siv11a6x"; - name = "qtwinextras-opensource-src-5.9.7.tar.xz"; - }; - }; - qtx11extras = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtx11extras-opensource-src-5.9.7.tar.xz"; - sha256 = "02jdiw94dasnkszi5w1pysfgz8xrr71pzah37nbnqg0knn4dzich"; - name = "qtx11extras-opensource-src-5.9.7.tar.xz"; - }; - }; - qtxmlpatterns = { - version = "5.9.7"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtxmlpatterns-opensource-src-5.9.7.tar.xz"; - sha256 = "0j0rxkpyww5cgcjhy0332jsyka1d811wf6zmr16d5fdkbryp7d65"; - name = "qtxmlpatterns-opensource-src-5.9.7.tar.xz"; - }; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8a03c1ee550..d1ce69a88fd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13533,22 +13533,6 @@ in developerBuild = true; }); - qt59 = recurseIntoAttrs (makeOverridable - (import ../development/libraries/qt-5/5.9) { - inherit newScope; - inherit stdenv fetchurl fetchpatch makeSetupHook makeWrapper; - bison = bison2; # error: too few arguments to function 'int yylex(... - inherit cups; - harfbuzz = harfbuzzFull; - inherit libGL; - inherit perl; - inherit (gst_all_1) gstreamer gst-plugins-base; - inherit gtk3; - inherit (gnome3) dconf; - }); - - libsForQt59 = lib.makeScope qt59.newScope mkLibsForQt5; - qt511 = recurseIntoAttrs (makeOverridable (import ../development/libraries/qt-5/5.11) { inherit newScope; From ab3f50a1c0687c4a29c7bb908affae55ffe1cbc8 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Mon, 11 Nov 2019 23:34:37 +0000 Subject: [PATCH 4/5] qt511: Remove package sets Nothing depends on Qt 5.11 any more --- .../libraries/qt-5/5.11/default.nix | 175 --- pkgs/development/libraries/qt-5/5.11/fetch.sh | 1 - .../qt-5/5.11/qtbase-fixguicmake.patch | 30 - .../libraries/qt-5/5.11/qtbase.patch | 1106 ----------------- .../libraries/qt-5/5.11/qtdeclarative.patch | 46 - .../libraries/qt-5/5.11/qtscript.patch | 13 - .../libraries/qt-5/5.11/qtserialport.patch | 22 - .../libraries/qt-5/5.11/qttools.patch | 86 -- ...qtwebengine-darwin-no-platform-check.patch | 37 - .../qt-5/5.11/qtwebengine-no-build-skip.patch | 12 - .../libraries/qt-5/5.11/qtwebkit.patch | 12 - pkgs/development/libraries/qt-5/5.11/srcs.nix | 325 ----- pkgs/top-level/all-packages.nix | 17 - 13 files changed, 1882 deletions(-) delete mode 100644 pkgs/development/libraries/qt-5/5.11/default.nix delete mode 100644 pkgs/development/libraries/qt-5/5.11/fetch.sh delete mode 100644 pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/qtbase.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/qtscript.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/qtserialport.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/qttools.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/qtwebkit.patch delete mode 100644 pkgs/development/libraries/qt-5/5.11/srcs.nix diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix deleted file mode 100644 index e22dc4dbae3..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/default.nix +++ /dev/null @@ -1,175 +0,0 @@ -/* - -# Updates - -Before a major version update, make a copy of this directory. (We like to -keep the old version around for a short time after major updates.) Add a -top-level attribute to `top-level/all-packages.nix`. - -1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`. -2. From the top of the Nixpkgs tree, run - `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`. -3. Check that the new packages build correctly. -4. Commit the changes and open a pull request. - -*/ - -{ - newScope, - stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeSetupHook, makeWrapper, - bison, cups ? null, harfbuzz, libGL, perl, - gstreamer, gst-plugins-base, gtk3, dconf, - llvmPackages_5, - - # options - developerBuild ? false, - decryptSslTraffic ? false, - debug ? false, -}: - -with stdenv.lib; - -let - - qtCompatVersion = srcs.qtbase.version; - - stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv; - - mirror = "https://download.qt.io"; - srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // { - # Community port of the now unmaintained upstream qtwebkit. - qtwebkit = { - src = fetchFromGitHub { - owner = "annulen"; - repo = "webkit"; - rev = "4ce8ebc4094512b9916bfa5984065e95ac97c9d8"; - sha256 = "05h1xnxzbf7sp3plw5dndsvpf6iigh0bi4vlj4svx0hkf1giakjf"; - }; - version = "5.212-alpha-01-26-2018"; - }; - }; - - patches = { - qtbase = [ - ./qtbase.patch - ./qtbase-fixguicmake.patch - ]; - qtdeclarative = [ ./qtdeclarative.patch ]; - qtscript = [ - ./qtscript.patch - # needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196 - # fixed in qtscript 5.12.2 - (fetchpatch { - url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff"; - sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi"; - }) - ]; - qtserialport = [ ./qtserialport.patch ]; - qttools = [ ./qttools.patch ]; - qtwebengine = [ - ./qtwebengine-no-build-skip.patch - ./qtwebengine-darwin-no-platform-check.patch - # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707 - # https://bugreports.qt.io/browse/QTBUG-77037 - (fetchpatch { - name = "fix-build-with-pulseaudio-13.0.patch"; - url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951"; - sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am"; - }) - ]; - qtwebkit = [ ./qtwebkit.patch ]; - }; - - qtModule = - import ../qtModule.nix - { - inherit perl; - inherit (stdenv) lib; - # Use a variant of mkDerivation that does not include wrapQtApplications - # to avoid cyclic dependencies between Qt modules. - mkDerivation = - import ../mkDerivation.nix - { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; } - stdenvActual.mkDerivation; - } - { inherit self srcs patches; }; - - addPackages = self: with self; - let - callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; }; - in { - - mkDerivationWith = - import ../mkDerivation.nix - { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; }; - - mkDerivation = mkDerivationWith stdenvActual.mkDerivation; - - qtbase = callPackage ../modules/qtbase.nix { - inherit (srcs.qtbase) src version; - patches = patches.qtbase; - inherit bison cups harfbuzz libGL; - withGtk3 = true; inherit dconf gtk3; - inherit developerBuild decryptSslTraffic; - }; - - qtcharts = callPackage ../modules/qtcharts.nix {}; - qtconnectivity = callPackage ../modules/qtconnectivity.nix {}; - qtdeclarative = callPackage ../modules/qtdeclarative.nix {}; - qtdoc = callPackage ../modules/qtdoc.nix {}; - qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {}; - qtimageformats = callPackage ../modules/qtimageformats.nix {}; - qtlocation = callPackage ../modules/qtlocation.nix { }; - qtmacextras = callPackage ../modules/qtmacextras.nix {}; - qtmultimedia = callPackage ../modules/qtmultimedia.nix { - inherit gstreamer gst-plugins-base; - }; - qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {}; - qtquick1 = null; - qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {}; - qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {}; - qtscript = callPackage ../modules/qtscript.nix {}; - qtsensors = callPackage ../modules/qtsensors.nix {}; - qtserialport = callPackage ../modules/qtserialport.nix {}; - qtspeech = callPackage ../modules/qtspeech.nix {}; - qtsvg = callPackage ../modules/qtsvg.nix {}; - qttools = callPackage ../modules/qttools.nix {}; - qttranslations = callPackage ../modules/qttranslations.nix {}; - qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {}; - qtwayland = callPackage ../modules/qtwayland.nix {}; - qtwebchannel = callPackage ../modules/qtwebchannel.nix {}; - qtwebengine = callPackage ../modules/qtwebengine.nix {}; - qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {}; - qtwebkit = callPackage ../modules/qtwebkit.nix {}; - qtwebsockets = callPackage ../modules/qtwebsockets.nix {}; - qtwebview = callPackage ../modules/qtwebview.nix {}; - qtx11extras = callPackage ../modules/qtx11extras.nix {}; - qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {}; - - env = callPackage ../qt-env.nix {}; - full = env "qt-full-${qtbase.version}" ([ - qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects - qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 - qtscript qtsensors qtserialport qtsvg qttools qttranslations - qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets - qtwebview qtx11extras qtxmlpatterns - ] ++ optional (!stdenv.isDarwin) qtwayland - ++ optional (stdenv.isDarwin) qtmacextras); - - qmake = makeSetupHook { - deps = [ self.qtbase.dev ]; - substitutions = { - fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh; - }; - } ../hooks/qmake-hook.sh; - - wrapQtAppsHook = makeSetupHook { - deps = - [ self.qtbase.dev makeWrapper ] - ++ optional stdenv.isLinux self.qtwayland.dev; - } ../hooks/wrap-qt-apps-hook.sh; - }; - - self = makeScope newScope addPackages; - -in self diff --git a/pkgs/development/libraries/qt-5/5.11/fetch.sh b/pkgs/development/libraries/qt-5/5.11/fetch.sh deleted file mode 100644 index 2ab3dd71c24..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/fetch.sh +++ /dev/null @@ -1 +0,0 @@ -WGET_ARGS=( http://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/ ) diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch deleted file mode 100644 index 8b46d432812..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 0bbc871..3673634 100644 ---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) - macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) - set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration}) - -- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") -+ set(imported_location \"${PLUGIN_LOCATION}\") - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::${Plugin} PROPERTIES - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -index 5baf0fd..3583745 100644 ---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in -@@ -2,10 +2,10 @@ - add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED) - - !!IF !isEmpty(CMAKE_RELEASE_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\") - !!ENDIF - !!IF !isEmpty(CMAKE_DEBUG_TYPE) --_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\") -+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\") - !!ENDIF - - list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase.patch b/pkgs/development/libraries/qt-5/5.11/qtbase.patch deleted file mode 100644 index 7d8407f6daf..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtbase.patch +++ /dev/null @@ -1,1106 +0,0 @@ -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/common/mac.conf qtbase-everywhere-src-5.11.3/mkspecs/common/mac.conf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/common/mac.conf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/common/mac.conf 2019-01-31 00:42:55.843577249 +0100 -@@ -23,7 +23,7 @@ - - QMAKE_FIX_RPATH = install_name_tool -id - --QMAKE_LFLAGS_RPATH = -Wl,-rpath, -+QMAKE_LFLAGS_RPATH = - QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip - - QMAKE_LFLAGS_REL_RPATH = -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/create_cmake.prf qtbase-everywhere-src-5.11.3/mkspecs/features/create_cmake.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/create_cmake.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/create_cmake.prf 2019-01-31 00:42:55.843577249 +0100 -@@ -21,7 +21,7 @@ - # at cmake time whether package has been found via a symlink, and correct - # that to an absolute path. This is only done for installations to - # the /usr or / prefix. --CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS]) -+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/) - contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR - - CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake -@@ -51,45 +51,20 @@ - $$cmake_extra_source_includes.output - } - --CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") { -- CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/ -- CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True --} -+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/ -+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True - --CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_LIB_DIR,"^\\.\\./.*") { -- CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/ -- CMAKE_LIB_DIR_IS_ABSOLUTE = True --} else { -- CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS]) -- # We need to go up another two levels because the CMake files are -- # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME} -- CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../" --} -+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/ -+CMAKE_BIN_DIR_IS_ABSOLUTE = True - --CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_BIN_DIR, "^\\.\\./.*") { -- CMAKE_BIN_DIR = $$[QT_HOST_BINS]/ -- CMAKE_BIN_DIR_IS_ABSOLUTE = True --} -+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/ -+CMAKE_LIB_DIR_IS_ABSOLUTE = True - --CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX]) --contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") { -- CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/ -- CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True --} -- --win32:!static:!staticlib { -- CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX]) -- contains(CMAKE_DLL_DIR, "^\\.\\./.*") { -- CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/ -- CMAKE_DLL_DIR_IS_ABSOLUTE = True -- } --} else { -- CMAKE_DLL_DIR = $$CMAKE_LIB_DIR -- CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE --} -+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/ -+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True -+ -+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/ -+CMAKE_DLL_DIR_IS_ABSOLUTE = True - - static|staticlib:CMAKE_STATIC_TYPE = true - -@@ -169,7 +144,7 @@ - cmake_target_file - - cmake_qt5_plugin_file.files = $$cmake_target_file.output -- cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} -+ cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} - INSTALLS += cmake_qt5_plugin_file - - return() -@@ -316,7 +291,7 @@ - cmake_qt5_module_files.files += $$cmake_macros_file.output - } - --cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME} -+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME} - - # We are generating cmake files. Most developers of Qt are not aware of cmake, - # so we require automatic tests to be available. The only module which should -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in qtbase-everywhere-src-5.11.3/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2019-01-31 00:42:55.843577249 +0100 -@@ -3,30 +3,6 @@ - message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\") - 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}.VERSION)") -@@ -52,11 +28,7 @@ - macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION) - 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}\") --!!ELSE - set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\") --!!ENDIF - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES - \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" -@@ -69,11 +41,7 @@ - ) - - !!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 -@@ -89,24 +57,13 @@ - !!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\" -+ \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" -+ \"$${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}\") --!!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}\" -+ \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" -+ \"$${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 \"\") -@@ -122,7 +79,6 @@ - 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 -@@ -269,25 +225,13 @@ - !!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}\" --!!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}\" ) --!!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() -@@ -306,25 +250,13 @@ - !!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}\" --!!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}\" ) --!!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() -@@ -343,11 +275,7 @@ - macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION) - 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}\") --!!ELSE - set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\") --!!ENDIF - _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) - set_target_properties(Qt5::${Plugin} PROPERTIES - \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_post.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_post.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_post.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_post.prf 2019-01-31 00:45:14.585621324 +0100 -@@ -62,199 +62,3 @@ - } - } - } -- --# Add the same default rpaths as Xcode does for new projects. --# This is especially important for iOS/tvOS/watchOS where no other option is possible. --!no_default_rpath { -- QMAKE_RPATHDIR += @executable_path/Frameworks -- equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks --} -- --# Don't pass -headerpad_max_install_names when using Bitcode. --# In that case the linker emits a warning stating that the flag is ignored when --# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962). --# Using this flag is also unnecessary in practice on UIKit platforms since they --# are sandboxed, and only UIKit platforms support bitcode to begin with. --!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD -- --app_extension_api_only { -- QMAKE_CFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION -- QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION --} -- --macx-xcode { -- qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO -- !isEmpty(QMAKE_PKGINFO_TYPEINFO): \ -- qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO -- else: \ -- qmake_pkginfo_typeinfo.value = "????" -- QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo -- -- !isEmpty(VERSION) { -- l = $$split(VERSION, '.') 0 0 # make sure there are at least three -- VER_MAJ = $$member(l, 0, 0) -- VER_MIN = $$member(l, 1, 1) -- VER_PAT = $$member(l, 2, 2) -- unset(l) -- -- qmake_full_version.name = QMAKE_FULL_VERSION -- qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT} -- QMAKE_MAC_XCODE_SETTINGS += qmake_full_version -- -- qmake_short_version.name = QMAKE_SHORT_VERSION -- qmake_short_version.value = $${VER_MAJ}.$${VER_MIN} -- QMAKE_MAC_XCODE_SETTINGS += qmake_short_version -- } -- -- !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) { -- debug_information_format.name = DEBUG_INFORMATION_FORMAT -- debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT -- debug_information_format.build = debug -- QMAKE_MAC_XCODE_SETTINGS += debug_information_format -- } -- -- QMAKE_XCODE_ARCHS = -- -- arch_device.name = "ARCHS[sdk=$${device.sdk}*]" -- arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS -- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS -- QMAKE_MAC_XCODE_SETTINGS += arch_device -- -- simulator { -- arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]" -- arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS -- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS -- QMAKE_MAC_XCODE_SETTINGS += arch_simulator -- } -- -- only_active_arch.name = ONLY_ACTIVE_ARCH -- only_active_arch.value = YES -- only_active_arch.build = debug -- QMAKE_MAC_XCODE_SETTINGS += only_active_arch --} else { -- device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS -- simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS -- VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS -- -- isEmpty(VALID_ARCHS): \ -- error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture") -- -- single_arch: VALID_ARCHS = $$first(VALID_ARCHS) -- -- ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS)) -- ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch)) -- -- QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS -- -- arch_flags = $(EXPORT_ARCH_ARGS) -- -- QMAKE_CFLAGS += $$arch_flags -- QMAKE_CXXFLAGS += $$arch_flags -- QMAKE_LFLAGS += $$arch_flags -- -- QMAKE_PCH_ARCHS = $$VALID_ARCHS -- -- macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET -- ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET -- tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET -- watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET -- -- # If we're doing a simulator and device build, device and simulator -- # architectures use different paths and flags for the sysroot and -- # deployment target switch, so we must multiplex them across multiple -- # architectures using -Xarch. Otherwise we fall back to the simple path. -- # This is not strictly necessary, but results in cleaner command lines -- # and makes it easier for people to override EXPORT_VALID_ARCHS to limit -- # individual rules to a different set of architecture(s) from the overall -- # build (such as machtest in QtCore). -- simulator:device { -- QMAKE_XARCH_CFLAGS = -- QMAKE_XARCH_LFLAGS = -- QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS -- -- for (arch, VALID_ARCHS) { -- contains(VALID_SIMULATOR_ARCHS, $$arch) { -- sdk = $$simulator.sdk -- version_identifier = $$simulator.deployment_identifier -- } else { -- sdk = $$device.sdk -- version_identifier = $$device.deployment_identifier -- } -- -- version_min_flags = \ -- -Xarch_$${arch} \ -- -m$${version_identifier}-version-min=$$deployment_target -- QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \ -- -Xarch_$${arch} \ -- -isysroot$$xcodeSDKInfo(Path, $$sdk) -- QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \ -- -Xarch_$${arch} \ -- -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk) -- -- QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch}) -- QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch}) -- -- QMAKE_EXTRA_VARIABLES += \ -- QMAKE_XARCH_CFLAGS_$${arch} \ -- QMAKE_XARCH_LFLAGS_$${arch} -- } -- -- QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) -- QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS) -- QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS) -- } else { -- simulator: \ -- version_identifier = $$simulator.deployment_identifier -- else: \ -- version_identifier = $$device.deployment_identifier -- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target -- QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag -- QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag -- QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag -- } -- -- # Enable precompiled headers for multiple architectures -- QMAKE_CFLAGS_USE_PRECOMPILE = -- for (arch, VALID_ARCHS) { -- icc_pch_style: \ -- use_flag = "-pch-use " -- else: \ -- use_flag = -include -- -- # Only use Xarch with multi-arch, as the option confuses ccache -- count(VALID_ARCHS, 1, greaterThan): \ -- QMAKE_CFLAGS_USE_PRECOMPILE += \ -- -Xarch_$${arch} -- -- QMAKE_CFLAGS_USE_PRECOMPILE += \ -- $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}} -- } -- icc_pch_style { -- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT} -- QMAKE_CFLAGS_USE_PRECOMPILE = -- } else { -- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- } -- -- QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT} --} -- --cache(QMAKE_XCODE_DEVELOPER_PATH, stash) --!isEmpty(QMAKE_XCODE_VERSION): \ -- cache(QMAKE_XCODE_VERSION, stash) -- --QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix() -- --xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER --xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX --isEmpty(xcode_product_bundle_identifier_setting.value): \ -- xcode_product_bundle_identifier_setting.value = "com.yourcompany" --xcode_product_bundle_target = $$QMAKE_BUNDLE --isEmpty(xcode_product_bundle_target): \ -- xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier} --xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}" --QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting -Only in qtbase-everywhere-src-5.11.3/mkspecs/features/mac: default_post.prf.orig -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_pre.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_pre.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_pre.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_pre.prf 2019-01-31 00:42:55.843577249 +0100 -@@ -1,60 +1,2 @@ - CONFIG = asset_catalogs rez $$CONFIG - load(default_pre) -- --isEmpty(QMAKE_XCODE_DEVELOPER_PATH) { -- # Get path of Xcode's Developer directory -- QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null") -- isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \ -- error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.") -- -- # Make sure Xcode path is valid -- !exists($$QMAKE_XCODE_DEVELOPER_PATH): \ -- error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.") --} -- --isEmpty(QMAKE_XCODEBUILD_PATH): \ -- QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null") -- --!isEmpty(QMAKE_XCODEBUILD_PATH) { -- # Make sure Xcode is set up properly -- !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \ -- error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.") -- -- isEmpty(QMAKE_XCODE_VERSION) { -- # Extract Xcode version using xcodebuild -- xcode_version = $$system("/usr/bin/xcrun xcodebuild -version") -- QMAKE_XCODE_VERSION = $$member(xcode_version, 1) -- isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.") -- unset(xcode_version) -- } --} -- --isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { -- QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist -- exists($$QMAKE_XCODE_PREFERENCES_FILE): \ -- QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null") -- -- !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \ -- cache(QMAKE_TARGET_BUNDLE_PREFIX) --} -- --QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon -- --# Make the default debug info format for static debug builds --# DWARF instead of DWARF with dSYM. This cuts down build times --# for application debug builds significantly, as Xcode doesn't --# have to pull out all the DWARF info from the Qt static libs --# and put it into a dSYM file. We don't need that dSYM file in --# the first place, since the information is available in the --# object files inside the archives (static libraries). --macx-xcode:qtConfig(static): \ -- QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf -- --# This variable is used by the xcode_dynamic_library_suffix --# feature, which allows Xcode to choose the Qt libraries to link to --# at build time, depending on the current Xcode SDK and configuration. --QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX -- --xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP --xcode_copy_phase_strip_setting.value = NO --QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/sdk.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/sdk.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/sdk.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/sdk.prf 2019-01-31 00:42:55.843577249 +0100 -@@ -1,58 +1 @@ - --isEmpty(QMAKE_MAC_SDK): \ -- error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.") -- --contains(QMAKE_MAC_SDK, .*/.*): \ -- error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)") -- --defineReplace(xcodeSDKInfo) { -- info = $$1 -- equals(info, "Path"): \ -- infoarg = --show-sdk-path -- equals(info, "PlatformPath"): \ -- infoarg = --show-sdk-platform-path -- equals(info, "SDKVersion"): \ -- infoarg = --show-sdk-version -- sdk = $$2 -- isEmpty(sdk): \ -- sdk = $$QMAKE_MAC_SDK -- -- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) { -- QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null") -- # --show-sdk-platform-path won't work for Command Line Tools; this is fine -- # only used by the XCTest backend to testlib -- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \ -- error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg") -- cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info}) -- } -- -- return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info})) --} -- --QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path) --QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath) --QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) -- --sysrootified = --for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val --QMAKE_INCDIR_OPENGL = $$sysrootified -- --QMAKESPEC_NAME = $$basename(QMAKESPEC) -- --# Resolve SDK version of various tools --for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) { -- tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool} -- !isEmpty($$tool_variable) { -- $$tool = $$eval($$tool_variable) -- next() -- } -- -- value = $$eval($$tool) -- isEmpty(value): next() -- -- sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null") -- isEmpty(sysrooted): next() -- -- $$tool = $$sysrooted $$member(value, 1, -1) -- cache($$tool_variable, set stash, $$tool) --} -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_module.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qml_module.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_module.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qml_module.prf 2019-01-31 00:42:55.843577249 +0100 -@@ -23,13 +23,8 @@ - - load(qt_build_paths) - --qml1_target { -- DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH -- instbase = $$[QT_INSTALL_IMPORTS] --} else { -- DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH -- instbase = $$[QT_INSTALL_QML] --} -+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH -+instbase = $$NIX_OUTPUT_QML - - !qml1_target:static: CONFIG += builtin_resources - -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_plugin.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qml_plugin.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_plugin.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qml_plugin.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -48,13 +48,8 @@ - - load(qt_build_paths) - --qml1_target { -- DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH -- instbase = $$[QT_INSTALL_IMPORTS] --} else { -- DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH -- instbase = $$[QT_INSTALL_QML] --} -+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH -+instbase = $$NIX_OUTPUT_QML - - target.path = $$instbase/$$TARGETPATH - INSTALLS += target -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_app.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_app.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_app.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_app.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -33,7 +33,7 @@ - target.path = $$[QT_HOST_BINS] - } else { - !build_pass:qtConfig(debug_and_release): CONFIG += release -- target.path = $$[QT_INSTALL_BINS] -+ target.path = $$NIX_OUTPUT_BIN/bin - CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable - } - INSTALLS += target -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_build_paths.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_build_paths.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_build_paths.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_build_paths.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -24,6 +24,6 @@ - !force_independent { - # If the module is not built independently, everything ends up in qtbase. - # This is the case in non-prefix builds, except for selected modules. -- MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX] -- MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX] -+ MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT -+ MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT - } -Only in qtbase-everywhere-src-5.11.3/mkspecs/features: qt_build_paths.prf.orig -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_common.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_common.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_common.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_common.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -32,8 +32,8 @@ - qqt_libdir = \$\$\$\$[QT_HOST_LIBS] - qt_libdir = $$[QT_HOST_LIBS] - } else { -- qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] -- qt_libdir = $$[QT_INSTALL_LIBS] -+ qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib -+ qt_libdir = $$NIX_OUTPUT_OUT/lib - } - contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { - lib_replace.match = "[^ ']*$$rplbase/lib" -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_docs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_docs.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_docs.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_docs.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -45,7 +45,7 @@ - - QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR) - !build_online_docs: \ -- QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS]) -+ QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC) - PREP_DOC_INDEXES = - DOC_INDEXES = - !isEmpty(QTREPOS) { -@@ -64,8 +64,8 @@ - DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc) - } else { - prepare_docs: \ -- PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) -- DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get]) -+ PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) -+ DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC) - } - - qtattributionsscanner.target = qtattributionsscanner -@@ -88,12 +88,12 @@ - qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch) - - inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR -- inst_html_docs.path = $$[QT_INSTALL_DOCS] -+ inst_html_docs.path = $$NIX_OUTPUT_DOC - inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build - INSTALLS += inst_html_docs - - inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch -- inst_qch_docs.path = $$[QT_INSTALL_DOCS] -+ inst_qch_docs.path = $$NIX_OUTPUT_DOC - inst_qch_docs.CONFIG += no_check_exist no_default_install no_build - INSTALLS += inst_qch_docs - -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_example_installs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_example_installs.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_example_installs.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_example_installs.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -88,7 +88,7 @@ - $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \ - $$DBUS_ADAPTORS $$DBUS_INTERFACES - addInstallFiles(sources.files, $$sourcefiles) --sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase -+sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase - INSTALLS += sources - - check_examples { -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_functions.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_functions.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_functions.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_functions.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -69,7 +69,7 @@ - defineTest(qtPrepareTool) { - cmd = $$eval(QT_TOOL.$${2}.binary) - isEmpty(cmd) { -- cmd = $$[QT_HOST_BINS]/$$2 -+ cmd = $$system("command -v $$2") - exists($${cmd}.pl) { - $${1}_EXE = $${cmd}.pl - cmd = perl -w $$system_path($${cmd}.pl) -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_installs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_installs.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_installs.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_installs.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -12,16 +12,10 @@ - #library - !qt_no_install_library { - win32 { -- host_build: \ -- dlltarget.path = $$[QT_HOST_BINS] -- else: \ -- dlltarget.path = $$[QT_INSTALL_BINS] -+ dlltarget.path = $$NIX_OUTPUT_BIN/bin - INSTALLS += dlltarget - } -- host_build: \ -- target.path = $$[QT_HOST_LIBS] -- else: \ -- target.path = $$[QT_INSTALL_LIBS] -+ target.path = $$NIX_OUTPUT_OUT/lib - !static: target.CONFIG = no_dll - INSTALLS += target - } -@@ -29,33 +23,33 @@ - #headers - qt_install_headers { - gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES -- gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME -+ gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME - INSTALLS += gen_headers - - targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES -- targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME -+ targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME - INSTALLS += targ_headers - - private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES -- private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private -+ private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private - INSTALLS += private_headers - - qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES -- qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa -+ qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa - INSTALLS += qpa_headers - } - - #module - qt_install_module { - !isEmpty(MODULE_PRI) { -- pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules -+ pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules - pritarget.files = $$MODULE_PRI - INSTALLS += pritarget - } else: isEmpty(MODULE_PRIVATE_PRI) { - warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.") - } - !isEmpty(MODULE_PRIVATE_PRI) { -- privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules -+ privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules - privpritarget.files = $$MODULE_PRIVATE_PRI - INSTALLS += privpritarget - } -diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_plugin.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_plugin.prf ---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_plugin.prf 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_plugin.prf 2019-01-31 00:42:55.844577264 +0100 -@@ -88,7 +88,7 @@ - } - } - --target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE -+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE - INSTALLS += target - - TARGET = $$qt5LibraryTarget($$TARGET) -diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/kernel/qcoreapplication.cpp qtbase-everywhere-src-5.11.3/src/corelib/kernel/qcoreapplication.cpp ---- qtbase-everywhere-src-5.11.3-orig/src/corelib/kernel/qcoreapplication.cpp 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/corelib/kernel/qcoreapplication.cpp 2019-01-31 00:42:55.845577279 +0100 -@@ -2612,6 +2612,15 @@ - QStringList *app_libpaths = new QStringList; - coreappdata()->app_libpaths.reset(app_libpaths); - -+ // Add library paths derived from PATH -+ const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); -+ const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX); -+ for (const QString &path: paths) { -+ if (!path.isEmpty()) { -+ app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir)); -+ } -+ } -+ - const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH"); - if (!libPathEnv.isEmpty()) { - QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts); -Only in qtbase-everywhere-src-5.11.3/src/corelib/kernel: qcoreapplication.cpp.orig -diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtras.cmake.in ---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtras.cmake.in 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtras.cmake.in 2019-01-31 00:42:55.844577264 +0100 -@@ -3,7 +3,7 @@ - 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_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -18,7 +18,7 @@ - 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_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -35,7 +35,7 @@ - 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_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") - !!ENDIF -@@ -116,7 +116,7 @@ - !!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_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") - !!ELSE - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\") - !!ENDIF -@@ -130,7 +130,7 @@ - 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_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") - !!ELSE - set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\") - !!ENDIF -diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in ---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in 2019-01-31 00:42:55.844577264 +0100 -@@ -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_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") - !!ELSE - set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") - !!ENDIF -diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in ---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 2019-01-31 00:42:55.844577264 +0100 -@@ -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_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\") - !!ELSE - set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\") - !!ENDIF -diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/tools/qtimezoneprivate_tz.cpp qtbase-everywhere-src-5.11.3/src/corelib/tools/qtimezoneprivate_tz.cpp ---- qtbase-everywhere-src-5.11.3-orig/src/corelib/tools/qtimezoneprivate_tz.cpp 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/corelib/tools/qtimezoneprivate_tz.cpp 2019-01-31 00:42:55.845577279 +0100 -@@ -70,7 +70,11 @@ - // 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"); -+ // Try TZDIR first, in case we're running on NixOS. -+ QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab"); -+ // Fallback to traditional paths in case we are not on NixOS. -+ if (!QFile::exists(path)) -+ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); - if (!QFile::exists(path)) - path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); - -@@ -644,12 +648,16 @@ - 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, in case we're running on NixOS -+ tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId)); - 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 -ur qtbase-everywhere-src-5.11.3-orig/src/dbus/Qt5DBusConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/dbus/Qt5DBusConfigExtras.cmake.in ---- qtbase-everywhere-src-5.11.3-orig/src/dbus/Qt5DBusConfigExtras.cmake.in 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/dbus/Qt5DBusConfigExtras.cmake.in 2019-01-31 00:42:55.845577279 +0100 -@@ -2,11 +2,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\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") --!!ENDIF -+ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") - _qt5_DBus_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qdbuscpp2xml PROPERTIES -@@ -17,11 +13,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\") --!!ELSE -- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") --!!ENDIF -+ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") - _qt5_DBus_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qdbusxml2cpp PROPERTIES -diff -ur qtbase-everywhere-src-5.11.3-orig/src/gui/Qt5GuiConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/gui/Qt5GuiConfigExtras.cmake.in ---- qtbase-everywhere-src-5.11.3-orig/src/gui/Qt5GuiConfigExtras.cmake.in 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/gui/Qt5GuiConfigExtras.cmake.in 2019-01-31 00:42:55.845577279 +0100 -@@ -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_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\") - !!ELSE - set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\") - !!ENDIF -@@ -17,13 +17,13 @@ - 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_OUTPUT_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_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") - !!ELSE - set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\") - !!ENDIF -diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp ---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp 2019-01-31 00:42:55.845577279 +0100 -@@ -265,12 +265,9 @@ - m_possibleLocations.reserve(7); - 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(X11_PREFIX "/share/X11/locale")); - m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale")); -+ m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE)); - } - - QString TableGenerator::findComposeFile() -diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp ---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 2019-01-31 00:42:55.845577279 +0100 -@@ -650,9 +650,14 @@ - #if QT_CONFIG(library) - 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()) -- lib.setFileNameAndVersion(QLatin1String("GL"), 1); -+#ifdef NIXPKGS_MESA_GL -+ if (!lib.load()) { -+ // Fallback to Mesa driver -+ lib.setFileName(QLatin1String(NIXPKGS_MESA_GL)); -+ } -+#endif // NIXPKGS_MESA_GL - glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); - #endif - } -Only in qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx: qglxintegration.cpp.orig -diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/qxcbcursor.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/qxcbcursor.cpp ---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/qxcbcursor.cpp 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/qxcbcursor.cpp 2019-01-31 00:42:55.846577295 +0100 -@@ -316,10 +316,10 @@ - #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library) - static bool function_ptrs_not_initialized = true; - if (function_ptrs_not_initialized) { -- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); -+ QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1); - bool xcursorFound = xcursorLib.load(); - if (!xcursorFound) { // try without the version number -- xcursorLib.setFileName(QLatin1String("Xcursor")); -+ xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR)); - xcursorFound = xcursorLib.load(); - } - if (xcursorFound) { -diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platformthemes/gtk3/main.cpp qtbase-everywhere-src-5.11.3/src/plugins/platformthemes/gtk3/main.cpp ---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platformthemes/gtk3/main.cpp 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/plugins/platformthemes/gtk3/main.cpp 2019-01-31 00:42:55.846577295 +0100 -@@ -39,6 +39,7 @@ - - #include - #include "qgtk3theme.h" -+#include - - QT_BEGIN_NAMESPACE - -@@ -54,8 +55,22 @@ - QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList ¶ms) - { - Q_UNUSED(params); -- if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) -+ if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) { -+ -+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS -+ QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':'); -+ XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS); -+ qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':'))); -+#endif -+ -+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES -+ QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':'); -+ GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES); -+ qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':'))); -+#endif -+ - return new QGtk3Theme; -+ } - - return 0; - } -diff -ur qtbase-everywhere-src-5.11.3-orig/src/testlib/qtestassert.h qtbase-everywhere-src-5.11.3/src/testlib/qtestassert.h ---- qtbase-everywhere-src-5.11.3-orig/src/testlib/qtestassert.h 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/testlib/qtestassert.h 2019-01-31 00:42:55.846577295 +0100 -@@ -44,10 +44,13 @@ - - QT_BEGIN_NAMESPACE - -- -+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) -+#define QTEST_ASSERT(cond) do { } while ((false) && (cond)) -+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond)) -+#else - #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false) -- - #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false) -+#endif - - QT_END_NAMESPACE - -diff -ur qtbase-everywhere-src-5.11.3-orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/widgets/Qt5WidgetsConfigExtras.cmake.in ---- qtbase-everywhere-src-5.11.3-orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in 2018-11-25 13:51:11.000000000 +0100 -+++ qtbase-everywhere-src-5.11.3/src/widgets/Qt5WidgetsConfigExtras.cmake.in 2019-01-31 00:42:55.846577295 +0100 -@@ -3,7 +3,7 @@ - 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_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") - !!ENDIF diff --git a/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch deleted file mode 100644 index cfa68eb8102..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp -index 005db4248..685c5b1b2 100644 ---- a/src/qml/qml/qqmlimport.cpp -+++ b/src/qml/qml/qqmlimport.cpp -@@ -1760,6 +1760,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e) - QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath); - addImportPath(installImportsPath); - -+ // Add import paths derived from PATH -+ const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':'); -+ const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX); -+ for (const QString &path: paths) { -+ if (!path.isEmpty()) { -+ addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir)); -+ } -+ } -+ - // env import paths - if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) { - const QString envImportPath = qEnvironmentVariable("QML2_IMPORT_PATH"); -diff --git a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake -index 56cb3fb55..74509d601 100644 ---- a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake -+++ b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake -@@ -17,7 +17,7 @@ function(QTQUICK_COMPILER_ADD_RESOURCES outfiles) - - find_package(Qt5 COMPONENTS Qml Core) - -- set(compiler_path "${_qt5Core_install_prefix}/bin/qmlcachegen") -+ set(compiler_path "qmlcachegen") - - get_target_property(rcc_path ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION) - -diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf -index 537eaf62e..e21de58f6 100644 ---- a/tools/qmlcachegen/qmlcache.prf -+++ b/tools/qmlcachegen/qmlcache.prf -@@ -26,7 +26,7 @@ defineReplace(qmlCacheOutputFileName) { - } - - qmlcacheinst.base = $$QMLCACHE_DESTDIR --qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH -+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH - qmlcacheinst.CONFIG = no_check_exist - - qmlcachegen.input = CACHEGEN_FILES diff --git a/pkgs/development/libraries/qt-5/5.11/qtscript.patch b/pkgs/development/libraries/qt-5/5.11/qtscript.patch deleted file mode 100644 index 5508dec1280..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtscript.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 - #elif PLATFORM(GTK) - #include --typedef struct _GMutex GMutex; -+typedef union _GMutex GMutex; - typedef struct _GCond GCond; - #endif - diff --git a/pkgs/development/libraries/qt-5/5.11/qtserialport.patch b/pkgs/development/libraries/qt-5/5.11/qtserialport.patch deleted file mode 100644 index f25524e80bc..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtserialport.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h -index af2dab2..8e17f64 100644 ---- a/src/serialport/qtudev_p.h -+++ b/src/serialport/qtudev_p.h -@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN - inline bool resolveSymbols(QLibrary *udevLibrary) - { - if (!udevLibrary->isLoaded()) { -+#ifdef NIXPKGS_LIBUDEV -+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1); -+#else - udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); -+#endif - if (!udevLibrary->load()) { -+#ifdef NIXPKGS_LIBUDEV -+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0); -+#else - udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); -+#endif - if (!udevLibrary->load()) { - qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); - return false; diff --git a/pkgs/development/libraries/qt-5/5.11/qttools.patch b/pkgs/development/libraries/qt-5/5.11/qttools.patch deleted file mode 100644 index 622efc35b6b..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qttools.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in -index 3b97923a..63336bd5 100644 ---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in -+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in -@@ -2,11 +2,10 @@ - if (NOT TARGET Qt5::qcollectiongenerator) - add_executable(Qt5::qcollectiongenerator IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") --!!ENDIF -+ if(NOT EXISTS \"${imported_location}\") -+ set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\") -+ endif() - _qt5_Help_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qcollectiongenerator PROPERTIES -@@ -17,11 +16,7 @@ endif() - if (NOT TARGET Qt5::qhelpgenerator) - add_executable(Qt5::qhelpgenerator IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_Help_check_file_exists(${imported_location}) - - set_target_properties(Qt5::qhelpgenerator PROPERTIES -diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in -index 4318b16f..d60db4ff 100644 ---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in -+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in -@@ -44,11 +44,7 @@ endmacro() - if (NOT TARGET Qt5::lrelease) - add_executable(Qt5::lrelease IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lrelease PROPERTIES -@@ -59,11 +55,7 @@ endif() - if (NOT TARGET Qt5::lupdate) - add_executable(Qt5::lupdate IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lupdate PROPERTIES -@@ -74,11 +66,7 @@ endif() - if (NOT TARGET Qt5::lconvert) - add_executable(Qt5::lconvert IMPORTED) - --!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) -- set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") --!!ELSE - set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\") --!!ENDIF - _qt5_LinguistTools_check_file_exists(${imported_location}) - - set_target_properties(Qt5::lconvert PROPERTIES ---- a/src/macdeployqt/shared/shared.cpp -+++ b/src/macdeployqt/shared/shared.cpp -@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf - if (!QFile(qmlImportScannerPath).exists()) - qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner"; - -+#ifdef NIXPKGS_QMLIMPORTSCANNER -+ // Fallback: Nixpkgs hardcoded path -+ if (!QFile(qmlImportScannerPath).exists()) -+ qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER; -+#endif -+ - // Verify that we found a qmlimportscanner binary - if (!QFile(qmlImportScannerPath).exists()) { - LogError() << "qmlimportscanner not found at" << qmlImportScannerPath; diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch deleted file mode 100644 index 3e1a8762b36..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf ---- a/mkspecs/features/platform.prf -+++ b/mkspecs/features/platform.prf -@@ -38,10 +38,6 @@ defineTest(isPlatformSupported) { - return(false) - } - } else:osx { -- !isMinXcodeVersion(7, 3) { -- skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 7.3 is required to build Qt WebEngine.") -- return(false) -- } - !clang|intel_icc { - skipBuild("Qt WebEngine on macOS requires Clang.") - return(false) -@@ -52,10 +48,6 @@ defineTest(isPlatformSupported) { - skipBuild("Building Qt WebEngine requires macOS version 10.11 or newer.") - return(false) - } -- !isMinOSXSDKVersion(10, 10): { -- skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.11 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.") -- return(false) -- } - } else { - skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.") - return(false) -diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri ---- a/src/core/config/mac_osx.pri -+++ b/src/core/config/mac_osx.pri -@@ -5,8 +5,6 @@ load(functions) - # otherwise query for it. - QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion) - isEmpty(QMAKE_MAC_SDK_VERSION) { -- QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null") -- isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'") - } - - QMAKE_CLANG_DIR = "/usr" diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch deleted file mode 100644 index f332d5e1bb2..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/qtwebengine.pro b/qtwebengine.pro ---- a/qtwebengine.pro -+++ b/qtwebengine.pro -@@ -5,7 +5,7 @@ runConfigure() - - !isEmpty(skipBuildReason) { - SUBDIRS = -- log($${skipBuildReason}$${EOL}) -+ error($${skipBuildReason}$${EOL}) - log(QtWebEngine will not be built.$${EOL}) - } - diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch deleted file mode 100644 index b94a4b76cba..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake ---- a/Source/WebKit2/PlatformQt.cmake -+++ b/Source/WebKit2/PlatformQt.cmake -@@ -261,6 +261,7 @@ - list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES - ${GLIB_INCLUDE_DIRS} - ${GSTREAMER_INCLUDE_DIRS} -+ ${GSTREAMER_PBUTILS_INCLUDE_DIRS} - ${Qt5Quick_INCLUDE_DIRS} - ${Qt5Quick_PRIVATE_INCLUDE_DIRS} - ${SQLITE_INCLUDE_DIR} - diff --git a/pkgs/development/libraries/qt-5/5.11/srcs.nix b/pkgs/development/libraries/qt-5/5.11/srcs.nix deleted file mode 100644 index cff49b18033..00000000000 --- a/pkgs/development/libraries/qt-5/5.11/srcs.nix +++ /dev/null @@ -1,325 +0,0 @@ -# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh -{ fetchurl, mirror }: - -{ - qt3d = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qt3d-everywhere-src-5.11.3.tar.xz"; - sha256 = "1awyv40jgbb30yp5zxf6j9wq96nmk8zyhbh4fpn9gn35ychmr984"; - name = "qt3d-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtactiveqt = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtactiveqt-everywhere-src-5.11.3.tar.xz"; - sha256 = "0g35yhp01c34m91fp5vzzq0d2kzz0yswpjjk5cg36j0ddnfcsh4d"; - name = "qtactiveqt-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtandroidextras = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtandroidextras-everywhere-src-5.11.3.tar.xz"; - sha256 = "0clqz10ry70f0v8hbw37fhlwrsr5jddg99yjsk9db250dwbqzq27"; - name = "qtandroidextras-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtbase = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtbase-everywhere-src-5.11.3.tar.xz"; - sha256 = "071yc9iz14qs4s8yvrwllyfdzp5yjxsdpvbjxdrf0g5q69vqigy6"; - name = "qtbase-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtcanvas3d = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtcanvas3d-everywhere-src-5.11.3.tar.xz"; - sha256 = "0f110z7cmkzns9k00aa5zhzq2fpybfxkd7gdlwzcbhc8hn20986m"; - name = "qtcanvas3d-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtcharts = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtcharts-everywhere-src-5.11.3.tar.xz"; - sha256 = "1p4m1nkbbxlkwmbmasx5r83skzssmlcgfzyvj30x2dyrqkmz7627"; - name = "qtcharts-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtconnectivity = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtconnectivity-everywhere-src-5.11.3.tar.xz"; - sha256 = "0amks3qad31i7cha85kvcaxvlmmgkc3gm4jdkw2p02ixxfygr30l"; - name = "qtconnectivity-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtdatavis3d = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdatavis3d-everywhere-src-5.11.3.tar.xz"; - sha256 = "1kqwr3avcvcyy4i28vjgxk1bsjj9011zr668hsk1zrjxnnwjwdl3"; - name = "qtdatavis3d-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtdeclarative = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdeclarative-everywhere-src-5.11.3.tar.xz"; - sha256 = "1rhsf9bma2zwwpixk2fsg31x7c1pmsk144npypgc9w86swhkc9lf"; - name = "qtdeclarative-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtdoc = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdoc-everywhere-src-5.11.3.tar.xz"; - sha256 = "06nl8lzrilj8yify5qy4fm9la6dh71aamg19jhvvi657cshiclsq"; - name = "qtdoc-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtgamepad = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtgamepad-everywhere-src-5.11.3.tar.xz"; - sha256 = "1k222cx18zq48sfna91hmy427qzk2n2xz3dlyz59iyz72k6915g9"; - name = "qtgamepad-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtgraphicaleffects = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtgraphicaleffects-everywhere-src-5.11.3.tar.xz"; - sha256 = "1qjpdzkamf27cg5n1wsf0zk939lcgppgydfjzap9s4fxzj1nkn0l"; - name = "qtgraphicaleffects-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtimageformats = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtimageformats-everywhere-src-5.11.3.tar.xz"; - sha256 = "0zq8igsjyyhxsjr43vpaasrqjw3x0g6rwqf8kaz7y9vs7ny63ch4"; - name = "qtimageformats-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtlocation = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtlocation-everywhere-src-5.11.3.tar.xz"; - sha256 = "1sq0f41jwmsimv9a1wl2nk5nifjppm5j92rr4n4s7qwnnjjrir2q"; - name = "qtlocation-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtmacextras = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtmacextras-everywhere-src-5.11.3.tar.xz"; - sha256 = "1j9sqmcwswr8v9z8mcbm10bj7nz8nv9mir0xsc5123ik1gw2c3lk"; - name = "qtmacextras-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtmultimedia = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtmultimedia-everywhere-src-5.11.3.tar.xz"; - sha256 = "0h9wx86zj20n4xc3qnml0i360x2dc1yd2z2af1flj8fwyzppi03j"; - name = "qtmultimedia-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtnetworkauth = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtnetworkauth-everywhere-src-5.11.3.tar.xz"; - sha256 = "0dd35698wzg89975vi2ijl2lym495fjizsl03mjixsjnvb1x0q50"; - name = "qtnetworkauth-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtpurchasing = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtpurchasing-everywhere-src-5.11.3.tar.xz"; - sha256 = "1fd0gxdj5mrh81iwimq1243i3n47sqv9ik8nslahfh0q3dsx7k8n"; - name = "qtpurchasing-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtquickcontrols = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols-everywhere-src-5.11.3.tar.xz"; - sha256 = "0dvmy31qbl76yy0j5y8m7mvnmqyg2c01fmlkn0snvc5h5ah5skjf"; - name = "qtquickcontrols-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtquickcontrols2 = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols2-everywhere-src-5.11.3.tar.xz"; - sha256 = "11nhpb0xckv5jjkqj5szr94c2rvyjwr89ch58hh64nsqaav30mpl"; - name = "qtquickcontrols2-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtremoteobjects = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtremoteobjects-everywhere-src-5.11.3.tar.xz"; - sha256 = "1d3jzsxfyjhgb6wj9iv1388bv7j6pi08346nmkm1c1a4iykhc0zp"; - name = "qtremoteobjects-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtscript = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtscript-everywhere-src-5.11.3.tar.xz"; - sha256 = "027cvggbcvwyz76cn1bl1zvqg0nq7iica1b7yx7xyy0hb36g715v"; - name = "qtscript-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtscxml = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtscxml-everywhere-src-5.11.3.tar.xz"; - sha256 = "1mv8mz36v34dckrzy5r41mq3sqznbalrhndk3avz2154xmkjf5qk"; - name = "qtscxml-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtsensors = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtsensors-everywhere-src-5.11.3.tar.xz"; - sha256 = "0n88c8xi9pbyh7q1pcqv4yjv6nx62abflj8qgfr4qzb0sp8m6mx7"; - name = "qtsensors-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtserialbus = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtserialbus-everywhere-src-5.11.3.tar.xz"; - sha256 = "0vf12jk1ma0v0dlpliw1x9i04iaik1kjkiaby7gaxm2abprxwr2n"; - name = "qtserialbus-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtserialport = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtserialport-everywhere-src-5.11.3.tar.xz"; - sha256 = "1nkbfsxzgicwns3k11hhzjxy2hgrigj8xcw2by0jc1j71mnmxi4n"; - name = "qtserialport-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtspeech = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtspeech-everywhere-src-5.11.3.tar.xz"; - sha256 = "158p7zqd0vg55gf88jzc3d4f7649ihh80k0m1q46m2yp6fpdjbxr"; - name = "qtspeech-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtsvg = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtsvg-everywhere-src-5.11.3.tar.xz"; - sha256 = "14a4rprbj9f9rhixbk7143xdz34d7d39xh9v2sc1w43q9sf2rsi1"; - name = "qtsvg-everywhere-src-5.11.3.tar.xz"; - }; - }; - qttools = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qttools-everywhere-src-5.11.3.tar.xz"; - sha256 = "13lzdxxi02yhvx4mflhisl6aqv2fiss5m804cqccd1wvp8dyh1f2"; - name = "qttools-everywhere-src-5.11.3.tar.xz"; - }; - }; - qttranslations = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qttranslations-everywhere-src-5.11.3.tar.xz"; - sha256 = "0j8i2kabz22vqb0qj41pkjv848zblqxs71sydc3xcd5av22b517s"; - name = "qttranslations-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtvirtualkeyboard = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz"; - sha256 = "17jb7cbfy5c19fr9frql6q22in3ra3a4fbff0kjykllxb8j40p4c"; - name = "qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtwayland = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwayland-everywhere-src-5.11.3.tar.xz"; - sha256 = "1chz4wchgkzd45h143i5hkqg0whcgdbj37gkg7j4kj31whllzjb2"; - name = "qtwayland-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtwebchannel = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebchannel-everywhere-src-5.11.3.tar.xz"; - sha256 = "1wrdawlqvcw84h8q52mvbjhp1vkd6fhz6c8ijlg9rw0s3fj4y99w"; - name = "qtwebchannel-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtwebengine = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebengine-everywhere-src-5.11.3.tar.xz"; - sha256 = "1zmqsdais85cdfh2jh8h4a5jcamp1mzdk3vgqm6xnldqf6nrxd2v"; - name = "qtwebengine-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtwebglplugin = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebglplugin-everywhere-src-5.11.3.tar.xz"; - sha256 = "0wqz8lycmi7pffzy0pz5960w109lbk4mkbw0l1lh64avl6clq7b9"; - name = "qtwebglplugin-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtwebsockets = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebsockets-everywhere-src-5.11.3.tar.xz"; - sha256 = "1ffmapfy68xwwbxbg19ng6b5h8v42cf78s21j7rgq49gm70r0402"; - name = "qtwebsockets-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtwebview = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebview-everywhere-src-5.11.3.tar.xz"; - sha256 = "1njmn1n03dp4md8cz58cq2z6bsxd8nwlw0238zmavh7px3jzc9kh"; - name = "qtwebview-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtwinextras = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwinextras-everywhere-src-5.11.3.tar.xz"; - sha256 = "1xf9gc0wqk9jz2ayx29vx0vmm72x9h4qxp2fvgpclns621wyhw72"; - name = "qtwinextras-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtx11extras = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtx11extras-everywhere-src-5.11.3.tar.xz"; - sha256 = "11fd2mc20qmnyv1vqhaqad2q6m0i4lmkr432rmqvpkgphpkfp7pr"; - name = "qtx11extras-everywhere-src-5.11.3.tar.xz"; - }; - }; - qtxmlpatterns = { - version = "5.11.3"; - src = fetchurl { - url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtxmlpatterns-everywhere-src-5.11.3.tar.xz"; - sha256 = "1vhfvgi39miqsx3iq7c9sii2sykq0yfng69b70i0smr20zihpl4b"; - name = "qtxmlpatterns-everywhere-src-5.11.3.tar.xz"; - }; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1ce69a88fd..4dd9e0059e1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13533,23 +13533,6 @@ in developerBuild = true; }); - qt511 = recurseIntoAttrs (makeOverridable - (import ../development/libraries/qt-5/5.11) { - inherit newScope; - inherit stdenv fetchurl fetchFromGitHub fetchpatch makeSetupHook makeWrapper; - bison = bison2; # error: too few arguments to function 'int yylex(... - inherit cups; - harfbuzz = harfbuzzFull; - inherit libGL; - inherit perl; - inherit gtk3; - inherit (gnome3) dconf; - inherit (gst_all_1) gstreamer gst-plugins-base; - inherit llvmPackages_5; - }); - - libsForQt511 = recurseIntoAttrs (lib.makeScope qt511.newScope mkLibsForQt5); - qt512 = recurseIntoAttrs (makeOverridable (import ../development/libraries/qt-5/5.12) { inherit newScope; From 9ae97297088a34bc3774a4c68363d4d742547ee2 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Thu, 14 Nov 2019 10:49:01 +0000 Subject: [PATCH 5/5] merkaartor: 0.18.3 -> unstable-2019-11-12 --- pkgs/applications/misc/merkaartor/default.nix | 7 +++---- pkgs/top-level/all-packages.nix | 4 +--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix index 149546e46d2..e643c212225 100644 --- a/pkgs/applications/misc/merkaartor/default.nix +++ b/pkgs/applications/misc/merkaartor/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "merkaartor"; - version = "0.18.3"; + version = "unstable-2019-11-12"; src = fetchFromGitHub { owner = "openstreetmap"; repo = "merkaartor"; - rev = version; - sha256 = "0ls3q8m1hxiwyrypy6qca8wczhl4969ncl0sszfdwfv70rzxjk88"; + rev = "29b3388680a03f1daac0037a2b504ea710da879a"; + sha256 = "0h3d3srzl06p2ajq911j05zr4vkl88qij18plydx45yqmvyvh0xz"; }; nativeBuildInputs = [ makeWrapper qmake pkgconfig ]; @@ -30,6 +30,5 @@ stdenv.mkDerivation rec { homepage = http://merkaartor.be/; license = licenses.gpl2Plus; maintainers = with maintainers; [ ]; - broken = true; # Does not build with qt >= 5.12 }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4dd9e0059e1..70d25d14e3e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19817,9 +19817,7 @@ in mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; }); - merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { - gdal = gdal_2; # https://github.com/openstreetmap/merkaartor/issues/179 - }; + merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { }; meshlab = libsForQt5.callPackage ../applications/graphics/meshlab { };