{ lib, stdenv, fetchFromGitHub, cmake, clipper, nlopt, boost }: stdenv.mkDerivation { version = "4.12.0"; pname = "libnest2d"; # This revision is waiting to be merged upstream # Once it has been merged, this should be switched to it # Upstream PR: https://github.com/tamasmeszaros/libnest2d/pull/18 src = fetchFromGitHub { owner = "Ultimaker"; repo = "libnest2d"; rev = "31391fd173249ad9b906390058e13b09238fadc8"; sha256 = "1hzqi4z55x76rss3xk7hfqhy9hcaq2jaav5jqxa1aqmbvarr2gla"; }; postPatch = '' substituteInPlace {,examples/}CMakeLists.txt \ --replace "set(CMAKE_CXX_STANDARD 11)" "set(CMAKE_CXX_STANDARD 14)" ''; propagatedBuildInputs = [ clipper nlopt boost ]; nativeBuildInputs = [ cmake ]; CLIPPER_PATH = "${clipper.out}"; cmakeFlags = [ "-DLIBNEST2D_HEADER_ONLY=OFF" ]; meta = with lib; { description = "2D irregular bin packaging and nesting library written in modern C++"; homepage = "https://github.com/Ultimaker/libnest2d"; license = licenses.lgpl3; platforms = platforms.all; }; }