diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix deleted file mode 100644 index 7d41c040db8e..000000000000 --- a/pkgs/applications/misc/librecad/default.nix +++ /dev/null @@ -1,78 +0,0 @@ -{ - lib, - boost, - fetchFromGitHub, - installShellFiles, - mkDerivation, - muparser, - pkg-config, - qmake, - qtbase, - qtsvg, - qttools, - runtimeShell, -}: - -mkDerivation rec { - pname = "librecad"; - version = "2.2.0.2"; - - src = fetchFromGitHub { - owner = "LibreCAD"; - repo = "LibreCAD"; - rev = version; - sha256 = "sha256-Vj6nvOfmhzou2hhmujm47a7aKBzmgchDb/BbwCb3/hI="; - }; - - buildInputs = [ - boost - muparser - qtbase - qtsvg - ]; - - nativeBuildInputs = [ - installShellFiles - pkg-config - qmake - qttools - ]; - - qmakeFlags = [ - "MUPARSER_DIR=${muparser}" - "BOOST_DIR=${boost.dev}" - ]; - - postPatch = '' - substituteInPlace scripts/postprocess-unix.sh \ - --replace /bin/sh ${runtimeShell} - - substituteInPlace librecad/src/main/qc_applicationwindow.cpp \ - --replace __DATE__ 0 - ''; - - 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 - - installManPage desktop/librecad.? - - cp -R unix/resources $out/share/librecad - - runHook postInstall - ''; - - meta = with lib; { - description = "2D CAD package based on Qt"; - homepage = "https://librecad.org"; - license = licenses.gpl2Only; - maintainers = [ ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/by-name/li/librecad/package.nix b/pkgs/by-name/li/librecad/package.nix new file mode 100644 index 000000000000..d8ca362ee8e6 --- /dev/null +++ b/pkgs/by-name/li/librecad/package.nix @@ -0,0 +1,88 @@ +{ + lib, + stdenv, + boost, + fetchFromGitHub, + installShellFiles, + muparser, + pkg-config, + qt5, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "librecad"; + version = "2.2.1"; + + src = fetchFromGitHub { + owner = "LibreCAD"; + repo = "LibreCAD"; + tag = "v${finalAttrs.version}"; + hash = "sha256-GBn4lduzaKWEWzeTNjC9TpioSouVj+jVl32PLjc8FBc="; + }; + + buildInputs = [ + boost + muparser + qt5.qtbase + qt5.qtsvg + ]; + + nativeBuildInputs = [ + installShellFiles + pkg-config + qt5.qmake + qt5.qttools + qt5.wrapQtAppsHook + ]; + + qmakeFlags = [ + "MUPARSER_DIR=${muparser}" + "BOOST_DIR=${boost.dev}" + ]; + + 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 + 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.? + + cp -R unix/resources $out/share/librecad + ''} + + runHook postInstall + ''; + + meta = { + description = "2D CAD package based on Qt"; + homepage = "https://librecad.org"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ sikmir ]; + platforms = lib.platforms.unix; + mainProgram = "librecad"; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 460d7261c075..eee5a8d5a670 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14195,8 +14195,6 @@ with pkgs; libkiwix = callPackage ../applications/misc/kiwix/lib.nix { }; - librecad = libsForQt5.callPackage ../applications/misc/librecad { }; - libreoffice-bin = callPackage ../applications/office/libreoffice/darwin { }; libreoffice = hiPrio libreoffice-still;