From 8f41eda98b64b9cc46da12ce52bac9cc28d91dc4 Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Fri, 18 Sep 2020 15:55:44 -0400 Subject: [PATCH 1/2] poco: add patch to use GNUInstallDirs --- pkgs/development/libraries/poco/default.nix | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix index 8f963bb366a9..b67402dbb527 100644 --- a/pkgs/development/libraries/poco/default.nix +++ b/pkgs/development/libraries/poco/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, zlib, pcre, expat, sqlite, openssl, unixODBC, libmysqlclient }: +{ lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, zlib, pcre, expat, sqlite, openssl, unixODBC, libmysqlclient }: stdenv.mkDerivation rec { pname = "poco"; @@ -10,6 +10,25 @@ stdenv.mkDerivation rec { sha256 = "1jilzh0h6ik5lr167nax7q6nrpzxl99p11pkl202ig06pgh32nbz"; }; + patches = [ + # Use GNUInstallDirs (https://github.com/pocoproject/poco/pull/3105) + (fetchpatch { + name = "use-gnuinstalldirs.patch"; + url = "https://github.com/pocoproject/poco/commit/9e8f84dff4575f01be02e0b07364efd1561ce66c.patch"; + sha256 = "1bj4i93gxr7pwx33bfyhg20ad4ak1rbxkrlpsgzk7rm6mh0mld26"; + # 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 = [ zlib pcre expat sqlite openssl unixODBC libmysqlclient ]; From 2122017a114e93daf4a5681fc8fa7ab4616ec4c7 Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Thu, 17 Sep 2020 19:21:19 -0400 Subject: [PATCH 2/2] poco: propagate dependencies imported by CMake scripts This also requires enable multiple outputs to prevent the closure size from increasing. --- pkgs/development/libraries/poco/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix index b67402dbb527..57e8fb1a5a75 100644 --- a/pkgs/development/libraries/poco/default.nix +++ b/pkgs/development/libraries/poco/default.nix @@ -31,7 +31,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ zlib pcre expat sqlite openssl unixODBC libmysqlclient ]; + buildInputs = [ openssl unixODBC libmysqlclient ]; + propagatedBuildInputs = [ zlib pcre expat sqlite ]; + + outputs = [ "out" "dev" ]; MYSQL_DIR = libmysqlclient; MYSQL_INCLUDE_DIR = "${MYSQL_DIR}/include/mysql";