poco: 1.11.1 -> 1.12.4

Changelog: https://github.com/pocoproject/poco/blob/devel/CHANGELOG

This commit also changes `src` to pull directly from GitHub.
This commit is contained in:
Tomo 2023-05-16 20:05:08 -07:00
parent 4bc5836dc2
commit 517223271d

View File

@ -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,6 +26,13 @@ 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";