From 92f93061eec905b6a2a990cdcefdf1adff6c0ff5 Mon Sep 17 00:00:00 2001 From: Nathan Owens Date: Wed, 27 Nov 2019 16:51:51 -0600 Subject: [PATCH] LibreCAD: fix linking issue Added patch to fix multiple defintions during linking Closes #16508 Signed-off-by: Nathan Owens --- ...ild-issue-as-reported-in-1111-and-11.patch | 234 ++++++++++++++++++ srcpkgs/LibreCAD/template | 4 +- 2 files changed, 236 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/LibreCAD/patches/0001-fix-for-GCC-9-build-issue-as-reported-in-1111-and-11.patch diff --git a/srcpkgs/LibreCAD/patches/0001-fix-for-GCC-9-build-issue-as-reported-in-1111-and-11.patch b/srcpkgs/LibreCAD/patches/0001-fix-for-GCC-9-build-issue-as-reported-in-1111-and-11.patch new file mode 100644 index 0000000000..62bdec0c26 --- /dev/null +++ b/srcpkgs/LibreCAD/patches/0001-fix-for-GCC-9-build-issue-as-reported-in-1111-and-11.patch @@ -0,0 +1,234 @@ +From b9bfa0ab6e5152f9f8de8d91f7818a3eb3020e85 Mon Sep 17 00:00:00 2001 +From: Armin Stebich +Date: Mon, 10 Jun 2019 23:06:24 +0200 +Subject: [PATCH] fix for GCC 9 build issue, as reported in #1111 and #1117 + +--- + librecad/src/actions/rs_actiondrawcircletan1_2p.cpp | 5 ----- + librecad/src/actions/rs_actiondrawcircletan1_2p.h | 3 +++ + librecad/src/actions/rs_actiondrawcircletan2.cpp | 4 ---- + librecad/src/actions/rs_actiondrawcircletan2.h | 3 +++ + librecad/src/actions/rs_actiondrawcircletan2_1p.cpp | 4 ---- + librecad/src/actions/rs_actiondrawcircletan2_1p.h | 3 +++ + librecad/src/actions/rs_actiondrawcircletan3.cpp | 4 ---- + librecad/src/actions/rs_actiondrawcircletan3.h | 2 ++ + librecad/src/actions/rs_actiondrawlinerelangle.cpp | 5 ----- + librecad/src/actions/rs_actiondrawlinerelangle.h | 3 +++ + librecad/src/actions/rs_actiondrawlinetangent1.cpp | 6 ------ + librecad/src/actions/rs_actiondrawlinetangent1.h | 6 ++++++ + librecad/src/actions/rs_actiondrawlinetangent2.cpp | 4 ---- + librecad/src/actions/rs_actiondrawlinetangent2.h | 3 +++ + 14 files changed, 23 insertions(+), 32 deletions(-) + +diff --git librecad/src/actions/rs_actiondrawcircletan1_2p.cpp librecad/src/actions/rs_actiondrawcircletan1_2p.cpp +index c14da00e..f305408a 100644 +--- librecad/src/actions/rs_actiondrawcircletan1_2p.cpp ++++ librecad/src/actions/rs_actiondrawcircletan1_2p.cpp +@@ -36,11 +36,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + #include "rs_preview.h" + #include "rs_debug.h" + +-namespace{ +-//list of entity types supported by current action +-auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; +-} +- + struct RS_ActionDrawCircleTan1_2P::Points { + std::vector points; + RS_CircleData cData; +diff --git librecad/src/actions/rs_actiondrawcircletan1_2p.h librecad/src/actions/rs_actiondrawcircletan1_2p.h +index a6f40a6e..b5976c9f 100644 +--- librecad/src/actions/rs_actiondrawcircletan1_2p.h ++++ librecad/src/actions/rs_actiondrawcircletan1_2p.h +@@ -79,6 +79,9 @@ protected: + private: + struct Points; + std::unique_ptr pPoints; ++ ++ //list of entity types supported by current action ++ const std::initializer_list enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; + }; + + #endif +diff --git librecad/src/actions/rs_actiondrawcircletan2.cpp librecad/src/actions/rs_actiondrawcircletan2.cpp +index d0558f05..820e4226 100644 +--- librecad/src/actions/rs_actiondrawcircletan2.cpp ++++ librecad/src/actions/rs_actiondrawcircletan2.cpp +@@ -33,10 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + #include "rs_preview.h" + #include "rs_debug.h" + +-namespace { +-auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; +-} +- + struct RS_ActionDrawCircleTan2::Points { + RS_CircleData cData; + RS_Vector coord; +diff --git librecad/src/actions/rs_actiondrawcircletan2.h librecad/src/actions/rs_actiondrawcircletan2.h +index bed56897..5b2040e9 100644 +--- librecad/src/actions/rs_actiondrawcircletan2.h ++++ librecad/src/actions/rs_actiondrawcircletan2.h +@@ -77,6 +77,9 @@ protected: + private: + struct Points; + std::unique_ptr pPoints; ++ ++ //list of entity types supported by current action ++ const std::initializer_list enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; + }; + + #endif +diff --git librecad/src/actions/rs_actiondrawcircletan2_1p.cpp librecad/src/actions/rs_actiondrawcircletan2_1p.cpp +index 324c1668..51cd29a1 100644 +--- librecad/src/actions/rs_actiondrawcircletan2_1p.cpp ++++ librecad/src/actions/rs_actiondrawcircletan2_1p.cpp +@@ -35,10 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + #include "rs_preview.h" + #include "rs_debug.h" + +-namespace { +-auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; +-} +- + struct RS_ActionDrawCircleTan2_1P::Points { + RS_Vector point; + RS_CircleData cData; +diff --git librecad/src/actions/rs_actiondrawcircletan2_1p.h librecad/src/actions/rs_actiondrawcircletan2_1p.h +index 40c23903..e44a56c3 100644 +--- librecad/src/actions/rs_actiondrawcircletan2_1p.h ++++ librecad/src/actions/rs_actiondrawcircletan2_1p.h +@@ -73,6 +73,9 @@ protected: + private: + struct Points; + std::unique_ptr pPoints; ++ ++ //list of entity types supported by current action ++ const std::initializer_list enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; + }; + + #endif +diff --git librecad/src/actions/rs_actiondrawcircletan3.cpp librecad/src/actions/rs_actiondrawcircletan3.cpp +index 026ed30e..eaca13d6 100644 +--- librecad/src/actions/rs_actiondrawcircletan3.cpp ++++ librecad/src/actions/rs_actiondrawcircletan3.cpp +@@ -35,10 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + #include "rs_preview.h" + #include "rs_debug.h" + +-namespace { +-auto enTypeList={RS2::EntityArc, RS2::EntityCircle, RS2::EntityLine, RS2::EntityPoint}; +-} +- + struct RS_ActionDrawCircleTan3::Points { + std::vector circles; + std::shared_ptr cData{std::make_shared()}; +diff --git librecad/src/actions/rs_actiondrawcircletan3.h librecad/src/actions/rs_actiondrawcircletan3.h +index d0cabfa2..3201c5f8 100644 +--- librecad/src/actions/rs_actiondrawcircletan3.h ++++ librecad/src/actions/rs_actiondrawcircletan3.h +@@ -78,6 +78,8 @@ public: + struct Points; + std::unique_ptr pPoints; + ++ //list of entity types supported by current action ++ const std::initializer_list enTypeList {RS2::EntityArc, RS2::EntityCircle, RS2::EntityLine, RS2::EntityPoint}; + }; + + #endif +diff --git librecad/src/actions/rs_actiondrawlinerelangle.cpp librecad/src/actions/rs_actiondrawlinerelangle.cpp +index 8415dd60..b9ce996f 100644 +--- librecad/src/actions/rs_actiondrawlinerelangle.cpp ++++ librecad/src/actions/rs_actiondrawlinerelangle.cpp +@@ -38,11 +38,6 @@ + #include "rs_preview.h" + #include "rs_debug.h" + +-namespace { +-auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle, +- RS2::EntityEllipse}; +-} +- + RS_ActionDrawLineRelAngle::RS_ActionDrawLineRelAngle( + RS_EntityContainer& container, + RS_GraphicView& graphicView, +diff --git librecad/src/actions/rs_actiondrawlinerelangle.h librecad/src/actions/rs_actiondrawlinerelangle.h +index 1e102792..71e5185b 100644 +--- librecad/src/actions/rs_actiondrawlinerelangle.h ++++ librecad/src/actions/rs_actiondrawlinerelangle.h +@@ -110,6 +110,9 @@ private: + * Is the angle fixed? + */ + bool fixedAngle; ++ ++ //list of entity types supported by current action ++ const std::initializer_list enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle,RS2::EntityEllipse}; + }; + + #endif +diff --git librecad/src/actions/rs_actiondrawlinetangent1.cpp librecad/src/actions/rs_actiondrawlinetangent1.cpp +index 197b0cb6..47a93c76 100644 +--- librecad/src/actions/rs_actiondrawlinetangent1.cpp ++++ librecad/src/actions/rs_actiondrawlinetangent1.cpp +@@ -36,12 +36,6 @@ + #include "rs_preview.h" + #include "rs_debug.h" + +-namespace{ +-auto circleType={RS2::EntityArc, RS2::EntityCircle, +- RS2::EntityEllipse, RS2::EntitySplinePoints +- }; +-} +- + RS_ActionDrawLineTangent1::RS_ActionDrawLineTangent1( + RS_EntityContainer& container, + RS_GraphicView& graphicView) +diff --git librecad/src/actions/rs_actiondrawlinetangent1.h librecad/src/actions/rs_actiondrawlinetangent1.h +index 0f76b368..d20d302d 100644 +--- librecad/src/actions/rs_actiondrawlinetangent1.h ++++ librecad/src/actions/rs_actiondrawlinetangent1.h +@@ -66,6 +66,12 @@ private: + std::unique_ptr point; + /** Chosen entity */ + RS_Entity* circle; ++ ++ //list of entity types supported by current action ++ const std::initializer_list circleType { RS2::EntityArc, ++ RS2::EntityCircle, ++ RS2::EntityEllipse, ++ RS2::EntitySplinePoints }; + }; + + #endif +diff --git librecad/src/actions/rs_actiondrawlinetangent2.cpp librecad/src/actions/rs_actiondrawlinetangent2.cpp +index fed3545e..0f1600e5 100644 +--- librecad/src/actions/rs_actiondrawlinetangent2.cpp ++++ librecad/src/actions/rs_actiondrawlinetangent2.cpp +@@ -35,10 +35,6 @@ + #include "rs_preview.h" + #include "rs_debug.h" + +-namespace{ +-auto circleType={RS2::EntityArc, RS2::EntityCircle, RS2::EntityEllipse}; +-} +- + RS_ActionDrawLineTangent2::RS_ActionDrawLineTangent2( + RS_EntityContainer& container, + RS_GraphicView& graphicView) +diff --git librecad/src/actions/rs_actiondrawlinetangent2.h librecad/src/actions/rs_actiondrawlinetangent2.h +index b0d884cd..95d82465 100644 +--- librecad/src/actions/rs_actiondrawlinetangent2.h ++++ librecad/src/actions/rs_actiondrawlinetangent2.h +@@ -68,6 +68,9 @@ private: + /** 2nd chosen entity */ + RS_Entity* circle2; + bool valid; ++ ++ //list of entity types supported by current action ++ const std::initializer_list circleType {RS2::EntityArc, RS2::EntityCircle, RS2::EntityEllipse}; + }; + + #endif +-- +2.24.0 + diff --git a/srcpkgs/LibreCAD/template b/srcpkgs/LibreCAD/template index eddc4b656c..26202b4a8b 100644 --- a/srcpkgs/LibreCAD/template +++ b/srcpkgs/LibreCAD/template @@ -1,13 +1,13 @@ # Template file for 'LibreCAD' pkgname=LibreCAD version=2.1.3 -revision=2 +revision=3 build_style=qmake hostmakedepends="qt5-qmake pkg-config ImageMagick" makedepends="qt5-devel qt5-svg-devel boost-devel muparser-devel librsvg-devel" short_desc="2D Computer-aided design (CAD) software" maintainer="Steve Prybylski " -license="GPL-2" +license="GPL-2.0-only" homepage="http://librecad.org" distfiles="https://github.com/${pkgname}/${pkgname}/archive/${version}.tar.gz" checksum=74c4ede409b13d0365c65c0cd52dba04f1049530f6df706dc905443d5e60db06