diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5/5.4/qtbase.nix')
-rw-r--r-- | pkgs/development/libraries/qt-5/5.4/qtbase.nix | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase.nix b/pkgs/development/libraries/qt-5/5.4/qtbase.nix deleted file mode 100644 index 30d53eb874be..000000000000 --- a/pkgs/development/libraries/qt-5/5.4/qtbase.nix +++ /dev/null @@ -1,211 +0,0 @@ -{ stdenv, substituteAll -, srcs, version - -, xorg, libX11, libxcb, libXcursor, libXext, libXrender, libXi -, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon -, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre -, zlib, libjpeg, libpng, libtiff, sqlite, icu - -, coreutils, bison, flex, gdb, gperf, lndir, ruby -, python, perl, pkgconfig - -# optional dependencies -, cups ? null -, mysql ? null, postgresql ? null - -# options -, mesaSupported, mesa, mesa_glu -, buildDocs ? false -, buildExamples ? false -, buildTests ? false -, developerBuild ? false -, gtkStyle ? false, libgnomeui, GConf, gnome_vfs, gtk -, decryptSslTraffic ? false -}: - -with stdenv.lib; - -let system-x86_64 = elem stdenv.system platforms.x86_64; in - -stdenv.mkDerivation { - - name = "qtbase-${version}"; - inherit version; - - srcs = with srcs; [ qt5-opensource-src qtbase-opensource-src ]; - sourceRoot = "qt-everywhere-opensource-src-${version}"; - - postUnpack = '' - mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase - ''; - - prePatch = '' - substituteInPlace configure --replace /bin/pwd pwd - substituteInPlace qtbase/configure --replace /bin/pwd pwd - substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls - substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \ - --replace /usr/share/X11/locale ${libX11}/share/X11/locale \ - --replace /usr/lib/X11/locale ${libX11}/share/X11/locale - sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf - ''; - - patches = - optional gtkStyle - (substituteAll { - src = ./0001-dlopen-gtkstyle.patch; - # substituteAll ignores env vars starting with capital letter - gconf = GConf; - inherit gnome_vfs libgnomeui gtk; - }) - ++ [ - (substituteAll { - src = ./0004-dlopen-resolv.patch; - glibc = stdenv.cc.libc; - }) - (substituteAll { - src = ./0005-dlopen-gl.patch; - openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path"; - }) - ./0006-tzdir.patch - (substituteAll { src = ./0010-dlopen-libXcursor.patch; inherit libXcursor; }) - (substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; }) - (substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; }) - ./0013-xdg_config_dirs.patch - ] ++ optional mesaSupported - (substituteAll { src = ./0014-mkspecs-libgl.patch; inherit mesa; }) - ++ (optional decryptSslTraffic ./0100-ssl.patch); - - preConfigure = '' - export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH" - export MAKEFLAGS=-j$NIX_BUILD_CORES - - sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/src/corelib/Qt5Config.cmake.in" - sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/src/corelib/Qt5CoreMacros.cmake" - sed -i 's/NO_DEFAULT_PATH//' "qtbase/src/gui/Qt5GuiConfigExtras.cmake.in" - sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in" - - export configureFlags+="-plugindir $out/lib/qt5/plugins -importdir $out/lib/qt5/imports -qmldir $out/lib/qt5/qml" - export configureFlags+=" -docdir $out/share/doc/qt5" - ''; - - prefixKey = "-prefix "; - - # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa - # TODO Remove obsolete and useless flags once the build will be totally mastered - configureFlags = '' - -verbose - -confirm-license - -opensource - - -release - -shared - -c++11 - ${optionalString developerBuild "-developer-build"} - -largefile - -accessibility - -rpath - -optimized-qmake - -strip - -reduce-relocations - -system-proxies - -pkg-config - - -gui - -widgets - -opengl desktop - -qml-debug - -nis - -iconv - -icu - -pch - -glib - -xcb - -qpa xcb - -${optionalString (cups == null) "no-"}cups - -${optionalString (!gtkStyle) "no-"}gtkstyle - - -no-eglfs - -no-directfb - -no-linuxfb - -no-kms - - ${optionalString (!system-x86_64) "-no-sse2"} - -no-sse3 - -no-ssse3 - -no-sse4.1 - -no-sse4.2 - -no-avx - -no-avx2 - -no-mips_dsp - -no-mips_dspr2 - - -system-zlib - -system-libpng - -system-libjpeg - -system-xcb - -system-xkbcommon - -openssl-linked - -dbus-linked - - -system-sqlite - -${if mysql != null then "plugin" else "no"}-sql-mysql - -${if postgresql != null then "plugin" else "no"}-sql-psql - - -make libs - -make tools - -${optionalString (buildExamples == false) "no"}make examples - -${optionalString (buildTests == false) "no"}make tests - ''; - - # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag - # if dependency paths contain the string "pq", which can occur in the hash. - # To prevent these failures, we need to override PostgreSQL detection. - PSQL_LIBS = optionalString (postgresql != null) "-L${postgresql}/lib -lpq"; - - propagatedBuildInputs = [ - xorg.libXcomposite libX11 libxcb libXext libXrender libXi - fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre - zlib libjpeg libpng libtiff sqlite icu - xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon - ] - # Qt doesn't directly need GLU (just GL), but many apps use, it's small and - # doesn't remain a runtime-dep if not used - ++ optionals mesaSupported [ mesa mesa_glu ] - ++ optional (cups != null) cups - ++ optional (mysql != null) mysql.lib - ++ optional (postgresql != null) postgresql - ++ optionals gtkStyle [gnome_vfs libgnomeui gtk GConf]; - - buildInputs = - [ bison flex gperf ruby ] - ++ optional developerBuild gdb; - - nativeBuildInputs = [ python perl pkgconfig ]; - - # freetype-2.5.4 changed signedness of some struct fields - NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; - - postInstall = - '' - ${optionalString buildDocs '' - make docs && make install_docs - ''} - - # Don't retain build-time dependencies like gdb and ruby. - sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri - ''; - - inherit lndir; - setupHook = ./setup-hook.sh; - - enableParallelBuilding = true; # often fails on Hydra, as well as qt4 - - meta = { - homepage = http://qt-project.org; - description = "A cross-platform application framework for C++"; - license = "GPL/LGPL"; - maintainers = with maintainers; [ bbenoist qknight ttuegel ]; - platforms = platforms.linux; - }; - -} |