diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/poco')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/poco/default.nix | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/poco/default.nix b/nixpkgs/pkgs/development/libraries/poco/default.nix new file mode 100644 index 000000000000..0e42ff730c8a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/poco/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv, fetchurl, fetchpatch, cmake, pkg-config, zlib, pcre, expat, sqlite, openssl, unixODBC, libmysqlclient }: + +stdenv.mkDerivation rec { + pname = "poco"; + + version = "1.11.1"; + + src = fetchurl { + url = "https://pocoproject.org/releases/${pname}-${version}/${pname}-${version}-all.tar.gz"; + sha256 = "sha256-MczOYCAEcnAAO/tbDafirUMohMI9PNUJyG9HzzpeXSo="; + }; + + 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 ]; + + outputs = [ "out" "dev" ]; + + MYSQL_DIR = libmysqlclient; + MYSQL_INCLUDE_DIR = "${MYSQL_DIR}/include/mysql"; + + cmakeFlags = [ + "-DPOCO_UNBUNDLED=ON" + ]; + + meta = with lib; { + homepage = "https://pocoproject.org/"; + description = "Cross-platform C++ libraries with a network/internet focus"; + license = licenses.boost; + maintainers = with maintainers; [ orivej ]; + platforms = platforms.unix; + }; +} |