linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / lib3mf / default.nix
blobb75b1b833d7336c97eb61da49b2e03b6c06d345e
1 { lib, stdenv, fetchFromGitHub, cmake, ninja, automaticcomponenttoolkit
2 , pkg-config, libzip, gtest, openssl, libuuid, libossp_uuid }:
4 stdenv.mkDerivation rec {
5   pname = "lib3mf";
6   version = "2.1.1";
8   src = fetchFromGitHub {
9     owner = "3MFConsortium";
10     repo = pname;
11     rev = "v${version}";
12     sha256 = "1417xlxc1y5jnipixhbjfrrjgkrprbbraj8647sff9051m3hpxc3";
13   };
15   nativeBuildInputs = [ cmake ninja pkg-config ];
17   outputs = [ "out" "dev" ];
19   cmakeFlags = [
20     "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "out"}/include/lib3mf"
21     "-DUSE_INCLUDED_ZLIB=OFF"
22     "-DUSE_INCLUDED_LIBZIP=OFF"
23     "-DUSE_INCLUDED_GTEST=OFF"
24     "-DUSE_INCLUDED_SSL=OFF"
25   ];
27   buildInputs = [
28     libzip gtest openssl
29   ] ++ (if stdenv.isDarwin then [ libossp_uuid ] else [ libuuid ]);
31   postPatch = ''
32     # fix libdir=''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
33     sed -i 's,=''${\(exec_\)\?prefix}/,=,' lib3mf.pc.in
35     # replace bundled binaries
36     for i in AutomaticComponentToolkit/bin/act.*; do
37       ln -sf ${automaticcomponenttoolkit}/bin/act $i
38     done
39   '';
41   meta = with lib; {
42     description = "Reference implementation of the 3D Manufacturing Format file standard";
43     homepage = "https://3mf.io/";
44     license = licenses.bsd2;
45     maintainers = with maintainers; [ gebner ];
46     platforms = platforms.all;
47   };