nixpkgs/pkgs/development/python-modules/libarcus/default.nix
Ryan Burns d9eefb5d67 python3Packages.libarcus: fix build against protobuf 3.18+
Still needs upstream resolution,
but we can grab a Vcpkg patch in the meantime
2021-09-22 22:01:16 -07:00

43 lines
1.3 KiB
Nix

{ lib, buildPythonPackage, python, fetchFromGitHub
, fetchpatch
, cmake, sip_4, protobuf, pythonOlder }:
buildPythonPackage rec {
pname = "libarcus";
version = "4.10.0";
format = "other";
src = fetchFromGitHub {
owner = "Ultimaker";
repo = "libArcus";
rev = version;
sha256 = "1ahka8s8fjwymyr7pca7i7h51ikfr35zy4nkzfcjn946x7p0dprf";
};
patches = [
# Fix build against protobuf 3.18+
# https://github.com/Ultimaker/libArcus/issues/121
(fetchpatch {
url = "https://raw.githubusercontent.com/coryan/vcpkg/f69b85aa403b04e7d442c90db3418d484e44024f/ports/arcus/0001-fix-protobuf-deprecated.patch";
sha256 = "0bqj7pxzpwsamknd6gadj419x6mwx8wnlfzg4zqn6cax3cmasjb2";
})
];
disabled = pythonOlder "3.4";
propagatedBuildInputs = [ sip_4 ];
nativeBuildInputs = [ cmake ];
buildInputs = [ protobuf ];
postPatch = ''
sed -i 's#''${Python3_SITEARCH}#${placeholder "out"}/${python.sitePackages}#' cmake/SIPMacros.cmake
'';
meta = with lib; {
description = "Communication library between internal components for Ultimaker software";
homepage = "https://github.com/Ultimaker/libArcus";
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar gebner ];
};
}