diff options
Diffstat (limited to 'pkgs/development/libraries')
13 files changed, 235 insertions, 78 deletions
diff --git a/pkgs/development/libraries/arrow-cpp/cmake-find-protobuf.patch b/pkgs/development/libraries/arrow-cpp/cmake-find-protobuf.patch new file mode 100644 index 00000000000..5655c151e2f --- /dev/null +++ b/pkgs/development/libraries/arrow-cpp/cmake-find-protobuf.patch @@ -0,0 +1,18 @@ +diff --git a/cmake_modules/FindProtobufAlt.cmake b/cmake_modules/FindProtobufAlt.cmake +index d29f757ae..61c6e16e1 100644 +--- a/cmake_modules/FindProtobufAlt.cmake ++++ b/cmake_modules/FindProtobufAlt.cmake +@@ -22,11 +22,8 @@ else() + endif() + + set(find_package_args) +-if(ProtobufAlt_FIND_VERSION) +- list(APPEND find_package_args ${ProtobufAlt_FIND_VERSION}) +-endif() + if(ProtobufAlt_FIND_QUIETLY) + list(APPEND find_package_args QUIET) + endif() +-find_package(Protobuf ${find_package_args}) +-set(ProtobufAlt_FOUND ${Protobuf_FOUND}) ++find_package(protobuf ${find_package_args}) ++set(ProtobufAlt_FOUND ${protobuf_FOUND}) diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix index 4d89ce13967..c1bbc3e303d 100644 --- a/pkgs/development/libraries/arrow-cpp/default.nix +++ b/pkgs/development/libraries/arrow-cpp/default.nix @@ -122,6 +122,7 @@ stdenv.mkDerivation rec { patches = [ # patch to fix python-test ./darwin.patch + ./cmake-find-protobuf.patch ]; nativeBuildInputs = [ @@ -169,6 +170,7 @@ stdenv.mkDerivation rec { ''; cmakeFlags = [ + "-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON" "-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}" "-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}" "-DARROW_BUILD_TESTS=ON" diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index 4b29d8f6183..36a49ad038f 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -3,6 +3,18 @@ , callPackage , fetchFromGitHub +, useMinimalFeatures ? false +, useTiledb ? (!useMinimalFeatures) && !(stdenv.isDarwin && stdenv.isx86_64) +, useLibHEIF ? (!useMinimalFeatures) +, useLibJXL ? (!useMinimalFeatures) +, useMysql ? (!useMinimalFeatures) +, usePostgres ? (!useMinimalFeatures) +, usePoppler ? (!useMinimalFeatures) +, useArrow ? (!useMinimalFeatures) +, useHDF ? (!useMinimalFeatures) +, useNetCDF ? (!useMinimalFeatures) +, useArmadillo ? (!useMinimalFeatures) + , bison , cmake , gtest @@ -55,7 +67,6 @@ , libspatialite , sqlite , libtiff -, useTiledb ? !(stdenv.isDarwin && stdenv.isx86_64) , tiledb , libwebp , xercesc @@ -101,63 +112,83 @@ stdenv.mkDerivation (finalAttrs: { "-DGDAL_USE_TILEDB=OFF" ]; - buildInputs = [ - armadillo - c-blosc - brunsli - cfitsio - crunch - curl - cryptopp - libdeflate - expat - libgeotiff - geos - giflib - libheif - dav1d # required by libheif - libaom # required by libheif - libde265 # required by libheif - rav1e # required by libheif - x265 # required by libheif - hdf4 - hdf5-cpp - libjpeg - json_c - libjxl - libhwy # required by libjxl - lerc - xz - libxml2 - lz4 - libmysqlclient - netcdf - openjpeg - openssl - pcre2 - libpng - poppler - postgresql - proj - qhull - libspatialite - sqlite - libtiff - gtest - ] ++ lib.optionals useTiledb [ - tiledb - ] ++ [ - libwebp - zlib - zstd - python3 - python3.pkgs.numpy - ] ++ lib.optionals (!stdenv.isDarwin) [ - # tests for formats enabled by these packages fail on macos - arrow-cpp - openexr - xercesc - ] ++ lib.optional stdenv.isDarwin libiconv; + buildInputs = + let + tileDbDeps = lib.optionals useTiledb [ tiledb ]; + libHeifDeps = lib.optionals useLibHEIF [ + libheif + dav1d + libaom + libde265 + rav1e + x265 + ]; + libJxlDeps = lib.optionals useLibJXL [ + libjxl + libhwy + ]; + mysqlDeps = lib.optionals useMysql [ libmysqlclient ]; + postgresDeps = lib.optionals usePostgres [ postgresql ]; + popplerDeps = lib.optionals usePoppler [ poppler ]; + arrowDeps = lib.optionals useArrow [ arrow-cpp ]; + hdfDeps = lib.optionals useHDF [ + hdf4 + hdf5-cpp + ]; + netCdfDeps = lib.optionals useNetCDF [ netcdf ]; + armadilloDeps = lib.optionals useArmadillo [ armadillo ]; + + darwinDeps = lib.optionals stdenv.isDarwin [ libiconv ]; + nonDarwinDeps = lib.optionals (!stdenv.isDarwin) ([ + # tests for formats enabled by these packages fail on macos + openexr + xercesc + ] ++ arrowDeps); + in [ + c-blosc + brunsli + cfitsio + crunch + curl + cryptopp + libdeflate + expat + libgeotiff + geos + giflib + libjpeg + json_c + lerc + xz + libxml2 + lz4 + openjpeg + openssl + pcre2 + libpng + proj + qhull + libspatialite + sqlite + libtiff + gtest + libwebp + zlib + zstd + python3 + python3.pkgs.numpy + ] ++ tileDbDeps + ++ libHeifDeps + ++ libJxlDeps + ++ mysqlDeps + ++ postgresDeps + ++ popplerDeps + ++ arrowDeps + ++ hdfDeps + ++ netCdfDeps + ++ armadilloDeps + ++ darwinDeps + ++ nonDarwinDeps; postInstall = '' wrapPythonPrograms @@ -210,6 +241,8 @@ stdenv.mkDerivation (finalAttrs: { "test_rda_download_queue" ] ++ lib.optionals (lib.versionOlder proj.version "8") [ "test_ogr_parquet_write_crs_without_id_in_datum_ensemble_members" + ] ++ lib.optionals (!usePoppler) [ + "test_pdf_jpx_compression" ]; postCheck = '' popd # autotest diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index c3c5b17372e..49dc54c20fd 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -21,10 +21,11 @@ stdenv.mkDerivation (finalAttrs: { passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; meta = with lib; { - description = "C++ port of the Java Topology Suite (JTS)"; - homepage = "https://trac.osgeo.org/geos"; + description = "C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software"; + homepage = "https://libgeos.org"; license = licenses.lgpl21Only; maintainers = teams.geospatial.members; pkgConfigModules = [ "geos" ]; + mainProgram = "geosop"; }; }) diff --git a/pkgs/development/libraries/level-zero/default.nix b/pkgs/development/libraries/level-zero/default.nix index a117863aa33..c213e75d5f2 100644 --- a/pkgs/development/libraries/level-zero/default.nix +++ b/pkgs/development/libraries/level-zero/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "level-zero"; - version = "1.13.1"; + version = "1.13.5"; src = fetchFromGitHub { owner = "oneapi-src"; repo = "level-zero"; rev = "refs/tags/v${version}"; - hash = "sha256-qV2OM41+DkuT3lDCTHOyNkHixD/HITfCiItBQX6Ewio="; + hash = "sha256-XpLbbcB8M63q+0Vj7NrERSXVIjy5KQrVZMvYijUbJhw="; }; nativeBuildInputs = [ cmake addOpenGLRunpath ]; diff --git a/pkgs/development/libraries/libdeltachat/Cargo.lock b/pkgs/development/libraries/libdeltachat/Cargo.lock index 735db14604c..f2528c30384 100644 --- a/pkgs/development/libraries/libdeltachat/Cargo.lock +++ b/pkgs/development/libraries/libdeltachat/Cargo.lock @@ -1123,7 +1123,7 @@ dependencies = [ [[package]] name = "deltachat" -version = "1.118.0" +version = "1.119.1" dependencies = [ "ansi_term", "anyhow", @@ -1199,7 +1199,7 @@ dependencies = [ [[package]] name = "deltachat-jsonrpc" -version = "1.118.0" +version = "1.119.1" dependencies = [ "anyhow", "async-channel", @@ -1223,7 +1223,7 @@ dependencies = [ [[package]] name = "deltachat-repl" -version = "1.118.0" +version = "1.119.1" dependencies = [ "ansi_term", "anyhow", @@ -1238,7 +1238,7 @@ dependencies = [ [[package]] name = "deltachat-rpc-server" -version = "1.118.0" +version = "1.119.1" dependencies = [ "anyhow", "deltachat", @@ -1263,7 +1263,7 @@ dependencies = [ [[package]] name = "deltachat_ffi" -version = "1.118.0" +version = "1.119.1" dependencies = [ "anyhow", "deltachat", @@ -4958,14 +4958,14 @@ dependencies = [ [[package]] name = "tokio-tar" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a50188549787c32c1c3d9c8c71ad7e003ccf2f102489c5a96e385c84760477f4" +checksum = "9d5714c010ca3e5c27114c1cdeb9d14641ace49874aa5626d7149e47aedace75" dependencies = [ "filetime", "futures-core", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "tokio", "tokio-stream", "xattr", @@ -5778,9 +5778,9 @@ dependencies = [ [[package]] name = "xattr" -version = "0.2.3" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" dependencies = [ "libc", ] diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix index 562f45048aa..96ef2f6cd42 100644 --- a/pkgs/development/libraries/libdeltachat/default.nix +++ b/pkgs/development/libraries/libdeltachat/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "libdeltachat"; - version = "1.118.0"; + version = "1.119.1"; src = fetchFromGitHub { owner = "deltachat"; repo = "deltachat-core-rust"; rev = "v${version}"; - hash = "sha256-1vkmz7LFG420zYETYIf3ayOQEPp+hz7Dr7gULz1nJOs="; + hash = "sha256-LP5h99qldf9QoRDmo581H+sUx1QsD6nOGt1ES3Fr/6E="; }; patches = [ diff --git a/pkgs/development/libraries/nix-plugins/default.nix b/pkgs/development/libraries/nix-plugins/default.nix index 23cac5f0cfe..6f285fdff36 100644 --- a/pkgs/development/libraries/nix-plugins/default.nix +++ b/pkgs/development/libraries/nix-plugins/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "nix-plugins"; - version = "11.0.0"; + version = "12.0.0"; src = fetchFromGitHub { owner = "shlevy"; repo = "nix-plugins"; rev = version; - hash = "sha256-sJL8g+UVFvJTqujS9F6gy8tairYUztHCSILkQlwDADU"; + hash = "sha256-VJqLfOT7y32Jupl57YXxqeDPy0tOWi46tRLN1QUDIow="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index bc1478a9092..3774a3e05dc 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -47,13 +47,13 @@ let in stdenv.mkDerivation (finalAttrs: rec { pname = "poppler-${suffix}"; - version = "23.07.0"; # beware: updates often break cups-filters build, check texlive and scribus too! + version = "23.08.0"; # beware: updates often break cups-filters build, check texlive and scribus too! outputs = [ "out" "dev" ]; src = fetchurl { url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz"; - hash = "sha256-8ptLS/R1cmERdkVMjyFQbXHSfspQEaOapEA4swuVfbA="; + hash = "sha256-Skv3/JA7nxoqt9BLfF2CINubxiYcxz/bmoJtwnL0mqg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix index 09bd183cf54..5d18c93a9b1 100644 --- a/pkgs/development/libraries/qt-6/default.nix +++ b/pkgs/development/libraries/qt-6/default.nix @@ -49,6 +49,9 @@ let ./patches/0006-qtbase-qt-cmake-always-use-cmake-from-path.patch ./patches/0007-qtbase-find-qt-tools-in-QTTOOLSPATH.patch ./patches/0008-qtbase-allow-translations-outside-prefix.patch + ./patches/0008-qtbase-find-qmlimportscanner-in-macdeployqt-via-environment.patch + ./patches/0009-qtbase-check-in-the-QML-folder-of-this-library-does-actuall.patch + ./patches/0010-qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch ]; }; env = callPackage ./qt-env.nix { }; diff --git a/pkgs/development/libraries/qt-6/patches/0008-qtbase-find-qmlimportscanner-in-macdeployqt-via-environment.patch b/pkgs/development/libraries/qt-6/patches/0008-qtbase-find-qmlimportscanner-in-macdeployqt-via-environment.patch new file mode 100644 index 00000000000..32e30679ec5 --- /dev/null +++ b/pkgs/development/libraries/qt-6/patches/0008-qtbase-find-qmlimportscanner-in-macdeployqt-via-environment.patch @@ -0,0 +1,35 @@ +From 505391a31aa353b8f1cc5d3feb9861582554d9f1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org> +Date: Wed, 9 Aug 2023 16:16:21 +0200 +Subject: [PATCH 1/3] Find qmlimportscanner in macdeployqt via environment + +The qmlimportscanner tool is provided by qtdeclarative. Because of the +modularized installation in Nix, it can not be found via the usual +mechanisms. Also, hard-coding it like we do for Qt5 would also not +work, as it would require making qtbase depend on qtdeclarative. + +Here we add an option to provide its location via the environment. +While this means macdeployqt does not work out of the box, it provides +a workaround for users. +--- + src/tools/macdeployqt/shared/shared.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp +index 643fe5390a..b8fcc9c9bd 100644 +--- a/src/tools/macdeployqt/shared/shared.cpp ++++ b/src/tools/macdeployqt/shared/shared.cpp +@@ -1270,6 +1270,10 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf + if (!QFile::exists(qmlImportScannerPath)) + qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner"; + ++ // Fallback: Pass qml import scanner via environment variable ++ if (!QFile::exists(qmlImportScannerPath)) ++ qmlImportScannerPath = ::qgetenv("NIX_QMLIMPORTSCANNER"); ++ + // Verify that we found a qmlimportscanner binary + if (!QFile::exists(qmlImportScannerPath)) { + LogError() << "qmlimportscanner not found at" << qmlImportScannerPath; +-- +2.26.2 + diff --git a/pkgs/development/libraries/qt-6/patches/0009-qtbase-check-in-the-QML-folder-of-this-library-does-actuall.patch b/pkgs/development/libraries/qt-6/patches/0009-qtbase-check-in-the-QML-folder-of-this-library-does-actuall.patch new file mode 100644 index 00000000000..4436d512d9d --- /dev/null +++ b/pkgs/development/libraries/qt-6/patches/0009-qtbase-check-in-the-QML-folder-of-this-library-does-actuall.patch @@ -0,0 +1,35 @@ +From 32df59bea18bebc18d6d308750e88be325522d2e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org> +Date: Thu, 10 Aug 2023 14:15:34 +0200 +Subject: [PATCH 2/3] Check in the QML folder of this library does actually + exist + +In a modularized installation, this folder will be the location where +`qtbase` itself is installed, but `qtbase` does not have any QML +code, and `qmlimportscanner` will complain that it does not exist. +--- + src/tools/macdeployqt/shared/shared.cpp | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp +index b8fcc9c9bd..676d34d545 100644 +--- a/src/tools/macdeployqt/shared/shared.cpp ++++ b/src/tools/macdeployqt/shared/shared.cpp +@@ -1290,9 +1290,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf + } + for (const QString &importPath : qmlImportPaths) + argumentList << "-importPath" << importPath; ++ + QString qmlImportsPath = QLibraryInfo::path(QLibraryInfo::QmlImportsPath); +- argumentList.append( "-importPath"); +- argumentList.append(qmlImportsPath); ++ if (QFile::exists(qmlImportsPath)) { ++ argumentList.append( "-importPath"); ++ argumentList.append(qmlImportsPath); ++ } + + // run qmlimportscanner + QProcess qmlImportScanner; +-- +2.26.2 + diff --git a/pkgs/development/libraries/qt-6/patches/0010-qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch b/pkgs/development/libraries/qt-6/patches/0010-qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch new file mode 100644 index 00000000000..81f0f76636d --- /dev/null +++ b/pkgs/development/libraries/qt-6/patches/0010-qtbase-pass-to-qmlimportscanner-the-QML2_IMPORT_PATH.patch @@ -0,0 +1,30 @@ +From 39eb99dcd66f8ffb632fed6308a49896fe5ad2d3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Juan=20Pedro=20Bol=C3=ADvar=20Puente?= <raskolnikov@gnu.org> +Date: Thu, 10 Aug 2023 14:17:03 +0200 +Subject: [PATCH 3/3] Pass to qmlimportscanner the QML2_IMPORT_PATH + +--- + src/tools/macdeployqt/shared/shared.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/tools/macdeployqt/shared/shared.cpp b/src/tools/macdeployqt/shared/shared.cpp +index 676d34d545..7908b07b3c 100644 +--- a/src/tools/macdeployqt/shared/shared.cpp ++++ b/src/tools/macdeployqt/shared/shared.cpp +@@ -1297,6 +1297,13 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf + argumentList.append(qmlImportsPath); + } + ++ // In a modularized installation of qt as we have in Nix, instead, we will ++ // read the paths from the environment, as they are spread in multiple ++ // locations and normally set in the environment like this ++ auto envQmlImportPaths = ::qgetenv("QML2_IMPORT_PATH").split(':'); ++ for (const QString &importPath : envQmlImportPaths) ++ argumentList << "-importPath" << importPath; ++ + // run qmlimportscanner + QProcess qmlImportScanner; + qmlImportScanner.start(qmlImportScannerPath, argumentList); +-- +2.26.2 + |