From 34d0e70bf24dd59709e36770787336a5160e900d Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Fri, 15 Feb 2019 16:06:34 -0500 Subject: [PATCH] 2019.01-RC2 --- openscad-boost-1.69.patch | 19 -- openscad-issue-1867.patch | 411 ------------------------------------ openscad-polyclipping.patch | 65 ++---- openscad.spec | 35 +-- sources | 3 +- 5 files changed, 47 insertions(+), 486 deletions(-) delete mode 100644 openscad-boost-1.69.patch delete mode 100644 openscad-issue-1867.patch diff --git a/openscad-boost-1.69.patch b/openscad-boost-1.69.patch deleted file mode 100644 index 7c4ae57..0000000 --- a/openscad-boost-1.69.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit c68684f9520d6c241dd5d96e57a0020837504a32 -Author: Marius Kintel -Date: Sun Oct 21 12:02:50 2018 -0400 - - Build fix for boost 1.69 - -diff --git a/src/CSGTermEvaluator.cc b/src/CSGTermEvaluator.cc -index 6416f29b..b3753cf4 100644 ---- a/src/CSGTermEvaluator.cc -+++ b/src/CSGTermEvaluator.cc -@@ -109,7 +109,7 @@ static shared_ptr evaluate_csg_term_from_geometry(const State &state, - shared_ptr ps = dynamic_pointer_cast(geom); - // Since is_convex() doesn't handle non-planar faces, we need to tessellate - // also in the indeterminate state so we cannot just use a boolean comparison. See #1061 -- bool convex = ps->convexValue(); -+ bool convex{ps->convexValue()}; - if (ps && !convex) { - assert(ps->getDimension() == 3); - PolySet *ps_tri = new PolySet(3, ps->convexValue()); diff --git a/openscad-issue-1867.patch b/openscad-issue-1867.patch deleted file mode 100644 index 028dc32..0000000 --- a/openscad-issue-1867.patch +++ /dev/null @@ -1,411 +0,0 @@ -From 6a09a4c72e4702b2dae9242b5923b3466a391cb7 Mon Sep 17 00:00:00 2001 -From: Marius Kintel -Date: Thu, 17 Nov 2016 13:24:31 -0500 -Subject: [PATCH] #1867 Fixed problem with vertices having an evil, - downscaled-to-float, twin, if a polyhedron contains occasional non-planar - polygons - ---- - src/polyset-utils.cc | 21 +++++++-------- - testdata/scad/3D/issues/issue1867.scad | 25 ++++++++++++++++++ - .../cgalpngtest/issue1867-expected.png | Bin 0 -> 6896 bytes - .../opencsgtest/issue1867-expected.png | Bin 0 -> 6896 bytes - .../throwntogethertest/issue1867-expected.png | Bin 0 -> 6896 bytes - 5 files changed, 34 insertions(+), 12 deletions(-) - create mode 100644 testdata/scad/3D/issues/issue1867.scad - create mode 100644 tests/regression/cgalpngtest/issue1867-expected.png - create mode 100644 tests/regression/opencsgtest/issue1867-expected.png - create mode 100644 tests/regression/throwntogethertest/issue1867-expected.png - -diff --git a/src/polyset-utils.cc b/src/polyset-utils.cc -index 57671a76..f98503ba 100644 ---- a/src/polyset-utils.cc -+++ b/src/polyset-utils.cc -@@ -62,10 +62,6 @@ namespace PolysetUtils { - degeneratePolygons++; - continue; - } -- if (pgon.size() == 3) { // Short-circuit -- outps.append_poly(pgon); -- continue; -- } - - polygons.push_back(std::vector()); - std::vector &faces = polygons.back(); -@@ -88,18 +84,19 @@ namespace PolysetUtils { - std::vector allTriangles; - BOOST_FOREACH(const std::vector &faces, polygons) { - std::vector triangles; -+ bool err = false; - if (faces[0].size() == 3) { - triangles.push_back(IndexedTriangle(faces[0][0], faces[0][1], faces[0][2])); - } - else { -- bool err = GeometryUtils::tessellatePolygonWithHoles(verts, faces, triangles, NULL); -- if (!err) { -- BOOST_FOREACH(const IndexedTriangle &t, triangles) { -- outps.append_poly(); -- outps.append_vertex(verts[t[0]]); -- outps.append_vertex(verts[t[1]]); -- outps.append_vertex(verts[t[2]]); -- } -+ err = GeometryUtils::tessellatePolygonWithHoles(verts, faces, triangles, NULL); -+ } -+ if (!err) { -+ BOOST_FOREACH(const IndexedTriangle &t, triangles) { -+ outps.append_poly(); -+ outps.append_vertex(verts[t[0]]); -+ outps.append_vertex(verts[t[1]]); -+ outps.append_vertex(verts[t[2]]); - } - } - } -diff --git a/testdata/scad/3D/issues/issue1867.scad b/testdata/scad/3D/issues/issue1867.scad -new file mode 100644 -index 00000000..7e503ec3 ---- /dev/null -+++ b/testdata/scad/3D/issues/issue1867.scad -@@ -0,0 +1,25 @@ -+polyhedron(points = [ -+[78.1831, 62.349, 10], -+[97.4928, -22.2521, -5], -+[-97.4928, -22.2521, 5], -+[-78.1831, 62.349, -10], -+[78.1831, 62.349, 200], -+[97.4928, -22.2521, 200], -+[-97.4928, -22.2521, 200], -+[-78.1831, 62.349, 200] -+], -+faces = [ -+[0, 1, 4], -+[1, 2, 5], -+[2, 3, 6], -+[3, 0, 7], -+[5, 4, 1], -+[6, 5, 2], -+[7, 6, 3], -+[4, 7, 0], -+[4, 5, 6], -+[4, 6, 7], -+ -+[3, 2, 1, 0], -+ -+]); -diff --git a/tests/regression/cgalpngtest/issue1867-expected.png b/tests/regression/cgalpngtest/issue1867-expected.png -new file mode 100644 -index 0000000000000000000000000000000000000000..bcbad45356a9741a8100a8f0b4dd204488b84a49 -GIT binary patch -literal 6896 -zcmeHMc|4SR+rRI-dl*{{iYdiNmN=MBM0J=cdv>Q2p_;TH%aDo+Gt(kEq(z9zR#6g_ -zeVgf|B&BINoD7XrOvzTVFYk3f=b!igcX^)Y^S*!i&VB!u>-zq_*Ydk1xVhLV$S#pZ -z5JbVj-r55}Fn}0BCjJ~&ul<+%;Vfwz=MW-?ZyQ54K^*DGSd`2k+hl_ -z`RCDz`rA*$CUIT8`T6XuX)7**Vn6WMn~}S9b(ma)$Co1`FHjW2Ps@_Ixk-`17*2*K -zFzWxG{QI&oEdxjT5TBi7&qaq6^QWgc+m1H(;p=3gV~1_m}O(Mnbgvm4JTRQOcw -zPvatgJ^JK_`C!hEXIiBgd|hhn=ul@Uik4(PQ^036=~3NtyTl9lXB9M*s=Br^ktlic -zR|!zQ%ER^v);67yy_XZ7G#wa7F -zK6jYg3mP==y6!dicGeVPEKy^PGOQvaA(c;yIJ1M_R~j!!Cbb;tQ=B;{tk_g_=K?oe -zEYo`L1;&w&S=ff-0@KCCV@mYlqfOpz4dMxTGWQD0NNmjN9yE(+oR7|3;?L{rbtDO1 -zsMiN+vbrnWN+17*D$nUZZ!yCKF7!0MB7H!7HY%r%n&-aS{)oVb)J5tw)8`k -zg-$&K8@W}1buEf#ixug^;tj(d(mZu5zSX6^pH?ERpZ7exkUp-k%CO9kC1Fn;i19=Y -ze0qMjGCV8KwQzG_cjM=4Nc`*H!!M?ff4JR0Qp3&B_`ZRHteSdNsjtjmRq)9YOlK&` -z4%Z{(mvKEd>Eq8G499c0IdhusrE)m4^vu$mjg^eto~y4ho!P)Yn&imbCI$2Ix&+R% -z=i7Qo@-yG#!naV6@FRDBOGw~f|4?@o2zKpk3X+3ymBcvb$9?l~`5E+yVmSp-tR5O$ -z;xw&yMQ`h=gdO+#XN|HQLd*tqABaXz!KM#$zj#`r@?UBb807XfZ6v4ZzBM*tMWk*C -zyL;?>*?>A~#Yx^$6+~j*Pt6>Eu4i~)BZ!3OIj{u{EBW+zW`lXfK?;3jeRiss2l6%e -zJDWfIgE8yhYhk1-1Ua$gy$`NMOKQGzCfYbh>h0ve#zj0_i(1WH&Z-eBQjo#yj&H9t -zRt-g8Ur~9o*;E>YFfSnVtu_rg6kZo`cL6?_9rd|@o5R`M5@QEPuUJ+w7SF5D*GdZ0q?lk>N@8`_g=WViqBvCrJ_R|TNlHbJKA-qu&mf*SZieL -z+YmJ;(am%m7v5cFNjcD<)Uq-g9f_Mwsa -z8ssxiAJx4OCX3WAcG74_D05#-!UDX=rm@JsJNbV3uN)K=ipQVM_v?~%s!UUu2{Uwe -z(}HK@Z<3#5jSg(S^C1Qzz}L}EiGsLSzn}M@!-YB-G1G5p!$h2R@~dwyz&!)K`8&HS -zRLZtnqI_~W-~VW=YVh0_M(2Carr2)tnWP*}27MTdRs0(AJsOJ&Qj#oUsIGe}uROOR -zThyjPL1ZTTdNRE(9z-Iz$U{lWoEgM8J;Pjc$0 -z(V`T1v?92D?7U+PjXun;=;X_oC{vKp-!B(jtK=eH(-vrnZ|UL}|k%HC`X)%6aHHYk21L!nVTnMgx_ -z(o-^pCj5;Fv0P>jCAJ%iZe^YOVt~~E@6@X3GPz7&6s1&{>1zS>gdChTHV`{!F+hW# -z=J4i@w(N2yS3pHk`s24oIGIA$r6GTmS#JPH)uJJf%|$1ne7^_9R;D@`OTPVR9$B&w -zW*{&Fd8-1$;`M0A@XuQlk6M!QNDTu|vB4?md -z0IY^Zq!6rL#jvik1D!KDq7G~L$%HpO%|Xn@O`d*6sTm2wVd*H}Jw4HEc1-M~qwUXcn+_2pz`kinC -zSk2z6cM{?CU}>isdxDJaXCq!WF3u-*kAdB@(hA|UOA{GW)Va8b| -z#D2heC4fRJCNknyrUR3eU^4FPu^iwLfa1HW6?ED9P&24A|Wsw5ep` -zkN{Ak2}&yPz5quc14nR7XXQCUNdOo87Ni79;&Bms;R9vpD(___stI)U96)L2IWK7)LD|6{)+P|*YjxPM--E5NM)Q)^?ub~^MsPNCd> -z0y;90XXh)7!FHX0)XNfrj=dnNt=~qqnc2mHPw(#zN=PQSLkaE0g5&&CE<`JC1+u1OW`bhR?qDJx2XmAm{<_X`5%Y!~9WeBx -zD&>D_+1?{jk(`0pNQg;R1{X=UW$z-GSwumgfVhBdfk4NSn4u)&9eljl?J!Qh46@Qi -zJBfFd_@DUBh5+X;d@D1JW?+?yb{ -z&zCO%R*wOzECu)Z0Br%fzZ!*zX3`b0X6abr>j+wlWFgwT#bJ`|En3EKgtb3+}$U~5p9Vs*9@Kqr98 -z!Vm{Am<+aWRDANGR>O9 -zwZ!CuBwSEkckpLeG8j^ovpO4gXKjOe5X!!i2sUK`9Tyri!38g_8Xh?sDfU|w -zM37Jb2lzB(HJI4|jaK*(#XIMl+l=4u^Pr$uKM=a!(E!pr?IOhIpGJ?AXhY{9NQUzq -zYv<-LOpr$iKNm7kz=vf-nZN|A|J9#lzg!&_DGtzVCcKB}q~alJgakmoFW2R&WB3_4 -zsE)~E-$57Dt+>~P$gyG)&XwkYe>RW=UOryG296!)`V-RnSAN2*@$VX_@ATe6WU5HW -z%U8^QNTn6;@MtR@_aO4UN3R9P3k`cGlm!{ugLpm4onHbpH>M#iYTks$E5YNZWghdAV3)pJD{DlFX>y*6$;lBRil@vF#NQ -z6A#VN@<_W7fD%0#vaZ{kAm$u!^l_koXpWWvgeIP7j_yIG=~z}qG)H+*(&B>x37J9R -zI#-jo2H*jpYgxDhrXA=Kx8|!)H_Tlw}L8AOPqCwAajUYf`(rf6{5KBJy}ZoIb}-(w5HY4l -zJ8%V>Xv7>vG@XeHrqv6$%Z8bG>BckGE -ztz|2C6PWGXw0dbF6Dhr4ssttE*^Ks410*%L&`L2t2Uy5UtT>Crw<#}DjMrq1G)k-* -z_5YUJ6Ft^||JU}r86?3fvq(iRH-ThF$<0hVB_#8gcPreOf(~Qh$FXER)vUd1^!*z?j?}qxC!IsIzlHnOWUo1nyA}N -zQA>3$_a)!YQ~HVnB7dx0fme?8#QMC*D3sx5#6*5+0IRxtNCw;f?hSlZ>668xsNQ(U -zFS$MHm=>^cuKoI`5^}x0zoZGyakoPAmOIFk)>S`LDD*KoleGA8qLR(Qy=wTi^N9b2&XFq+4iP|;nNjo82W>AH>zeN5Sm-T8_{l=yp8 -zFg($+pnDng-SbbULGq)Iy-@Scseq_A44&B!ud7n?ElLo3(Ylk;%Ji}0(7I?q949CF -zZeaNcB;wKGP%nt3BGXva+iD?~PbSTp*SR(Q88cjX{PxZf>A({|XF!PRBx)FT=LzgKJ`kIY9XGQ-+=%0XRTWl|2|TOd -z2=>pDy_2H4LNM#;)VprKE{lr+#h0d_>RnZbtaIv%LeOcR+Swbvej~0sD?TrTcI)KK -z)D6F`nuZZh=G1GSZ0;~LEwvMw%N_~T&Yv@;&S;hOFM6_K7-7Zg^ -zY0}vGNgDR%WrWwJV5?XI8k}D`9J)?(kxJ~s@TXp?*Ko4T;+e%7wx;>e7OreR5OGc} -zW+8oyJy0ztvlQ~T^!ttC)L*0$XN9h5-72t@oay&J-S0i(R?Xew)oTlV;NGNiwJtV} -zN}u#+Xpb7}(~x~8mb>NCr%cr?^AimqZI0fE*|XCRqDt&*p!63c($UO4{10oTbY=qG -zBN$Wn^JX7`7k&zL{pJrD5StaIkAK7Cpit#>++CxlG|!fE`$l1$Kn~Q0<@Kb+_z60S -zCrs8JG=jQWxTEt{h$;-J(Ak>K+yxq=nvCt&g&{9GkNlYi9%zf|ViBABU -zAS?2HXQ*@(SNP7-mv9;&-I|HW?<|*r6}sU*5M|-62rv$8(R{XsxElNdm8e)(pZJQ2p_;TH%aDo+Gt(kEq(z9zR#6g_ -zeVgf|B&BINoD7XrOvzTVFYk3f=b!igcX^)Y^S*!i&VB!u>-zq_*Ydk1xVhLV$S#pZ -z5JbVj-r55}Fn}0BCjJ~&ul<+%;Vfwz=MW-?ZyQ54K^*DGSd`2k+hl_ -z`RCDz`rA*$CUIT8`T6XuX)7**Vn6WMn~}S9b(ma)$Co1`FHjW2Ps@_Ixk-`17*2*K -zFzWxG{QI&oEdxjT5TBi7&qaq6^QWgc+m1H(;p=3gV~1_m}O(Mnbgvm4JTRQOcw -zPvatgJ^JK_`C!hEXIiBgd|hhn=ul@Uik4(PQ^036=~3NtyTl9lXB9M*s=Br^ktlic -zR|!zQ%ER^v);67yy_XZ7G#wa7F -zK6jYg3mP==y6!dicGeVPEKy^PGOQvaA(c;yIJ1M_R~j!!Cbb;tQ=B;{tk_g_=K?oe -zEYo`L1;&w&S=ff-0@KCCV@mYlqfOpz4dMxTGWQD0NNmjN9yE(+oR7|3;?L{rbtDO1 -zsMiN+vbrnWN+17*D$nUZZ!yCKF7!0MB7H!7HY%r%n&-aS{)oVb)J5tw)8`k -zg-$&K8@W}1buEf#ixug^;tj(d(mZu5zSX6^pH?ERpZ7exkUp-k%CO9kC1Fn;i19=Y -ze0qMjGCV8KwQzG_cjM=4Nc`*H!!M?ff4JR0Qp3&B_`ZRHteSdNsjtjmRq)9YOlK&` -z4%Z{(mvKEd>Eq8G499c0IdhusrE)m4^vu$mjg^eto~y4ho!P)Yn&imbCI$2Ix&+R% -z=i7Qo@-yG#!naV6@FRDBOGw~f|4?@o2zKpk3X+3ymBcvb$9?l~`5E+yVmSp-tR5O$ -z;xw&yMQ`h=gdO+#XN|HQLd*tqABaXz!KM#$zj#`r@?UBb807XfZ6v4ZzBM*tMWk*C -zyL;?>*?>A~#Yx^$6+~j*Pt6>Eu4i~)BZ!3OIj{u{EBW+zW`lXfK?;3jeRiss2l6%e -zJDWfIgE8yhYhk1-1Ua$gy$`NMOKQGzCfYbh>h0ve#zj0_i(1WH&Z-eBQjo#yj&H9t -zRt-g8Ur~9o*;E>YFfSnVtu_rg6kZo`cL6?_9rd|@o5R`M5@QEPuUJ+w7SF5D*GdZ0q?lk>N@8`_g=WViqBvCrJ_R|TNlHbJKA-qu&mf*SZieL -z+YmJ;(am%m7v5cFNjcD<)Uq-g9f_Mwsa -z8ssxiAJx4OCX3WAcG74_D05#-!UDX=rm@JsJNbV3uN)K=ipQVM_v?~%s!UUu2{Uwe -z(}HK@Z<3#5jSg(S^C1Qzz}L}EiGsLSzn}M@!-YB-G1G5p!$h2R@~dwyz&!)K`8&HS -zRLZtnqI_~W-~VW=YVh0_M(2Carr2)tnWP*}27MTdRs0(AJsOJ&Qj#oUsIGe}uROOR -zThyjPL1ZTTdNRE(9z-Iz$U{lWoEgM8J;Pjc$0 -z(V`T1v?92D?7U+PjXun;=;X_oC{vKp-!B(jtK=eH(-vrnZ|UL}|k%HC`X)%6aHHYk21L!nVTnMgx_ -z(o-^pCj5;Fv0P>jCAJ%iZe^YOVt~~E@6@X3GPz7&6s1&{>1zS>gdChTHV`{!F+hW# -z=J4i@w(N2yS3pHk`s24oIGIA$r6GTmS#JPH)uJJf%|$1ne7^_9R;D@`OTPVR9$B&w -zW*{&Fd8-1$;`M0A@XuQlk6M!QNDTu|vB4?md -z0IY^Zq!6rL#jvik1D!KDq7G~L$%HpO%|Xn@O`d*6sTm2wVd*H}Jw4HEc1-M~qwUXcn+_2pz`kinC -zSk2z6cM{?CU}>isdxDJaXCq!WF3u-*kAdB@(hA|UOA{GW)Va8b| -z#D2heC4fRJCNknyrUR3eU^4FPu^iwLfa1HW6?ED9P&24A|Wsw5ep` -zkN{Ak2}&yPz5quc14nR7XXQCUNdOo87Ni79;&Bms;R9vpD(___stI)U96)L2IWK7)LD|6{)+P|*YjxPM--E5NM)Q)^?ub~^MsPNCd> -z0y;90XXh)7!FHX0)XNfrj=dnNt=~qqnc2mHPw(#zN=PQSLkaE0g5&&CE<`JC1+u1OW`bhR?qDJx2XmAm{<_X`5%Y!~9WeBx -zD&>D_+1?{jk(`0pNQg;R1{X=UW$z-GSwumgfVhBdfk4NSn4u)&9eljl?J!Qh46@Qi -zJBfFd_@DUBh5+X;d@D1JW?+?yb{ -z&zCO%R*wOzECu)Z0Br%fzZ!*zX3`b0X6abr>j+wlWFgwT#bJ`|En3EKgtb3+}$U~5p9Vs*9@Kqr98 -z!Vm{Am<+aWRDANGR>O9 -zwZ!CuBwSEkckpLeG8j^ovpO4gXKjOe5X!!i2sUK`9Tyri!38g_8Xh?sDfU|w -zM37Jb2lzB(HJI4|jaK*(#XIMl+l=4u^Pr$uKM=a!(E!pr?IOhIpGJ?AXhY{9NQUzq -zYv<-LOpr$iKNm7kz=vf-nZN|A|J9#lzg!&_DGtzVCcKB}q~alJgakmoFW2R&WB3_4 -zsE)~E-$57Dt+>~P$gyG)&XwkYe>RW=UOryG296!)`V-RnSAN2*@$VX_@ATe6WU5HW -z%U8^QNTn6;@MtR@_aO4UN3R9P3k`cGlm!{ugLpm4onHbpH>M#iYTks$E5YNZWghdAV3)pJD{DlFX>y*6$;lBRil@vF#NQ -z6A#VN@<_W7fD%0#vaZ{kAm$u!^l_koXpWWvgeIP7j_yIG=~z}qG)H+*(&B>x37J9R -zI#-jo2H*jpYgxDhrXA=Kx8|!)H_Tlw}L8AOPqCwAajUYf`(rf6{5KBJy}ZoIb}-(w5HY4l -zJ8%V>Xv7>vG@XeHrqv6$%Z8bG>BckGE -ztz|2C6PWGXw0dbF6Dhr4ssttE*^Ks410*%L&`L2t2Uy5UtT>Crw<#}DjMrq1G)k-* -z_5YUJ6Ft^||JU}r86?3fvq(iRH-ThF$<0hVB_#8gcPreOf(~Qh$FXER)vUd1^!*z?j?}qxC!IsIzlHnOWUo1nyA}N -zQA>3$_a)!YQ~HVnB7dx0fme?8#QMC*D3sx5#6*5+0IRxtNCw;f?hSlZ>668xsNQ(U -zFS$MHm=>^cuKoI`5^}x0zoZGyakoPAmOIFk)>S`LDD*KoleGA8qLR(Qy=wTi^N9b2&XFq+4iP|;nNjo82W>AH>zeN5Sm-T8_{l=yp8 -zFg($+pnDng-SbbULGq)Iy-@Scseq_A44&B!ud7n?ElLo3(Ylk;%Ji}0(7I?q949CF -zZeaNcB;wKGP%nt3BGXva+iD?~PbSTp*SR(Q88cjX{PxZf>A({|XF!PRBx)FT=LzgKJ`kIY9XGQ-+=%0XRTWl|2|TOd -z2=>pDy_2H4LNM#;)VprKE{lr+#h0d_>RnZbtaIv%LeOcR+Swbvej~0sD?TrTcI)KK -z)D6F`nuZZh=G1GSZ0;~LEwvMw%N_~T&Yv@;&S;hOFM6_K7-7Zg^ -zY0}vGNgDR%WrWwJV5?XI8k}D`9J)?(kxJ~s@TXp?*Ko4T;+e%7wx;>e7OreR5OGc} -zW+8oyJy0ztvlQ~T^!ttC)L*0$XN9h5-72t@oay&J-S0i(R?Xew)oTlV;NGNiwJtV} -zN}u#+Xpb7}(~x~8mb>NCr%cr?^AimqZI0fE*|XCRqDt&*p!63c($UO4{10oTbY=qG -zBN$Wn^JX7`7k&zL{pJrD5StaIkAK7Cpit#>++CxlG|!fE`$l1$Kn~Q0<@Kb+_z60S -zCrs8JG=jQWxTEt{h$;-J(Ak>K+yxq=nvCt&g&{9GkNlYi9%zf|ViBABU -zAS?2HXQ*@(SNP7-mv9;&-I|HW?<|*r6}sU*5M|-62rv$8(R{XsxElNdm8e)(pZJQ2p_;TH%aDo+Gt(kEq(z9zR#6g_ -zeVgf|B&BINoD7XrOvzTVFYk3f=b!igcX^)Y^S*!i&VB!u>-zq_*Ydk1xVhLV$S#pZ -z5JbVj-r55}Fn}0BCjJ~&ul<+%;Vfwz=MW-?ZyQ54K^*DGSd`2k+hl_ -z`RCDz`rA*$CUIT8`T6XuX)7**Vn6WMn~}S9b(ma)$Co1`FHjW2Ps@_Ixk-`17*2*K -zFzWxG{QI&oEdxjT5TBi7&qaq6^QWgc+m1H(;p=3gV~1_m}O(Mnbgvm4JTRQOcw -zPvatgJ^JK_`C!hEXIiBgd|hhn=ul@Uik4(PQ^036=~3NtyTl9lXB9M*s=Br^ktlic -zR|!zQ%ER^v);67yy_XZ7G#wa7F -zK6jYg3mP==y6!dicGeVPEKy^PGOQvaA(c;yIJ1M_R~j!!Cbb;tQ=B;{tk_g_=K?oe -zEYo`L1;&w&S=ff-0@KCCV@mYlqfOpz4dMxTGWQD0NNmjN9yE(+oR7|3;?L{rbtDO1 -zsMiN+vbrnWN+17*D$nUZZ!yCKF7!0MB7H!7HY%r%n&-aS{)oVb)J5tw)8`k -zg-$&K8@W}1buEf#ixug^;tj(d(mZu5zSX6^pH?ERpZ7exkUp-k%CO9kC1Fn;i19=Y -ze0qMjGCV8KwQzG_cjM=4Nc`*H!!M?ff4JR0Qp3&B_`ZRHteSdNsjtjmRq)9YOlK&` -z4%Z{(mvKEd>Eq8G499c0IdhusrE)m4^vu$mjg^eto~y4ho!P)Yn&imbCI$2Ix&+R% -z=i7Qo@-yG#!naV6@FRDBOGw~f|4?@o2zKpk3X+3ymBcvb$9?l~`5E+yVmSp-tR5O$ -z;xw&yMQ`h=gdO+#XN|HQLd*tqABaXz!KM#$zj#`r@?UBb807XfZ6v4ZzBM*tMWk*C -zyL;?>*?>A~#Yx^$6+~j*Pt6>Eu4i~)BZ!3OIj{u{EBW+zW`lXfK?;3jeRiss2l6%e -zJDWfIgE8yhYhk1-1Ua$gy$`NMOKQGzCfYbh>h0ve#zj0_i(1WH&Z-eBQjo#yj&H9t -zRt-g8Ur~9o*;E>YFfSnVtu_rg6kZo`cL6?_9rd|@o5R`M5@QEPuUJ+w7SF5D*GdZ0q?lk>N@8`_g=WViqBvCrJ_R|TNlHbJKA-qu&mf*SZieL -z+YmJ;(am%m7v5cFNjcD<)Uq-g9f_Mwsa -z8ssxiAJx4OCX3WAcG74_D05#-!UDX=rm@JsJNbV3uN)K=ipQVM_v?~%s!UUu2{Uwe -z(}HK@Z<3#5jSg(S^C1Qzz}L}EiGsLSzn}M@!-YB-G1G5p!$h2R@~dwyz&!)K`8&HS -zRLZtnqI_~W-~VW=YVh0_M(2Carr2)tnWP*}27MTdRs0(AJsOJ&Qj#oUsIGe}uROOR -zThyjPL1ZTTdNRE(9z-Iz$U{lWoEgM8J;Pjc$0 -z(V`T1v?92D?7U+PjXun;=;X_oC{vKp-!B(jtK=eH(-vrnZ|UL}|k%HC`X)%6aHHYk21L!nVTnMgx_ -z(o-^pCj5;Fv0P>jCAJ%iZe^YOVt~~E@6@X3GPz7&6s1&{>1zS>gdChTHV`{!F+hW# -z=J4i@w(N2yS3pHk`s24oIGIA$r6GTmS#JPH)uJJf%|$1ne7^_9R;D@`OTPVR9$B&w -zW*{&Fd8-1$;`M0A@XuQlk6M!QNDTu|vB4?md -z0IY^Zq!6rL#jvik1D!KDq7G~L$%HpO%|Xn@O`d*6sTm2wVd*H}Jw4HEc1-M~qwUXcn+_2pz`kinC -zSk2z6cM{?CU}>isdxDJaXCq!WF3u-*kAdB@(hA|UOA{GW)Va8b| -z#D2heC4fRJCNknyrUR3eU^4FPu^iwLfa1HW6?ED9P&24A|Wsw5ep` -zkN{Ak2}&yPz5quc14nR7XXQCUNdOo87Ni79;&Bms;R9vpD(___stI)U96)L2IWK7)LD|6{)+P|*YjxPM--E5NM)Q)^?ub~^MsPNCd> -z0y;90XXh)7!FHX0)XNfrj=dnNt=~qqnc2mHPw(#zN=PQSLkaE0g5&&CE<`JC1+u1OW`bhR?qDJx2XmAm{<_X`5%Y!~9WeBx -zD&>D_+1?{jk(`0pNQg;R1{X=UW$z-GSwumgfVhBdfk4NSn4u)&9eljl?J!Qh46@Qi -zJBfFd_@DUBh5+X;d@D1JW?+?yb{ -z&zCO%R*wOzECu)Z0Br%fzZ!*zX3`b0X6abr>j+wlWFgwT#bJ`|En3EKgtb3+}$U~5p9Vs*9@Kqr98 -z!Vm{Am<+aWRDANGR>O9 -zwZ!CuBwSEkckpLeG8j^ovpO4gXKjOe5X!!i2sUK`9Tyri!38g_8Xh?sDfU|w -zM37Jb2lzB(HJI4|jaK*(#XIMl+l=4u^Pr$uKM=a!(E!pr?IOhIpGJ?AXhY{9NQUzq -zYv<-LOpr$iKNm7kz=vf-nZN|A|J9#lzg!&_DGtzVCcKB}q~alJgakmoFW2R&WB3_4 -zsE)~E-$57Dt+>~P$gyG)&XwkYe>RW=UOryG296!)`V-RnSAN2*@$VX_@ATe6WU5HW -z%U8^QNTn6;@MtR@_aO4UN3R9P3k`cGlm!{ugLpm4onHbpH>M#iYTks$E5YNZWghdAV3)pJD{DlFX>y*6$;lBRil@vF#NQ -z6A#VN@<_W7fD%0#vaZ{kAm$u!^l_koXpWWvgeIP7j_yIG=~z}qG)H+*(&B>x37J9R -zI#-jo2H*jpYgxDhrXA=Kx8|!)H_Tlw}L8AOPqCwAajUYf`(rf6{5KBJy}ZoIb}-(w5HY4l -zJ8%V>Xv7>vG@XeHrqv6$%Z8bG>BckGE -ztz|2C6PWGXw0dbF6Dhr4ssttE*^Ks410*%L&`L2t2Uy5UtT>Crw<#}DjMrq1G)k-* -z_5YUJ6Ft^||JU}r86?3fvq(iRH-ThF$<0hVB_#8gcPreOf(~Qh$FXER)vUd1^!*z?j?}qxC!IsIzlHnOWUo1nyA}N -zQA>3$_a)!YQ~HVnB7dx0fme?8#QMC*D3sx5#6*5+0IRxtNCw;f?hSlZ>668xsNQ(U -zFS$MHm=>^cuKoI`5^}x0zoZGyakoPAmOIFk)>S`LDD*KoleGA8qLR(Qy=wTi^N9b2&XFq+4iP|;nNjo82W>AH>zeN5Sm-T8_{l=yp8 -zFg($+pnDng-SbbULGq)Iy-@Scseq_A44&B!ud7n?ElLo3(Ylk;%Ji}0(7I?q949CF -zZeaNcB;wKGP%nt3BGXva+iD?~PbSTp*SR(Q88cjX{PxZf>A({|XF!PRBx)FT=LzgKJ`kIY9XGQ-+=%0XRTWl|2|TOd -z2=>pDy_2H4LNM#;)VprKE{lr+#h0d_>RnZbtaIv%LeOcR+Swbvej~0sD?TrTcI)KK -z)D6F`nuZZh=G1GSZ0;~LEwvMw%N_~T&Yv@;&S;hOFM6_K7-7Zg^ -zY0}vGNgDR%WrWwJV5?XI8k}D`9J)?(kxJ~s@TXp?*Ko4T;+e%7wx;>e7OreR5OGc} -zW+8oyJy0ztvlQ~T^!ttC)L*0$XN9h5-72t@oay&J-S0i(R?Xew)oTlV;NGNiwJtV} -zN}u#+Xpb7}(~x~8mb>NCr%cr?^AimqZI0fE*|XCRqDt&*p!63c($UO4{10oTbY=qG -zBN$Wn^JX7`7k&zL{pJrD5StaIkAK7Cpit#>++CxlG|!fE`$l1$Kn~Q0<@Kb+_z60S -zCrs8JG=jQWxTEt{h$;-J(Ak>K+yxq=nvCt&g&{9GkNlYi9%zf|ViBABU -zAS?2HXQ*@(SNP7-mv9;&-I|HW?<|*r6}sU*5M|-62rv$8(R{XsxElNdm8e)(pZJ #include "Polygon2d.h" namespace ClipperUtils { -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 93658a0..a852ef6 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -705,7 +705,6 @@ set(COMMON_SOURCES - ../src/GeometryCache.cc - ../src/clipper-utils.cc - ../src/Tree.cc -- ../src/polyclipping/clipper.cpp - ../src/libtess2/Source/bucketalloc.c - ../src/libtess2/Source/dict.c - ../src/libtess2/Source/geom.c -@@ -786,14 +785,14 @@ target_link_libraries(csgtexttest tests-nocgal ${GLEW_LIBRARY} ${OPENCSG_LIBRARY - # - add_executable(cgalcachetest cgalcachetest.cc) - set_target_properties(cgalcachetest PROPERTIES COMPILE_FLAGS "-DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") --target_link_libraries(cgalcachetest tests-cgal ${GLEW_LIBRARY} ${OPENCSG_LIBRARY} ${APP_SERVICES_LIBRARY}) -+target_link_libraries(cgalcachetest tests-cgal -lpolyclipping ${GLEW_LIBRARY} ${OPENCSG_LIBRARY} ${APP_SERVICES_LIBRARY}) +diff -up openscad-openscad-2019.01-RC2/src/libsvg/shape.h.polyclipping openscad-openscad-2019.01-RC2/src/libsvg/shape.h +--- openscad-openscad-2019.01-RC2/src/libsvg/shape.h.polyclipping 2019-02-15 15:03:16.651372730 -0500 ++++ openscad-openscad-2019.01-RC2/src/libsvg/shape.h 2019-02-15 15:03:26.240183783 -0500 +@@ -34,7 +34,7 @@ + #include - # - # openscad no-qt - # - add_executable(openscad_nogui ../src/openscad.cc) - set_target_properties(openscad_nogui PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -DEIGEN_DONT_ALIGN ${ENABLE_OPENCSG_FLAG} -DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") --target_link_libraries(openscad_nogui tests-offscreen tests-cgal ${GLEW_LIBRARY} ${OPENCSG_LIBRARY} ${APP_SERVICES_LIBRARY}) -+target_link_libraries(openscad_nogui tests-offscreen tests-cgal -lX11 -lpolyclipping ${GLEW_LIBRARY} ${OPENCSG_LIBRARY} ${APP_SERVICES_LIBRARY}) + #include "util.h" +-#include "ext/polyclipping/clipper.hpp" ++#include + + namespace libsvg { - # also run translation compilation to verify the files are without syntax errors - add_custom_target(locale_files ALL COMMAND ${CMAKE_SOURCE_DIR}/../scripts/translation-make.sh) diff --git a/openscad.spec b/openscad.spec index db6eba6..6879d56 100644 --- a/openscad.spec +++ b/openscad.spec @@ -1,17 +1,19 @@ +%global mcadhash 5246f78d34904f728f49ea4ea30faa5041abc592 + Name: openscad -Version: 2015.03.3 -%global upversion 2015.03-3 -Release: 22%{?dist} +Version: 2019.01~RC2 +%global upversion 2019.01-RC2 +Release: 1%{?dist} Summary: The Programmers Solid 3D CAD Modeller # COPYING contains a linking exception for CGAL # Appdata file is CC0 # Examples are CC0 License: GPLv2 with exceptions and CC0 URL: http://www.%{name}.org/ -Source0: http://files.%{name}.org/%{name}-%{upversion}.src.tar.gz +Source0: https://github.com/%{name}/%{name}/archive/%{name}-%{upversion}.tar.gz +# Source0: http://files.%%{name}.org/%%{name}-%%{upversion}.src.tar.gz +Source1: https://github.com/%{name}/MCAD/archive/%{mcadhash}.zip Patch0: %{name}-polyclipping.patch -Patch1: %{name}-issue-1867.patch -Patch2: %{name}-boost-1.69.patch BuildRequires: CGAL-devel >= 3.6 BuildRequires: ImageMagick BuildRequires: Xvfb @@ -29,14 +31,16 @@ BuildRequires: glew-devel >= 1.6 BuildRequires: glib2-devel BuildRequires: gmp-devel >= 5.0.0 BuildRequires: harfbuzz-devel >= 0.9.19 +BuildRequires: libxml2-devel BuildRequires: mesa-dri-drivers BuildRequires: mpfr-devel >= 3.0.0 BuildRequires: opencsg-devel >= 1.3.2 BuildRequires: polyclipping-devel >= 6.1.3 BuildRequires: procps-ng -BuildRequires: python2-devel +BuildRequires: python3-devel BuildRequires: qt4-devel >= 4.4 BuildRequires: qscintilla-devel +BuildRequires: pkgconfig(libzip) Requires: font(liberationmono) Requires: font(liberationsans) Requires: font(liberationserif) @@ -130,14 +134,16 @@ changes, however many things are already working. ############################################### %prep -%autosetup -n %{name}-%{upversion} -p1 -S git +%autosetup -n %{name}-%{name}-%{upversion} -p1 -S git -a1 +mv MCAD-%{mcadhash}/* libraries/MCAD/ +rm -rf MCAD-%{mcadhash} # Unbundle polyclipping -rm src/polyclipping -rf +rm src/ext/polyclipping -rf # Remove unwanted things from MCAD, such as nonworking Python tests pushd libraries/MCAD -for FILE in *.py SolidPython ThingDoc; do +for FILE in *.py; do rm -r $FILE done mv bitmap/README bitmap-README @@ -153,7 +159,7 @@ sed -i 's@MCAD/__init__.py@MCAD/gears.scad@' tests/CMakeLists.txt # tests cd tests -cmake -DPYTHON_EXECUTABLE:STRING=%{__python2} . +cmake -DPYTHON_EXECUTABLE:STRING=%{__python3} . %make_build cd - @@ -176,9 +182,9 @@ cd - %files -f %{name}.lang %license COPYING -%doc README.md RELEASE_NOTES +%doc README.md RELEASE_NOTES.md %attr(755,root,root) %{_bindir}/%{name} -%{_datadir}/appdata/*.xml +%{_datadir}/metainfo/*.xml %{_datadir}/applications/%{name}.desktop %{_datadir}/pixmaps/%{name}.png %{_datadir}/mime/packages/%{name}.xml @@ -200,6 +206,9 @@ cd - %{_datadir}/%{name}/libraries/MCAD/bitmap/*.scad %changelog +* Thu Feb 28 2019 Tom Callaway - 2019.01~RC2-1 +- 2019.01-RC2 + * Sun Feb 17 2019 Rex Dieter - 2015.03.3-22 - rebuild (qscintilla) diff --git a/sources b/sources index a58e3d2..b484cde 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -a498a218a247468eee140ccc44c73afa openscad-2015.03-3.src.tar.gz +SHA512 (openscad-2019.01-RC2.tar.gz) = 43a91f6f1276c6070d9cd45877b56ff50241d20ed50e63975254ad222ef45b79ff065b1e18145716ea5b9f51880ea4762f1c64cd348f485ef3f7a565e3e97eaf +SHA512 (5246f78d34904f728f49ea4ea30faa5041abc592.zip) = 6a3da3b3f8c6c1ae233bd7937d3cfab69b5e9daff851330b8e6f2d035a7536bd9e32fe5f80ec6dfcc78b5a96ff0faeee1d09769c83c4d6e29bdd48062299bf39