Skip to content

Commit

Permalink
librecad: enable on darwin
Browse files Browse the repository at this point in the history
  • Loading branch information
sikmir committed Jan 13, 2025
1 parent 0b07ca7 commit 30df88e
Showing 1 changed file with 25 additions and 9 deletions.
34 changes: 25 additions & 9 deletions pkgs/by-name/li/librecad/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -43,21 +43,36 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
substituteInPlace librecad/src/main/qc_applicationwindow.cpp \
--replace-warn __DATE__ 0
substituteInPlace librecad/src/src.pro \
--replace-warn '$$[QT_INSTALL_BINS]' '${lib.getDev qt5.qttools}/bin'
substituteInPlace librecad/src/muparser.pri \
--replace-warn "macx|" ""
'';

installPhase = ''
runHook preInstall
install -Dm555 -t $out/bin unix/{librecad,ttf2lff}
install -Dm444 -t $out/share/applications desktop/librecad.desktop
install -Dm644 -t $out/share/pixmaps librecad/res/main/librecad.png
install -Dm444 desktop/librecad.sharedmimeinfo $out/share/mime/packages/librecad.xml
install -Dm444 desktop/graphics_icons_and_splash/Icon\ LibreCAD/Icon_Librecad.svg \
$out/share/icons/hicolor/scalable/apps/librecad.svg
${lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/{Applications,bin}
mv LibreCAD.app $out/Applications
ln -s $out/Applications/LibreCAD.app/Contents/MacOS/LibreCAD $out/bin/librecad
# Prevent wrapping, otherwise plugins will not be loaded
chmod -x $out/Applications/LibreCAD.app/Contents/Resources/plugins/*.dylib
''}
${lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
install -Dm555 -t $out/bin unix/{librecad,ttf2lff}
install -Dm444 -t $out/share/applications desktop/librecad.desktop
install -Dm644 -t $out/share/pixmaps librecad/res/main/librecad.png
install -Dm444 desktop/librecad.sharedmimeinfo $out/share/mime/packages/librecad.xml
install -Dm444 desktop/graphics_icons_and_splash/Icon\ LibreCAD/Icon_Librecad.svg \
$out/share/icons/hicolor/scalable/apps/librecad.svg
installManPage desktop/librecad.?
installManPage desktop/librecad.?
cp -R unix/resources $out/share/librecad
cp -R unix/resources $out/share/librecad
''}
runHook postInstall
'';
Expand All @@ -67,6 +82,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://librecad.org";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ sikmir ];
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
mainProgram = "librecad";
};
})

0 comments on commit 30df88e

Please sign in to comment.