From 832ac15e1f4bd4b29bbc81c183aee44e66dc2591 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Tue, 2 May 2017 22:40:28 +0300 Subject: [PATCH] LibreCAD: move to Qt5 --- media-gfx/librecad/librecad-2.0.7.recipe | 60 ------- media-gfx/librecad/librecad-2.1.3.recipe | 32 ++-- .../patches/librecad_x86-2.0.7.patchset | 153 ------------------ 3 files changed, 16 insertions(+), 229 deletions(-) delete mode 100644 media-gfx/librecad/librecad-2.0.7.recipe delete mode 100644 media-gfx/librecad/patches/librecad_x86-2.0.7.patchset diff --git a/media-gfx/librecad/librecad-2.0.7.recipe b/media-gfx/librecad/librecad-2.0.7.recipe deleted file mode 100644 index 8afe59332..000000000 --- a/media-gfx/librecad/librecad-2.0.7.recipe +++ /dev/null @@ -1,60 +0,0 @@ -SUMMARY="A 2D CAD drawing tool" -DESCRIPTION="LibreCAD is a 2D CAD drawing tool based on the community edition \ -of QCAD (http://www.qcad.org). - -LibreCAD has been re-structured, ported to new Qt versions and works natively \ -cross platform between OS X, Windows, Linux and Haiku." -HOMEPAGE="http://librecad.org" -COPYRIGHT="2015 LibreCAD" -LICENSE="GNU GPL v2" -REVISION="1" -SOURCE_URI="git+https://github.com/LibreCAD/LibreCAD#fc30396" -PATCHES="librecad_x86-2.0.7.patchset" - -ARCHITECTURES="!x86_gcc2 x86 ?x86_64" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - librecad$secondaryArchSuffix = $portVersion - app:LibreCAD$secondaryArchSuffix = $portVersion - cmd:ttf2lff$secondaryArchSuffix = $portVersion - " -REQUIRES=" - haiku${secondaryArchSuffix} - libqt4$secondaryArchSuffix >= 4.8.0 - lib:libfreetype$secondaryArchSuffix - " - -BUILD_REQUIRES=" - libqt4${secondaryArchSuffix}_devel >= 4.8.0 - boost${secondaryArchSuffix}_devel - devel:libfreetype$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel - cmd:qmake$secondaryArchSuffix - cmd:make - cmd:g++$secondaryArchSuffix - cmd:pkg_config$secondaryArchSuffix - " - -BUILD() -{ - qmake - make $jobArgs -} - -INSTALL() -{ - mkdir -p $appsDir/LibreCAD $binDir - - cd unix - strip librecad - addResourcesToBinaries ../haiku/LibreCAD.rdef librecad - - cp librecad $appsDir/LibreCAD/LibreCAD - cp -R appdata resources $appsDir/LibreCAD - cp ttf2lff $binDir - - addAppDeskbarSymlink $appsDir/LibreCAD/LibreCAD "LibreCAD" -} diff --git a/media-gfx/librecad/librecad-2.1.3.recipe b/media-gfx/librecad/librecad-2.1.3.recipe index bb5e1d668..45091ff0c 100644 --- a/media-gfx/librecad/librecad-2.1.3.recipe +++ b/media-gfx/librecad/librecad-2.1.3.recipe @@ -1,19 +1,18 @@ -SUMMARY="A 2D CAD drawing tool" -DESCRIPTION="LibreCAD is a 2D CAD drawing tool based on the community edition \ -of QCAD (http://www.qcad.org). - -LibreCAD has been re-structured, ported to new Qt versions and works natively \ -cross platform between OS X, Windows, Linux and Haiku." -HOMEPAGE="http://librecad.org" -COPYRIGHT="2015 LibreCAD" +SUMMARY="A 2D CAD drawing program" +DESCRIPTION="LibreCAD is a cross-platform 2D CAD program written in C++11 \ +using the Qt framework. It can read DXF and DWG files and can write DXF, PDF \ +and SVG files. The user interface is highly customizable, and has dozens of \ +translations. +HOMEPAGE="http://librecad.org/" +COPYRIGHT="2017 LibreCAD" LICENSE="GNU GPL v2" -REVISION="1" -SOURCE_URI="https://github.com/LibreCAD/LibreCAD/archive/2.1.3.tar.gz" +REVISION="2" +SOURCE_URI="https://github.com/LibreCAD/LibreCAD/archive/$portVersion.tar.gz" CHECKSUM_SHA256="74c4ede409b13d0365c65c0cd52dba04f1049530f6df706dc905443d5e60db06" PATCHES="librecad-$portVersion.patchset" -SOURCE_DIR="LibreCAD-2.1.3" +SOURCE_DIR="LibreCAD-$portVersion" -ARCHITECTURES="!x86_gcc2 x86 ?x86_64" +ARCHITECTURES="!x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86" PROVIDES=" @@ -22,15 +21,16 @@ PROVIDES=" cmd:ttf2lff$secondaryArchSuffix = $portVersion " REQUIRES=" - haiku${secondaryArchSuffix} - libqt4$secondaryArchSuffix >= 4.8.0 + haiku$secondaryArchSuffix + lib:libqt5$secondaryArchSuffix lib:libfreetype$secondaryArchSuffix " BUILD_REQUIRES=" - libqt4${secondaryArchSuffix}_devel >= 4.8.0 boost${secondaryArchSuffix}_devel devel:libfreetype$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + devel:libqt5$secondaryArchSuffix " BUILD_PREREQUIRES=" haiku${secondaryArchSuffix}_devel @@ -59,5 +59,5 @@ INSTALL() cp -R appdata resources $appsDir/LibreCAD cp ttf2lff $binDir - addAppDeskbarSymlink $appsDir/LibreCAD/LibreCAD "LibreCAD" + addAppDeskbarSymlink $appsDir/LibreCAD/LibreCAD } diff --git a/media-gfx/librecad/patches/librecad_x86-2.0.7.patchset b/media-gfx/librecad/patches/librecad_x86-2.0.7.patchset deleted file mode 100644 index 9499f2f8e..000000000 --- a/media-gfx/librecad/patches/librecad_x86-2.0.7.patchset +++ /dev/null @@ -1,153 +0,0 @@ -From d68187bdf171109f880bf13567fa6eff3b885cf8 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Mon, 27 Apr 2015 15:30:28 +1000 -Subject: Fix Haiku build - - -diff --git a/librecad/src/boost.pri b/librecad/src/boost.pri -index 3362f89..c6b3a0d 100644 ---- a/librecad/src/boost.pri -+++ b/librecad/src/boost.pri -@@ -3,7 +3,7 @@ - # XXX: this will not play nice with the win case as-is - BOOST_LIBS = - --unix { -+unix:!haiku { - defineTest( checkBoostIncDir ) { - - boostIncDir = $${1} -diff --git a/librecad/src/lib/generators/lc_makercamsvg.cpp b/librecad/src/lib/generators/lc_makercamsvg.cpp -index acb3717..a8bc8c9 100644 ---- a/librecad/src/lib/generators/lc_makercamsvg.cpp -+++ b/librecad/src/lib/generators/lc_makercamsvg.cpp -@@ -55,6 +55,22 @@ - #include "rs_utility.h" - #include "rs_math.h" - -+#ifdef __HAIKU__ -+ -+#include -+#include -+ -+namespace patch -+{ -+ template < typename T > std::string to_string( const T& n ) -+ { -+ std::ostringstream stm ; -+ stm << n ; -+ return stm.str() ; -+ } -+} -+#endif -+ - namespace { - const std::string NAMESPACE_URI_SVG = "http://www.w3.org/2000/svg"; - const std::string NAMESPACE_URI_LC = "http://www.librecad.org"; -@@ -158,7 +174,11 @@ void LC_MakerCamSVG::writeBlock(RS_Block* block) { - - xmlWriter->addElement("g", NAMESPACE_URI_SVG); - -- xmlWriter->addAttribute("id", std::to_string(block->getId())); -+#ifndef __HAIKU__ -+ xmlWriter->addAttribute("id", std::to_string(block->getId())); -+#else -+ xmlWriter->addAttribute("id", patch::to_string(block->getId())); -+#endif - xmlWriter->addAttribute("blockname", qPrintable(block->getName()), NAMESPACE_URI_LC); - - writeLayers(block); -@@ -299,7 +319,11 @@ void LC_MakerCamSVG::writeInsert(RS_Insert* insert) { - - xmlWriter->addAttribute("x", numXml(insertionpoint.x)); - xmlWriter->addAttribute("y", numXml(insertionpoint.y - (max.y - min.y))); -+#ifndef __HAIKU__ - xmlWriter->addAttribute("href", "#" + std::to_string(block->getId()), NAMESPACE_URI_XLINK); -+#else -+ xmlWriter->addAttribute("href", "#" + patch::to_string(block->getId()), NAMESPACE_URI_XLINK); -+#endif - - xmlWriter->closeElement(); - } --- -2.2.2 - - -From 0bfb7d8ca97500685c836ab263dcec85032855c7 Mon Sep 17 00:00:00 2001 -From: Gerasim Troeglazov <3dEyes@gmail.com> -Date: Mon, 27 Apr 2015 18:44:16 +1000 -Subject: Add resource file for Haiku - - -diff --git a/haiku/LibreCAD.rdef b/haiku/LibreCAD.rdef -new file mode 100644 -index 0000000..fe99be0 ---- /dev/null -+++ b/haiku/LibreCAD.rdef -@@ -0,0 +1,63 @@ -+resource app_signature "application/x-vnd.LibreCAD"; -+resource app_flags B_SINGLE_LAUNCH; -+resource app_version { -+ major = 2, -+ middle = 0, -+ minor = 7, -+ -+ /* Application "variety" can be set to one of the following: -+ * B_APPV_DEVELOPMENT, -+ * B_APPV_ALPHA, -+ * B_APPV_BETA, -+ * B_APPV_GAMMA, -+ * B_APPV_GOLDEN_MASTER, -+ * B_APPV_FINAL -+ */ -+ variety = B_APPV_DEVELOPMENT, -+ internal = 0, -+ -+ short_info = "LibreCAD", -+ long_info = "LibreCAD" -+}; -+ -+resource file_types message { -+ "types" = "application/x-dxf", -+ "types" = "application/x-dwg" -+}; -+ -+resource vector_icon array { -+ $"6E63696602038ED900054D070606FD0F20B61720B61720B618B3F2B617B5D6B6" -+ $"17B4E4B618B5EBB615B615B618B600B600B618B5D6B617B5EBB618B4E4B61720" -+ $"B617B3F2B61820B6170606F30FC96220C961B3BFC96220CC79CC79B617CC79B6" -+ $"17CB87B618C9A3B617CA95B617C98EB618C963B615C978B618C95FB5CDC961B5" -+ $"3DC963B585C962B47E0211B9F5B462B892B516BB78B39CBED6B308BD24B326BF" -+ $"38B301BFFCB303BF9AB304C091B302C1B8B328C125B310C33CB363C608B4A9C4" -+ $"B4B3E8C797B58CCA04B837C8F5B6C5CAEBB971CC01BC4DCB99BAD5CC2DBCEDCC" -+ $"61BE36CC50BD90CB59BE35C94BBE36CA52BE36C909BC7EC72AB987C847BADBC5" -+ $"C4B7D9C1A3B63FC3C8B6AAC133B627C050B613C0C1B61DBF73B607BDBBB644BE" -+ $"94B616BBF4B6A3B8FEB8CBBA4AB786B7E2B9DEB68DBCADB708BB35B57EBCAEB3" -+ $"5EBCADB46EBCAEB3DDBAA5B647B733B4E1B8C0B752B60D0212C94BC143C911C2" -+ $"BECA52C143CC61C143CB59C143CC26C349CA40C6EBCB67C53EC8B9C929C3E3CB" -+ $"C6C675CAE5C2DCCC22C0B4CC6FC1C9CC58C04CCC77BF7DCC75BFE5CC75BF25CC" -+ $"76BE75CC68BECDCC72BD19CC44BA83CB5ABBC2CBEAB8F7CAA7B667C866B78FC9" -+ $"A5B4F1C6D3B35FC2CBB3E1C4E1B46EC2CBB68EC2CBB57EC2CBB6B7C34FB730C4" -+ $"47B6F0C3CDB7A1C51CB8DBC68BB831C5E0BA15C7C9BD58C91FBBA6C8B1BDF0C9" -+ $"46BF29C968BE8CC95DC002C974C1B0C939C0DBC963C2FBC8F5C54CC7A9C437C8" -+ $"6CC62FC709C799C562C6F7C644C879C42B0606FF0320C96220C962B3F2C960B5" -+ $"D6C961B4E4C962B5EBC961B615C963B600C960B618C978B617C9A3B618C98EB6" -+ $"17CA95B617CC79B618CB87B617CC792006067F0FC963C963C95EC9A3C9A3C95F" -+ $"CA22C961C9E3C963CAEAC962CC79C962CBB2C961CC79C962CC79C962CC79C962" -+ $"CC79C960CBB2C961CA22C962CAEAC963C9E3021220BCAE20BCAEB31FBCAEB35E" -+ $"BCADB33FBCAEB46EBCAEB68DBCADB57EBCAEB767BCB0B91CBCAFB842BCACB91D" -+ $"BD27B91CBE18B91CBDA0B91CBE22B91FBE35B91DBE2CBE83BE36C94BBE36C3E7" -+ $"BE35CA52BE36CC61BE36CB59BE35CC69BE36CC79BE37CC71BE36CC79BE37CC79" -+ $"C142CC79C142CC71C142CC61C143CC69C143CB59C143C94BC143CA52C143C3E7" -+ $"C143B91FC143BE83C143B91DC14DB91CC160B91CC157B91CC1D9B91CC2CAB91D" -+ $"C251B842C2CDB68EC2CBB768C2C9B57EC2CBB35FC2CBB46EC2CBB33FC2CA20C2" -+ $"CBB31FC2CA20C2CB070A000100023F9FE80000000000003F9FE8430000430000" -+ $"0A000101023F9FE80000000000003F9FE84300004300000A000102023F9FE800" -+ $"00000000003F9FE84300004300000A000103023F9FE80000000000003F9FE843" -+ $"00004300000A000104023F9FE80000000000003F9FE84300004300000A000105" -+ $"023F9FE80000000000003F9FE84300004300000A010106023F9FE80000000000" -+ $"003F9FE8430000430000" -+}; --- -2.2.2 -