Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 30 additions & 22 deletions pkgs/applications/graphics/vengi-tools/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@
SDL2,
SDL2_mixer,
wayland-protocols,
Carbon,
CoreServices,
OpenCL,

callPackage,
nixosTests,
Expand All @@ -46,6 +43,15 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-8rGnW+VtqNJYqUqQDp0yOVIQd7w+cq7PIpqqIQPhkbE=";
};

prePatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
# Disable code signing on macOS
substituteInPlace cmake/macros.cmake --replace-fail "codesign" "true"
substituteInPlace cmake/system/apple.cmake --replace-fail "if(APPLE)" "if(false)"
Comment on lines +47 to +49
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, adding sigtool to the nativeBuildInputs may suffice.


# calls otool -L on /usr/lib/libSystem.B.dylib and fails because it doesn't exist
substituteInPlace cmake/applebundle.cmake --replace-fail 'fixup_bundle("''${TARGET_BUNDLE_DIR}" "" "")' ""
Comment on lines +51 to +52
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a CMake bug we can hopefully fix for 25.11, but other packages are already working around it, so this seems fine.

'';

nativeBuildInputs = [
cmake
pkg-config
Expand Down Expand Up @@ -73,33 +79,36 @@ stdenv.mkDerivation (finalAttrs: {
SDL2_mixer
]
++ lib.optional stdenv.hostPlatform.isLinux wayland-protocols
++ lib.optionals stdenv.hostPlatform.isDarwin [
Carbon
CoreServices
OpenCL
]
++ lib.optional (!stdenv.hostPlatform.isDarwin) opencl-headers;

cmakeFlags = lib.optional stdenv.hostPlatform.isDarwin "-DCORESERVICES_LIB=${CoreServices}";

# error: "The plain signature for target_link_libraries has already been used"
doCheck = false;

checkInputs = [
gtest
];

# Set the data directory for each executable. We cannot set it at build time
# with the PKGDATADIR cmake variable because each executable needs a specific
# one.
# This is not needed on darwin, since on that platform data files are saved
# in *.app/Contents/Resources/ too, and are picked up automatically.
postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
for prog in $out/bin/*; do
wrapProgram "$prog" \
--set CORE_PATH $out/share/$(basename "$prog")/
done
'';
postInstall =
if stdenv.hostPlatform.isDarwin then
''
mkdir -p $out/Applications
mv $out/*.app $out/Applications/

mkdir -p $out/bin
ln -s $out/Applications/vengi-voxconvert.app/Contents/MacOS/vengi-voxconvert $out/bin/vengi-voxconvert
''
else
# Set the data directory for each executable. We cannot set it at build time
# with the PKGDATADIR cmake variable because each executable needs a specific
# one.
# This is not needed on darwin, since on that platform data files are saved
# in *.app/Contents/Resources/ too, and are picked up automatically.
''
for prog in $out/bin/*; do
wrapProgram "$prog" \
--set CORE_PATH $out/share/$(basename "$prog")/
done
'';

passthru.tests = {
voxconvert-roundtrip = callPackage ./test-voxconvert-roundtrip.nix { };
Expand All @@ -124,6 +133,5 @@ stdenv.mkDerivation (finalAttrs: {
];
maintainers = with maintainers; [ fgaz ];
platforms = platforms.all;
broken = stdenv.hostPlatform.isDarwin;
};
})
4 changes: 1 addition & 3 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16453,9 +16453,7 @@ with pkgs;

vdirsyncer = with python3Packages; toPythonApplication vdirsyncer;

vengi-tools = darwin.apple_sdk_11_0.callPackage ../applications/graphics/vengi-tools {
inherit (darwin.apple_sdk_11_0.frameworks) Carbon CoreServices OpenCL;
};
vengi-tools = callPackage ../applications/graphics/vengi-tools { };

veusz = libsForQt5.callPackage ../applications/graphics/veusz { };

Expand Down