diff options
Diffstat (limited to 'pkgs/development/libraries')
142 files changed, 3328 insertions, 474 deletions
diff --git a/pkgs/development/libraries/CGAL/cgal_path.patch b/pkgs/development/libraries/CGAL/cgal_path.patch new file mode 100644 index 00000000000..68eec5fbb21 --- /dev/null +++ b/pkgs/development/libraries/CGAL/cgal_path.patch @@ -0,0 +1,15 @@ +--- Installation/cmake/modules/CGALConfig_install.cmake.in.original 2019-07-10 10:39:12.377022659 -0700 ++++ Installation/cmake/modules/CGALConfig_install.cmake.in 2019-07-10 10:47:24.310154928 -0700 +@@ -45,9 +45,9 @@ + set(CGAL_SHARED_LINKER_FLAGS_DEBUG_INIT "@CMAKE_SHARED_LINKER_FLAGS_DEBUG@" ) + set(CGAL_BUILD_TYPE_INIT "@CMAKE_BUILD_TYPE@" ) + +-set(CGAL_INCLUDE_DIRS "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_INC_DIR@" ) +-set(CGAL_MODULES_DIR "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_CMAKE_DIR@" ) +-set(CGAL_LIBRARIES_DIR "${CGAL_INSTALL_PREFIX}/@CGAL_INSTALL_LIB_DIR@" ) ++set(CGAL_INCLUDE_DIRS "@CGAL_INSTALL_INC_DIR@" ) ++set(CGAL_MODULES_DIR "@CGAL_INSTALL_CMAKE_DIR@" ) ++set(CGAL_LIBRARIES_DIR "@CGAL_INSTALL_LIB_DIR@" ) + + # If CGAL_ImageIO is built, tell if it was linked with Zlib. + set(CGAL_ImageIO_USE_ZLIB "@CGAL_ImageIO_USE_ZLIB@" ) diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix index 16a643e2a7f..62f11a7a725 100644 --- a/pkgs/development/libraries/CGAL/default.nix +++ b/pkgs/development/libraries/CGAL/default.nix @@ -1,8 +1,14 @@ -{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }: +{ stdenv +, fetchFromGitHub +, cmake +, boost +, gmp +, mpfr +}: stdenv.mkDerivation rec { + pname = "cgal"; version = "5.0.2"; - name = "cgal-" + version; src = fetchFromGitHub { owner = "CGAL"; @@ -16,6 +22,8 @@ stdenv.mkDerivation rec { buildInputs = [ boost gmp mpfr ]; nativeBuildInputs = [ cmake ]; + patches = [ ./cgal_path.patch ]; + doCheck = false; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix index 4b280cc1862..6e863e4eeba 100644 --- a/pkgs/development/libraries/acl/default.nix +++ b/pkgs/development/libraries/acl/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, gettext, attr }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "acl-2.2.53"; diff --git a/pkgs/development/libraries/agda/agda-categories/default.nix b/pkgs/development/libraries/agda/agda-categories/default.nix index 9eb68b5a64a..13ca6c52d71 100644 --- a/pkgs/development/libraries/agda/agda-categories/default.nix +++ b/pkgs/development/libraries/agda/agda-categories/default.nix @@ -1,14 +1,14 @@ { lib, mkDerivation, fetchFromGitHub, standard-library }: mkDerivation rec { - version = "0.1"; + version = "0.1.3.1"; pname = "agda-categories"; src = fetchFromGitHub { owner = "agda"; repo = "agda-categories"; - rev = "release/v${version}"; - sha256 = "0m4pjy92jg6zfziyv0bxv5if03g8k4413ld8c3ii2xa8bzfn04m2"; + rev = "v${version}"; + sha256 = "08mc20qaz9vp5rhi60rh8wvjkg5aby3bgwwdhfnxha1663qf1q24"; }; buildInputs = [ standard-library ]; @@ -18,11 +18,6 @@ mkDerivation rec { description = "A new Categories library"; license = licenses.bsd3; platforms = platforms.unix; - # agda categories takes a lot of memory to build. - # This can be removed if this is eventually fixed upstream. - hydraPlatforms = []; - # Waiting for release 0.2 for this to work - broken = true; maintainers = with maintainers; [ alexarice turion ]; }; } diff --git a/pkgs/development/libraries/agda/agda-prelude/default.nix b/pkgs/development/libraries/agda/agda-prelude/default.nix index 2bec10c02dd..f13cc698236 100644 --- a/pkgs/development/libraries/agda/agda-prelude/default.nix +++ b/pkgs/development/libraries/agda/agda-prelude/default.nix @@ -1,14 +1,14 @@ { stdenv, mkDerivation, fetchFromGitHub }: mkDerivation rec { - version = "compat-2.6.0"; + version = "compat-2.6.1"; pname = "agda-prelude"; src = fetchFromGitHub { owner = "UlfNorell"; repo = "agda-prelude"; rev = version; - sha256 = "0brg61qrf8izqav80qpx77dbdxvlnsxyy0v7hmlrmhg68b5lp38y"; + sha256 = "128rbhd32qlq2nq3wgqni4ih58zzwvs9pkn9j8236ycxxp6x81sl"; }; preConfigure = '' @@ -18,15 +18,11 @@ mkDerivation rec { cd .. ''; - everythingFile = "./Everything.agda"; - meta = with stdenv.lib; { homepage = "https://github.com/UlfNorell/agda-prelude"; description = "Programming library for Agda"; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.unix; - # broken since Agda 2.6.1 - broken = true; maintainers = with maintainers; [ mudri alexarice turion ]; }; } diff --git a/pkgs/development/libraries/agda/generic/default.nix b/pkgs/development/libraries/agda/generic/default.nix new file mode 100644 index 00000000000..1287e08bda1 --- /dev/null +++ b/pkgs/development/libraries/agda/generic/default.nix @@ -0,0 +1,31 @@ +{ lib, mkDerivation, fetchFromGitHub, standard-library }: + +mkDerivation rec { + pname = "generic"; + version = "0.1"; + + src = fetchFromGitHub { + repo = "Generic"; + owner = "effectfully"; + rev = "v${version}"; + sha256 = "121121rg3daaqp91845fbyws6g28hyj1ywmh12n54r3nicb35g5q"; + }; + + buildInputs = [ + standard-library + ]; + + preBuild = '' + echo "module Everything where" > Everything.agda + find src -name '*.agda' | sed -e 's/src\///;s/\//./g;s/\.agda$//;s/^/import /' >> Everything.agda + ''; + + meta = with lib; { + description = + "A library for doing generic programming in Agda"; + homepage = src.meta.homepage; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ alexarice turion ]; + }; +} diff --git a/pkgs/development/libraries/amdvlk/default.nix b/pkgs/development/libraries/amdvlk/default.nix index 506e3e2535f..d4a717e384b 100644 --- a/pkgs/development/libraries/amdvlk/default.nix +++ b/pkgs/development/libraries/amdvlk/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "amdvlk"; - version = "2020.Q3.2"; + version = "2020.Q3.3"; src = fetchRepoProject { name = "${pname}-src"; manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git"; rev = "refs/tags/v-${version}"; - sha256 = "1mki4lxy981g1rz9d6w18dv1hf3ldch5gld2vb7injn5ipp6z2y3"; + sha256 = "0s5a294gzcz438gmafirk3czrjcahv3imsg41k3vk83x4dbdlhxv"; }; buildInputs = [ @@ -78,8 +78,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "AMD Open Source Driver For Vulkan"; homepage = "https://github.com/GPUOpen-Drivers/AMDVLK"; + changelog = "https://github.com/GPUOpen-Drivers/AMDVLK/releases/tag/v-${version}"; license = licenses.mit; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ Flakebi ]; + maintainers = with maintainers; [ danieldk Flakebi ]; }; } diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index 497262c04d7..d69d475f737 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, gettext }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "attr-2.4.48"; @@ -14,10 +19,7 @@ stdenv.mkDerivation rec { patches = [ # fix fakechroot: https://github.com/dex4er/fakechroot/issues/57 - (fetchurl { - url = "https://git.savannah.nongnu.org/cgit/attr.git/patch/?id=14adc898a36948267bfe5c63b399996879e94c98"; - sha256 = "0gja54fz79a9ma6b4mprnjxq77l5yg2z9xknlwhmkcrfnam02qxp"; - }) + ./syscall.patch ]; postPatch = '' diff --git a/pkgs/development/libraries/attr/syscall.patch b/pkgs/development/libraries/attr/syscall.patch new file mode 100644 index 00000000000..be2cfb3928b --- /dev/null +++ b/pkgs/development/libraries/attr/syscall.patch @@ -0,0 +1,120 @@ +From 14adc898a36948267bfe5c63b399996879e94c98 Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher <agruenba@redhat.com> +Date: Fri, 17 Aug 2018 14:07:31 +0200 +Subject: Switch back to syscall() + +Switch back to syscall() for the *xattr system calls. The current +mechanism of forwarding those calls to glibc breaks libraries like +libfakeroot (fakeroot) and libasan (the gcc address sanitizer; gcc +-fsanitize=address). + +Those libraries provide wrappers for functions defined in other shared +libraries, usually glibc, do their own processing, and forward calls to +the original symbols looke dup via dlsym(RTLD_NEXT, "symbol_name"). In +our case, dlsym returns the libattr_*xattr wrappers. However, when our +wrappers try calling glibc, they end up calling the libfakeroot / +libasan wrappers instead because those override the original symbols => +recursion. + +The libattr_*xattr wrappers will only be used when symbols are looked up +at runtime (dlopen / dlsym). Programs linking against libattr will +directly use the glibc provided symbols. Therefore, the slightly worse +performance of syscall() won't affect any of the "normal" users of +libattr. +--- + libattr/syscalls.c | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/libattr/syscalls.c b/libattr/syscalls.c +index 3013aa0..721ad7f 100644 +--- a/libattr/syscalls.c ++++ b/libattr/syscalls.c +@@ -22,6 +22,8 @@ + + #include "config.h" + ++#include <unistd.h> ++#include <sys/syscall.h> + #include <sys/xattr.h> + + #ifdef HAVE_VISIBILITY_ATTRIBUTE +@@ -31,67 +33,67 @@ + int libattr_setxattr(const char *path, const char *name, + void *value, size_t size, int flags) + { +- return setxattr(path, name, value, size, flags); ++ return syscall(__NR_setxattr, path, name, value, size, flags); + } + + int libattr_lsetxattr(const char *path, const char *name, + void *value, size_t size, int flags) + { +- return lsetxattr(path, name, value, size, flags); ++ return syscall(__NR_lsetxattr, path, name, value, size, flags); + } + + int libattr_fsetxattr(int filedes, const char *name, + void *value, size_t size, int flags) + { +- return fsetxattr(filedes, name, value, size, flags); ++ return syscall(__NR_fsetxattr, filedes, name, value, size, flags); + } + + ssize_t libattr_getxattr(const char *path, const char *name, + void *value, size_t size) + { +- return getxattr(path, name, value, size); ++ return syscall(__NR_getxattr, path, name, value, size); + } + + ssize_t libattr_lgetxattr(const char *path, const char *name, + void *value, size_t size) + { +- return lgetxattr(path, name, value, size); ++ return syscall(__NR_lgetxattr, path, name, value, size); + } + + ssize_t libattr_fgetxattr(int filedes, const char *name, + void *value, size_t size) + { +- return fgetxattr(filedes, name, value, size); ++ return syscall(__NR_fgetxattr, filedes, name, value, size); + } + + ssize_t libattr_listxattr(const char *path, char *list, size_t size) + { +- return listxattr(path, list, size); ++ return syscall(__NR_listxattr, path, list, size); + } + + ssize_t libattr_llistxattr(const char *path, char *list, size_t size) + { +- return llistxattr(path, list, size); ++ return syscall(__NR_llistxattr, path, list, size); + } + + ssize_t libattr_flistxattr(int filedes, char *list, size_t size) + { +- return flistxattr(filedes, list, size); ++ return syscall(__NR_flistxattr, filedes, list, size); + } + + int libattr_removexattr(const char *path, const char *name) + { +- return removexattr(path, name); ++ return syscall(__NR_removexattr, path, name); + } + + int libattr_lremovexattr(const char *path, const char *name) + { +- return lremovexattr(path, name); ++ return syscall(__NR_lremovexattr, path, name); + } + + int libattr_fremovexattr(int filedes, const char *name) + { +- return fremovexattr(filedes, name); ++ return syscall(__NR_fremovexattr, filedes, name); + } + + #ifdef HAVE_VISIBILITY_ATTRIBUTE diff --git a/pkgs/development/libraries/audio/libmysofa/default.nix b/pkgs/development/libraries/audio/libmysofa/default.nix index 5324fe0685d..c2b2725c19c 100644 --- a/pkgs/development/libraries/audio/libmysofa/default.nix +++ b/pkgs/development/libraries/audio/libmysofa/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ zlib ]; - cmakeFlags = [ "-DBUILD_TESTS=OFF" ]; + cmakeFlags = [ "-DBUILD_TESTS=OFF" "-DCODE_COVERAGE=OFF" ]; meta = with stdenv.lib; { description = "Reader for AES SOFA files to get better HRTFs"; diff --git a/pkgs/development/libraries/ayatana-ido/default.nix b/pkgs/development/libraries/ayatana-ido/default.nix new file mode 100644 index 00000000000..41e4c92e56b --- /dev/null +++ b/pkgs/development/libraries/ayatana-ido/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub +, pkgconfig, autoreconfHook +, gtk3, gobject-introspection, gtk-doc, vala +}: + +stdenv.mkDerivation rec { + pname = "ayatana-ido"; + version = "0.4.90"; + + src = fetchFromGitHub { + owner = "AyatanaIndicators"; + repo = pname; + rev = version; + sha256 = "02vqjryni96zzrpkq5d7kvgw7nf252d2fm2xq8fklvvb2vz3fa0w"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook gtk-doc vala ]; + + buildInputs = [ gtk3 gobject-introspection ]; + + meta = with stdenv.lib; { + description = "Ayatana Display Indicator Objects"; + homepage = "https://github.com/AyatanaIndicators/ayatana-ido"; + changelog = "https://github.com/AyatanaIndicators/ayatana-ido/blob/${version}/ChangeLog"; + license = [ licenses.gpl3 licenses.lgpl21 ]; + maintainers = [ maintainers.nickhu ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix index 12547bcb4c7..0b6c2ce064a 100644 --- a/pkgs/development/libraries/babl/default.nix +++ b/pkgs/development/libraries/babl/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "babl"; - version = "0.1.78"; + version = "0.1.80"; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://download.gimp.org/pub/babl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "F9VJNjO/9VhdnzdbxN9ZJRV80ccMzXwipjW+dcFyUjo="; + sha256 = "13jgq2i1xkbqw9ijy8sy5iabf5jkviqi0wxlpjcm0n22mwwwqp7p"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix index 02f0872cee3..2751565670a 100644 --- a/pkgs/development/libraries/c-ares/default.nix +++ b/pkgs/development/libraries/c-ares/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, writeTextDir }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let self = stdenv.mkDerivation rec { name = "c-ares-1.15.0"; diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix index e6a25ea6d7c..59daf15d416 100644 --- a/pkgs/development/libraries/c-blosc/default.nix +++ b/pkgs/development/libraries/c-blosc/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "c-blosc"; - version = "1.19.0"; + version = "1.20.0"; src = fetchFromGitHub { owner = "Blosc"; repo = "c-blosc"; rev = "v${version}"; - sha256 = "03z0wybw7w5yvakn1dzfmn8vz586hbqy2mq1vz1zg15md4x6zvbx"; + sha256 = "1rhv9na9cdp2j81a981s2y69c7m9apdiylf9j51dij0lm1m0ljdr"; }; buildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix index e98fa465e0b..be000e457c4 100644 --- a/pkgs/development/libraries/check/default.nix +++ b/pkgs/development/libraries/check/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "check"; - version = "0.15.0"; + version = "0.15.2"; src = fetchurl { url = "https://github.com/libcheck/check/releases/download/${version}/check-${version}.tar.gz"; - sha256 = "0q5cs6rqbq8a1m9ij3dxnsjcs31mvg0b2i77g0iykqd6iz3f78mf"; + sha256 = "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8"; }; # Test can randomly fail: https://hydra.nixos.org/build/7243912 diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix index 88d2f59f563..cbe628aaf4e 100644 --- a/pkgs/development/libraries/cpp-utilities/default.nix +++ b/pkgs/development/libraries/cpp-utilities/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "cpp-utilities"; - version = "5.5.0"; + version = "5.6.0"; src = fetchFromGitHub { owner = "Martchus"; repo = pname; rev = "v${version}"; - sha256 = "1kzwclf8l89dbw10ya0grhdj7dspmj7rg7rkaa8b7n5lgla968jr"; + sha256 = "0998pyrxicpalm2w1wmv7qrfhzgr45kl6xh9gv0zxhx2a4xjqq5v"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix index a7d68d62f2a..3f59368c278 100644 --- a/pkgs/development/libraries/dlib/default.nix +++ b/pkgs/development/libraries/dlib/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "dlib"; - version = "19.20"; + version = "19.21"; src = fetchFromGitHub { owner = "davisking"; repo = "dlib"; rev ="v${version}"; - sha256 = "10b5hrprlls0nhljx18ys8cms7bgqirvhxlx6gbvbprbi6q16f9r"; + sha256 = "00jwklnl21l3hlvb0bjc6rl3hgi88vxb41dsn4m0kh436c9v0rl3"; }; postPatch = '' diff --git a/pkgs/development/libraries/docopt_cpp/default.nix b/pkgs/development/libraries/docopt_cpp/default.nix index 5c4e71a4f87..36b791ccc98 100644 --- a/pkgs/development/libraries/docopt_cpp/default.nix +++ b/pkgs/development/libraries/docopt_cpp/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, cmake, python }: stdenv.mkDerivation rec { - version = "0.6.2"; + version = "0.6.3"; pname = "docopt.cpp"; src = fetchFromGitHub { owner = "docopt"; repo = "docopt.cpp"; rev = "v${version}"; - sha256 = "1rgkc8nsc2zz2lkyai0y68vrd6i6kbq63hm3vdza7ab6ghq0n1dd"; + sha256 = "0cz3vv7g5snfbsqcf3q8bmd6kv5qp84gj3avwkn4vl00krw13bl7"; }; nativeBuildInputs = [ cmake python ]; @@ -17,6 +17,12 @@ stdenv.mkDerivation rec { doCheck = true; + postPatch = '' + substituteInPlace docopt.pc.in \ + --replace "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" \ + "@CMAKE_INSTALL_LIBDIR@" + ''; + checkPhase = "LD_LIBRARY_PATH=$(pwd) python ./run_tests"; meta = with stdenv.lib; { @@ -27,4 +33,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ knedlsepp ]; }; } - diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix index 8a6dfd1983e..02d3f1da3e6 100644 --- a/pkgs/development/libraries/exiv2/default.nix +++ b/pkgs/development/libraries/exiv2/default.nix @@ -98,7 +98,7 @@ stdenv.mkDerivation rec { (cd ../tests/ && python3 runner.py) ''; - # With cmake we have to enable samples or there won't be + # With CMake we have to enable samples or there won't be # a tests target. This removes them. postInstall = '' ( cd "$out/bin" @@ -108,6 +108,14 @@ stdenv.mkDerivation rec { ) ''; + # Fix CMake export paths. + postFixup = '' + sed -i "$dev/lib/cmake/exiv2/exiv2Config.cmake" \ + -e "/INTERFACE_INCLUDE_DIRECTORIES/ s@\''${_IMPORT_PREFIX}@$dev@" \ + -e "/Compute the installation prefix/ a set(_IMPORT_PREFIX \"$out\")" \ + -e "/^get_filename_component(_IMPORT_PREFIX/ d" + ''; + enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index 94aee7749ce..a356d7be1a9 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "expat-2.2.8"; diff --git a/pkgs/development/libraries/faudio/default.nix b/pkgs/development/libraries/faudio/default.nix index d139aca92b1..eb6ed5e2101 100644 --- a/pkgs/development/libraries/faudio/default.nix +++ b/pkgs/development/libraries/faudio/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "faudio"; - version = "20.07"; + version = "20.08"; src = fetchFromGitHub { owner = "FNA-XNA"; repo = "FAudio"; rev = version; - sha256 = "14fi0jwax9qzn2k89qazdkhxvklk5zcwhbi6pxi1l5i9zk4ly2h7"; + sha256 = "1fs0h5wl0ndix61mz7h59c15kpqikrk7nn1rc7m2a44jiw8mzdnx"; }; nativeBuildInputs = [cmake]; diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 5b98884c1fc..d763fb51354 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -126,6 +126,7 @@ stdenv.mkDerivation rec { # Docs (ifMinVer "0.6" "--disable-doc") # External Libraries + "--enable-libass" "--enable-bzlib" "--enable-gnutls" (ifMinVer "1.0" "--enable-fontconfig") diff --git a/pkgs/development/libraries/fontconfig/2.10.nix b/pkgs/development/libraries/fontconfig/2.10.nix deleted file mode 100644 index f4cc2989245..00000000000 --- a/pkgs/development/libraries/fontconfig/2.10.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, freetype, expat -}: - -stdenv.mkDerivation rec { - name = "fontconfig-2.10.2"; - - src = fetchurl { - url = "http://fontconfig.org/release/${name}.tar.bz2"; - sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f"; - }; - - outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config - - propagatedBuildInputs = [ freetype ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ expat ]; - - configureFlags = [ - "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" - "--sysconfdir=/etc" - "--with-cache-dir=/var/cache/fontconfig" - "--disable-docs" - "--with-default-fonts=" - ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--with-arch=${stdenv.hostPlatform.parsed.cpu.name}" - ]; - - enableParallelBuilding = true; - - doCheck = true; - - # Don't try to write to /var/cache/fontconfig at install time. - installFlags = [ "sysconfdir=$(out)/etc" "fc_cachedir=$(TMPDIR)/dummy" "RUN_FC_CACHE_TEST=false" ]; - - passthru = { - # Empty for backward compatibility, there was no versioning before 2.11 - configVersion = ""; - }; - - meta = with stdenv.lib; { - description = "A library for font customization and configuration"; - homepage = "http://fontconfig.org/"; - license = licenses.bsd2; # custom but very bsd-like - platforms = platforms.all; - maintainers = [ maintainers.vcunat ]; - }; -} diff --git a/pkgs/development/libraries/gcc/libstdc++/5.nix b/pkgs/development/libraries/gcc/libstdc++/5.nix index 2a11d835a6b..486a24defd1 100644 --- a/pkgs/development/libraries/gcc/libstdc++/5.nix +++ b/pkgs/development/libraries/gcc/libstdc++/5.nix @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { # Figure out what extra flags to pass to the gcc compilers # being generated to make sure that they use our glibc. - EXTRA_FLAGS="-I$NIX_FIXINC_DUMMY $(cat $NIX_CC/nix-support/libc-cflags) -O2" + EXTRA_FLAGS="-I$NIX_FIXINC_DUMMY $(cat $NIX_CC/nix-support/libc-crt1-cflags) $(cat $NIX_CC/nix-support/libc-cflags) -O2" extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $(cat $NIX_BINTOOLS/nix-support/libc-ldflags) $(cat $NIX_BINTOOLS/nix-support/libc-ldflags-before)" for i in $extraLDFlags; do diff --git a/pkgs/development/libraries/gdk-pixbuf/xlib.nix b/pkgs/development/libraries/gdk-pixbuf/xlib.nix index 53414d92128..edc5ce52563 100644 --- a/pkgs/development/libraries/gdk-pixbuf/xlib.nix +++ b/pkgs/development/libraries/gdk-pixbuf/xlib.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { pname = "gdk-pixbuf-xlib"; - version = "2019-10-19-unstable"; + version = "2020-06-11-unstable"; outputs = [ "out" "dev" "devdoc" ]; @@ -20,8 +20,8 @@ stdenv.mkDerivation rec { domain = "gitlab.gnome.org"; owner = "Archive"; repo = "gdk-pixbuf-xlib"; - rev = "19482794a621d542b223219940e836257d4ae2c9"; - sha256 = "7Qv6tyjR0/iFXYHx5jPhvLLLt0Ms2nzpyWw02oXTkZc="; + rev = "3116b8ae55501cf48d16970aa2b50a5530e15223"; + sha256 = "15wisf2xld3cr7lprnic8fvwpcmww4rydwc1bn2zilyi52vzl2zd"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix index 85699a8828b..66bbd55ec45 100644 --- a/pkgs/development/libraries/gegl/4.0.nix +++ b/pkgs/development/libraries/gegl/4.0.nix @@ -35,14 +35,14 @@ stdenv.mkDerivation rec { pname = "gegl"; - version = "0.4.24"; + version = "0.4.26"; outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; src = fetchurl { url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "d2VJnyc0Gw0WAy5mUxnLwSh2SD/2qUT83ySpxY4+JUo="; + sha256 = "097427icgpgvcx40019b3dm8m84cchz79pixzpz648drs8p1wdqg"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix index 684bad14dda..169506e66cc 100644 --- a/pkgs/development/libraries/gensio/default.nix +++ b/pkgs/development/libraries/gensio/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "gensio"; - version = "2.0.5"; + version = "2.1.3"; src = fetchFromGitHub { owner = "cminyard"; repo = "${pname}"; rev = "v${version}"; - sha256 = "1j6c6vmnip24pxafk29y312vif1xlryymv7aaxgqp9ca3s91nlrf"; + sha256 = "0sdqv4j1jjjc2nxnd9h7r4w66bdjl5ksvfia4i4cjj7jfl0hhynl"; }; configureFlags = [ diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index 4e7ce1d5ac8..60fc4067c0c 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { buildInputs = [ python ]; + # https://trac.osgeo.org/geos/ticket/993 + configureFlags = stdenv.lib.optional stdenv.isAarch32 "--disable-inline"; + meta = with stdenv.lib; { description = "C++ port of the Java Topology Suite (JTS)"; homepage = "https://trac.osgeo.org/geos"; diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 6adc147c6ac..0dcc42dc526 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -1,22 +1,21 @@ -{ stdenv, lib, fetchurl, libiconv, xz, fetchpatch }: +{ stdenv, lib, fetchurl, libiconv, xz }: + +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. stdenv.mkDerivation rec { pname = "gettext"; - version = "0.20.1"; + version = "0.21"; src = fetchurl { url = "mirror://gnu/gettext/${pname}-${version}.tar.gz"; - sha256 = "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6"; + sha256 = "04kbg1sx0ncfrsbr85ggjslqkzzb243fcw9nyh3rrv1a22ihszf7"; }; patches = [ ./absolute-paths.diff - ./gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch - ] - ++ lib.optional stdenv.isDarwin - (fetchpatch { - url = "https://git.savannah.gnu.org/cgit/gettext.git/patch?id=ec0e6b307456ceab352669ae6bccca9702108753"; - sha256 = "0xqs01c7xl7vmw6bqvsmrzxxjxk2a4spcdpmlwm3b4hi2wc2lxnf"; - }); + ]; outputs = [ "out" "man" "doc" "info" ]; diff --git a/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch b/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch deleted file mode 100644 index 4a19b11507a..00000000000 --- a/pkgs/development/libraries/gettext/gettext.git-2336451ed68d91ff4b5ae1acbc1eca30e47a86a9.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001 -From: Bruno Haible <bruno@clisp.org> -Date: Sun, 19 May 2019 13:10:06 +0200 -Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no - translations. - -Reported by Don Lawrence <dlawrence@iecok.com> -in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html> -via Daiki Ueno -in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>. - -* gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt -is true. -* gettext-tools/tests/msgmerge-26: Add test of PO file with no translations. ---- - gettext-tools/src/msgmerge.c | 4 ++-- - gettext-tools/tests/msgmerge-26 | 36 +++++++++++++++++++++++++++++++++--- - 2 files changed, 35 insertions(+), 5 deletions(-) - -diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c -index cd762c0..92c9b7a 100644 ---- a/gettext-tools/src/msgmerge.c -+++ b/gettext-tools/src/msgmerge.c -@@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\ - else - { - /* Write the merged message list out. */ -- msgdomain_list_print (result, output_file, output_syntax, force_po, -- false); -+ msgdomain_list_print (result, output_file, output_syntax, -+ for_msgfmt || force_po, false); - } - - exit (EXIT_SUCCESS); -diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26 -index cd3862e..b86f7a0 100755 ---- a/gettext-tools/tests/msgmerge-26 -+++ b/gettext-tools/tests/msgmerge-26 -@@ -73,7 +73,37 @@ msgstr "Papaya" - EOF - - : ${DIFF=diff} --${DIFF} mm-test26.ok mm-test26.out --result=$? -+${DIFF} mm-test26.ok mm-test26.out || Exit 1 - --exit $result -+# Test with a PO file that has no translated messages. -+ -+cat <<\EOF > mm-test26a.in1 -+msgid "" -+msgstr "" -+"Content-Type: text/plain; charset=UTF-8\n" -+ -+msgid "Hello world" -+msgstr "Hallo Welt" -+EOF -+ -+cat <<\EOF > mm-test26a.in2 -+msgid "" -+msgstr "" -+"Content-Type: text/plain; charset=ASCII\n" -+ -+msgid "Hello, world!" -+msgstr "" -+EOF -+ -+: ${MSGMERGE=msgmerge} -+${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \ -+ || Exit 1 -+LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1 -+ -+cat <<\EOF > mm-test26a.ok -+msgid "" -+msgstr "Content-Type: text/plain; charset=UTF-8\n" -+EOF -+ -+: ${DIFF=diff} -+${DIFF} mm-test26a.ok mm-test26a.out || Exit 1 --- -1.9.1 - diff --git a/pkgs/development/libraries/gfbgraph/default.nix b/pkgs/development/libraries/gfbgraph/default.nix index 9fd26b1dfe8..4718e6ac015 100644 --- a/pkgs/development/libraries/gfbgraph/default.nix +++ b/pkgs/development/libraries/gfbgraph/default.nix @@ -1,22 +1,36 @@ { stdenv, fetchurl, pkgconfig, glib, librest, gnome-online-accounts -, gnome3, libsoup, json-glib, gobject-introspection }: +, gnome3, libsoup, json-glib, gobject-introspection +, gtk-doc, pkgs, docbook-xsl-nons, autoconf, automake, libtool }: stdenv.mkDerivation rec { pname = "gfbgraph"; - version = "0.2.3"; + version = "0.2.4"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"; + sha256 = "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0"; }; - nativeBuildInputs = [ pkgconfig gobject-introspection ]; + nativeBuildInputs = [ + pkgconfig gobject-introspection gtk-doc + docbook-xsl-nons autoconf automake libtool + ]; buildInputs = [ glib gnome-online-accounts ]; propagatedBuildInputs = [ libsoup json-glib librest ]; - configureFlags = [ "--enable-introspection" ]; + configureFlags = [ "--enable-introspection" "--enable-gtk-doc" ]; + + prePatch = '' + patchShebangs autogen.sh + substituteInPlace autogen.sh \ + --replace "which" "${pkgs.which}/bin/which" + ''; + + preConfigure = '' + NOCONFIGURE=1 ./autogen.sh + ''; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/gl2ps/default.nix b/pkgs/development/libraries/gl2ps/default.nix index 85a9944fcf7..172531f9dc7 100644 --- a/pkgs/development/libraries/gl2ps/default.nix +++ b/pkgs/development/libraries/gl2ps/default.nix @@ -1,17 +1,27 @@ -{ stdenv, fetchurl, cmake -, zlib, libGL, libGLU, libpng, freeglut }: +{ stdenv +, fetchurl +, cmake +, zlib +, libGL +, libGLU +, libpng +, freeglut +}: stdenv.mkDerivation rec { - version = "1.4.2"; pname = "gl2ps"; + version = "1.4.2"; src = fetchurl { url = "http://geuz.org/gl2ps/src/${pname}-${version}.tgz"; sha256 = "1sgzv547h7hrskb9qd0x5yp45kmhvibjwj2mfswv95lg070h074d"; }; - buildInputs = [ + nativeBuildInputs = [ cmake + ]; + + buildInputs = [ zlib libGL libGLU diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 8afea21729a..0b2f34c7b76 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -17,6 +17,11 @@ but the exact set depends on the library version and the configuration. */ +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + { stdenv, lib , buildPackages , fetchurl diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index c5fffa09bf0..f4432cfc5b8 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -3,6 +3,11 @@ , buildPackages , withStatic ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let inherit (stdenv.lib) optional; in let self = stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/gnu-config/default.nix b/pkgs/development/libraries/gnu-config/default.nix index e45ec957eb9..5acab2a70e0 100644 --- a/pkgs/development/libraries/gnu-config/default.nix +++ b/pkgs/development/libraries/gnu-config/default.nix @@ -1,21 +1,20 @@ { stdenv, fetchurl }: let - rev = "a8d79c3130da83c7cacd6fee31b9acc53799c406"; + rev = "e78c96e5288993aaea3ec44e5c6ee755c668da79"; # Don't use fetchgit as this is needed during Aarch64 bootstrapping configGuess = fetchurl { url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.guess?id=${rev}"; - sha256 = "0qbq49gr2cmf4gzrjvrmpwxxgzl3vap1xm902xa8pkcqdvriq0qw"; + sha256 = "sha256-TSLpYIDGSp1flqCBi2Sgg9IWDV5bcO+Hn2Menv3R6KU="; }; configSub = fetchurl { url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=${rev}"; - sha256 = "0i699axqfkxk9mgv1hlms5r44pf0s642yz75ajjjpwzhw4d5pnv4"; + sha256 = "sha256-DkCGDN/DE3phQ1GO/Ua5ZPPtp0Ya93PnW3yfSK8EV9s="; }; -in -stdenv.mkDerivation { +in stdenv.mkDerivation { pname = "gnu-config"; - version = "2019-04-15"; + version = "2020-05-04"; buildCommand = '' mkdir -p $out diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix index 1899f4fdc92..91b2c2929a4 100644 --- a/pkgs/development/libraries/gperftools/default.nix +++ b/pkgs/development/libraries/gperftools/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libunwind }: +{ stdenv, fetchurl, fetchpatch, autoreconfHook, libunwind }: stdenv.mkDerivation rec { name = "gperftools-2.8"; @@ -8,9 +8,25 @@ stdenv.mkDerivation rec { sha256 = "0gjiplvday50x695pwjrysnvm5wfvg2b0gmqf6b4bdi8sv6yl394"; }; + patches = [ + # Add the --disable-general-dynamic-tls configure option: + # https://bugzilla.redhat.com/show_bug.cgi?id=1483558 + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/gperftools/raw/f62d87a34f56f64fb8eb86727e34fbc2d3f5294a/f/gperftools-2.7.90-disable-generic-dynamic-tls.patch"; + sha256 = "02falhpaqkl27hl1dib4yvmhwsddmgbw0krb46w31fyf3awb2ydv"; + }) + ]; + + nativeBuildInputs = [ autoreconfHook ]; + # tcmalloc uses libunwind in a way that works correctly only on non-ARM linux buildInputs = stdenv.lib.optional (stdenv.isLinux && !(stdenv.isAarch64 || stdenv.isAarch32)) libunwind; + # Disable general dynamic TLS on AArch to support dlopen()'ing the library: + # https://bugzilla.redhat.com/show_bug.cgi?id=1483558 + configureFlags = stdenv.lib.optional (stdenv.isAarch32 || stdenv.isAarch64) + "--disable-general-dynamic-tls"; + prePatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace Makefile.am --replace stdc++ c++ substituteInPlace Makefile.in --replace stdc++ c++ diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index ab497eadb6d..b0fe149b6f0 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags, abseil-cpp }: stdenv.mkDerivation rec { - version = "1.29.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too + version = "1.31.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too pname = "grpc"; src = fetchFromGitHub { owner = "grpc"; repo = "grpc"; rev = "v${version}"; - sha256 = "1n604grkf2amzrmwcz6am0rpbp3yfb062lpgmhv943hj8wk7xw27"; + sha256 = "1h7gmhkjijfkpqhz8vswhkz2gkphs638g10dlkayic8xg9xdl4gj"; fetchSubmodules = true; }; patches = [ diff --git a/pkgs/development/libraries/gthree/default.nix b/pkgs/development/libraries/gthree/default.nix index 04d7c8d8f4d..2da9847f3cb 100644 --- a/pkgs/development/libraries/gthree/default.nix +++ b/pkgs/development/libraries/gthree/default.nix @@ -3,10 +3,10 @@ , fetchpatch , ninja , meson -, pkgconfig +, pkg-config , gobject-introspection , gtk-doc -, docbook_xsl +, docbook-xsl-nons , docbook_xml_dtd_43 , glib , gtk3 @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "gthree"; - version = "0.2.0"; + version = "0.9.0"; outputs = [ "out" "dev" "devdoc" ]; @@ -25,32 +25,42 @@ stdenv.mkDerivation rec { owner = "alexlarsson"; repo = "gthree"; rev = version; - sha256 = "16ap1ampnzsyhrs84b168d6889lh8sjr2j5sqv9mdbnnhy72p5cd"; + sha256 = "09fcnjc3j21lh5fjf067wm35sb4qni4vgzing61kixnn2shy79iy"; }; + patches = [ + # Add option for disabling examples + (fetchpatch { + url = "https://github.com/alexlarsson/gthree/commit/75f05c40aba9d5f603d8a3c490c3406c1fe06776.patch"; + sha256 = "PBwLz4DLhC+7BtypVTFMFiF3hKAJeskU3XBKFHa3a84="; + }) + ]; + nativeBuildInputs = [ ninja meson - pkgconfig + pkg-config gtk-doc - docbook_xsl + docbook-xsl-nons docbook_xml_dtd_43 gobject-introspection ]; buildInputs = [ epoxy + json-glib ]; propagatedBuildInputs = [ glib gtk3 graphene - json-glib ]; mesonFlags = [ "-Dgtk_doc=${if stdenv.isDarwin then "false" else "true"}" + # Data for examples is useless when the example programs are not installed. + "-Dexamples=false" ]; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix index 1a80a1b6fac..565b7f782d5 100644 --- a/pkgs/development/libraries/gtksourceview/4.x.nix +++ b/pkgs/development/libraries/gtksourceview/4.x.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "gtksourceview"; - version = "4.6.0"; + version = "4.6.1"; src = fetchurl { - url = "mirror://gnome/sources/gtksourceview/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "11csdnb5xj1gkn1shynp3jdsfhhi7ks3apgmavfan0p6n85f64sc"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0x7q9lwgrc4kkciy7vgwd80v2ji7plyqiqbvkvx2yqarmfkqgx33"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 823c123d52a..d27021280a3 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintl +, gobject-introspection , icu, graphite2, harfbuzz # The icu variant uses and propagates the non-icu one. , ApplicationServices, CoreText , withCoreText ? false @@ -36,10 +37,16 @@ stdenv.mkDerivation { # not auto-detected by default "--with-graphite2=${if withGraphite2 then "yes" else "no"}" "--with-icu=${if withIcu then "yes" else "no"}" + "--with-gobject=yes" + "--enable-introspection=yes" ] ++ stdenv.lib.optional withCoreText "--with-coretext=yes"; - nativeBuildInputs = [ pkgconfig libintl ]; + nativeBuildInputs = [ + gobject-introspection + libintl + pkgconfig + ]; buildInputs = [ glib freetype cairo ] # recommended by upstream ++ stdenv.lib.optionals withCoreText [ ApplicationServices CoreText ]; diff --git a/pkgs/development/libraries/hivex/default.nix b/pkgs/development/libraries/hivex/default.nix index 113a49138e1..d0afea119df 100644 --- a/pkgs/development/libraries/hivex/default.nix +++ b/pkgs/development/libraries/hivex/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "hivex"; - version = "1.3.18"; + version = "1.3.19"; src = fetchurl { url = "http://libguestfs.org/download/hivex/${pname}-${version}.tar.gz"; - sha256 = "0ibl186l6rd9qj4rqccfwbg1nnx6z07vspkhk656x6zav67ph7la"; + sha256 = "0qppahpf7jq950nf8ial47h90nyqgnsffsj3zgdjjwkn958wq0ji"; }; patches = [ ./hivex-syms.patch ]; diff --git a/pkgs/development/libraries/ilmbase/cross.patch b/pkgs/development/libraries/ilmbase/cross.patch deleted file mode 100644 index 207a440a0d8..00000000000 --- a/pkgs/development/libraries/ilmbase/cross.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Helmut Grohne <> -Subject: compile build tools with the build architecture compiler - -Patch-Source: https://github.com/openexr/openexr/issues/221 - -Index: ilmbase-2.2.0/configure.ac -=================================================================== ---- ilmbase-2.2.0.orig/configure.ac -+++ ilmbase-2.2.0/configure.ac -@@ -28,6 +28,7 @@ - AC_PROG_LN_S - AC_PROG_LIBTOOL - AC_PROG_MAKE_SET -+AX_PROG_CXX_FOR_BUILD - - dnl - dnl PKGCONFIG preparations -Index: ilmbase-2.2.0/Half/Makefile.am -=================================================================== ---- ilmbase-2.2.0.orig/Half/Makefile.am -+++ ilmbase-2.2.0/Half/Makefile.am -@@ -17,9 +17,11 @@ - - CLEANFILES = eLut eLut.h toFloat toFloat.h - --eLut_SOURCES = eLut.cpp -+eLut$(EXEEXT): eLut.cpp -+ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ - --toFloat_SOURCES = toFloat.cpp -+toFloat$(EXEEXT): toFloat.cpp -+ $(CXX_FOR_BUILD) $(CXXFLAGS_FOR_BUILD) $< -o $@ - - eLut.h: eLut - ./eLut > eLut.h diff --git a/pkgs/development/libraries/ilmbase/default.nix b/pkgs/development/libraries/ilmbase/default.nix index 9d2479c2e0b..68bd677cf77 100644 --- a/pkgs/development/libraries/ilmbase/default.nix +++ b/pkgs/development/libraries/ilmbase/default.nix @@ -1,7 +1,7 @@ { stdenv +, lib , buildPackages , cmake -, libtool , openexr }: @@ -11,22 +11,23 @@ stdenv.mkDerivation rec { # the project no longer provides separate tarballs. We may even want to merge # the ilmbase package into openexr in the future. - src = openexr.src; - - sourceRoot = "source/IlmBase"; + inherit (openexr) src patches; outputs = [ "out" "dev" ]; - nativeBuildInputs = [ cmake libtool ]; + nativeBuildInputs = [ cmake ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; - patches = [ ./cross.patch ]; - # fails 1 out of 1 tests with # "lt-ImathTest: testBoxAlgo.cpp:892: void {anonymous}::boxMatrixTransform(): Assertion `b21 == b2' failed" # at least on i686. spooky! doCheck = stdenv.isx86_64; + preConfigure = '' + # Need to cd after patches for openexr patches to apply. + cd IlmBase + ''; + meta = with stdenv.lib; { description = " A library for 2D/3D vectors and matrices and other mathematical objects, functions and data types for computer graphics"; homepage = "https://www.openexr.com/"; diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix index 36b1063531e..458b3d29d52 100644 --- a/pkgs/development/libraries/imlib2/default.nix +++ b/pkgs/development/libraries/imlib2/default.nix @@ -12,11 +12,11 @@ let in stdenv.mkDerivation rec { pname = "imlib2"; - version = "1.6.1"; + version = "1.7.0"; src = fetchurl { url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.bz2"; - sha256 = "0v8n3dswx7rxqfd0q03xwc7j2w1mv8lv18rdxv487a1xw5vklfad"; + sha256 = "0zdk4afdrrr1539f2q15zja19j4wwfmpswzws2ffgflcnhywlxhr"; }; buildInputs = [ diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix index 077c2d9c88a..83d901780c5 100644 --- a/pkgs/development/libraries/intel-media-sdk/default.nix +++ b/pkgs/development/libraries/intel-media-sdk/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "intel-media-sdk"; - version = "20.2.0"; + version = "20.2.1"; src = fetchurl { url = "https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${version}.tar.gz"; - sha256 = "1b138xpa73y78gxwappxkm58c9j2vqq8zy173z7n4pdwiwsx1kxc"; + sha256 = "0m3ipfdknpgrdwiywlinl4sfkfrvyv7wmq1j83pmbr54z067sgg1"; }; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index e5a593a7ff4..004d7d2227c 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -8,6 +8,11 @@ , staticOnly ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let libOnly = type == "lib"; in diff --git a/pkgs/development/libraries/kmsxx/default.nix b/pkgs/development/libraries/kmsxx/default.nix index 740248a7ae8..5bd311af2d8 100644 --- a/pkgs/development/libraries/kmsxx/default.nix +++ b/pkgs/development/libraries/kmsxx/default.nix @@ -3,14 +3,14 @@ stdenv.mkDerivation { pname = "kmsxx"; - version = "2020-02-14"; + version = "2020-08-04"; src = fetchFromGitHub { owner = "tomba"; repo = "kmsxx"; fetchSubmodules = true; - rev = "7c5e645112a899ad018219365c3898b0e896353f"; - sha256 = "1hj4gk4gwlvpjprjbrmrbrzqjhdgszsndrb1i4f9z7mjvdv8gij2"; + rev = "38bee3092f2d477f1baebfcae464f888d3d04bbe"; + sha256 = "0xz4m9bk0naawxwpx5cy1j3cm6c8c9m5y551csk88y88x1g0z0xh"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/ldb/default.nix b/pkgs/development/libraries/ldb/default.nix index 52daebf8323..9810234eefa 100644 --- a/pkgs/development/libraries/ldb/default.nix +++ b/pkgs/development/libraries/ldb/default.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "ldb"; - version = "2.1.4"; + version = "2.2.0"; src = fetchurl { url = "mirror://samba/ldb/${pname}-${version}.tar.gz"; - sha256 = "0kmzs2s7fvar9ksaxyiqlh8q8mbwc7bxrq9w1y91zlyb23p142wy"; + sha256 = "0pxxb3sn9lignkf80kndd84shxqk9m2qwimz62gzb6khd4bvajqk"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/leptonica/default.nix b/pkgs/development/libraries/leptonica/default.nix index 456a14f72b1..a0f0814fec5 100644 --- a/pkgs/development/libraries/leptonica/default.nix +++ b/pkgs/development/libraries/leptonica/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "leptonica"; - version = "1.79.0"; + version = "1.80.0"; src = fetchurl { url = "http://www.leptonica.org/source/${pname}-${version}.tar.gz"; - sha256 = "1n004gv1dj3pq1fcnfdclvvx5nang80336aa67nvs3nnqp4ncn84"; + sha256 = "192bs676ind8627f0v3v8d1q7r4xwc7q0zvbdbxn1fgvmv14d77c"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/libayatana-appindicator/default.nix b/pkgs/development/libraries/libayatana-appindicator/default.nix new file mode 100644 index 00000000000..84ecbc81ca5 --- /dev/null +++ b/pkgs/development/libraries/libayatana-appindicator/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, lib +, pkgconfig, autoreconfHook , gtk-doc +, gtkVersion ? "3" +, gtk2, libayatana-indicator-gtk2, libdbusmenu-gtk2 +, gtk3, libayatana-indicator-gtk3, libdbusmenu-gtk3 +, dbus-glib, python2, python2Packages +}: + +stdenv.mkDerivation rec { + pname = "libayatana-appindicator-gtk${gtkVersion}"; + version = "0.5.4"; + + src = fetchFromGitHub { + owner = "AyatanaIndicators"; + repo = "libayatana-appindicator"; + rev = version; + sha256 = "0bqjqb7gabdk7mifk8azi630qw39z978f973fx2ylgdgr4a66j1v"; + }; + + patchPhase = '' + substituteInPlace configure.ac \ + --replace "codegendir pygtk-2.0" "codegendir pygobject-2.0" + ''; + + nativeBuildInputs = [ pkgconfig autoreconfHook gtk-doc ]; + + buildInputs = [ dbus-glib python2 python2Packages.pygtk ] + ++ lib.lists.optional (gtkVersion == "2") libayatana-indicator-gtk2 + ++ lib.lists.optional (gtkVersion == "3") libayatana-indicator-gtk3; + + propagatedBuildInputs = + lib.lists.optionals (gtkVersion == "2") [ gtk2 libdbusmenu-gtk2 ] + ++ lib.lists.optionals (gtkVersion == "3") [ gtk3 libdbusmenu-gtk3 ]; + + preAutoreconf = '' + gtkdocize + ''; + + configureFlags = [ "--with-gtk=${gtkVersion}" ]; + + meta = with stdenv.lib; { + description = "Ayatana Application Indicators Shared Library"; + homepage = "https://github.com/AyatanaIndicators/libayatana-appindicator"; + changelog = "https://github.com/AyatanaIndicators/libayatana-appindicator/blob/${version}/ChangeLog"; + license = [ licenses.gpl3 licenses.lgpl21 ]; + maintainers = [ maintainers.nickhu ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/development/libraries/libayatana-indicator/default.nix b/pkgs/development/libraries/libayatana-indicator/default.nix new file mode 100644 index 00000000000..778e06aa95c --- /dev/null +++ b/pkgs/development/libraries/libayatana-indicator/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, lib +, pkgconfig, autoreconfHook +, gtkVersion ? "3" +, gtk2 +, gtk3 +, ayatana-ido +}: + +stdenv.mkDerivation rec { + pname = "libayatana-indicator-gtk${gtkVersion}"; + version = "0.6.3"; + + src = fetchFromGitHub { + owner = "AyatanaIndicators"; + repo = "libayatana-indicator"; + rev = version; + sha256 = "1q9wmaw6pckwyrv0s7wkqzm1yrk031pbz4xbr8cwn75ixqyfcb28"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + + buildInputs = [ ayatana-ido ] + ++ lib.lists.optionals (gtkVersion == "2") [ gtk2 ] + ++ lib.lists.optionals (gtkVersion == "3") [ gtk3 ]; + + configureFlags = [ "--with-gtk=${gtkVersion}" ]; + + meta = with stdenv.lib; { + description = "Ayatana Indicators Shared Library"; + homepage = "https://github.com/AyatanaIndicators/libayatana-indicator"; + changelog = "https://github.com/AyatanaIndicators/libayatana-indicator/blob/${version}/ChangeLog"; + license = licenses.gpl3; + maintainers = [ maintainers.nickhu ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/development/libraries/libbap/default.nix b/pkgs/development/libraries/libbap/default.nix index 09cbafa17bf..411c3ae740f 100644 --- a/pkgs/development/libraries/libbap/default.nix +++ b/pkgs/development/libraries/libbap/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation { pname = "libbap"; - version = "master-2019-04-05"; + version = "master-2019-11-15"; src = fetchFromGitHub { owner = "BinaryAnalysisPlatform"; repo = "bap-bindings"; - rev = "1a89db62f1239a15d310b400f74e151c0a64f37f"; - sha256 = "0mln9adjgxzhjmjayq06ahgiay4vj5kmnzdxqz3nsik9h3npycd6"; + rev = "1a30dd3e1df18c432a83a7038b555662d6982ae3"; + sha256 = "140gmak2kymh3r0fagb6ms66lmvwhhqj8pcd3qxc1p4ar330fwrh"; }; nativeBuildInputs = [ autoreconfHook which ]; diff --git a/pkgs/development/libraries/libbytesize/default.nix b/pkgs/development/libraries/libbytesize/default.nix index ec14b2a6091..c93a59d462f 100644 --- a/pkgs/development/libraries/libbytesize/default.nix +++ b/pkgs/development/libraries/libbytesize/default.nix @@ -4,7 +4,7 @@ }: let - version = "2.3"; + version = "2.4"; in stdenv.mkDerivation rec { pname = "libbytesize"; inherit version; @@ -13,7 +13,7 @@ in stdenv.mkDerivation rec { owner = "storaged-project"; repo = "libbytesize"; rev = version; - sha256 = "1nrlmn63k0ix1yzn8v4lni5n5b4c0b6w9f33p1ig113ymmdvcc0h"; + sha256 = "1kq0hnw2yxjdmcrwvgp0x4j1arkka23k8vp2l6nqcw9lc15x18fp"; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix index 4e4afe96d54..2b56f973b5d 100644 --- a/pkgs/development/libraries/libelf/default.nix +++ b/pkgs/development/libraries/libelf/default.nix @@ -2,6 +2,11 @@ , fetchurl, autoreconfHook, gettext }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "libelf-0.8.13"; diff --git a/pkgs/development/libraries/libev/default.nix b/pkgs/development/libraries/libev/default.nix index 74aa8133a99..1ea0615dc23 100644 --- a/pkgs/development/libraries/libev/default.nix +++ b/pkgs/development/libraries/libev/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, static ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "libev"; version="4.33"; diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix index c769006e0bf..fdd5e20640a 100644 --- a/pkgs/development/libraries/libevdev/default.nix +++ b/pkgs/development/libraries/libevdev/default.nix @@ -2,22 +2,13 @@ stdenv.mkDerivation rec { pname = "libevdev"; - version = "1.9.0"; + version = "1.9.1"; src = fetchurl { url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz"; - sha256 = "17pb5375njb1r05xmk0r57a2j986ihglh2n5nqcylbag4rj8mqg7"; + sha256 = "1jvsphdrs1i54ccjcn6ll26jy42am7h28lbsvwa6pmxgqm43qq7m"; }; - patches = [ - # Fix libevdev-python tests on aarch64 - # https://gitlab.freedesktop.org/libevdev/libevdev/merge_requests/63 - (fetchpatch { - url = "https://gitlab.freedesktop.org/libevdev/libevdev/commit/66113fe84f62bab3a672a336eb10b255d2aa5ce7.patch"; - sha256 = "gZKr/P+/OqU69IGslP8CQlcGuyzA/ulcm+nGwHdis58="; - }) - ]; - nativeBuildInputs = [ python3 ]; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index eecffeba23d..d7dad6d956d 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -3,6 +3,11 @@ }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "libffi-3.3"; diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix index 92cde8aef4c..3a4737d483b 100644 --- a/pkgs/development/libraries/libglvnd/default.nix +++ b/pkgs/development/libraries/libglvnd/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libglvnd"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitHub { owner = "NVIDIA"; repo = "libglvnd"; rev = "v${version}"; - sha256 = "0mkzdzdxjxjl794rblq4mq33wmb8ikqmfswbqdbr8gw2kw4wlhdl"; + sha256 = "10x7fgb114r4gikdg6flszl3kwzcb9y5qa7sj9936mk0zxhjaylz"; }; nativeBuildInputs = [ autoreconfHook pkgconfig python3 addOpenGLRunpath ]; diff --git a/pkgs/development/libraries/libhdhomerun/default.nix b/pkgs/development/libraries/libhdhomerun/default.nix index cdc9e4270b5..73d53bdccd7 100644 --- a/pkgs/development/libraries/libhdhomerun/default.nix +++ b/pkgs/development/libraries/libhdhomerun/default.nix @@ -1,5 +1,9 @@ { stdenv, fetchurl }: +# libhdhomerun requires UDP port 65001 to be open in order to detect and communicate with tuners. +# If your firewall is enabled, make sure to have something like: +# networking.firewall.allowedUDPPorts = [ 65001 ]; + stdenv.mkDerivation rec { pname = "libhdhomerun"; version = "20200521"; diff --git a/pkgs/development/libraries/libhugetlbfs/default.nix b/pkgs/development/libraries/libhugetlbfs/default.nix new file mode 100644 index 00000000000..ed5f67d4370 --- /dev/null +++ b/pkgs/development/libraries/libhugetlbfs/default.nix @@ -0,0 +1,51 @@ +{ stdenv, lib, fetchurl, fetchpatch }: + +stdenv.mkDerivation rec { + pname = "libhugetlbfs"; + version = "2.22"; + + src = fetchurl { + url = "https://github.com/libhugetlbfs/libhugetlbfs/releases/download/${version}/libhugetlbfs-${version}.tar.gz"; + sha256 = "11b7k8xvgx68rjzidm12a6l6b23hwi7hj149y9xxfz2j5kmakp4l"; + }; + + outputs = [ "bin" "dev" "man" "doc" "lib" "out" ]; + + patches = [ + # Don't check that 32-bit and 64-bit libraries don't get installed + # to the same place if only one platform is being built for. + # Can be removed if build succeeds without it. + (fetchpatch { + url = "https://groups.google.com/forum/message/raw?msg=libhugetlbfs/IswjDAygfwA/PKy7MZbVAAAJ"; + sha256 = "00fyrhn380d6swil8pcf4x0krl1113ghswrvjn3m9czc3h4p385a"; + }) + ]; + + postConfigure = '' + patchShebangs ld.hugetlbfs + ''; + + enableParallelBuilding = true; + makeFlags = [ + "BUILDTYPE=NATIVEONLY" + "PREFIX=$(out)" + "HEADERDIR=$(dev)/include" + "LIBDIR32=$(lib)/$(LIB32)" + "LIBDIR64=$(lib)/$(LIB64)" + "EXEDIR=$(bin)/bin" + "DOCDIR=$(doc)/share/doc/libhugetlbfs" + ] ++ map (n: "MANDIR${n}=$(man)/share/man/man${n}") + (lib.genList (n: toString (n + 1)) 8); + + # Default target builds tests as well, and the tests want a static + # libc. + buildFlags = [ "libs" "tools" ]; + installTargets = [ "install" "install-docs" ]; + + meta = with lib; { + description = "library and utilities for Linux hugepages"; + maintainers = with maintainers; [ qyliss ]; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix index a0df28a6699..e936f3fd92a 100644 --- a/pkgs/development/libraries/libidn/default.nix +++ b/pkgs/development/libraries/libidn/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libiconv }: stdenv.mkDerivation rec { - name = "libidn-1.35"; + name = "libidn-1.36"; src = fetchurl { url = "mirror://gnu/libidn/${name}.tar.gz"; - sha256 = "07pyy0afqikfq51z5kbzbj9ldbd12mri0zvx0mfv3ds6bc0g26pi"; + sha256 = "0f20n634whpmdwr81c2r0vxxjwchgkvhsr1i8s2bm0ad6h473dhl"; }; outputs = [ "bin" "dev" "out" "info" "devdoc" ]; diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix index 1fc0bd9b399..c5af2d16bb2 100644 --- a/pkgs/development/libraries/libidn2/default.nix +++ b/pkgs/development/libraries/libidn2/default.nix @@ -1,5 +1,10 @@ { fetchurl, stdenv, libiconv, libunistring, help2man, buildPackages }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + with stdenv.lib; stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index cb8009011b6..576a2fec921 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -27,11 +27,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { pname = "libinput"; - version = "1.15.6"; + version = "1.16.1"; src = fetchurl { url = "https://www.freedesktop.org/software/libinput/${pname}-${version}.tar.xz"; - sha256 = "073z61dw46cyq0635a5n1mw7hw4qdgr58gbwwb3ds5v3d8hymvdf"; + sha256 = "e6fRru3RUWi7IdF+nmKKocJ5V5Y6Qjo/6jk4pQF1hTk="; }; outputs = [ "bin" "out" "dev" ]; diff --git a/pkgs/development/libraries/libipt/default.nix b/pkgs/development/libraries/libipt/default.nix index cb4db488dc4..79ae927fc24 100644 --- a/pkgs/development/libraries/libipt/default.nix +++ b/pkgs/development/libraries/libipt/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libipt"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "intel"; repo = "libipt"; rev = "v${version}"; - sha256 = "19y1lk5z1rf8xmr08m8zrpjkgr5as83b96xyaxwn67m2wz58mpmh"; + sha256 = "095agnk7r2sq5yas6c1ri8fmsl55n4l5hkl6j5l397p9nxvxvrkc"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index 9bd909d3f6e..36838341fe2 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, cmake, nasm, enableStatic ? false }: +{ stdenv, fetchurl, fetchpatch, cmake, nasm, enableStatic ? false, enableShared ? true }: stdenv.mkDerivation rec { @@ -34,6 +34,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DENABLE_STATIC=${if enableStatic then "1" else "0"}" + "-DENABLE_SHARED=${if enableShared then "1" else "0"}" ]; doInstallCheck = true; diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix index 6e65bcdad96..16cdf416b24 100644 --- a/pkgs/development/libraries/libmatroska/default.nix +++ b/pkgs/development/libraries/libmatroska/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "libmatroska"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromGitHub { owner = "Matroska-Org"; repo = "libmatroska"; rev = "release-${version}"; - sha256 = "118xxdgd3gkwamf59ac2c90s52pz5r0g2jmlrsj1kppybxka5f07"; + sha256 = "1ws07ldcm5gy8z8p627vknqcb8iw1hxdby24g0xi6hbfy66p6qxs"; }; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/development/libraries/libmaxminddb/default.nix b/pkgs/development/libraries/libmaxminddb/default.nix index 493f1b5ce61..94a4b9ec57c 100644 --- a/pkgs/development/libraries/libmaxminddb/default.nix +++ b/pkgs/development/libraries/libmaxminddb/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libmaxminddb"; - version = "1.4.2"; + version = "1.4.3"; src = fetchurl { url = meta.homepage + "/releases/download/${version}/${pname}-${version}.tar.gz"; - sha256 = "0mnimbaxnnarlw7g1rh8lpxsyf7xnmzwcczcc3lxw8xyf6ljln6x"; + sha256 = "0fd4a4sxiiwzbd5h74wl1ijnb7xybjyybb7q41vdq3w8nk3zdzd5"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix index 0cc911fbd01..0e9a3784f38 100644 --- a/pkgs/development/libraries/libmbim/default.nix +++ b/pkgs/development/libraries/libmbim/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "libmbim"; - version = "1.24.0"; + version = "1.24.2"; src = fetchurl { url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz"; - sha256 = "15hi1vq327drgi6h4dsi74lb7wg0sxd7mipa3irh5zgc7gn5qj9x"; + sha256 = "1r41d4yddp8rgccxrkz9vg5lbrj3dr5vy71d8igrr147k44qq69j"; }; outputs = [ "out" "dev" "man" ]; diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix index ab7bb7e6cb9..e6650db85cc 100644 --- a/pkgs/development/libraries/libmediainfo/default.nix +++ b/pkgs/development/libraries/libmediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }: stdenv.mkDerivation rec { - version = "20.03"; + version = "20.08"; pname = "libmediainfo"; src = fetchurl { url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz"; - sha256 = "0wkzj5s34m8dvy7hif4h8f90q8ncrzd930gij1zzw3h5nw732j38"; + sha256 = "19n8h9jq42b6r3dbag77fzwfksfywszmzpi636w87fvc1nqldlqj"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix index c160b678be7..4a7a228150c 100644 --- a/pkgs/development/libraries/libmicrohttpd/default.nix +++ b/pkgs/development/libraries/libmicrohttpd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libmicrohttpd"; - version = "0.9.70"; + version = "0.9.71"; src = fetchurl { url = "mirror://gnu/libmicrohttpd/${pname}-${version}.tar.gz"; - sha256 = "01vkjy89b1ylmh22dy5yza2r414nfwcfixxh3v29nvzrjv9s7l4h"; + sha256 = "10mii4mifmfs3v7kgciqml7f0fj7ljp0sngrx64pnwmgbzl4bx78"; }; outputs = [ "out" "dev" "devdoc" "info" ]; diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix index 235474c0ca1..c0459e393fa 100644 --- a/pkgs/development/libraries/libmpc/default.nix +++ b/pkgs/development/libraries/libmpc/default.nix @@ -2,6 +2,11 @@ , gmp, mpfr }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let version = "1.1.0"; in diff --git a/pkgs/development/libraries/libndctl/default.nix b/pkgs/development/libraries/libndctl/default.nix index 7a8d1877bc7..7c4c49baffa 100644 --- a/pkgs/development/libraries/libndctl/default.nix +++ b/pkgs/development/libraries/libndctl/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "libndctl"; - version = "68"; + version = "69"; src = fetchFromGitHub { owner = "pmem"; repo = "ndctl"; rev = "v${version}"; - sha256 = "0xmim7z4qp6x2ggndnbwd940c73pa1qlf3hxyn3qh5pyr69nh9y8"; + sha256 = "1l7p0ycj27d4z07gf9qp796xpg16kfsg3rwx6plhilbhip1as4w7"; }; outputs = [ "out" "lib" "man" "dev" ]; diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix index e577b403823..e8db7501534 100644 --- a/pkgs/development/libraries/libqmi/default.nix +++ b/pkgs/development/libraries/libqmi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libqmi"; - version = "1.26.0"; + version = "1.26.2"; src = fetchurl { url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz"; - sha256 = "0h3fzmjlla7ib9wn4rv98bm40y2k28jcl29da4hjwyaqmvh2j13z"; + sha256 = "00vvvfq74awg6mk0si1cdv79f6z6wqx11h47nl78a1h7zsr6fd0k"; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/libqtav/default.nix b/pkgs/development/libraries/libqtav/default.nix index 00a87402fa3..43489e8e850 100644 --- a/pkgs/development/libraries/libqtav/default.nix +++ b/pkgs/development/libraries/libqtav/default.nix @@ -46,6 +46,6 @@ mkDerivation rec { homepage = "http://www.qtav.org/"; maintainers = [ maintainers.jraygauthier ]; platforms = platforms.linux; + broken = !(lib.versionOlder qtbase.version "5.13"); }; } - diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix index 263aa613a9b..55171cd3de4 100644 --- a/pkgs/development/libraries/librealsense/default.nix +++ b/pkgs/development/libraries/librealsense/default.nix @@ -1,8 +1,13 @@ -{ stdenv, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig }: +{ stdenv, config, lib, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig, gcc +, cudaSupport ? config.cudaSupport or false, cudatoolkit +, enablePython ? false, pythonPackages ? null }: + +assert cudaSupport -> cudatoolkit != null; +assert enablePython -> pythonPackages != null; stdenv.mkDerivation rec { pname = "librealsense"; - version = "2.36.0"; + version = "2.38.0"; outputs = [ "out" "dev" ]; @@ -10,11 +15,17 @@ stdenv.mkDerivation rec { owner = "IntelRealSense"; repo = pname; rev = "v${version}"; - sha256 = "1dfkhnybnd8qnljf3y3hjyamaqzw733hb3swy4hjcsdm9dh0wpay"; + sha256 = "12rs0gklgzn8bplqjmaxixk04pr870i333mmcp9i5bhkn8x86zbx"; }; buildInputs = [ libusb1 + gcc.cc.lib + ] ++ lib.optional cudaSupport cudatoolkit + ++ lib.optional enablePython pythonPackages.python; + + patches = lib.optionals enablePython [ + ./py_sitepackage_dir.patch ]; nativeBuildInputs = [ @@ -23,7 +34,22 @@ stdenv.mkDerivation rec { pkgconfig ]; - cmakeFlags = [ "-DBUILD_EXAMPLES=false" ]; + cmakeFlags = [ + "-DBUILD_EXAMPLES=ON" + "-DBUILD_GRAPHICAL_EXAMPLES=OFF" + "-DBUILD_GLSL_EXTENSIONS=OFF" + ] ++ lib.optionals enablePython [ + "-DBUILD_PYTHON_BINDINGS:bool=true" + "-DXXNIX_PYTHON_SITEPACKAGES=${placeholder "out"}/${pythonPackages.python.sitePackages}" + ] ++ lib.optional cudaSupport "-DBUILD_WITH_CUDA:bool=true"; + + # ensure python package contains its __init__.py. for some reason the install + # script does not do this, and it's questionable if intel knows it should be + # done + # ( https://github.com/IntelRealSense/meta-intel-realsense/issues/20 ) + postInstall = lib.optionalString enablePython '' + cp ../wrappers/python/pyrealsense2/__init__.py $out/${pythonPackages.python.sitePackages}/pyrealsense2 + ''; meta = with stdenv.lib; { description = "A cross-platform library for Intel® RealSenseâ„¢ depth cameras (D400 series and the SR300)"; diff --git a/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch b/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch new file mode 100644 index 00000000000..99b567a429e --- /dev/null +++ b/pkgs/development/libraries/librealsense/py_sitepackage_dir.patch @@ -0,0 +1,15 @@ +--- a/wrappers/python/CMakeLists.txt ++++ b/wrappers/python/CMakeLists.txt +@@ -10,11 +10,11 @@ + if (CMAKE_VERSION VERSION_LESS 3.12) + find_package(PythonInterp REQUIRED) + find_package(PythonLibs REQUIRED) +- set(PYTHON_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") ++ set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") + set(CMAKECONFIG_PY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/pyrealsense2") + else() + find_package(Python REQUIRED COMPONENTS Interpreter Development) +- set(PYTHON_INSTALL_DIR "${Python_SITEARCH}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") ++ set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") + set(CMAKECONFIG_PY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/pyrealsense2") + endif() diff --git a/pkgs/development/libraries/libsidplayfp/default.nix b/pkgs/development/libraries/libsidplayfp/default.nix index 7acda3c0a8f..95f7beff88a 100644 --- a/pkgs/development/libraries/libsidplayfp/default.nix +++ b/pkgs/development/libraries/libsidplayfp/default.nix @@ -1,34 +1,41 @@ -{ stdenv, fetchurl, pkgconfig -, docSupport ? true, doxygen ? null, graphviz ? null }: +{ stdenv +, lib +, fetchurl +, pkgconfig +, docSupport ? true +, doxygen ? null +, graphviz ? null +}: assert docSupport -> doxygen != null && graphviz != null; - +let + inherit (lib) optionals optionalString; + inherit (lib.versions) majorMinor; +in stdenv.mkDerivation rec { pname = "libsidplayfp"; - major = "1"; - minor = "8"; - level = "7"; - version = "${major}.${minor}.${level}"; + version = "2.0.4"; src = fetchurl { - url = "mirror://sourceforge/sidplay-residfp/${pname}/${major}.${minor}/${pname}-${version}.tar.gz"; - sha256 = "14k1sbdcbhykwfcadq5lbpnm9xp2r7vs7fyi84h72g89y8pjg0da"; + url = "mirror://sourceforge/sidplay-residfp/${pname}/${majorMinor version}/${pname}-${version}.tar.gz"; + sha256 = "0d866czmnmhnhb2j37rlrdphjdi2b75kak9barm9xqwg2z0nmmhz"; }; nativeBuildInputs = [ pkgconfig ] - ++ stdenv.lib.optionals docSupport [ doxygen graphviz ]; + ++ optionals docSupport [ doxygen graphviz ]; installTargets = [ "install" ] - ++ stdenv.lib.optionals docSupport [ "doc" ]; + ++ optionals docSupport [ "doc" ]; - outputs = [ "out" ] ++ stdenv.lib.optionals docSupport [ "doc" ]; + outputs = [ "out" ] + ++ optionals docSupport [ "doc" ]; - postInstall = stdenv.lib.optionalString docSupport '' + postInstall = optionalString docSupport '' mkdir -p $doc/share/doc/libsidplayfp mv docs/html $doc/share/doc/libsidplayfp/ ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A library to play Commodore 64 music derived from libsidplay2"; homepage = "https://sourceforge.net/projects/sidplay-residfp/"; license = with licenses; [ gpl2Plus ]; diff --git a/pkgs/development/libraries/libtsm/darwin.patch b/pkgs/development/libraries/libtsm/darwin.patch deleted file mode 100644 index d447be456e0..00000000000 --- a/pkgs/development/libraries/libtsm/darwin.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 4e7b7b1124bfbccb43820997164b00720bf5ca31 Mon Sep 17 00:00:00 2001 -From: Florian Gilcher <florian.gilcher@asquera.de> -Date: Sun, 23 Mar 2014 23:05:44 +0100 -Subject: [PATCH] Remove GCC specific flags - ---- - Makefile.am | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index f1e872b..c011f02 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -69,11 +69,7 @@ AM_CFLAGS = \ - AM_CPPFLAGS = \ - -include $(top_builddir)/config.h \ - -I $(srcdir)/src --AM_LDFLAGS = \ -- -Wl,--as-needed \ -- -Wl,--gc-sections \ -- -Wl,-z,relro \ -- -Wl,-z,now -+AM_LDFLAGS = - - if BUILD_ENABLE_DEBUG - AM_CFLAGS += -g -@@ -134,9 +130,7 @@ libtsm_la_CPPFLAGS = $(AM_CPPFLAGS) - libtsm_la_LIBADD = libshl.la - EXTRA_libtsm_la_DEPENDENCIES = $(top_srcdir)/docs/libtsm.sym - libtsm_la_LDFLAGS = \ -- $(AM_LDFLAGS) \ -- -version-info $(LIBTSM_CURRENT):$(LIBTSM_REVISION):$(LIBTSM_AGE) \ -- -Wl,--version-script="$(top_srcdir)/docs/libtsm.sym" -+ $(AM_LDFLAGS) - - if BUILD_HAVE_XKBCOMMON - libtsm_la_CPPFLAGS += $(XKBCOMMON_CFLAGS) diff --git a/pkgs/development/libraries/libtsm/default.nix b/pkgs/development/libraries/libtsm/default.nix index ebeb927aaa4..21108fa108e 100644 --- a/pkgs/development/libraries/libtsm/default.nix +++ b/pkgs/development/libraries/libtsm/default.nix @@ -1,23 +1,21 @@ -{ stdenv, lib, fetchurl, libxkbcommon, pkgconfig, autoreconfHook }: +{ stdenv, fetchFromGitHub, libxkbcommon, pkgconfig, cmake }: stdenv.mkDerivation rec { - name = "libtsm-3"; + pname = "libtsm"; + version = "4.0.1"; - src = fetchurl { - url = "https://freedesktop.org/software/kmscon/releases/${name}.tar.xz"; - sha256 = "01ygwrsxfii0pngfikgqsb4fxp8n1bbs47l7hck81h9b9bc1ah8i"; + src = fetchFromGitHub { + owner = "Aetf"; + repo = "libtsm"; + rev = "v${version}"; + sha256 = "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libxkbcommon ] ++ lib.optionals stdenv.isDarwin [ - autoreconfHook - ]; + buildInputs = [ libxkbcommon ]; - configureFlags = [ "--disable-debug" ]; + nativeBuildInputs = [ cmake pkgconfig ]; - patches = lib.optional stdenv.isDarwin ./darwin.patch; - - meta = with lib; { + meta = with stdenv.lib; { description = "Terminal-emulator State Machine"; homepage = "http://www.freedesktop.org/wiki/Software/kmscon/libtsm/"; license = licenses.mit; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index f0cc73ba4e9..5f300ef5199 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -1,5 +1,10 @@ { fetchurl, stdenv, libiconv }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "libunistring"; version = "0.9.10"; diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 3462c423ffd..cf73a64f675 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { "getaddrinfo_fail" "getaddrinfo_fail_sync" "threadpool_multiple_event_loops" # times out on slow machines "get_passwd" # passed on NixOS but failed on other Linuxes - "tcp_writealot" # times out sometimes + "tcp_writealot" "udp_multicast_join" "udp_multicast_join6" # times out sometimes ] ++ stdenv.lib.optionals stdenv.isDarwin [ # Sometimes: timeout (no output), failed uv_listen. Someone # should report these failures to libuv team. There tests should @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { "tcp_open" "tcp_write_queue_order" "tcp_try_write" "tcp_writealot" "multiple_listen" "delayed_accept" "shutdown_close_tcp" "shutdown_eof" "shutdown_twice" "callback_stack" - "tty_pty" "condvar_5" "hrtime" + "tty_pty" "condvar_5" "hrtime" "udp_multicast_join" # Tests that fail when sandboxing is enabled. "fs_event_close_in_callback" "fs_event_watch_dir" "fs_event_error_reporting" "fs_event_watch_dir_recursive" "fs_event_watch_file" diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 9ea7dc6c9d5..5e290b25832 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, fetchpatch -, zlib, xz, python, gettext, ncurses, findXMLCatalogs +, zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform , icuSupport ? false, icu ? null , enableShared ? stdenv.hostPlatform.libc != "msvcrt" @@ -46,6 +46,8 @@ stdenv.mkDerivation rec { buildInputs = lib.optional pythonSupport python ++ lib.optional (pythonSupport && python?isPy2 && python.isPy2) gettext ++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses + ++ lib.optional (stdenv.isDarwin && + pythonSupport && python?isPy2 && python.isPy2) libintl # Libxml2 has an optional dependency on liblzma. However, on impure # platforms, it may end up using that from /usr/lib, and thus lack a # RUNPATH for that, leading to undefined references for its users. diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix index 75e3439db81..d5f20f6761c 100644 --- a/pkgs/development/libraries/mailcore2/default.nix +++ b/pkgs/development/libraries/mailcore2/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "mailcore2"; - version = "0.6.3"; + version = "0.6.4"; src = fetchFromGitHub { owner = "MailCore"; repo = "mailcore2"; rev = version; - sha256 = "0yxynvfmifpw9hdhv499a813hb2ynan74r353lhcdajkkm7w8br5"; + sha256 = "0a69q11z194fdfwyazjyyylx57sqs9j4lz7jwh5qcws8syqgb23z"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/medfile/default.nix b/pkgs/development/libraries/medfile/default.nix index 7a5688a1b71..246bdb1480c 100644 --- a/pkgs/development/libraries/medfile/default.nix +++ b/pkgs/development/libraries/medfile/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "medfile"; - version = "4.0.0"; + version = "4.1.0"; src = fetchurl { url = "http://files.salome-platform.org/Salome/other/med-${version}.tar.gz"; - sha256 = "017h9p0x533fm4gn6pwc8kmp72rvqmcn6vznx72nkkl2b05yjx54"; + sha256 = "1khzclkrd1yn9mz3g14ndgpsbj8j50v8dsjarcj6kkn9zgbbazc4"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 0b0db12c09c..0edfa36bb2f 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -4,6 +4,7 @@ , llvmPackages, libffi, libomxil-bellagio, libva-minimal , libelf, libvdpau, python3Packages , libglvnd +, patchelf, autoreconfHook, fetchFromGitHub , enableRadv ? true , galliumDrivers ? ["auto"] , driDrivers ? ["auto"] @@ -31,7 +32,7 @@ with stdenv.lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "20.1.3"; + version = "20.1.5"; branch = versions.major version; in @@ -46,7 +47,7 @@ stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = "1w9b6sl82a3birmpgzn1xx6biggpvynr4hmyzxvj30pfdgabhwlq"; + sha256 = "16y609zavqqhvxb55c06zwkg986qp6znvn7qjg4axw8bdqg8dhgs"; }; prePatch = "patchShebangs ."; @@ -58,7 +59,22 @@ stdenv.mkDerivation { ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl ./opencl-install-dir.patch ./disk_cache-include-dri-driver-path-in-cache-key.patch - ] # do not prefix user provided dri-drivers-path + ./link-radv-with-ld_args_build_id.patch + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ + # Fix `-Werror=int-conversion` pthread warnings on musl. + # TODO: Remove when https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6121 is merged and available + (fetchpatch { + name = "nine_debug-Make-tid-more-type-correct"; + # Patch adjusted for version `20.1`, before the big mesa dirs change + # `gallium: rename 'state tracker' to 'frontend'`. + # Patch for versions after that change is at + # https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e3b4745ef16d0e833300ad67044.patch + url = "https://gitlab.freedesktop.org/nh2/mesa/commit/3385c49684375f1153a52ed7ccda3f5135268a41.patch"; + sha256 = "1ci694sqjll44c9g2md4krhk6qlvq51r7ad5rnnfdnf3l8ys0i50"; + }) + ] + # do not prefix user provided dri-drivers-path ++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch { url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch"; sha256 = "0z6phi8hbrbb32kkp1js7ggzviq7faz1ria36wi4jbc4in2392d9"; @@ -81,6 +97,12 @@ stdenv.mkDerivation { substituteInPlace meson.build --replace \ "find_program('pkg-config')" \ "find_program('${buildPackages.pkg-config.targetPrefix}pkg-config')" + + # The drirc.d directory cannot be installed to $drivers as that would cause a cyclic dependency: + substituteInPlace src/util/xmlconfig.c --replace \ + 'DATADIR "/drirc.d"' '"${placeholder "out"}/drirc.d"' + substituteInPlace src/util/meson.build --replace \ + "get_option('datadir')" "'${placeholder "out"}'" ''; outputs = [ "out" "dev" "drivers" ] ++ lib.optional enableOSMesa "osmesa"; @@ -88,6 +110,7 @@ stdenv.mkDerivation { # TODO: Figure out how to enable opencl without having a runtime dependency on clang mesonFlags = [ "--sysconfdir=/etc" + "--datadir=${placeholder "drivers"}/share" # Vendor files # Don't build in debug mode # https://gitlab.freedesktop.org/mesa/mesa/blob/master/docs/meson.html#L327 @@ -125,6 +148,16 @@ stdenv.mkDerivation { depsBuildBuild = [ pkgconfig ]; nativeBuildInputs = [ + (patchelf.overrideAttrs (pa: { + src = fetchFromGitHub { + owner = "NixOS"; + repo = "patchelf"; + rev = "61bc10176"; # current master; what matters is merge of #225 + sha256 = "0cy77mn77w3mn64ggp20f4ygnbxfjmddhjjhfwkva53lsirg6w93"; + }; + nativeBuildInputs = pa.nativeBuildInputs or [] ++ [ autoreconfHook ]; + })) + ] ++ [ pkgconfig meson ninja intltool bison flex file python3Packages.python python3Packages.Mako @@ -158,9 +191,6 @@ stdenv.mkDerivation { mv $out/lib/lib*_mesa* $drivers/lib fi - # move vendor files - mv $out/share/ $drivers/ - # Update search path used by glvnd for js in $drivers/share/glvnd/egl_vendor.d/*.json; do substituteInPlace "$js" --replace '"libEGL_' '"'"$drivers/lib/libEGL_" diff --git a/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch b/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch new file mode 100644 index 00000000000..e6182009ba8 --- /dev/null +++ b/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch @@ -0,0 +1,26 @@ +From 00f3c6d1b771c11ecc08c3d8bd793a51d6e64166 Mon Sep 17 00:00:00 2001 +From: David McFarland <corngood@gmail.com> +Date: Sun, 26 Jul 2020 17:29:49 -0300 +Subject: [PATCH] link radv with ld_args_build_id + +This is needed for radv_device_get_cache_uuid to work correctly. +--- + src/amd/vulkan/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build +index efcf2dd6c89..590f286b8cb 100644 +--- a/src/amd/vulkan/meson.build ++++ b/src/amd/vulkan/meson.build +@@ -173,7 +173,7 @@ libvulkan_radeon = shared_library( + ], + c_args : [c_vis_args, no_override_init_args, radv_flags], + cpp_args : [cpp_vis_args, radv_flags], +- link_args : [ld_args_bsymbolic, ld_args_gc_sections], ++ link_args : [ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections], + install : true, + ) + +-- +2.27.0 + diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index ceba71ae06a..4a744b7483e 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -1,7 +1,12 @@ { stdenv, fetchurl, gmp }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { - version = "4.0.2"; + version = "4.1.0"; pname = "mpfr"; src = fetchurl { @@ -9,7 +14,7 @@ stdenv.mkDerivation rec { #"https://www.mpfr.org/${name}/${name}.tar.xz" "mirror://gnu/mpfr/${pname}-${version}.tar.xz" ]; - sha256 = "12m3amcavhpqygc499s3fzqlb8f2j2rr7fkqsm10xbjfc04fffqx"; + sha256 = "0zwaanakrqjf84lfr5hfsdr7hncwv9wj0mchlr7cmxigfgqs760c"; }; outputs = [ "out" "dev" "doc" "info" ]; diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix index 939f137ac3e..3294674e178 100644 --- a/pkgs/development/libraries/nghttp2/default.nix +++ b/pkgs/development/libraries/nghttp2/default.nix @@ -12,6 +12,11 @@ , enablePython ? false, python ? null, cython ? null, ncurses ? null, setuptools ? null }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + assert enableHpack -> jansson != null; assert enableAsioLib -> boost != null; assert enableGetAssets -> libxml2 != null; diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index 9ab89aaefbf..8a16803fd8b 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -2,7 +2,7 @@ , CoreServices ? null , buildPackages }: -let version = "4.26"; in +let version = "4.27"; in stdenv.mkDerivation { pname = "nspr"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; - sha256 = "0gbp3g9p4nhf0zrlvqi5883sqb9zdw0wk83lccpgskxphlni97gw"; + sha256 = "16z82qc1l4cqn66p59ai0dy9ycllywn4jlxhip1a605bns952jbd"; }; patches = [ diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index a7b014acc89..a504aae6a98 100644 --- a/pkgs/development/libraries/nss/default.nix +++ b/pkgs/development/libraries/nss/default.nix @@ -5,7 +5,7 @@ let url = "http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz"; sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw"; }; - version = "3.54"; + version = "3.55"; underscoreVersion = builtins.replaceStrings ["."] ["_"] version; in stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz"; - sha256 = "0hvfip056pl07h6w91i6fyji5nczrrsxyr56rls7jd2yryzqpcfs"; + sha256 = "0100hm7n1xrp144xy665z46s0wf1jpkqkncc6bk2w22snhyjwsgw"; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -54,6 +54,11 @@ in stdenv.mkDerivation rec { patchFlags = [ "-p0" ]; + postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace nss/coreconf/Darwin.mk --replace '@executable_path/$(notdir $@)' "$out/lib/\$(notdir \$@)" + substituteInPlace nss/coreconf/config.gypi --replace "'DYLIB_INSTALL_NAME_BASE': '@executable_path'" "'DYLIB_INSTALL_NAME_BASE': '$out/lib'" + ''; + outputs = [ "out" "dev" "tools" ]; preConfigure = "cd nss"; diff --git a/pkgs/development/libraries/ntirpc/default.nix b/pkgs/development/libraries/ntirpc/default.nix new file mode 100644 index 00000000000..40f8d55462d --- /dev/null +++ b/pkgs/development/libraries/ntirpc/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, cmake +, krb5, liburcu , libtirpc +} : + +stdenv.mkDerivation rec { + pname = "ntirpc"; + version = "3.3"; + + src = fetchFromGitHub { + owner = "nfs-ganesha"; + repo = "ntirpc"; + rev = "v${version}"; + sha256 = "08vc2z9sl1p9mk1mx0zn4xv7dw12gamhciy41fbavm90iavf3vqm"; + }; + + postPatch = '' + substituteInPlace ntirpc/netconfig.h --replace "/etc/netconfig" "$out/etc/netconfig" + ''; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ krb5 liburcu ]; + + postInstall = '' + mkdir -p $out/etc + + # Library needs a netconfig to run. + # Steal the file from libtirpc + cp ${libtirpc}/etc/netconfig $out/etc/ + ''; + + meta = with stdenv.lib; { + description = "Transport-independent RPC (TI-RPC)"; + homepage = "https://github.com/nfs-ganesha/ntirpc"; + maintainers = [ maintainers.markuskowa ]; + platforms = platforms.linux; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/libraries/oneDNN/default.nix b/pkgs/development/libraries/oneDNN/default.nix index 865a0ab7724..b2beaee0bc9 100644 --- a/pkgs/development/libraries/oneDNN/default.nix +++ b/pkgs/development/libraries/oneDNN/default.nix @@ -5,13 +5,13 @@ # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn stdenv.mkDerivation rec { pname = "oneDNN"; - version = "1.5.1"; + version = "1.6"; src = fetchFromGitHub { owner = "oneapi-src"; repo = "oneDNN"; rev = "v${version}"; - sha256 = "1l66gkidldjpznp8pb01wdgrmm0rmrbndv8lzidz8fp9hf473zgl"; + sha256 = "0w2rgr3zgk7a3cql12dpddyhz2isyqqaks4vm8p45y426pd5m64b"; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix index 425afc70f37..b33b284f45c 100644 --- a/pkgs/development/libraries/openexr/default.nix +++ b/pkgs/development/libraries/openexr/default.nix @@ -4,26 +4,33 @@ , fetchFromGitHub , zlib , ilmbase -, fetchpatch +, fetchpatch , cmake -, libtool }: + stdenv.mkDerivation rec { pname = "openexr"; - version = "2.4.1"; + version = "2.5.3"; + + outputs = [ "bin" "dev" "out" "doc" ]; src = fetchFromGitHub { owner = "AcademySoftwareFoundation"; repo = "openexr"; rev = "v${version}"; - sha256 = "020gyl8zv83ag6gbcchmqiyx9rh2jca7j8n52zx1gk4rck7kwc01"; + sha256 = "xyYdRrwAYdnRZmErIK0tZspguqtrXvixO5+6nMDoOh8="; }; - outputs = [ "bin" "dev" "out" "doc" ]; - nativeBuildInputs = [ cmake libtool ]; - propagatedBuildInputs = [ ilmbase zlib ]; + patches = [ + # Fix pkg-config paths + (fetchpatch { + url = "https://github.com/AcademySoftwareFoundation/openexr/commit/6442fb71a86c09fb0a8118b6dbd93bcec4883a3c.patch"; + sha256 = "bwD5WTKPT4DjOJDnPXIvT5hJJkH0b71Vo7qupWO9nPA="; + }) + ]; - enableParallelBuilding = true; + nativeBuildInputs = [ cmake ]; + propagatedBuildInputs = [ ilmbase zlib ]; meta = with stdenv.lib; { description = "A high dynamic-range (HDR) image file format"; diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix index 61e3165dd3f..d6f23a9060f 100644 --- a/pkgs/development/libraries/openmpi/default.nix +++ b/pkgs/development/libraries/openmpi/default.nix @@ -13,7 +13,6 @@ # Enable libfabric support (necessary for Omnipath networks) on x86_64 linux , fabricSupport ? stdenv.isLinux && stdenv.isx86_64 - }: assert !cudaSupport || cudatoolkit != null; @@ -59,6 +58,7 @@ in stdenv.mkDerivation rec { "--with-libnl=${libnl.dev}" "--with-pmix=${pmix}" "--with-pmix-libdir=${pmix}/lib" + "--enable-mpi-cxx" ] ++ lib.optional enableSGE "--with-sge" ++ lib.optional enablePrefix "--enable-mpirun-prefix-by-default" # TODO: add UCX support, which is recommended to use with cuda for the most robust OpenMPI build diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 43170f25d38..1fc38dd8aaa 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -5,6 +5,11 @@ , static ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + with stdenv.lib; let diff --git a/pkgs/development/libraries/packr/default.nix b/pkgs/development/libraries/packr/default.nix index 30276bdaf9a..017cb25a9d1 100644 --- a/pkgs/development/libraries/packr/default.nix +++ b/pkgs/development/libraries/packr/default.nix @@ -20,6 +20,8 @@ let p2 = buildGoModule rec { vendorSha256 = "12yq121b0bn8z12091fyqhhz421kgx4z1nskrkvbxlhyc47bwyrp"; + doCheck = false; + meta = with stdenv.lib; { description = "The simple and easy way to embed static files into Go binaries"; homepage = "https://github.com/gobuffalo/packr"; @@ -42,6 +44,8 @@ p1 = buildGoModule rec { vendorSha256 = "0m3yj8ww4a16j56p8d8w0sdnyx0g2bkd8zg0l4d8vb72mvg5asga"; + doCheck = false; + meta = with lib; { description = "The simple and easy way to embed static files into Go binaries"; homepage = "https://github.com/gobuffalo/packr"; diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 358ae3df991..e3bdba9b3b1 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -9,15 +9,26 @@ with stdenv.lib; let pname = "pango"; - version = "1.44.7"; + version = "1.45.3"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"; + sha256 = "0zg6gvzk227q997jf1c9p7j5ra87nm008hlgq6q8na9xmgmw2x8z"; }; + patches = [ + # Fix issue with Pango loading unsupported formats that + # breaks mixed x11/opentype font packages. + # See https://gitlab.gnome.org/GNOME/pango/issues/457 + # Remove on next release. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/pango/commit/fe1ee773310bac83d8e5d3c062b13a51fb5fb4ad.patch"; + sha256 = "1px66g31l2jx4baaqi4md59wlmvw0ywgspn6zr919fxl4h1kkh0h"; + }) + ]; + # FIXME: docs fail on darwin outputs = [ "bin" "dev" "out" ] ++ optional (!stdenv.isDarwin) "devdoc"; diff --git a/pkgs/development/libraries/physics/hepmc3/default.nix b/pkgs/development/libraries/physics/hepmc3/default.nix index a07c3c19a1b..10b789f514f 100644 --- a/pkgs/development/libraries/physics/hepmc3/default.nix +++ b/pkgs/development/libraries/physics/hepmc3/default.nix @@ -3,19 +3,21 @@ let pythonVersion = with stdenv.lib.versions; "${major python.version}${minor python.version}"; withPython = python != null; + # ensure that root is built with the same python interpreter, as it links against numpy + root_py = if withPython then root.override { inherit python; } else root; in stdenv.mkDerivation rec { pname = "hepmc3"; - version = "3.2.0"; + version = "3.2.2"; src = fetchurl { url = "http://hepmc.web.cern.ch/hepmc/releases/HepMC3-${version}.tar.gz"; - sha256 = "1z491x3blqs0a2jxmhzhmh4kqdw3ddcbvw69gidg4w6icdvkhcpi"; + sha256 = "0h9dbsbbf3y7iia27ms9cy4pfk2yyrkdnxcqsbvkhkl0izvv930f"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ root ] + buildInputs = [ root_py ] ++ stdenv.lib.optional withPython python; cmakeFlags = [ @@ -31,6 +33,12 @@ stdenv.mkDerivation rec { --replace 'readlink' '${coreutils}/bin/readlink' ''; + doInstallCheck = withPython; + # prevent nix from trying to dereference a null python + installCheckPhase = stdenv.lib.optionalString withPython '' + PYTHONPATH=${placeholder "out"}/${python.sitePackages} python -c 'import pyHepMC3' + ''; + meta = with stdenv.lib; { description = "The HepMC package is an object oriented, C++ event record for High Energy Physics Monte Carlo generators and simulation"; license = licenses.gpl3; diff --git a/pkgs/development/libraries/pkger/default.nix b/pkgs/development/libraries/pkger/default.nix index 09c48ff8b0a..564efa31b60 100644 --- a/pkgs/development/libraries/pkger/default.nix +++ b/pkgs/development/libraries/pkger/default.nix @@ -17,6 +17,8 @@ buildGoModule rec { vendorSha256 = "1b9gpym6kb4hpdbrixphfh1qylmqr265jrmcd4vxb87ahvrsrvgp"; + doCheck = false; + meta = with stdenv.lib; { description = "Embed static files in Go binaries (replacement for gobuffalo/packr) "; homepage = "https://github.com/markbates/pkger"; diff --git a/pkgs/development/libraries/protolock/default.nix b/pkgs/development/libraries/protolock/default.nix index d917541bcba..b923898cc99 100644 --- a/pkgs/development/libraries/protolock/default.nix +++ b/pkgs/development/libraries/protolock/default.nix @@ -13,6 +13,8 @@ buildGoModule rec { vendorSha256 = "0ap1iwcapvvvmwgdc4zbsp8mglrhbswkdgm4dw8baw8qk0nlci6y"; + doCheck = false; + postInstall = '' rm $out/bin/plugin* ''; diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index d522feac3cd..e8d052d3cd1 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -38,14 +38,14 @@ let mirror = "https://download.qt.io"; srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // { # Community port of the now unmaintained upstream qtwebkit. - qtwebkit = { + qtwebkit = rec { src = fetchFromGitHub { - owner = "annulen"; - repo = "webkit"; - rev = "4ce8ebc4094512b9916bfa5984065e95ac97c9d8"; - sha256 = "05h1xnxzbf7sp3plw5dndsvpf6iigh0bi4vlj4svx0hkf1giakjf"; + owner = "qtwebkit"; + repo = "qtwebkit"; + rev = "qtwebkit-${version}"; + sha256 = "11lc5sk10d9cyg8jqkbgkqiap72b9rax7hy61nm90zw9749y2yfg"; }; - version = "5.212-alpha-01-26-2018"; + version = "5.212.0-alpha4"; }; }; diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix new file mode 100644 index 00000000000..1a90c610a5b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/default.nix @@ -0,0 +1,176 @@ +/* + +# 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, fetchFromGitHub, 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; } // { + # qtwebkit does not have an official release tarball on the qt mirror and is + # mostly maintained by the community. + qtwebkit = rec { + src = fetchFromGitHub { + owner = "qt"; + repo = "qtwebkit"; + rev = "v${version}"; + sha256 = "0x8rng96h19xirn7qkz3lydal6v4vn00bcl0s3brz36dfs0z8wpg"; + }; + version = "5.212.0-alpha4"; + }; + }; + + patches = { + qtbase = + optionals stdenv.isDarwin [ + ./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch + ./qtbase.patch.d/0002-qtbase-mac.patch + ] + ++ [ + ./qtbase.patch.d/0003-qtbase-mkspecs.patch + ./qtbase.patch.d/0004-qtbase-replace-libdir.patch + ./qtbase.patch.d/0005-qtbase-cmake.patch + ./qtbase.patch.d/0006-qtbase-gtk3.patch + ./qtbase.patch.d/0007-qtbase-xcursor.patch + ./qtbase.patch.d/0008-qtbase-tzdir.patch + ./qtbase.patch.d/0009-qtbase-qtpluginpath.patch + ./qtbase.patch.d/0010-qtbase-assert.patch + ./qtbase.patch.d/0011-fix-header_module.patch + ]; + qtdeclarative = [ ./qtdeclarative.patch ]; + qtscript = [ ./qtscript.patch ]; + qtserialport = [ ./qtserialport.patch ]; + qtwebengine = [ ] + ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch; + qtwebkit = [ ./qtwebkit.patch ] + ++ optionals stdenv.isDarwin [ + ./qtwebkit-darwin-no-readline.patch + ./qtwebkit-darwin-no-qos-classes.patch + ]; + qttools = [ ./qttools.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 {}; + qtscxml = callPackage ../modules/qtscxml.nix {}; + qttools = callPackage ../modules/qttools.nix {}; + qttranslations = callPackage ../modules/qttranslations.nix {}; + qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {}; + qtwayland = callPackage ../modules/qtwayland.nix {}; + qtwebchannel = callPackage ../modules/qtwebchannel.nix {}; + qtwebengine = callPackage ../modules/qtwebengine.nix {}; + 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.14/fetch.sh b/pkgs/development/libraries/qt-5/5.14/fetch.sh new file mode 100644 index 00000000000..2d266b52977 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/fetch.sh @@ -0,0 +1 @@ +WGET_ARGS=( http://download.qt.io/official_releases/qt/5.14/5.14.2/submodules/ ) diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch new file mode 100644 index 00000000000..0951b6646ab --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch @@ -0,0 +1,411 @@ +From a5848991db270ffdd9f2fa05220475bb3194d12f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc> +Date: Fri, 3 Apr 2020 21:07:58 +0200 +Subject: [PATCH 01/10] qtbase-mkspecs-mac + +--- + mkspecs/common/mac.conf | 2 +- + mkspecs/features/mac/default_post.prf | 206 -------------------------- + mkspecs/features/mac/default_pre.prf | 58 -------- + mkspecs/features/mac/sdk.mk | 25 ---- + mkspecs/features/mac/sdk.prf | 61 -------- + 5 files changed, 1 insertion(+), 351 deletions(-) + delete mode 100644 mkspecs/features/mac/sdk.mk + delete mode 100644 mkspecs/features/mac/sdk.prf + +diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf +index 61bea952b2..9909dae726 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/mac/default_post.prf b/mkspecs/features/mac/default_post.prf +index ba163efc18..b80ec1e801 100644 +--- a/mkspecs/features/mac/default_post.prf ++++ b/mkspecs/features/mac/default_post.prf +@@ -68,212 +68,6 @@ 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 { +- uikit: QMAKE_RPATHDIR += @executable_path/Frameworks +- else: 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 +- +- bundle_version = $$VERSION +- isEmpty(bundle_version): bundle_version = 1.0.0 +- +- l = $$split(bundle_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 +- sysroot_path = $$xcodeSDKInfo(Path, $$simulator.sdk) +- } else { +- version_identifier = $$device.deployment_identifier +- sysroot_path = $$xcodeSDKInfo(Path, $$device.sdk) +- } +- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target +- QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag +- QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag +- QMAKE_LFLAGS += -Wl,-syslibroot,$$sysroot_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} +-} +- +-!equals(sdk_version, $$QMAKE_MAC_SDK_VERSION) { +- # Explicit SDK version has been set, respect that +- QMAKE_LFLAGS += -Wl,-sdk_version -Wl,$$sdk_version +-} +- +-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 +- + !macx-xcode { + generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode \"$(EXPORT__PRO_FILE_)\" $$QMAKE_ARGS + generate_xcode_project.target = xcodeproj +diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf +index e3534561a5..3b01424e67 100644 +--- a/mkspecs/features/mac/default_pre.prf ++++ b/mkspecs/features/mac/default_pre.prf +@@ -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 --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk +deleted file mode 100644 +index c40f58c987..0000000000 +--- a/mkspecs/features/mac/sdk.mk ++++ /dev/null +@@ -1,25 +0,0 @@ +- +-ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),) +- CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1 +- CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND)) +- ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION)) +- # We don't want to complain about out of date SDK unless the target needs to be remade. +- # This covers use-cases such as running 'make check' after moving the build to a +- # computer without Xcode or with a different Xcode version. +- TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0) +- ifeq ($(TARGET_UP_TO_DATE),0) +- ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),) +- $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.) +- else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),) +- $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.) +- else ifneq ($(CURRENT_MAC_SDK_VERSION),) +- $(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).) +- else +- $(info Unknown error resolving current platform SDK version.) +- endif +- $(info This requires a fresh build. Please wipe the build directory completely,) +- $(info including any .qmake.stash and .qmake.cache files generated by qmake.) +- $(error ^) +- endif +- endif +-endif +diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf +deleted file mode 100644 +index 3a9c2778bb..0000000000 +--- a/mkspecs/features/mac/sdk.prf ++++ /dev/null +@@ -1,61 +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"): \ +- 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) +- +-isEmpty(QMAKE_EXPORT_INCDIR_OPENGL) { +- QMAKE_EXPORT_INCDIR_OPENGL = $$QMAKE_INCDIR_OPENGL +- 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) +-} +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0002-qtbase-mac.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0002-qtbase-mac.patch new file mode 100644 index 00000000000..2e28466c503 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0002-qtbase-mac.patch @@ -0,0 +1,116 @@ +From ccaa916eab33093704293bc911eedd85fbe5f160 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc> +Date: Fri, 3 Apr 2020 21:15:27 +0200 +Subject: [PATCH 02/10] qtbase-mac + +--- + src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++-- + src/testlib/qappletestlogger.cpp | 2 +- + src/testlib/qappletestlogger_p.h | 2 +- + src/testlib/qtestcase.cpp | 2 +- + src/testlib/qtestlog.cpp | 2 +- + src/testlib/qtestlog_p.h | 2 +- + 6 files changed, 19 insertions(+), 7 deletions(-) + +diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h +index 535d3579b2..3d70bf39c1 100644 +--- a/src/corelib/kernel/qcore_mac_p.h ++++ b/src/corelib/kernel/qcore_mac_p.h +@@ -225,7 +225,7 @@ private: + + // -------------------------------------------------------------------------- + +-#if !defined(QT_BOOTSTRAPPED) ++#if 0 + + QT_END_NAMESPACE + #include <os/activity.h> +@@ -303,7 +303,19 @@ QT_MAC_WEAK_IMPORT(_os_activity_current); + + #define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter(); + +-#endif // !defined(QT_BOOTSTRAPPED) ++#else // !defined(QT_BOOTSTRAPPED) ++ ++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...) ++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...) ++#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...) ++ ++#define QT_APPLE_LOG_ACTIVITY2(...) ++#define QT_APPLE_LOG_ACTIVITY1(...) ++#define QT_APPLE_LOG_ACTIVITY(...) ++ ++#define QT_APPLE_SCOPED_LOG_ACTIVITY(...) ++ ++#endif + + // ------------------------------------------------------------------------- + +diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp +index dfeadebdef..2a74330c1d 100644 +--- a/src/testlib/qappletestlogger.cpp ++++ b/src/testlib/qappletestlogger.cpp +@@ -43,7 +43,7 @@ + + QT_BEGIN_NAMESPACE + +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + + using namespace QTestPrivate; + +diff --git a/src/testlib/qappletestlogger_p.h b/src/testlib/qappletestlogger_p.h +index 62c6d95c5a..f8e0a3b767 100644 +--- a/src/testlib/qappletestlogger_p.h ++++ b/src/testlib/qappletestlogger_p.h +@@ -57,7 +57,7 @@ + + QT_BEGIN_NAMESPACE + +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + class QAppleTestLogger : public QAbstractTestLogger + { + public: +diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp +index 70733a692a..8bcda17858 100644 +--- a/src/testlib/qtestcase.cpp ++++ b/src/testlib/qtestcase.cpp +@@ -852,7 +852,7 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, const char *const argv[], bool + + bool addFallbackLogger = !explicitLoggerRequested; + +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + // Any explicitly requested loggers will be added by now, so we can check if they use stdout + const bool safeToAddAppleLogger = !AppleUnifiedLogger::willMirrorToStderr() || !QTestLog::loggerUsingStdout(); + if (safeToAddAppleLogger && QAppleTestLogger::debugLoggingEnabled()) { +diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp +index f3ebf343c5..9b4f526b2e 100644 +--- a/src/testlib/qtestlog.cpp ++++ b/src/testlib/qtestlog.cpp +@@ -465,7 +465,7 @@ void QTestLog::addLogger(LogMode mode, const char *filename) + case QTestLog::TAP: + logger = new QTapTestLogger(filename); + break; +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + case QTestLog::Apple: + logger = new QAppleTestLogger; + break; +diff --git a/src/testlib/qtestlog_p.h b/src/testlib/qtestlog_p.h +index fff36f290d..f737ccf064 100644 +--- a/src/testlib/qtestlog_p.h ++++ b/src/testlib/qtestlog_p.h +@@ -72,7 +72,7 @@ public: + + enum LogMode { + Plain = 0, XML, LightXML, XunitXML, CSV, TeamCity, TAP +-#if defined(QT_USE_APPLE_UNIFIED_LOGGING) ++#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0 + , Apple + #endif + #if defined(HAVE_XCTEST) +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch new file mode 100644 index 00000000000..b704d0dc872 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0003-qtbase-mkspecs.patch @@ -0,0 +1,464 @@ +From 1cb5581d7f20bf87ac8d67a7295447a78a1d9645 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc> +Date: Sat, 4 Apr 2020 00:25:52 +0200 +Subject: [PATCH 03/10] qtbase-mkspecs + +--- + mkspecs/features/create_cmake.prf | 51 +++--------- + .../data/cmake/Qt5BasicConfig.cmake.in | 80 +------------------ + mkspecs/features/qml_module.prf | 2 +- + mkspecs/features/qml_plugin.prf | 2 +- + mkspecs/features/qt_app.prf | 2 +- + mkspecs/features/qt_build_paths.prf | 4 +- + mkspecs/features/qt_docs.prf | 10 +-- + mkspecs/features/qt_example_installs.prf | 2 +- + mkspecs/features/qt_functions.prf | 2 +- + mkspecs/features/qt_installs.prf | 22 ++--- + mkspecs/features/qt_plugin.prf | 2 +- + 11 files changed, 38 insertions(+), 141 deletions(-) + +diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf +index 0e71fd0015..ba071d9a70 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 +@@ -77,45 +77,20 @@ 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 + +-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 +-} ++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 + +@@ -258,7 +233,7 @@ contains(CONFIG, plugin) { + + cmake_qt5_plugin_file.files = $$cmake_target_file.output + static|staticlib: cmake_qt5_plugin_file.files += $$cmake_qt5_plugin_import_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() +@@ -396,7 +371,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 1099a761ce..87679b7e68 100644 +--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -3,30 +3,6 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) + 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)") +@@ -146,11 +122,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI + IsDebugAndRelease) + 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(_deps + ${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES} +@@ -210,11 +182,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI + !!ENDIF + + !!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 +@@ -230,24 +198,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}$${CMAKE_QT_STEM}.framework\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\" ++ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\" ++ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.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}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" +- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.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}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, .,0, 0)/Headers/$$VERSION/\" ++ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, .,0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" + ) + !!ELSE + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\") +@@ -263,7 +220,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 +@@ -465,25 +421,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}\" \"\" $${CMAKE_DEBUG_AND_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_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}\" $${CMAKE_DEBUG_AND_RELEASE}) + !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + endif() +@@ -502,25 +446,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}\" \"\" $${CMAKE_DEBUG_AND_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}\" $${CMAKE_DEBUG_AND_RELEASE}) + !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD + endif() +@@ -542,11 +474,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + IsDebugAndRelease) + 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/qml_module.prf b/mkspecs/features/qml_module.prf +index c0b50416c9..cabe39b22e 100644 +--- a/mkspecs/features/qml_module.prf ++++ b/mkspecs/features/qml_module.prf +@@ -51,7 +51,7 @@ builtin_resources { + # Install rules + qmldir.base = $$qmldir_path + qmldir.files = $$qmldir_file +-qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH ++qmldir.path = $$NIX_OUTPUT_QML/$$TARGETPATH + + qmlfiles.base = $$_PRO_FILE_PWD_ + qmlfiles.files = $$fq_aux_qml_files +diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf +index f1c5658b04..029595e721 100644 +--- a/mkspecs/features/qml_plugin.prf ++++ b/mkspecs/features/qml_plugin.prf +@@ -50,7 +50,7 @@ load(qt_build_paths) + + DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH + +-target.path = $$[QT_INSTALL_QML]/$$TARGETPATH ++target.path = $$NIX_OUTPUT_QML/$$TARGETPATH + INSTALLS += target + + # Some final setup +diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf +index 8354f30eea..62028fef8e 100644 +--- a/mkspecs/features/qt_app.prf ++++ b/mkspecs/features/qt_app.prf +@@ -30,7 +30,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 3bb3823a8e..655b7b7db8 100644 +--- a/mkspecs/features/qt_build_paths.prf ++++ b/mkspecs/features/qt_build_paths.prf +@@ -24,6 +24,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_docs.prf b/mkspecs/features/qt_docs.prf +index 095bf15dac..4cc977bea5 100644 +--- a/mkspecs/features/qt_docs.prf ++++ b/mkspecs/features/qt_docs.prf +@@ -65,7 +65,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) { +@@ -84,8 +84,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 +@@ -108,12 +108,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 72b47bce27..d59e949e78 100644 +--- a/mkspecs/features/qt_example_installs.prf ++++ b/mkspecs/features/qt_example_installs.prf +@@ -90,7 +90,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 7777e615bd..abeb03a663 100644 +--- a/mkspecs/features/qt_functions.prf ++++ b/mkspecs/features/qt_functions.prf +@@ -87,7 +87,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 1ebca17366..a8f958eae8 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,35 +23,35 @@ + #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 + generated_privates: \ + private_headers.CONFIG += no_check_exist + 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 573d717eea..024c624cb6 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 + + qt_libinfix_plugins: TARGET = $$TARGET$$QT_LIBINFIX +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0004-qtbase-replace-libdir.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0004-qtbase-replace-libdir.patch new file mode 100644 index 00000000000..86ea2e75d9b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0004-qtbase-replace-libdir.patch @@ -0,0 +1,68 @@ +From 1cae0c31c9849615190ee175ebf929b3aca13fe0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc> +Date: Sat, 4 Apr 2020 00:27:41 +0200 +Subject: [PATCH 04/10] qtbase-replace-libdir + +--- + mkspecs/features/qt_common.prf | 20 ++------------------ + mkspecs/features/qt_module.prf | 5 +---- + 2 files changed, 3 insertions(+), 22 deletions(-) + +diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf +index c24f2c6062..0d72ce7286 100644 +--- a/mkspecs/features/qt_common.prf ++++ b/mkspecs/features/qt_common.prf +@@ -31,32 +31,16 @@ contains(TEMPLATE, .*lib) { + rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* + else: \ + rplbase = $$MODULE_BASE_OUTDIR +- host_build { +- qqt_libdir = \$\$\$\$[QT_HOST_LIBS] +- qt_libdir = $$[QT_HOST_LIBS] +- } else { +- qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS] +- qt_libdir = $$[QT_INSTALL_LIBS] +- } ++ qt_libdir = $$NIX_OUTPUT_OUT/lib + contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) { +- lib_replace0.match = $$rplbase/lib/ +- lib_replace0.replace = $$qqt_libdir/ +- lib_replace0.CONFIG = path +- QMAKE_PRL_INSTALL_REPLACE += lib_replace0 + lib_replace.match = "[^ ']*$$rplbase/lib" + lib_replace.replace = + } else { + lib_replace.match = $$rplbase/lib +- lib_replace.replace = $$qqt_libdir ++ lib_replace.replace = $$qt_libdir + } + lib_replace.CONFIG = path + QMAKE_PRL_INSTALL_REPLACE += lib_replace +- !equals(qt_libdir, $$rplbase/lib) { +- qtlibdir_replace.match = $$qt_libdir +- qtlibdir_replace.replace = $$qqt_libdir +- qtlibdir_replace.CONFIG = path +- QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace +- } + } + + # The remainder of this file must not apply to host tools/libraries, +diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf +index 828a9621b9..b9e5d35026 100644 +--- a/mkspecs/features/qt_module.prf ++++ b/mkspecs/features/qt_module.prf +@@ -305,10 +305,7 @@ load(qt_targets) + } + !lib_bundle:unix { + CONFIG += create_libtool +- host_build: \ +- QMAKE_LIBTOOL_LIBDIR = $$[QT_HOST_LIBS] +- else: \ +- QMAKE_LIBTOOL_LIBDIR = "=$$[QT_INSTALL_LIBS/raw]" ++ QMAKE_LIBTOOL_LIBDIR = $$NIX_OUTPUT_OUT/lib + !isEmpty(lib_replace0.match) { + ltlib_replace0.match = $$lib_replace0.match + ltlib_replace0.replace = $$QMAKE_LIBTOOL_LIBDIR/ +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0005-qtbase-cmake.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0005-qtbase-cmake.patch new file mode 100644 index 00000000000..85a72956341 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0005-qtbase-cmake.patch @@ -0,0 +1,194 @@ +From 7e93d1330e1f8c8cd68334201ad100b8c05c9ab5 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Tue, 17 Sep 2019 05:34:28 -0500 +Subject: [PATCH 05/10] qtbase-cmake + +--- + mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 2 +- + mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in | 4 ++-- + src/corelib/Qt5CoreConfigExtras.cmake.in | 10 +++++----- + src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in | 2 +- + .../Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in | 2 +- + src/dbus/Qt5DBusConfigExtras.cmake.in | 12 ++---------- + src/gui/Qt5GuiConfigExtras.cmake.in | 6 +++--- + src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +- + 8 files changed, 16 insertions(+), 24 deletions(-) + +diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +index 87679b7e68..57060e6470 100644 +--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +@@ -474,7 +474,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) + IsDebugAndRelease) + 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 7b70cfed09..e700cfa539 100644 +--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in ++++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in +@@ -53,10 +53,10 @@ set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES + !!ENDIF + + !!IF !isEmpty(CMAKE_RELEASE_TYPE) +-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE}) ++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE}) + !!ENDIF + !!IF !isEmpty(CMAKE_DEBUG_TYPE) +-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE}) ++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE}) + !!ENDIF + + list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME) +diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in +index 9b672327ef..319ba94d6d 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 +@@ -118,7 +118,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 +@@ -132,7 +132,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/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 84dbbfebd4..8ad0720c5c 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/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 +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0006-qtbase-gtk3.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0006-qtbase-gtk3.patch new file mode 100644 index 00000000000..6ce0e5d0c43 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0006-qtbase-gtk3.patch @@ -0,0 +1,48 @@ +From 1ad04525cdd342e3c8a750323fb3a61b93fee753 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Tue, 17 Sep 2019 05:35:33 -0500 +Subject: [PATCH 06/10] qtbase-gtk3 + +--- + src/plugins/platformthemes/gtk3/main.cpp | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp +index fb1c425d8e..bb8bab9795 100644 +--- a/src/plugins/platformthemes/gtk3/main.cpp ++++ b/src/plugins/platformthemes/gtk3/main.cpp +@@ -39,6 +39,7 @@ + + #include <qpa/qplatformthemeplugin.h> + #include "qgtk3theme.h" ++#include <QFile> + + 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; + } +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0007-qtbase-xcursor.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0007-qtbase-xcursor.patch new file mode 100644 index 00000000000..6a92a952830 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0007-qtbase-xcursor.patch @@ -0,0 +1,29 @@ +From cc953cc3f736fabef1f5c211964f30be719fb35e Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Tue, 17 Sep 2019 05:35:58 -0500 +Subject: [PATCH 07/10] qtbase-xcursor + +--- + src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp +index fbadab4d50..c83ce0af5b 100644 +--- a/src/plugins/platforms/xcb/qxcbcursor.cpp ++++ b/src/plugins/platforms/xcb/qxcbcursor.cpp +@@ -317,10 +317,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) { +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0008-qtbase-tzdir.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0008-qtbase-tzdir.patch new file mode 100644 index 00000000000..71653a0e36e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0008-qtbase-tzdir.patch @@ -0,0 +1,64 @@ +From 882343ea200fe28810bf217a820816affe885a39 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Tue, 17 Sep 2019 05:36:25 -0500 +Subject: [PATCH 08/10] qtbase-tzdir + +--- + src/corelib/time/qtimezoneprivate_tz.cpp | 31 +++++++++++++++--------- + 1 file changed, 19 insertions(+), 12 deletions(-) + +diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp +index 3c2695a789..e75735f88f 100644 +--- a/src/corelib/time/qtimezoneprivate_tz.cpp ++++ b/src/corelib/time/qtimezoneprivate_tz.cpp +@@ -75,7 +75,11 @@ typedef QHash<QByteArray, QTzTimeZone> 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"); + +@@ -658,20 +662,23 @@ 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)); ++ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); + if (!tzif.open(QIODevice::ReadOnly)) { +- // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ +- const QByteArray zoneInfo = ianaId.split(',').at(0); +- const char *begin = zoneInfo.constBegin(); +- if (PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset() +- && (begin == zoneInfo.constEnd() +- || PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset())) { +- m_id = m_posixRule = ianaId; ++ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) { ++ // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ ++ const QByteArray zoneInfo = ianaId.split(',').at(0); ++ const char *begin = zoneInfo.constBegin(); ++ if (PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset() ++ && (begin == zoneInfo.constEnd() ++ || PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset())) { ++ m_id = m_posixRule = ianaId; ++ } ++ return; + } +- return; + } + } + } +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0009-qtbase-qtpluginpath.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0009-qtbase-qtpluginpath.patch new file mode 100644 index 00000000000..009fe14838e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0009-qtbase-qtpluginpath.patch @@ -0,0 +1,19 @@ +--- qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp 2020-03-27 10:49:31.000000000 +0100 ++++ qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp.patched 2020-05-09 15:03:03.968084088 +0200 +@@ -2691,6 +2691,16 @@ + 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)); ++ } ++ } ++ ++ + auto setPathsFromEnv = [&](QString libPathEnv) { + if (!libPathEnv.isEmpty()) { + QStringList paths = libPathEnv.split(QDir::listSeparator(), QString::SkipEmptyParts); diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0010-qtbase-assert.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0010-qtbase-assert.patch new file mode 100644 index 00000000000..e10f9760732 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0010-qtbase-assert.patch @@ -0,0 +1,32 @@ +From c8893a4e0a1b46796e39b4a338358fdb45685cba Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Tue, 17 Sep 2019 05:37:04 -0500 +Subject: [PATCH 09/10] qtbase-assert + +--- + src/testlib/qtestassert.h | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +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 + +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0011-fix-header_module.patch b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0011-fix-header_module.patch new file mode 100644 index 00000000000..4358097dddf --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtbase.patch.d/0011-fix-header_module.patch @@ -0,0 +1,25 @@ +From 4c488fdb457e63924383fb7f8ad45bed3df49480 Mon Sep 17 00:00:00 2001 +From: Will Dietz <w@wdtz.org> +Date: Mon, 30 Sep 2019 20:15:40 -0500 +Subject: [PATCH 10/10] fix header_module + +--- + mkspecs/features/qt_module.prf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf +index 16b39031bc..1ac3d6fe59 100644 +--- a/mkspecs/features/qt_module.prf ++++ b/mkspecs/features/qt_module.prf +@@ -84,7 +84,7 @@ header_module { + CONFIG += qt_no_install_library + + # Allow creation of .prl, .la and .pc files. +- target.path = $$[QT_INSTALL_LIBS] ++ target.path = $$NIX_OUTPUT_OUT/lib + target.CONFIG += dummy_install + INSTALLS += target + } else { +-- +2.25.1 + diff --git a/pkgs/development/libraries/qt-5/5.14/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.14/qtdeclarative.patch new file mode 100644 index 00000000000..f2f4ee77354 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtdeclarative.patch @@ -0,0 +1,13 @@ +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.14/qtscript.patch b/pkgs/development/libraries/qt-5/5.14/qtscript.patch new file mode 100644 index 00000000000..5508dec1280 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtscript.patch @@ -0,0 +1,13 @@ +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +index 1f6d25e..087c3fb 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +@@ -81,7 +81,7 @@ + #include <pthread.h> + #elif PLATFORM(GTK) + #include <wtf/gtk/GOwnPtr.h> +-typedef struct _GMutex GMutex; ++typedef union _GMutex GMutex; + typedef struct _GCond GCond; + #endif + diff --git a/pkgs/development/libraries/qt-5/5.14/qtserialport.patch b/pkgs/development/libraries/qt-5/5.14/qtserialport.patch new file mode 100644 index 00000000000..f25524e80bc --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtserialport.patch @@ -0,0 +1,22 @@ +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.14/qttools.patch b/pkgs/development/libraries/qt-5/5.14/qttools.patch new file mode 100644 index 00000000000..8ae12198ca2 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qttools.patch @@ -0,0 +1,15 @@ +--- 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.14/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.14/qtwebengine-darwin-no-platform-check.patch new file mode 100644 index 00000000000..546e753144d --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtwebengine-darwin-no-platform-check.patch @@ -0,0 +1,33 @@ +diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf +--- a/mkspecs/features/platform.prf ++++ b/mkspecs/features/platform.prf +@@ -40,8 +40,6 @@ defineTest(isPlatformSupported) { + } else:osx { + # FIXME: Try to get it back down to 8.2 for building on OS X 10.11 + !isMinXcodeVersion(8, 3, 3) { +- skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 8.3.3 is required to build Qt WebEngine.") +- return(false) + } + !clang|intel_icc { + skipBuild("Qt WebEngine on macOS requires Clang.") +@@ -54,8 +52,6 @@ defineTest(isPlatformSupported) { + return(false) + } + !isMinOSXSDKVersion(10, 12): { +- skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.12 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.") +- return(false) + } + } else { + skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.") +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.14/qtwebkit-darwin-no-qos-classes.patch b/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-qos-classes.patch new file mode 100644 index 00000000000..a7087f51762 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-qos-classes.patch @@ -0,0 +1,11 @@ +diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake +--- a/Source/cmake/OptionsQt.cmake ++++ b/Source/cmake/OptionsQt.cmake +@@ -683,7 +683,6 @@ if (WIN32 AND COMPILER_IS_GCC_OR_CLANG) + endif () + + if (APPLE) +- SET_AND_EXPOSE_TO_BUILD(HAVE_QOS_CLASSES 1) + endif () + + if (ENABLE_MATHML) diff --git a/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-readline.patch b/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-readline.patch new file mode 100644 index 00000000000..26d189d8601 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtwebkit-darwin-no-readline.patch @@ -0,0 +1,45 @@ +diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt +--- a/Source/JavaScriptCore/shell/CMakeLists.txt ++++ b/Source/JavaScriptCore/shell/CMakeLists.txt +@@ -9,7 +9,6 @@ set(JSC_LIBRARIES + ) + + if (WTF_OS_MAC_OS_X) +- list(APPEND JSC_LIBRARIES edit) + endif () + + if ("${JavaScriptCore_LIBRARY_TYPE}" MATCHES "STATIC") +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -563,7 +563,6 @@ + #if PLATFORM(IOS) + + #define HAVE_NETWORK_EXTENSION 1 +-#define HAVE_READLINE 1 + #if USE(APPLE_INTERNAL_SDK) + #define USE_CFNETWORK 1 + #endif +@@ -650,7 +649,6 @@ + #define HAVE_MADV_DONTNEED 1 + #define HAVE_MERGESORT 1 + #define HAVE_PTHREAD_SETNAME_NP 1 +-#define HAVE_READLINE 1 + #define HAVE_SYS_TIMEB_H 1 + + #if !PLATFORM(GTK) && !PLATFORM(QT) +diff --git a/Source/WTF/wtf/PlatformMac.cmake b/Source/WTF/wtf/PlatformMac.cmake +--- a/Source/WTF/wtf/PlatformMac.cmake ++++ b/Source/WTF/wtf/PlatformMac.cmake +@@ -2,11 +2,9 @@ set(WTF_LIBRARY_TYPE SHARED) + + find_library(COCOA_LIBRARY Cocoa) + find_library(COREFOUNDATION_LIBRARY CoreFoundation) +-find_library(READLINE_LIBRARY Readline) + list(APPEND WTF_LIBRARIES + ${COREFOUNDATION_LIBRARY} + ${COCOA_LIBRARY} +- ${READLINE_LIBRARY} + libicucore.dylib + ) + diff --git a/pkgs/development/libraries/qt-5/5.14/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.14/qtwebkit.patch new file mode 100644 index 00000000000..b94a4b76cba --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtwebkit.patch @@ -0,0 +1,12 @@ +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.14/srcs.nix b/pkgs/development/libraries/qt-5/5.14/srcs.nix new file mode 100644 index 00000000000..6ac958442f4 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/srcs.nix @@ -0,0 +1,342 @@ +# DO NOT EDIT! This file is generated automatically. +# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/5.14 +{ fetchurl, mirror }: + +{ + qt3d = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qt3d-everywhere-src-5.14.2.tar.xz"; + sha256 = "9da82f1cc4b7d416d31ec96224c59d221473a48f6e579eef978f7d2e3932c674"; + name = "qt3d-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtactiveqt = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtactiveqt-everywhere-src-5.14.2.tar.xz"; + sha256 = "b53517d5d128719773a2941ba52da10acd7aa3149948862bc08c98f5b64152a9"; + name = "qtactiveqt-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtandroidextras = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtandroidextras-everywhere-src-5.14.2.tar.xz"; + sha256 = "4a8fd92b5c49a663cf0bd492804eaf1574d11137e2cbdd41d6bf5fad0c3c4d76"; + name = "qtandroidextras-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtbase = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtbase-everywhere-src-5.14.2.tar.xz"; + sha256 = "48b9e79220941665a9dd827548c6428f7aa3052ccba8f4f7e039a94aa1d2b28a"; + name = "qtbase-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtcharts = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtcharts-everywhere-src-5.14.2.tar.xz"; + sha256 = "adb25203ea748d886cc3d8993c20def702115eccea311594592058134ba83bb7"; + name = "qtcharts-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtconnectivity = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtconnectivity-everywhere-src-5.14.2.tar.xz"; + sha256 = "abe67b3e3a775e2a2e27c62a5391f37007ffbe72bce58b96116995616cfcbc28"; + name = "qtconnectivity-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtdatavis3d = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtdatavis3d-everywhere-src-5.14.2.tar.xz"; + sha256 = "723c03db2d2805b1be4ca534ac7bc867a1a21894d33a7e9261a382f3fa9d0e20"; + name = "qtdatavis3d-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtdeclarative = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtdeclarative-everywhere-src-5.14.2.tar.xz"; + sha256 = "a3c4617adc9760347c93d2eb6c25d22f620cd22f44afa0494eb499a805831650"; + name = "qtdeclarative-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtdoc = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtdoc-everywhere-src-5.14.2.tar.xz"; + sha256 = "5a55cdb55af35eb222d06179567851c175f24a3732f7dee5be073df4a893172b"; + name = "qtdoc-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtgamepad = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtgamepad-everywhere-src-5.14.2.tar.xz"; + sha256 = "f77daadb4755cf760e11812264259fb103396fd1b06df1e06b5df162081c8d03"; + name = "qtgamepad-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtgraphicaleffects = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtgraphicaleffects-everywhere-src-5.14.2.tar.xz"; + sha256 = "487a7f858244a08264363733055a8cf8b00e77c658c5608cc462817d15e4b50f"; + name = "qtgraphicaleffects-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtimageformats = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtimageformats-everywhere-src-5.14.2.tar.xz"; + sha256 = "733eca0165c15e046b106039c989dac7f6bc2ecf215396d965ed065369264f8c"; + name = "qtimageformats-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtlocation = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtlocation-everywhere-src-5.14.2.tar.xz"; + sha256 = "c37708bc396f6dac397b49a6a268d5edb39e1c8296ca2337ce9e80bde04775cc"; + name = "qtlocation-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtlottie = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtlottie-everywhere-src-5.14.2.tar.xz"; + sha256 = "55d1392dc92cbec11263084360075dc5fc3fdc25c1969adfbdec84299b285978"; + name = "qtlottie-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtmacextras = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtmacextras-everywhere-src-5.14.2.tar.xz"; + sha256 = "d12587b46c84a7822194fc3ccf46f7c18ff3b31566d3dde4f5fe772f1d8776e5"; + name = "qtmacextras-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtmultimedia = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtmultimedia-everywhere-src-5.14.2.tar.xz"; + sha256 = "7acd8ede6835314206e407b35b668f0add67544577fb51fe67afb03137fb9fe9"; + name = "qtmultimedia-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtnetworkauth = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtnetworkauth-everywhere-src-5.14.2.tar.xz"; + sha256 = "4f00513dd18598487d02187b80b54c669662cf8a8f2573858c7f9282d7b9265e"; + name = "qtnetworkauth-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtpurchasing = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtpurchasing-everywhere-src-5.14.2.tar.xz"; + sha256 = "69b087001e8fcec5bb49ca333d5f44e6b7eb09f76421dc792fc9cd76dee9e851"; + name = "qtpurchasing-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtquick3d = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtquick3d-everywhere-src-5.14.2.tar.xz"; + sha256 = "0640696d501f2b0bf57f64e98f30bfa3e1cc19c11c0e05e43d4fdb0d20488b2e"; + name = "qtquick3d-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtquickcontrols = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtquickcontrols-everywhere-src-5.14.2.tar.xz"; + sha256 = "d55def1dd4ee1250bd6a4e76849f4e362368b6411c2216d5f669c761216d4461"; + name = "qtquickcontrols-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtquickcontrols2 = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtquickcontrols2-everywhere-src-5.14.2.tar.xz"; + sha256 = "faf7d349d8f4a8db36cd3c62a5724bcf689300f2fdb7dc1ea034392aab981560"; + name = "qtquickcontrols2-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtquicktimeline = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtquicktimeline-everywhere-src-5.14.2.tar.xz"; + sha256 = "83a45d0998cbc77f8094854a477ab1ac0838ae7fd822563d995df40149893a9e"; + name = "qtquicktimeline-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtremoteobjects = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtremoteobjects-everywhere-src-5.14.2.tar.xz"; + sha256 = "a6a601c4f4aab6fe41a462dae57033819f697e3317240a382cee45c08be614d6"; + name = "qtremoteobjects-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtscript = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtscript-everywhere-src-5.14.2.tar.xz"; + sha256 = "e9fd487ccb3cbf00e86b0b803aa79e9f6bbe7a337b8e97d069e040c3e0789bfe"; + name = "qtscript-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtscxml = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtscxml-everywhere-src-5.14.2.tar.xz"; + sha256 = "030cea352a56074f577200f967ef37c959b2767127de61f766f59b0d99763790"; + name = "qtscxml-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtsensors = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtsensors-everywhere-src-5.14.2.tar.xz"; + sha256 = "bccfca6910b0383d8f65823496ff5011abed2fa8fd446b4b27333d0fd7bb8c61"; + name = "qtsensors-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtserialbus = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtserialbus-everywhere-src-5.14.2.tar.xz"; + sha256 = "0b7762175a649a40c4dd619c5de61d772235dc86099343278e2c3229d0836a91"; + name = "qtserialbus-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtserialport = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtserialport-everywhere-src-5.14.2.tar.xz"; + sha256 = "a6d977dd723ad4d3368b5163691405b8852f809974a96ec54103494e834aea21"; + name = "qtserialport-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtspeech = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtspeech-everywhere-src-5.14.2.tar.xz"; + sha256 = "5e9e8ea62f0207ba894df1e136df0af9fc5443c7817d28c39f0ea2bbae9ec6da"; + name = "qtspeech-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtsvg = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtsvg-everywhere-src-5.14.2.tar.xz"; + sha256 = "c7d7faa01a3e7a6e4d38fafcec5529a488258218749779e6fa0e09a21173b5a1"; + name = "qtsvg-everywhere-src-5.14.2.tar.xz"; + }; + }; + qttools = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qttools-everywhere-src-5.14.2.tar.xz"; + sha256 = "5bb0cf7832b88eb6bc9d4289f98307eb14b16a453ad6cf42cca13c4fe1a053c5"; + name = "qttools-everywhere-src-5.14.2.tar.xz"; + }; + }; + qttranslations = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qttranslations-everywhere-src-5.14.2.tar.xz"; + sha256 = "2088ebee9f5dd0336c9fd11436899a95b7ce0141ce072290de1e8f315d82d1a6"; + name = "qttranslations-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtvirtualkeyboard = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtvirtualkeyboard-everywhere-src-5.14.2.tar.xz"; + sha256 = "364f3338563e617e7c964a37170b415b546c5f82965e781271f9dada3e3868d7"; + name = "qtvirtualkeyboard-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtwayland = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwayland-everywhere-src-5.14.2.tar.xz"; + sha256 = "d31633ca718fb407cf70870613d45d0ed80aa04c058586ac3036bae1aff7832a"; + name = "qtwayland-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtwebchannel = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebchannel-everywhere-src-5.14.2.tar.xz"; + sha256 = "7d1dc8441523638c3d455c7d408ec65aebc073acab80e24063865f929231f874"; + name = "qtwebchannel-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtwebengine = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebengine-everywhere-src-5.14.2.tar.xz"; + sha256 = "e169d6a75d8c397e04f843bc1b9585950fb9a001255cd18d6293f66fa8a6c947"; + name = "qtwebengine-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtwebglplugin = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebglplugin-everywhere-src-5.14.2.tar.xz"; + sha256 = "eb4118910b65d03d8448658ac1646e860d337e59b82d6575beda21824e313417"; + name = "qtwebglplugin-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtwebsockets = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebsockets-everywhere-src-5.14.2.tar.xz"; + sha256 = "f06e62b18313fe1b40a35566e79645de4a8e7ac9f7717d1d98a06c5b49afca84"; + name = "qtwebsockets-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtwebview = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwebview-everywhere-src-5.14.2.tar.xz"; + sha256 = "c61f9213ee84fd7408898c0194468208ffb51af9d257e87e6b53daf24f65ff4b"; + name = "qtwebview-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtwinextras = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtwinextras-everywhere-src-5.14.2.tar.xz"; + sha256 = "980f1bc31b37c8597c0bac55f69ecf00d1677218ce82f7bc3933236cb6d907f2"; + name = "qtwinextras-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtx11extras = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtx11extras-everywhere-src-5.14.2.tar.xz"; + sha256 = "be9a84a03a2ee81771215264e5dff7a996d04be6192b8cdaa1d41e319a81545a"; + name = "qtx11extras-everywhere-src-5.14.2.tar.xz"; + }; + }; + qtxmlpatterns = { + version = "5.14.2"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.14/5.14.2/submodules/qtxmlpatterns-everywhere-src-5.14.2.tar.xz"; + sha256 = "219a876665345e3801baff71f31f30f5495c1cb9ab23fbbd27602632c80fcfb7"; + name = "qtxmlpatterns-everywhere-src-5.14.2.tar.xz"; + }; + }; +} diff --git a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix index b611282294c..c22857a6dc6 100644 --- a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix +++ b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix @@ -1,4 +1,4 @@ -{ qtModule, lib, python3, qtbase, qtsvg }: +{ qtModule, lib, fetchpatch, python3, qtbase, qtsvg }: with lib; @@ -23,4 +23,12 @@ qtModule { "bin/qmlscene" "bin/qmltestrunner" ]; + patches = + # https://mail.kde.org/pipermail/kde-distro-packagers/2020-June/000419.html + lib.optional (lib.versionAtLeast qtbase.version "5.14.2") + (fetchpatch { + url = "https://codereview.qt-project.org/gitweb?p=qt/qtdeclarative.git;a=patch;h=3e47ac319b0f53c43cc02a8356c2dec4f0daeef4"; + sha256 = "0wvncg7047q73nm0svc6kb14sigwk7sc53r4778kn033aj0qqszj"; + name = "qtdeclarative-QQuickItemView-fix-max-extent.patch"; + }); } diff --git a/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix index d0bab88b2f2..42ed23bb6dc 100644 --- a/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix @@ -1,5 +1,5 @@ { qtModule, stdenv, qtbase, qtdeclarative, pkgconfig -, alsaLib, gstreamer, gst-plugins-base, libpulseaudio +, alsaLib, gstreamer, gst-plugins-base, libpulseaudio, wayland }: with stdenv.lib; @@ -8,8 +8,9 @@ qtModule { name = "qtmultimedia"; qtInputs = [ qtbase qtdeclarative ]; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gstreamer gst-plugins-base libpulseaudio] - ++ optional (stdenv.isLinux) alsaLib; + buildInputs = [ gstreamer gst-plugins-base libpulseaudio ] + ++ optional (stdenv.isLinux) alsaLib + ++ optional (versionAtLeast qtbase.version "5.14.0" && stdenv.isLinux) wayland; outputs = [ "bin" "dev" "out" ]; qmakeFlags = [ "GST_VERSION=1.0" ]; NIX_LDFLAGS = optionalString (stdenv.isDarwin) "-lobjc"; diff --git a/pkgs/development/libraries/qt-5/modules/qttools.nix b/pkgs/development/libraries/qt-5/modules/qttools.nix index c38eb0105e1..fae90972978 100644 --- a/pkgs/development/libraries/qt-5/modules/qttools.nix +++ b/pkgs/development/libraries/qt-5/modules/qttools.nix @@ -11,6 +11,8 @@ qtModule { postPatch = '' sed -i "src/linguist/linguist.pro" \ -e '/^cmake_linguist_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${getDev qtbase}|' + sed -i "src/qtattributionsscanner/qtattributionsscanner.pro" \ + -e '/^cmake_qattributionsscanner_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${getDev qtbase}|' ''; devTools = [ @@ -20,14 +22,18 @@ qtModule { "bin/qdoc" "bin/lconvert" "bin/designer" - "bin/qtattributesscanner" + "bin/qtattributionsscanner" "bin/lrelease" + "bin/lrelease-pro" "bin/pixeltool" "bin/lupdate" + "bin/lupdate-pro" "bin/qtdiag" "bin/qhelpgenerator" "bin/qtplugininfo" "bin/qthelpconverter" + "bin/lprodump" + "bin/qdistancefieldgenerator" ] ++ optionals stdenv.isDarwin [ "bin/macdeployqt" ]; diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix index 024b67721ca..a583239b52e 100644 --- a/pkgs/development/libraries/range-v3/default.nix +++ b/pkgs/development/libraries/range-v3/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "range-v3"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "ericniebler"; repo = "range-v3"; rev = version; - sha256 = "1h9h5j7pdi0afpip9ncq76h1xjhvb8bnm585q17afz2l4fydy8qj"; + sha256 = "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"; }; nativeBuildInputs = [ cmake ]; @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Experimental range library for C++11/14/17"; homepage = "https://github.com/ericniebler/range-v3"; + changelog = "https://github.com/ericniebler/range-v3/releases/tag/${version}"; license = licenses.boost; platforms = platforms.all; maintainers = with maintainers; [ primeos xwvvvvwx ]; diff --git a/pkgs/development/libraries/rlottie/default.nix b/pkgs/development/libraries/rlottie/default.nix new file mode 100644 index 00000000000..a77c851ebca --- /dev/null +++ b/pkgs/development/libraries/rlottie/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, meson, ninja, pkg-config }: + +stdenv.mkDerivation rec { + pname = "rlottie"; + version = "0.1"; + + src = fetchFromGitHub { + owner = "Samsung"; + repo = pname; + rev = "v${version}"; + hash = "sha256-8KQ0ZnVg5rTb44IYnn02WBSe2SA5UGUOSLEdmmscUDs="; + }; + + nativeBuildInputs = [ meson ninja pkg-config ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/Samsung/rlottie"; + description = "A platform independent standalone c++ library for rendering vector based animations and art in realtime."; + license = licenses.unfree; # Mixed, see https://github.com/Samsung/rlottie/blob/master/COPYING + platforms = platforms.all; + maintainers = with maintainers; [ CRTified ]; + }; +} diff --git a/pkgs/development/libraries/rocclr/default.nix b/pkgs/development/libraries/rocclr/default.nix index f1917b8f2c7..6b561b3c9dd 100644 --- a/pkgs/development/libraries/rocclr/default.nix +++ b/pkgs/development/libraries/rocclr/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake rocm-cmake ]; - buildInputs = [ clang rocm-comgr rocm-runtime rocm-thunk clang ]; + buildInputs = [ clang rocm-comgr rocm-runtime rocm-thunk ]; propagatedBuildInputs = [ libelf libglvnd libX11 ]; @@ -34,7 +34,8 @@ stdenv.mkDerivation rec { --replace 'set(ROCCLR_EXPORTS_FILE "''${CMAKE_CURRENT_BINARY_DIR}/amdrocclr_staticTargets.cmake")' \ 'set(ROCCLR_EXPORTS_FILE "''${CMAKE_INSTALL_LIBDIR}/cmake/amdrocclr_staticTargets.cmake")' \ --replace 'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ''${CMAKE_CURRENT_BINARY_DIR}/lib)' \ - 'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ''${CMAKE_INSTALL_LIBDIR})' + 'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ''${CMAKE_INSTALL_LIBDIR})' \ + --replace 'find_library( OpenCL REQUIRED' 'find_library( OpenCL' substituteInPlace device/comgrctx.cpp \ --replace "libamd_comgr.so" "${rocm-comgr}/lib/libamd_comgr.so" ''; diff --git a/pkgs/development/libraries/science/math/amd-blis/default.nix b/pkgs/development/libraries/science/math/amd-blis/default.nix new file mode 100644 index 00000000000..9bddba0261f --- /dev/null +++ b/pkgs/development/libraries/science/math/amd-blis/default.nix @@ -0,0 +1,67 @@ +{ stdenv +, fetchFromGitHub +, perl +, python3 + +# Enable BLAS interface with 64-bit integer width. +, blas64 ? false + +# Target architecture, use "zen" or "zen2", optimization for Zen and +# other families is pretty much mutually exclusive in the AMD fork of +# BLIS. +, withArchitecture ? "zen" + +# Enable OpenMP-based threading. +, withOpenMP ? true +}: + +let + threadingSuffix = if withOpenMP then "-mt" else ""; + blasIntSize = if blas64 then "64" else "32"; +in stdenv.mkDerivation rec { + pname = "amd-blis"; + version = "2.2"; + + src = fetchFromGitHub { + owner = "amd"; + repo = "blis"; + rev = version; + sha256 = "1b2f5bwi0gkw2ih2rb7wfzn3m9hgg7k270kg43rmzpr2acpy86xa"; + }; + + inherit blas64; + + nativeBuildInputs = [ + perl + python3 + ]; + + doCheck = true; + + enableParallelBuilding = true; + + configureFlags = [ + "--enable-cblas" + "--blas-int-size=${blasIntSize}" + ] ++ stdenv.lib.optionals withOpenMP [ "--enable-threading=openmp" ] + ++ [ withArchitecture ]; + + postPatch = '' + patchShebangs configure build/flatten-headers.py + ''; + + postInstall = '' + ln -s $out/lib/libblis${threadingSuffix}.so.2 $out/lib/libblas.so.3 + ln -s $out/lib/libblis${threadingSuffix}.so.2 $out/lib/libcblas.so.3 + ln -s $out/lib/libblas.so.3 $out/lib/libblas.so + ln -s $out/lib/libcblas.so.3 $out/lib/libcblas.so + ''; + + meta = with stdenv.lib; { + description = "BLAS-compatible library optimized for AMD CPUs"; + homepage = "https://developer.amd.com/amd-aocl/blas-library/"; + license = licenses.bsd3; + maintainers = [ maintainers.danieldk ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff b/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff new file mode 100644 index 00000000000..3e3ef1e60ff --- /dev/null +++ b/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff @@ -0,0 +1,34 @@ +diff --git a/Makefile b/Makefile +index 5549ce30..ac2ee51e 100644 +--- a/Makefile ++++ b/Makefile +@@ -583,14 +583,14 @@ endif + + # --- Shared library linker rules --- + +-$(LIBFLAME_SO_PATH): $(MK_ALL_FLAMEC_OBJS) ++$(LIBFLAME_SO_PATH): $(MK_ALL_FLAMEC_OBJS) $(LAPACKE_A_PATH) + ifeq ($(ENABLE_VERBOSE),yes) + ifeq ($(FLA_ENABLE_MAX_ARG_LIST_HACK),yes) + $(CAT) $(AR_OBJ_LIST_FILE) | xargs -n$(AR_CHUNK_SIZE) $(AR) $(ARFLAGS) $(LIBFLAME_A) + ifeq ($(OS_NAME),Darwin) +- $(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A) $(LDFLAGS) ++ $(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A),$(LAPACKE_A_PATH) $(LDFLAGS) + else +- $(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),--no-whole-archive $(LDFLAGS) ++ $(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),$(LAPACKE_A_PATH)--no-whole-archive $(LDFLAGS) + endif + else + # NOTE: Can't use $^ automatic variable as long as $(AR_OBJ_LIST_FILE) is in +@@ -602,9 +602,9 @@ else + ifeq ($(FLA_ENABLE_MAX_ARG_LIST_HACK),yes) + @$(CAT) $(AR_OBJ_LIST_FILE) | xargs -n$(AR_CHUNK_SIZE) $(AR) $(ARFLAGS) $(LIBFLAME_A) + ifeq ($(OS_NAME),Darwin) +- @$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A) $(LDFLAGS) ++ @$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A),$(LAPACKE_A_PATH) $(LDFLAGS) + else +- @$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),--no-whole-archive $(LDFLAGS) ++ @$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),$(LAPACKE_A_PATH),--no-whole-archive $(LDFLAGS) + endif + else + # NOTE: Can't use $^ automatic variable as long as $(AR_OBJ_LIST_FILE) is in diff --git a/pkgs/development/libraries/science/math/amd-libflame/default.nix b/pkgs/development/libraries/science/math/amd-libflame/default.nix new file mode 100644 index 00000000000..1e331bca695 --- /dev/null +++ b/pkgs/development/libraries/science/math/amd-libflame/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchFromGitHub +, gfortran +, python3 +, amd-blis + +, withOpenMP ? true +}: + +stdenv.mkDerivation rec { + pname = "amd-libflame"; + version = "2.2"; + + src = fetchFromGitHub { + owner = "amd"; + repo = "libflame"; + rev = version; + sha256 = "1s8zvq6p843jb52lrbxra7vv0wzmifs4j36z9bp7wf3xr20a0zi5"; + }; + + patches = [ + # The LAPACKE interface is compiled as a separate static library, + # we want the main dynamic library to provide LAPACKE symbols. + # This patch adds lapacke.a to the shared library as well. + ./add-lapacke.diff + ]; + + nativeBuildInputs = [ gfortran python3 ]; + + buildInputs = [ amd-blis ]; + + configureFlags = [ + # Build a dynamic library with a LAPACK interface. + "--disable-static-build" + "--enable-dynamic-build" + "--enable-lapack2flame" + + # Use C BLAS interface. + "--enable-cblas-interfaces" + + # Avoid overloading maximum number of arguments. + "--enable-max-arg-list-hack" + + # libflame by default leaves BLAS symbols unresolved and leaves it + # up to the application to explicitly link to a BLAS. This is + # problematic for us, since then the BLAS library becomes an + # implicit dependency. Moreover, since the point of the AMD forks + # is to optimized for recent AMD CPUs, link against AMD BLIS. + "LDFLAGS=-lcblas" + ] + ++ lib.optionals withOpenMP [ "--enable-multithreading=openmp" ]; + + enableParallelBuilding = true; + + postPatch = '' + patchShebangs build + ''; + + postInstall = '' + ln -s $out/lib/libflame.so.${version} $out/lib/liblapack.so.3 + ln -s $out/lib/libflame.so.${version} $out/lib/liblapacke.so.3 + ''; + + meta = with stdenv.lib; { + description = "LAPACK-compatible linear algebra library optimized for AMD CPUs"; + homepage = "https://developer.amd.com/amd-aocl/blas-library/"; + license = licenses.bsd3; + maintainers = with maintainers; [ danieldk ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix index 0829557d0f3..02d51f0c419 100644 --- a/pkgs/development/libraries/science/math/arpack/default.nix +++ b/pkgs/development/libraries/science/math/arpack/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { ]; preCheck = if stdenv.isDarwin then '' - export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}`pwd`/lib + export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}`pwd`/lib:${blas}/lib:${lapack}/lib '' else '' export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}`pwd`/lib '' + '' diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix index 19f988d965c..11c5e42335b 100644 --- a/pkgs/development/libraries/science/math/mkl/default.nix +++ b/pkgs/development/libraries/science/math/mkl/default.nix @@ -19,8 +19,8 @@ let # Darwin is pinned to 2019.3 because the DMG does not unpack; see here for details: # https://github.com/matthewbauer/undmg/issues/4 year = if stdenvNoCC.isDarwin then "2019" else "2020"; - spot = if stdenvNoCC.isDarwin then "3" else "1"; - rel = if stdenvNoCC.isDarwin then "199" else "217"; + spot = if stdenvNoCC.isDarwin then "3" else "2"; + rel = if stdenvNoCC.isDarwin then "199" else "254"; rpm-ver = "${year}.${spot}-${rel}-${year}.${spot}-${rel}"; @@ -42,8 +42,8 @@ in stdenvNoCC.mkDerivation { }) else (fetchurl { - url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/l_mkl_${version}.tgz"; - sha256 = "0v86hrqg15mbc78m9qk8dbkaaq3mlwashgbf9n79kxpl1gilnah8"; + url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16849/l_mkl_${version}.tgz"; + sha256 = "08q2q5rary7fxlrk09kpw0vl7mkk2smmklib44a6qainmxks407d"; }); nativeBuildInputs = [ validatePkgConfig ] ++ (if stdenvNoCC.isDarwin diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix index a69ae5af15f..926f7ba4789 100644 --- a/pkgs/development/libraries/science/math/or-tools/default.nix +++ b/pkgs/development/libraries/science/math/or-tools/default.nix @@ -1,20 +1,16 @@ { stdenv, fetchFromGitHub, cmake, abseil-cpp, gflags, which -, lsb-release, glog, protobuf3_11, cbc, zlib +, lsb-release, glog, protobuf, cbc, zlib , ensureNewerSourcesForZipFilesHook, python, swig }: -let - protobuf = protobuf3_11; - pythonProtobuf = python.pkgs.protobuf.override { inherit protobuf; }; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "or-tools"; - version = "7.6"; + version = "7.7"; src = fetchFromGitHub { owner = "google"; repo = "or-tools"; rev = "v${version}"; - sha256 = "0605q3y7vh7x7m9azrbkx44blq12zrab6v28b9wmpcn1lmykbw1b"; + sha256 = "06ig9a1afmzgzcg817y0rdq49ahll0q9y7bhhg9d89x6zy959ypv"; }; # The original build system uses cmake which does things like pull @@ -33,7 +29,7 @@ in stdenv.mkDerivation rec { makeFlags = [ "prefix=${placeholder "out"}" - "PROTOBUF_PYTHON_DESC=${pythonProtobuf}/${python.sitePackages}/google/protobuf/descriptor_pb2.py" + "PROTOBUF_PYTHON_DESC=${python.pkgs.protobuf}/${python.sitePackages}/google/protobuf/descriptor_pb2.py" ]; buildFlags = [ "cc" "pypi_archive" ]; @@ -54,7 +50,7 @@ in stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ abseil-cpp gflags glog protobuf cbc - pythonProtobuf python.pkgs.six + python.pkgs.protobuf python.pkgs.six ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/science/math/petsc/default.nix b/pkgs/development/libraries/science/math/petsc/default.nix index dd3d6ab787f..e3594d72eda 100644 --- a/pkgs/development/libraries/science/math/petsc/default.nix +++ b/pkgs/development/libraries/science/math/petsc/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "petsc"; - version = "3.13.2"; + version = "3.13.3"; src = fetchurl { url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz"; - sha256 = "0yf5lm8dqpbz1yq9nvd5g2iy2w0rgjp9vcj44ba63rwig37j3clp"; + sha256 = "0fhydhws57hvxv7mkldlicm2xmmnb9f4nhd8n16idxg4snck38vz"; }; nativeBuildInputs = [ blas gfortran gfortran.cc.lib lapack python ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { # process. The original script in upstream is both a shell script and a # python script, where the shellscript just finds a suitable python # interpreter to execute the python script. See - # https://github.com/NixOS/nixpkgs/pull/89299#discussion_r450203444 + # https://github.com/NixOS/nixpkgs/pull/89299#discussion_r450203444 # for more details. prePatch = '' substituteInPlace configure \ diff --git a/pkgs/development/libraries/seasocks/default.nix b/pkgs/development/libraries/seasocks/default.nix index 144eb56c955..241046b09fe 100644 --- a/pkgs/development/libraries/seasocks/default.nix +++ b/pkgs/development/libraries/seasocks/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "seasocks"; - version = "1.4.3"; + version = "1.4.4"; src = fetchFromGitHub { owner = "mattgodbolt"; repo = pname; rev = "v${version}"; - sha256 = "1c2gc0k9wgbgn7y7wmq2ylp0gvdbmagc1x8c4jwbsncl1gy6x4g2"; + sha256 = "1f9a3mx3yjmr5qry4rc1c7mrx3348iifxm7d8sj8yd41kqnzmfv4"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/tllist/default.nix b/pkgs/development/libraries/tllist/default.nix index 1b5ea1ff39b..a17b3e415d5 100644 --- a/pkgs/development/libraries/tllist/default.nix +++ b/pkgs/development/libraries/tllist/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "tllist"; - version = "1.0.1"; + version = "1.0.2"; src = fetchgit { url = "https://codeberg.org/dnkl/tllist.git"; rev = "${version}"; - sha256 = "0xifbbfg1kn281jybdc6ns5kzz0daha4hf47bd0yc0wcmvcfbgmp"; + sha256 = "095wly66z9n2r6h318rackgl4g1w9l1vj96367ngcw7rpva9yppl"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 0bc480b6355..72e78be9778 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -61,13 +61,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "webkitgtk"; - version = "2.28.3"; + version = "2.28.4"; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz"; - sha256 = "08imj2q6h975mz7714dqdrmbav0s884990gf98xf2862fb08m2gh"; + sha256 = "0r4lkk21pny2g4mmsw0ds14m5hhjys1l47gvy59dfgihr7l546c2"; }; patches = optionals stdenv.isLinux [ diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 46a1fc45d81..67faad8cd74 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -28,12 +28,6 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dlogind-provider=systemd" ]; - postInstall = '' - # Copy the library to $examples - mkdir -p $examples/lib - cp -P libwlroots* $examples/lib/ - ''; - postFixup = '' # Install ALL example programs to $examples: # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index cfa19e5419f..ae3392aeb12 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchurl, fetchpatch, cmake, nasm, numactl , numaSupport ? stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isx86 || stdenv.hostPlatform.isAarch64) # Enabled by default on NUMA platforms , debugSupport ? false # Run-time sanity checks (debugging) -, highbitdepthSupport ? false # false=8bits per channel, true=10/12bits per channel , werrorSupport ? false # Warnings as errors , ppaSupport ? false # PPA profiling instrumentation , vtuneSupport ? false # Vtune profiling instrumentation @@ -13,10 +12,17 @@ let mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF"; inherit (stdenv) is64bit; -in -stdenv.mkDerivation rec { - pname = "x265"; + cmakeFlagsAll = [ + "-DSTATIC_LINK_CRT=OFF" + (mkFlag debugSupport "CHECKED_BUILD") + (mkFlag ppaSupport "ENABLE_PPA") + (mkFlag vtuneSupport "ENABLE_VTUNE") + (mkFlag custatsSupport "DETAILED_CU_STATS") + (mkFlag unittestsSupport "ENABLE_TESTS") + (mkFlag werrorSupport "WARNINGS_AS_ERRORS") + ]; + version = "3.2"; src = fetchurl { @@ -27,8 +33,6 @@ stdenv.mkDerivation rec { sha256 = "0fqkhfhr22gzavxn60cpnj3agwdf5afivszxf3haj5k1sny7jk9n"; }; - enableParallelBuilding = true; - patches = [ # Fix build on ARM (#406) (fetchpatch { @@ -37,22 +41,54 @@ stdenv.mkDerivation rec { }) ]; + buildLib = has12Bit: stdenv.mkDerivation rec { + name = "libx265-${if has12Bit then "12" else "10"}-${version}"; + inherit src patches; + enableParallelBuilding = true; + + postPatch = '' + sed -i 's/unknown/${version}/g' source/cmake/version.cmake + ''; + + cmakeLibFlags = [ + "-DENABLE_CLI=OFF" + "-DENABLE_SHARED=OFF" + "-DENABLE_HDR10_PLUS=ON" + "-DEXPORT_C_API=OFF" + "-DHIGH_BIT_DEPTH=ON" + ]; + cmakeFlags = [(mkFlag has12Bit "MAIN12")] ++ cmakeLibFlags ++ cmakeFlagsAll; + + preConfigure = '' + cd source + ''; + + nativeBuildInputs = [cmake nasm] ++ stdenv.lib.optional numaSupport numactl; + }; + + libx265-10 = buildLib false; + libx265-12 = buildLib true; +in + +stdenv.mkDerivation rec { + pname = "x265"; + inherit version src patches; + + enableParallelBuilding = true; + postPatch = '' sed -i 's/unknown/${version}/g' source/cmake/version.cmake ''; cmakeFlags = [ - (mkFlag debugSupport "CHECKED_BUILD") - "-DSTATIC_LINK_CRT=OFF" - (mkFlag (highbitdepthSupport && is64bit) "HIGH_BIT_DEPTH") - (mkFlag werrorSupport "WARNINGS_AS_ERRORS") - (mkFlag ppaSupport "ENABLE_PPA") - (mkFlag vtuneSupport "ENABLE_VTUNE") - (mkFlag custatsSupport "DETAILED_CU_STATS") "-DENABLE_SHARED=ON" + "-DHIGH_BIT_DEPTH=OFF" + "-DENABLE_HDR10_PLUS=OFF" + "-DEXTRA_LIB=${libx265-10}/lib/libx265.a;${libx265-12}/lib/libx265.a" + "-DLINKED_10BIT=ON" + "-DLINKED_12BIT=ON" (mkFlag cliSupport "ENABLE_CLI") - (mkFlag unittestsSupport "ENABLE_TESTS") - ]; + ] ++ cmakeFlagsAll; preConfigure = '' cd source diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index c4a4c497ced..98746968146 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -12,6 +12,11 @@ , splitStaticOutput ? static }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + assert splitStaticOutput -> static; stdenv.mkDerivation (rec { |