mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-01 05:04:40 +00:00
56 lines
1.3 KiB
Nix
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 ];
|
|
};
|
|
})
|