Files
nixpkgs/pkgs/development/openscad-packages/bosl2/default.nix
2026-08-16 08:07:51 +00:00

56 lines
1.3 KiB
Nix

{
lib,
buildOpenSCADPackage,
fetchFromGitHub,
stdenv,
runCommand,
openscad,
}:
buildOpenSCADPackage (finalAttrs: {
pname = "bosl2";
version = "2.0.750";
libName = "BOSL2";
installTargets = [ "*.scad" ];
src = fetchFromGitHub {
owner = "BelfrySCAD";
repo = "BOSL2";
tag = "v${finalAttrs.version}";
hash = "sha256-ErSJxw1hLlnyUQCXBChwBrN9kS6+l4KXYvu9bBO1m6w=";
};
passthru = {
tests = lib.optionalAttrs (!stdenv.hostPlatform.isDarwin) {
functionality =
runCommand "test-functionality-${finalAttrs.name}"
{
nativeBuildInputs = [
(openscad.withPackages (ps: [ finalAttrs.finalPackage ]))
];
}
''
set -eu -o pipefail
mkdir -p "$out"
openscad -o "$out"/test.3mf - <<EOF
include <BOSL2/std.scad>
cube(1);
EOF
if ! [[ -f "$out/test.3mf" ]]; then
echo "ERROR: $name: test.3mf file not generated by openscad" >&2
exit 1
fi
'';
};
};
meta = {
description = "Belfry OpenScad Library, v2.0 (beta) -- an OpenSCAD library of shapes, masks, and manipulators";
homepage = "https://github.com/BelfrySCAD/BOSL2";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ xoconoch ];
};
})