diff --git a/pkgs/applications/radio/pothos/default.nix b/pkgs/applications/radio/pothos/default.nix index 1b36b36829a0..6691ffe2dd45 100644 --- a/pkgs/applications/radio/pothos/default.nix +++ b/pkgs/applications/radio/pothos/default.nix @@ -1,6 +1,7 @@ { lib , mkDerivation , fetchFromGitHub +, fetchpatch , cmake , pkg-config , doxygen @@ -33,6 +34,12 @@ mkDerivation rec { patches = [ # spuce's CMakeLists.txt uses QT5_USE_Modules, which does not seem to work on Nix ./spuce.patch + # Poco had some breaking API changes in 1.12 + (fetchpatch { + name = "poco-1.12-compat.patch"; + url = "https://github.com/pothosware/PothosCore/commit/092d1209b0fd0aa8a1733706c994fa95e66fd017.patch"; + hash = "sha256-bZXG8kD4+1LgDV8viZrJ/DMjg8UvW7b5keJQDXurfkA="; + }) ]; nativeBuildInputs = [ cmake pkg-config doxygen wrapQtAppsHook ]; diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix index 0e42ff730c8a..1459d605acbe 100644 --- a/pkgs/development/libraries/poco/default.nix +++ b/pkgs/development/libraries/poco/default.nix @@ -1,38 +1,21 @@ -{ lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, zlib, pcre, expat, sqlite, openssl, unixODBC, libmysqlclient }: +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, zlib, pcre2, expat, sqlite, openssl, unixODBC, libmysqlclient }: stdenv.mkDerivation rec { pname = "poco"; - version = "1.11.1"; + version = "1.12.4"; - src = fetchurl { - url = "https://pocoproject.org/releases/${pname}-${version}/${pname}-${version}-all.tar.gz"; - sha256 = "sha256-MczOYCAEcnAAO/tbDafirUMohMI9PNUJyG9HzzpeXSo="; + src = fetchFromGitHub { + owner = "pocoproject"; + repo = "poco"; + sha256 = "sha256-gQ97fkoTGI6yuMPjEsITfapH9FSQieR8rcrPR1nExxc="; + rev = "poco-${version}-release"; }; - patches = [ - # Use GNUInstallDirs (https://github.com/pocoproject/poco/pull/3503) - (fetchpatch { - name = "use-gnuinstalldirs.patch"; - url = "https://github.com/pocoproject/poco/commit/16a2a74f6c28c6e6baca2ba26b4964b51d8a1b74.patch"; - sha256 = "sha256-mkemG8UemJEUQxae1trKakhnJFJW0AufDYFAbmnINbY="; - # Files not included in release tarball - excludes = [ - "Encodings/Compiler/CMakeLists.txt" - "PocoDoc/CMakeLists.txt" - "NetSSL_Win/CMakeLists.txt" - "PDF/CMakeLists.txt" - "SevenZip/CMakeLists.txt" - "ApacheConnector/CMakeLists.txt" - "CppParser/CMakeLists.txt" - ]; - }) - ]; - nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ unixODBC libmysqlclient ]; - propagatedBuildInputs = [ zlib pcre expat sqlite openssl ]; + propagatedBuildInputs = [ zlib pcre2 expat sqlite openssl ]; outputs = [ "out" "dev" ]; @@ -43,11 +26,18 @@ stdenv.mkDerivation rec { "-DPOCO_UNBUNDLED=ON" ]; + postFixup = '' + grep -rlF INTERFACE_INCLUDE_DIRECTORIES "$dev/lib/cmake/Poco" | while read -r f; do + substituteInPlace "$f" \ + --replace "$"'{_IMPORT_PREFIX}/include' "" + done + ''; + meta = with lib; { homepage = "https://pocoproject.org/"; description = "Cross-platform C++ libraries with a network/internet focus"; license = licenses.boost; - maintainers = with maintainers; [ orivej ]; + maintainers = with maintainers; [ orivej tomodachi94 ]; platforms = platforms.unix; }; }