Unverified Commit 30df88e4 authored by Nikolay Korotkiy's avatar Nikolay Korotkiy
Browse files

librecad: enable on darwin

parent 0b07ca72
Loading
Loading
Loading
Loading
+25 −9
Original line number Diff line number Diff line
@@ -43,11 +43,25 @@ 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

    ${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
@@ -58,6 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
      installManPage desktop/librecad.?

      cp -R unix/resources $out/share/librecad
    ''}

    runHook postInstall
  '';
@@ -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";
  };
})