diff --git a/pkgs/development/libraries/lib3mf/default.nix b/pkgs/development/libraries/lib3mf/default.nix index fec910bd595..b75b1b833d7 100644 --- a/pkgs/development/libraries/lib3mf/default.nix +++ b/pkgs/development/libraries/lib3mf/default.nix @@ -1,26 +1,41 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja, libuuid, libossp_uuid, gtest }: +{ lib, stdenv, fetchFromGitHub, cmake, ninja, automaticcomponenttoolkit +, pkg-config, libzip, gtest, openssl, libuuid, libossp_uuid }: stdenv.mkDerivation rec { pname = "lib3mf"; - version = "2.0.0"; + version = "2.1.1"; src = fetchFromGitHub { owner = "3MFConsortium"; repo = pname; rev = "v${version}"; - sha256 = "0w4d9zvl95g1x3r5nyd6cr27g6fwhhwaivh8a5r1xs5l6if21x19"; + sha256 = "1417xlxc1y5jnipixhbjfrrjgkrprbbraj8647sff9051m3hpxc3"; }; - nativeBuildInputs = [ cmake ninja ]; + nativeBuildInputs = [ cmake ninja pkg-config ]; - buildInputs = if stdenv.isDarwin then [ libossp_uuid ] else [ libuuid ]; + outputs = [ "out" "dev" ]; + + cmakeFlags = [ + "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "out"}/include/lib3mf" + "-DUSE_INCLUDED_ZLIB=OFF" + "-DUSE_INCLUDED_LIBZIP=OFF" + "-DUSE_INCLUDED_GTEST=OFF" + "-DUSE_INCLUDED_SSL=OFF" + ]; + + buildInputs = [ + libzip gtest openssl + ] ++ (if stdenv.isDarwin then [ libossp_uuid ] else [ libuuid ]); postPatch = '' - rmdir Tests/googletest - ln -s ${gtest.src} Tests/googletest - # fix libdir=''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ - sed -i 's,=''${\(exec_\)\?prefix}/,=,' lib3MF.pc.in + sed -i 's,=''${\(exec_\)\?prefix}/,=,' lib3mf.pc.in + + # replace bundled binaries + for i in AutomaticComponentToolkit/bin/act.*; do + ln -sf ${automaticcomponenttoolkit}/bin/act $i + done ''; meta = with lib; { diff --git a/pkgs/development/tools/misc/automaticcomponenttoolkit/default.nix b/pkgs/development/tools/misc/automaticcomponenttoolkit/default.nix new file mode 100644 index 00000000000..cf84a98467d --- /dev/null +++ b/pkgs/development/tools/misc/automaticcomponenttoolkit/default.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, fetchFromGitHub, go }: + +stdenv.mkDerivation rec { + pname = "AutomaticComponentToolkit"; + version = "1.6.0"; + + src = fetchFromGitHub { + owner = "Autodesk"; + repo = pname; + rev = "v${version}"; + sha256 = "1r0sbw82cf9dbcj3vgnbd4sc1lklzvijic2z5wgkvs21azcm0yzh"; + }; + + nativeBuildInputs = [ go ]; + + buildPhase = '' + cd Source + export HOME=/tmp + go build -o act *.go + ''; + + installPhase = '' + install -Dm0755 act $out/bin/act + ''; + + meta = with lib; { + description = "Toolkit to automatically generate software components: abstract API, implementation stubs and language bindings"; + homepage = "https://github.com/Autodesk/AutomaticComponentToolkit"; + license = licenses.bsd2; + maintainers = with maintainers; [ gebner ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b409496f725..abf53b2a412 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11982,6 +11982,8 @@ in astyle = callPackage ../development/tools/misc/astyle { }; + automaticcomponenttoolkit = callPackage ../development/tools/misc/automaticcomponenttoolkit { }; + awf = callPackage ../development/tools/misc/awf { }; aws-adfs = with python3Packages; toPythonApplication aws-adfs;