Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] FreeCAD stack: python3-pivy fixes, coin3 4.0.0
@ 2020-10-14 19:08 yopito
  2020-11-22  8:34 ` sgn
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: yopito @ 2020-10-14 19:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 365 bytes --]

There is a new pull request by yopito against master on the void-packages repository

https://github.com/yopito/void-packages freecad.coin3.pivy
https://github.com/void-linux/void-packages/pull/25607

FreeCAD stack: python3-pivy fixes, coin3 4.0.0
personal runtime is fine.

A patch file from https://github.com/void-linux/void-packages/pull/25607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freecad.coin3.pivy-25607.patch --]
[-- Type: text/x-diff, Size: 16567 bytes --]

From b9c0227a08b32d5fd11367e057c82ac374a5f0bb Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Tue, 13 Oct 2020 22:44:58 +0200
Subject: [PATCH 1/3] coin3: update to 4.0.0

---
 common/shlibs                                 |  2 +-
 srcpkgs/coin3/patches/0005-gcc-4.7.patch      | 28 --------
 .../coin3/patches/0010-GCC-4.8.0-fixes.patch  | 40 -----------
 .../0012-memhandler-initialization.patch      | 22 ------
 srcpkgs/coin3/patches/fix-missing-deref.patch | 20 ------
 srcpkgs/coin3/patches/no-cpack.patch          |  8 +++
 srcpkgs/coin3/template                        | 69 ++++++-------------
 7 files changed, 30 insertions(+), 159 deletions(-)
 delete mode 100644 srcpkgs/coin3/patches/0005-gcc-4.7.patch
 delete mode 100644 srcpkgs/coin3/patches/0010-GCC-4.8.0-fixes.patch
 delete mode 100644 srcpkgs/coin3/patches/0012-memhandler-initialization.patch
 delete mode 100644 srcpkgs/coin3/patches/fix-missing-deref.patch
 create mode 100644 srcpkgs/coin3/patches/no-cpack.patch

diff --git a/common/shlibs b/common/shlibs
index e50e44f1246..e0df22aa6cf 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2707,7 +2707,7 @@ libKF5DNSSD.so.5 kdnssd-5.26.0_1
 libtwaindsm.so.2 twaindsm-2.3.0_1
 libspnav.so.0 libspnav-0.2.3_1
 libsimage.so.20 simage-1.7.0_1
-libCoin.so.60 coin3-3.1.3_1
+libCoin.so.80 coin3-4.0.0_1
 libgl2ps.so.1 gl2ps-1.3.9_1
 libFWOSPlugin.so.11 oce-0.18_1
 libPTKernel.so.11 oce-0.18_1
diff --git a/srcpkgs/coin3/patches/0005-gcc-4.7.patch b/srcpkgs/coin3/patches/0005-gcc-4.7.patch
deleted file mode 100644
index e2d16652445..00000000000
--- a/srcpkgs/coin3/patches/0005-gcc-4.7.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Source: http://pkgs.fedoraproject.org/cgit/rpms/Coin3.git/plain/0005-gcc-4.7.patch
-
-From a5bf6656215837a9bdf4d70cdce4be0fedd522e0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu@corsepiu.home>
-Date: Fri, 4 May 2012 13:30:20 +0200
-Subject: [PATCH 05/10] gcc-4.7.
-
----
- include/Inventor/SbBasic.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/Inventor/SbBasic.h b/include/Inventor/SbBasic.h
-index d038bb1..2ee6b70 100644
---- a/include/Inventor/SbBasic.h
-+++ b/include/Inventor/SbBasic.h
-@@ -25,6 +25,9 @@
- \**************************************************************************/
- 
- #include <Inventor/C/basic.h>
-+#ifndef NDEBUG
-+#include <Inventor/C/errors/debugerror.h>
-+#endif // !NDEBUG
- 
- /* ********************************************************************** */
- /* Trap people trying to use Inventor headers while compiling C source code.
--- 
-1.8.1.4
-
diff --git a/srcpkgs/coin3/patches/0010-GCC-4.8.0-fixes.patch b/srcpkgs/coin3/patches/0010-GCC-4.8.0-fixes.patch
deleted file mode 100644
index bc5167e8f13..00000000000
--- a/srcpkgs/coin3/patches/0010-GCC-4.8.0-fixes.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Source: http://pkgs.fedoraproject.org/cgit/rpms/Coin3.git/plain/0010-GCC-4.8.0-fixes.patch
-
-From 9f5d96a2b9a71ab539237d2dab4c54fc46fc5c5b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu@corsepiu.home>
-Date: Thu, 18 Apr 2013 19:17:06 +0200
-Subject: [PATCH 10/10] GCC-4.8.0 fixes
-
----
- src/fonts/freetype.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/fonts/freetype.cpp b/src/fonts/freetype.cpp
-index 760b88b..e705d3a 100644
---- a/src/fonts/freetype.cpp
-+++ b/src/fonts/freetype.cpp
-@@ -32,18 +32,18 @@
- 
-    20050613 mortene. */
- 
--#include "fonts/freetype.h"
--
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif /* HAVE_CONFIG_H */
- 
--#include <stdlib.h>
-+#include <cstdlib>
- #include <assert.h>
- 
- #include "glue/freetype.h"
- #include "glue/GLUWrapper.h"
- 
-+#include "fonts/freetype.h"
-+
- /* ************************************************************************* */
- 
- #ifdef __cplusplus
--- 
-1.8.1.4
-
diff --git a/srcpkgs/coin3/patches/0012-memhandler-initialization.patch b/srcpkgs/coin3/patches/0012-memhandler-initialization.patch
deleted file mode 100644
index 7ad4dc68116..00000000000
--- a/srcpkgs/coin3/patches/0012-memhandler-initialization.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Source: http://pkgs.fedoraproject.org/cgit/rpms/Coin3.git/plain/0012-memhandler-initialization.patch
-Additional information: https://bugzilla.redhat.com/show_bug.cgi?id=1323159
---- Coin-3.1.3/src/misc/SbHash.h.init	2010-03-02 22:20:09.000000000 +0900
-+++ Coin-3.1.3/src/misc/SbHash.h	2016-04-22 16:52:39.888883757 +0900
-@@ -89,6 +89,8 @@
-     cc_memalloc_deallocate(entry->memhandler, ptr);
-   }
-   SbHashEntry(const Key & key, const Type & obj) : key(key), obj(obj) {}
-+  SbHashEntry(const Key & key, const Type & obj, cc_memalloc *memhandler) 
-+		: key(key), obj(obj), memhandler(memhandler) {}
- 
-   Key key;
-   Type obj;
-@@ -218,7 +220,7 @@
-     /* Key not already in the hash table; insert a new
-      * entry as the first element in the bucket
-      */
--    entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj);
-+    entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj, this->memhandler);
-     entry->next = this->buckets[i];
-     this->buckets[i] = entry;
- 
diff --git a/srcpkgs/coin3/patches/fix-missing-deref.patch b/srcpkgs/coin3/patches/fix-missing-deref.patch
deleted file mode 100644
index 8c50078b8b7..00000000000
--- a/srcpkgs/coin3/patches/fix-missing-deref.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./src/3ds/SoStream.cpp.orig	2018-01-16 11:18:58.965420684 +0100
-+++ ./src/3ds/SoStream.cpp	2018-01-16 11:18:23.140563596 +0100
-@@ -176,7 +176,7 @@ do { \
-   if (!gotNum) { setBadBit(); return FALSE; } \
-  \
-   char *ce; \
--  s = '\0'; \
-+  *s = '\0'; \
-   _convertType_ tempVal = _convertFunc_(buf, &ce, 0); \
-  \
-   if (ce != s) \
-@@ -273,7 +273,7 @@ do { \
- gotAll: \
-   \
-   char *ce; \
--  s = '\0'; \
-+  *s = '\0'; \
-   double tempVal = _convertFunc_(buf, &ce); \
-  \
-   if (ce != s) \
diff --git a/srcpkgs/coin3/patches/no-cpack.patch b/srcpkgs/coin3/patches/no-cpack.patch
new file mode 100644
index 00000000000..5417d2e66c9
--- /dev/null
+++ b/srcpkgs/coin3/patches/no-cpack.patch
@@ -0,0 +1,8 @@
+--- CMakeLists.txt.ORIG
++++ CMakeLists.txt
+@@ -815,4 +815,4 @@
+ 
+ # ############################################################################
+ # New CPACK section, please see the README file inside cpack.d directory.
+-add_subdirectory(cpack.d)
++#add_subdirectory(cpack.d)
diff --git a/srcpkgs/coin3/template b/srcpkgs/coin3/template
index 4150c863e9f..80a65803395 100644
--- a/srcpkgs/coin3/template
+++ b/srcpkgs/coin3/template
@@ -1,55 +1,30 @@
 # Template file for 'coin3'
 pkgname=coin3
-version=3.1.3
-revision=5
-wrksrc="Coin-${version}"
-build_style=gnu-configure
-configure_args="--includedir=/usr/include/Coin3 --disable-dependency-tracking
- --disable-static --enable-threadsafe --enable-exceptions
- --disable-dl-simage --disable-dl-glu --disable-dl-libbzip2
- --disable-dl-zlib --disable-dl-freetype --disable-dl-fontconfig
- --enable-3ds-import --enable-html
- sim_ac_simage_configcmd=$XBPS_CROSS_BASE/usr/bin/simage-config"
-hostmakedepends="pkg-config doxygen perl"
-makedepends="freetype-devel glu-devel zlib-devel bzip2-devel
- fontconfig-devel boost-devel simage-devel"
+version=4.0.0
+revision=1
+wrksrc="coin-Coin-${version}"
+build_style=cmake
+configure_args="-DCMAKE_INSTALL_INCLUDEDIR=/usr/include/Coin3
+ -DCMAKE_BUILD_TYPE=Release -DCOIN_BUILD_TESTS=OFF -DCOIN_BUILD_DOCUMENTATION=ON"
+hostmakedepends="doxygen graphviz"
+makedepends="boost-devel glu-devel"
 short_desc="High-level 3D graphics toolkit"
 maintainer="yopito <pierre.bourgin@free.fr>"
-# HomePage tells BSD 3-Clause license, but tarball is GPLv2
-license="GPL-2.0-only"
-homepage="https://bitbucket.org/Coin3D/coin/wiki/Home"
-distfiles="https://bitbucket.org/Coin3D/coin/downloads/Coin-${version}.tar.gz"
-checksum=583478c581317862aa03a19f14c527c3888478a06284b9a46a0155fa5886d417
-patch_args="-Np1"
+license="BSD-3-Clause"
+homepage="https://coin3d.github.io"
+distfiles="https://github.com/coin3d/coin/archive/Coin-${version}.tar.gz"
+checksum=b00d2a8e9d962397cf9bf0d9baa81bcecfbd16eef675a98c792f5cf49eb6e805
 
-post_extract() {
-	# remove bundled boost headers
-	rm -rf ${wrksrc}/include/boost
-}
-
-do_configure() {
-	# only way to compute and point freetype2 stuff to configure
-	: ${configure_script:=./configure}
-	CPPFLAGS+="$(pkg-config --cflags freetype2)" ${configure_script} ${configure_args}
-}
-
-post_configure() {
-	case "$XBPS_TARGET_MACHINE" in
-	*-musl)
-		# configure checks are awfull
-		sed -i -e 's,^#define SIM_TIMEVAL_TV_SEC_T { },#define SIM_TIMEVAL_TV_SEC_T time_t,' \
-		       -e 's,^#define SIM_TIMEVAL_TV_USEC_T { },#define SIM_TIMEVAL_TV_USEC_T suseconds_t,' \
-		       ${wrksrc}/src/config.h
-		;;
-	esac
-}
+if [ "$CROSS_BUILD" ]; then
+	# bypass runtime test (quote hashing is fine with gcc 9.3)
+	configure_args+=" -DHAVE_HASH_QUOTING_EXITCODE=0"
+	configure_args+=" -DHAVE_HASH_QUOTING_EXITCODE__TRYRUN_OUTPUT=''"
+fi
 
 post_install() {
-	if [ "$CROSS_BUILD" ]; then
-		sed -i -e "s,$XBPS_CROSS_BASE,,g" \
-			$DESTDIR/usr/share/Coin/conf/coin-default.cfg \
-			$DESTDIR/usr/lib/pkgconfig/Coin.pc
-	fi
+	# coin-config is superseeded by cmake support
+	rm $DESTDIR/usr/bin/coin-config
+	vlicense COPYING
 }
 
 coin3-devel_package() {
@@ -57,11 +32,9 @@ coin3-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/bin/coin-config
+		vmove usr/lib/cmake
 		vmove "usr/lib/*.so"
 		vmove usr/lib/pkgconfig
-		vmove usr/share/aclocal
-		vmove usr/share/man
 	}
 }
 

From 4bd264283cbb6e759be8a2411d875bdec147c1f8 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Tue, 13 Oct 2020 22:44:59 +0200
Subject: [PATCH 2/3] python3-pivy: fix license, fix update, use cmake, nocross

* cmake is needed to build with coin3 4.0
* nocross: setup.py calls cmake directly, can't take advantage of cmake's
  crossbuild support of xbps-src
---
 srcpkgs/python3-pivy/template | 31 +++++++++----------------------
 srcpkgs/python3-pivy/update   |  3 ---
 2 files changed, 9 insertions(+), 25 deletions(-)
 delete mode 100644 srcpkgs/python3-pivy/update

diff --git a/srcpkgs/python3-pivy/template b/srcpkgs/python3-pivy/template
index 40570303769..fa1044b8ceb 100644
--- a/srcpkgs/python3-pivy/template
+++ b/srcpkgs/python3-pivy/template
@@ -1,41 +1,28 @@
 # Template file for 'python3-pivy'
+# XXX build with cmake directly ?
 pkgname=python3-pivy
 version=0.6.5
-revision=1
+revision=2
 wrksrc="pivy-${version}"
 build_style=python3-module
-hostmakedepends="python3-devel swig"
-makedepends="python3-devel coin3-devel qt5-devel"
+hostmakedepends="python3-devel swig cmake"
+makedepends="python3-devel coin3-devel"
 short_desc="Python3 bindings for the high-level 3D graphics library Coin"
 maintainer="yopito <pierre.bourgin@free.fr>"
-license="0BSD"
+license="ISC"
 homepage="https://github.com/coin3d/pivy"
 distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=16f2e339e5c59a6438266abe491013a20f53267e596850efad1559564a2c1719
 
+# pivy 0.6.6 is supposed to use cmake (https://github.com/coin3d/pivy/issues/59)
+nocross="setup.py calls cmake directly, can't use cmake crossbuild support"
+
+# pivy 0.6.5: still relevant ?
 case "$XBPS_TARGET_MACHINE" in
 	ppc64*);;
 	ppc*) broken="{standard input}:3376761: Error: operand out of range";;
 esac
 
-if [ "$CROSS_BUILD" ]; then
-	CFLAGS+=" -I$XBPS_CROSS_BASE/usr/include/Coin3"
-fi
-
-post_extract() (
-	# use setup_old.py until have Coin with cmake support
-	mv -f setup_old.py setup.py
-)
-
-post_patch() {
-	if [ "$CROSS_BUILD" ]; then
-		vsed -i setup.py \
-			-e '/if not self[.]check_cmd_exists.*coin-config/,+1d' \
-			-e "s!coin-config!$XBPS_CROSS_BASE/usr/bin/coin-config!" \
-			-e "/INCLUDE_DIR.*coin-config/s!=!= \"$XBPS_CROSS_BASE\" +!"
-	fi
-}
-
 post_install() {
 	vlicense LICENSE
 }
diff --git a/srcpkgs/python3-pivy/update b/srcpkgs/python3-pivy/update
deleted file mode 100644
index d4a4e715386..00000000000
--- a/srcpkgs/python3-pivy/update
+++ /dev/null
@@ -1,3 +0,0 @@
-site=https://bitbucket.org/Coin3D/pivy/downloads/?tab=tags
-pkgname=
-ignore="20101207"

From 66ae6abdfff6213af26f3e03c69a852a729a6e3a Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Tue, 13 Oct 2020 22:45:00 +0200
Subject: [PATCH 3/3] freecad: libexecinfo usage, rebuild with coin3 4.0.0

libexecinfo's usage is incomplete: 002-execinfo.patch still needed

[ci skip]
---
 .../patches/010-salomesmesh-execinfo.patch    | 30 -----------
 .../patches/103-find-coin3v4-doc.patch        | 50 +++++++++++++++++++
 srcpkgs/freecad/template                      |  3 +-
 3 files changed, 52 insertions(+), 31 deletions(-)
 delete mode 100644 srcpkgs/freecad/patches/010-salomesmesh-execinfo.patch
 create mode 100644 srcpkgs/freecad/patches/103-find-coin3v4-doc.patch

diff --git a/srcpkgs/freecad/patches/010-salomesmesh-execinfo.patch b/srcpkgs/freecad/patches/010-salomesmesh-execinfo.patch
deleted file mode 100644
index 2b46616ad7a..00000000000
--- a/srcpkgs/freecad/patches/010-salomesmesh-execinfo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
-+++ src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
-@@ -29,7 +29,9 @@
- #ifndef WIN32
- #include <unistd.h>
- #include <sys/stat.h>
-+#ifdef __GLIBC__
- #include <execinfo.h>
-+#endif
- #endif
- 
- 
-@@ -109,6 +111,7 @@
- #ifndef WIN32
-   void print_traceback()
-   {
-+#ifdef __GLIBC__
-     void *array[50];
-     size_t size;
-     char **strings;
-@@ -123,6 +126,9 @@
-       }
- 
-     free (strings);
-+#else     
-+   std::cerr << "sorry, no backtrace on musl libc";
-+#endif
-   }
- #else
-   #if (_MSC_VER >= 1400) // Visual Studio 2005
diff --git a/srcpkgs/freecad/patches/103-find-coin3v4-doc.patch b/srcpkgs/freecad/patches/103-find-coin3v4-doc.patch
new file mode 100644
index 00000000000..5b7de514de4
--- /dev/null
+++ b/srcpkgs/freecad/patches/103-find-coin3v4-doc.patch
@@ -0,0 +1,50 @@
+From 04833a5f1cbc07f8f6ae94453c4535e13789aa05 Mon Sep 17 00:00:00 2001
+From: yopito <pierre.bourgin@free.fr>
+Date: Mon, 6 Jul 2020 06:54:07 +0200
+Subject: [PATCH] build: fix Coin 3d documentation discovering
+
+* coin3d 4.0.0 default location is /usr/share/doc/Coin/html/
+* misuses of find_files() if several candidates for filename
+* export variable COIN3D_DOC_FOUND that is used by cMake/FreeCAD_Helpers/PrintFinalReport.cmake
+---
+ cMake/FindCoin3DDoc.cmake | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git cMake/FindCoin3DDoc.cmake cMake/FindCoin3DDoc.cmake
+index 883368445..c6c92f260 100644
+--- cMake/FindCoin3DDoc.cmake
++++ cMake/FindCoin3DDoc.cmake
+@@ -23,18 +23,19 @@ IF (COIN3D_FOUND)
+       find_path(COIN3D_DOC_PATH index.html 
+                 /usr/share/doc/libcoin80-doc/html
+                 /usr/share/doc/coin/html
++                /usr/share/doc/Coin/html
+       )
+       IF( EXISTS ${COIN3D_DOC_PATH})
+         message(STATUS "Coin3D doc is installed")
+-        find_file(COIN3D_DOC_TAGFILE coin.tag Coin.tag 
+-            ${COIN3D_DOC_PATH}
++        find_file(COIN3D_DOC_TAGFILE NAMES coin.tag Coin.tag 
++            PATHS ${COIN3D_DOC_PATH}
+         )
+         IF( EXISTS ${COIN3D_DOC_TAGFILE})
+           SET( COIN3D_DOC_FOUND "YES"
+           )
+         ELSE( EXISTS ${COIN3D_DOC_TAGFILE})
+-          find_file(COIN3D_DOC_TAGFILE_GZ coin.tag.gz Coin.tag.gz 
+-              ${COIN3D_DOC_PATH}
++          find_file(COIN3D_DOC_TAGFILE_GZ NAMES coin.tag.gz Coin.tag.gz 
++              PATHS ${COIN3D_DOC_PATH}
+           )
+           IF( EXISTS ${COIN3D_DOC_TAGFILE_GZ})
+             message(STATUS "  Found ${COIN3D_DOC_TAGFILE_GZ}")
+@@ -85,4 +86,5 @@ if(COIN3D_DOC_FOUND)
+   message(STATUS "  Location: ${COIN3D_DOC_PATH}")
+ endif(COIN3D_DOC_FOUND)
+ 
+-
++# export for others
++SET( COIN3D_DOC_FOUND "${COIN3D_DOC_FOUND}" CACHE BOOL "Coin3d documentation available")
+-- 
+2.27.0
+
diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template
index 76d6df64724..6fe749b53d7 100644
--- a/srcpkgs/freecad/template
+++ b/srcpkgs/freecad/template
@@ -1,7 +1,7 @@
 # Template file for 'freecad'
 pkgname=freecad
 version=0.18.4
-revision=9
+revision=10
 wrksrc="FreeCAD-${version}"
 build_style=cmake
 
@@ -38,6 +38,7 @@ checksum=4e0cce447b31b8989a00cf68c49ae012ce8e5546a56c6e0874fbd8f7ddedffd2
 
 if [ "$XBPS_TARGET_LIBC" = musl ]; then
 	makedepends+=" libexecinfo-devel"
+	LDFLAGS="-lexecinfo"
 fi
 
 post_extract() {

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: FreeCAD stack: python3-pivy fixes, coin3 4.0.0
  2020-10-14 19:08 [PR PATCH] FreeCAD stack: python3-pivy fixes, coin3 4.0.0 yopito
@ 2020-11-22  8:34 ` sgn
  2020-11-22 23:55 ` [PR PATCH] [Updated] " yopito
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: sgn @ 2020-11-22  8:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2291 bytes --]

New comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/25607#issuecomment-731715695

Comment:
Picked from #26589
```diff
diff --git a/srcpkgs/python3-pivy/template b/srcpkgs/python3-pivy/template
index fa1044b8ce..4ab2347a5e 100644
--- a/srcpkgs/python3-pivy/template
+++ b/srcpkgs/python3-pivy/template
@@ -6,7 +6,7 @@ revision=2
 wrksrc="pivy-${version}"
 build_style=python3-module
 hostmakedepends="python3-devel swig cmake"
-makedepends="python3-devel coin3-devel"
+makedepends="python3-devel coin3-devel qt5-devel"
 short_desc="Python3 bindings for the high-level 3D graphics library Coin"
 maintainer="yopito <pierre.bourgin@free.fr>"
 license="ISC"
@@ -23,6 +23,49 @@ case "$XBPS_TARGET_MACHINE" in
 	ppc*) broken="{standard input}:3376761: Error: operand out of range";;
 esac
 
+if [ "$CROSS_BUILD" ]; then
+	CFLAGS+=" -I$XBPS_CROSS_BASE/usr/include/Coin3"
+fi
+
+pre_configure() {
+	[ -z "$CROSS_BUILD" ] && return 0
+	case "$XBPS_TARGET_MACHINE" in
+		x86_64*) _CMAKE_SYSTEM_PROCESSOR=x86_64 ;;
+		i686*) _CMAKE_SYSTEM_PROCESSOR=x86 ;;
+		aarch64*) _CMAKE_SYSTEM_PROCESSOR=aarch64 ;;
+		arm*) _CMAKE_SYSTEM_PROCESSOR=arm ;;
+		mips*) _CMAKE_SYSTEM_PROCESSOR=mips ;;
+		ppc64le*) _CMAKE_SYSTEM_PROCESSOR=ppc64le ;;
+		ppc64*) _CMAKE_SYSTEM_PROCESSOR=ppc64 ;;
+		ppcle*) _CMAKE_SYSTEM_PROCESSOR=ppcle ;;
+		ppc*) _CMAKE_SYSTEM_PROCESSOR=ppc ;;
+		*) _CMAKE_SYSTEM_PROCESSOR=generic ;;
+	esac
+	cat >cross_${XBPS_CROSS_TRIPLET}.cmake <<_EOF
+SET(CMAKE_SYSTEM_NAME Linux)
+SET(CMAKE_SYSTEM_VERSION 1)
+
+SET(CMAKE_C_COMPILER   ${CC})
+SET(CMAKE_CXX_COMPILER ${CXX})
+SET(CMAKE_CROSSCOMPILING TRUE)
+
+SET(CMAKE_SYSTEM_PROCESSOR ${_CMAKE_SYSTEM_PROCESSOR})
+
+SET(CMAKE_FIND_ROOT_PATH  "${XBPS_CROSS_BASE}/usr;${XBPS_CROSS_BASE}")
+
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+SET(wxWidgets_CONFIG_EXECUTABLE ${XBPS_WRAPPERDIR}/${wx_config:=wx-config})
+_EOF
+	cat >$XBPS_WRAPPERDIR/cmake <<_EOF
+#!/bin/sh
+/usr/bin/cmake -DCMAKE_TOOLCHAIN_FILE=$wrksrc/cross_${XBPS_CROSS_TRIPLET}.cmake "$@"
+_EOF
+	chmod +x $XBPS_WRAPPERDIR/cmake
+}
+
 post_install() {
 	vlicense LICENSE
 }
```

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Updated] FreeCAD stack: python3-pivy fixes, coin3 4.0.0
  2020-10-14 19:08 [PR PATCH] FreeCAD stack: python3-pivy fixes, coin3 4.0.0 yopito
  2020-11-22  8:34 ` sgn
@ 2020-11-22 23:55 ` yopito
  2020-11-22 23:57 ` yopito
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: yopito @ 2020-11-22 23:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 370 bytes --]

There is an updated pull request by yopito against master on the void-packages repository

https://github.com/yopito/void-packages freecad.coin3.pivy
https://github.com/void-linux/void-packages/pull/25607

FreeCAD stack: python3-pivy fixes, coin3 4.0.0
personal runtime is fine.

A patch file from https://github.com/void-linux/void-packages/pull/25607.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freecad.coin3.pivy-25607.patch --]
[-- Type: text/x-diff, Size: 20350 bytes --]

From ad946a0530aba261e313f9430e4bf027ec66fe30 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Mon, 23 Nov 2020 00:54:51 +0100
Subject: [PATCH 1/3] coin3: update to 4.0.0

---
 common/shlibs                                 |  2 +-
 srcpkgs/coin3/patches/0005-gcc-4.7.patch      | 28 --------
 .../coin3/patches/0010-GCC-4.8.0-fixes.patch  | 40 -----------
 .../0012-memhandler-initialization.patch      | 22 ------
 srcpkgs/coin3/patches/fix-missing-deref.patch | 20 ------
 srcpkgs/coin3/patches/no-cpack.patch          |  8 +++
 srcpkgs/coin3/template                        | 70 ++++++-------------
 7 files changed, 30 insertions(+), 160 deletions(-)
 delete mode 100644 srcpkgs/coin3/patches/0005-gcc-4.7.patch
 delete mode 100644 srcpkgs/coin3/patches/0010-GCC-4.8.0-fixes.patch
 delete mode 100644 srcpkgs/coin3/patches/0012-memhandler-initialization.patch
 delete mode 100644 srcpkgs/coin3/patches/fix-missing-deref.patch
 create mode 100644 srcpkgs/coin3/patches/no-cpack.patch

diff --git a/common/shlibs b/common/shlibs
index 51c9ba0635a..ff2f4a9b234 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2708,7 +2708,7 @@ libKF5DNSSD.so.5 kdnssd-5.26.0_1
 libtwaindsm.so.2 twaindsm-2.3.0_1
 libspnav.so.0 libspnav-0.2.3_1
 libsimage.so.20 simage-1.7.0_1
-libCoin.so.60 coin3-3.1.3_1
+libCoin.so.80 coin3-4.0.0_1
 libgl2ps.so.1 gl2ps-1.3.9_1
 libFWOSPlugin.so.11 oce-0.18_1
 libPTKernel.so.11 oce-0.18_1
diff --git a/srcpkgs/coin3/patches/0005-gcc-4.7.patch b/srcpkgs/coin3/patches/0005-gcc-4.7.patch
deleted file mode 100644
index e2d16652445..00000000000
--- a/srcpkgs/coin3/patches/0005-gcc-4.7.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Source: http://pkgs.fedoraproject.org/cgit/rpms/Coin3.git/plain/0005-gcc-4.7.patch
-
-From a5bf6656215837a9bdf4d70cdce4be0fedd522e0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu@corsepiu.home>
-Date: Fri, 4 May 2012 13:30:20 +0200
-Subject: [PATCH 05/10] gcc-4.7.
-
----
- include/Inventor/SbBasic.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/Inventor/SbBasic.h b/include/Inventor/SbBasic.h
-index d038bb1..2ee6b70 100644
---- a/include/Inventor/SbBasic.h
-+++ b/include/Inventor/SbBasic.h
-@@ -25,6 +25,9 @@
- \**************************************************************************/
- 
- #include <Inventor/C/basic.h>
-+#ifndef NDEBUG
-+#include <Inventor/C/errors/debugerror.h>
-+#endif // !NDEBUG
- 
- /* ********************************************************************** */
- /* Trap people trying to use Inventor headers while compiling C source code.
--- 
-1.8.1.4
-
diff --git a/srcpkgs/coin3/patches/0010-GCC-4.8.0-fixes.patch b/srcpkgs/coin3/patches/0010-GCC-4.8.0-fixes.patch
deleted file mode 100644
index bc5167e8f13..00000000000
--- a/srcpkgs/coin3/patches/0010-GCC-4.8.0-fixes.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Source: http://pkgs.fedoraproject.org/cgit/rpms/Coin3.git/plain/0010-GCC-4.8.0-fixes.patch
-
-From 9f5d96a2b9a71ab539237d2dab4c54fc46fc5c5b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu@corsepiu.home>
-Date: Thu, 18 Apr 2013 19:17:06 +0200
-Subject: [PATCH 10/10] GCC-4.8.0 fixes
-
----
- src/fonts/freetype.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/fonts/freetype.cpp b/src/fonts/freetype.cpp
-index 760b88b..e705d3a 100644
---- a/src/fonts/freetype.cpp
-+++ b/src/fonts/freetype.cpp
-@@ -32,18 +32,18 @@
- 
-    20050613 mortene. */
- 
--#include "fonts/freetype.h"
--
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif /* HAVE_CONFIG_H */
- 
--#include <stdlib.h>
-+#include <cstdlib>
- #include <assert.h>
- 
- #include "glue/freetype.h"
- #include "glue/GLUWrapper.h"
- 
-+#include "fonts/freetype.h"
-+
- /* ************************************************************************* */
- 
- #ifdef __cplusplus
--- 
-1.8.1.4
-
diff --git a/srcpkgs/coin3/patches/0012-memhandler-initialization.patch b/srcpkgs/coin3/patches/0012-memhandler-initialization.patch
deleted file mode 100644
index 7ad4dc68116..00000000000
--- a/srcpkgs/coin3/patches/0012-memhandler-initialization.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Source: http://pkgs.fedoraproject.org/cgit/rpms/Coin3.git/plain/0012-memhandler-initialization.patch
-Additional information: https://bugzilla.redhat.com/show_bug.cgi?id=1323159
---- Coin-3.1.3/src/misc/SbHash.h.init	2010-03-02 22:20:09.000000000 +0900
-+++ Coin-3.1.3/src/misc/SbHash.h	2016-04-22 16:52:39.888883757 +0900
-@@ -89,6 +89,8 @@
-     cc_memalloc_deallocate(entry->memhandler, ptr);
-   }
-   SbHashEntry(const Key & key, const Type & obj) : key(key), obj(obj) {}
-+  SbHashEntry(const Key & key, const Type & obj, cc_memalloc *memhandler) 
-+		: key(key), obj(obj), memhandler(memhandler) {}
- 
-   Key key;
-   Type obj;
-@@ -218,7 +220,7 @@
-     /* Key not already in the hash table; insert a new
-      * entry as the first element in the bucket
-      */
--    entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj);
-+    entry = new (this->memhandler) SbHashEntry<Type, Key>(key, obj, this->memhandler);
-     entry->next = this->buckets[i];
-     this->buckets[i] = entry;
- 
diff --git a/srcpkgs/coin3/patches/fix-missing-deref.patch b/srcpkgs/coin3/patches/fix-missing-deref.patch
deleted file mode 100644
index 8c50078b8b7..00000000000
--- a/srcpkgs/coin3/patches/fix-missing-deref.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./src/3ds/SoStream.cpp.orig	2018-01-16 11:18:58.965420684 +0100
-+++ ./src/3ds/SoStream.cpp	2018-01-16 11:18:23.140563596 +0100
-@@ -176,7 +176,7 @@ do { \
-   if (!gotNum) { setBadBit(); return FALSE; } \
-  \
-   char *ce; \
--  s = '\0'; \
-+  *s = '\0'; \
-   _convertType_ tempVal = _convertFunc_(buf, &ce, 0); \
-  \
-   if (ce != s) \
-@@ -273,7 +273,7 @@ do { \
- gotAll: \
-   \
-   char *ce; \
--  s = '\0'; \
-+  *s = '\0'; \
-   double tempVal = _convertFunc_(buf, &ce); \
-  \
-   if (ce != s) \
diff --git a/srcpkgs/coin3/patches/no-cpack.patch b/srcpkgs/coin3/patches/no-cpack.patch
new file mode 100644
index 00000000000..5417d2e66c9
--- /dev/null
+++ b/srcpkgs/coin3/patches/no-cpack.patch
@@ -0,0 +1,8 @@
+--- CMakeLists.txt.ORIG
++++ CMakeLists.txt
+@@ -815,4 +815,4 @@
+ 
+ # ############################################################################
+ # New CPACK section, please see the README file inside cpack.d directory.
+-add_subdirectory(cpack.d)
++#add_subdirectory(cpack.d)
diff --git a/srcpkgs/coin3/template b/srcpkgs/coin3/template
index 4150c863e9f..d5483ee048c 100644
--- a/srcpkgs/coin3/template
+++ b/srcpkgs/coin3/template
@@ -1,55 +1,30 @@
 # Template file for 'coin3'
 pkgname=coin3
-version=3.1.3
-revision=5
-wrksrc="Coin-${version}"
-build_style=gnu-configure
-configure_args="--includedir=/usr/include/Coin3 --disable-dependency-tracking
- --disable-static --enable-threadsafe --enable-exceptions
- --disable-dl-simage --disable-dl-glu --disable-dl-libbzip2
- --disable-dl-zlib --disable-dl-freetype --disable-dl-fontconfig
- --enable-3ds-import --enable-html
- sim_ac_simage_configcmd=$XBPS_CROSS_BASE/usr/bin/simage-config"
-hostmakedepends="pkg-config doxygen perl"
-makedepends="freetype-devel glu-devel zlib-devel bzip2-devel
- fontconfig-devel boost-devel simage-devel"
+version=4.0.0
+revision=1
+wrksrc="coin-Coin-${version}"
+build_style=cmake
+configure_args="-DCMAKE_INSTALL_INCLUDEDIR=/usr/include/Coin3
+ -DCMAKE_BUILD_TYPE=Release -DCOIN_BUILD_TESTS=OFF -DCOIN_BUILD_DOCUMENTATION=ON"
+hostmakedepends="doxygen graphviz"
+makedepends="boost-devel glu-devel"
 short_desc="High-level 3D graphics toolkit"
 maintainer="yopito <pierre.bourgin@free.fr>"
-# HomePage tells BSD 3-Clause license, but tarball is GPLv2
-license="GPL-2.0-only"
-homepage="https://bitbucket.org/Coin3D/coin/wiki/Home"
-distfiles="https://bitbucket.org/Coin3D/coin/downloads/Coin-${version}.tar.gz"
-checksum=583478c581317862aa03a19f14c527c3888478a06284b9a46a0155fa5886d417
-patch_args="-Np1"
+license="BSD-3-Clause"
+homepage="https://coin3d.github.io/"
+distfiles="https://github.com/coin3d/coin/archive/Coin-${version}.tar.gz"
+checksum=b00d2a8e9d962397cf9bf0d9baa81bcecfbd16eef675a98c792f5cf49eb6e805
 
-post_extract() {
-	# remove bundled boost headers
-	rm -rf ${wrksrc}/include/boost
-}
-
-do_configure() {
-	# only way to compute and point freetype2 stuff to configure
-	: ${configure_script:=./configure}
-	CPPFLAGS+="$(pkg-config --cflags freetype2)" ${configure_script} ${configure_args}
-}
-
-post_configure() {
-	case "$XBPS_TARGET_MACHINE" in
-	*-musl)
-		# configure checks are awfull
-		sed -i -e 's,^#define SIM_TIMEVAL_TV_SEC_T { },#define SIM_TIMEVAL_TV_SEC_T time_t,' \
-		       -e 's,^#define SIM_TIMEVAL_TV_USEC_T { },#define SIM_TIMEVAL_TV_USEC_T suseconds_t,' \
-		       ${wrksrc}/src/config.h
-		;;
-	esac
-}
+if [ "$CROSS_BUILD" ]; then
+	# bypass runtime test (quote hashing is fine with gcc 9.3)
+	configure_args+=" -DHAVE_HASH_QUOTING_EXITCODE=0"
+	configure_args+=" -DHAVE_HASH_QUOTING_EXITCODE__TRYRUN_OUTPUT=''"
+fi
 
 post_install() {
-	if [ "$CROSS_BUILD" ]; then
-		sed -i -e "s,$XBPS_CROSS_BASE,,g" \
-			$DESTDIR/usr/share/Coin/conf/coin-default.cfg \
-			$DESTDIR/usr/lib/pkgconfig/Coin.pc
-	fi
+	# coin-config is superseeded by cmake support
+	rm $DESTDIR/usr/bin/coin-config
+	vlicense COPYING
 }
 
 coin3-devel_package() {
@@ -57,17 +32,14 @@ coin3-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/bin/coin-config
+		vmove usr/lib/cmake
 		vmove "usr/lib/*.so"
 		vmove usr/lib/pkgconfig
-		vmove usr/share/aclocal
-		vmove usr/share/man
 	}
 }
 
 coin3-doc_package() {
 	short_desc+=" - documentation"
-	archs=noarch
 	pkg_install() {
 		vmove usr/share/doc
 	}

From b6568f9124479b49ddbc931ca8891924b6899cdd Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Mon, 23 Nov 2020 00:54:54 +0100
Subject: [PATCH 2/3] python3-pivy: rebuild against coin3-4.0.0

* fix license
* fix update detection
* setup.py: switch to cmake that is needed for coin3 4.0
---
 srcpkgs/python3-pivy/template | 65 ++++++++++++++++++++++++-----------
 srcpkgs/python3-pivy/update   |  3 --
 2 files changed, 45 insertions(+), 23 deletions(-)
 delete mode 100644 srcpkgs/python3-pivy/update

diff --git a/srcpkgs/python3-pivy/template b/srcpkgs/python3-pivy/template
index 40570303769..a0844f8b7e0 100644
--- a/srcpkgs/python3-pivy/template
+++ b/srcpkgs/python3-pivy/template
@@ -1,39 +1,64 @@
 # Template file for 'python3-pivy'
 pkgname=python3-pivy
 version=0.6.5
-revision=1
+revision=2
 wrksrc="pivy-${version}"
 build_style=python3-module
-hostmakedepends="python3-devel swig"
-makedepends="python3-devel coin3-devel qt5-devel"
+hostmakedepends="python3-devel swig cmake"
+makedepends="python3-devel coin3-devel"
 short_desc="Python3 bindings for the high-level 3D graphics library Coin"
 maintainer="yopito <pierre.bourgin@free.fr>"
-license="0BSD"
+license="ISC"
 homepage="https://github.com/coin3d/pivy"
 distfiles="${homepage}/archive/${version}.tar.gz"
 checksum=16f2e339e5c59a6438266abe491013a20f53267e596850efad1559564a2c1719
 
+# still relevant with pivy 0.6.5 ?
 case "$XBPS_TARGET_MACHINE" in
 	ppc64*);;
 	ppc*) broken="{standard input}:3376761: Error: operand out of range";;
 esac
 
-if [ "$CROSS_BUILD" ]; then
-	CFLAGS+=" -I$XBPS_CROSS_BASE/usr/include/Coin3"
-fi
-
-post_extract() (
-	# use setup_old.py until have Coin with cmake support
-	mv -f setup_old.py setup.py
-)
-
-post_patch() {
-	if [ "$CROSS_BUILD" ]; then
-		vsed -i setup.py \
-			-e '/if not self[.]check_cmd_exists.*coin-config/,+1d' \
-			-e "s!coin-config!$XBPS_CROSS_BASE/usr/bin/coin-config!" \
-			-e "/INCLUDE_DIR.*coin-config/s!=!= \"$XBPS_CROSS_BASE\" +!"
-	fi
+# setup.py calls cmake directly, so can't rely on xbps's cmake crossbuild support:
+# let's recreate here. Upstream should switch to cmake on next release (0.6.6).
+
+pre_configure() {
+	[ -z "$CROSS_BUILD" ] && return 0
+	case "$XBPS_TARGET_MACHINE" in
+		x86_64*) _CMAKE_SYSTEM_PROCESSOR=x86_64 ;;
+		i686*) _CMAKE_SYSTEM_PROCESSOR=x86 ;;
+		aarch64*) _CMAKE_SYSTEM_PROCESSOR=aarch64 ;;
+		arm*) _CMAKE_SYSTEM_PROCESSOR=arm ;;
+		mips*) _CMAKE_SYSTEM_PROCESSOR=mips ;;
+		ppc64le*) _CMAKE_SYSTEM_PROCESSOR=ppc64le ;;
+		ppc64*) _CMAKE_SYSTEM_PROCESSOR=ppc64 ;;
+		ppcle*) _CMAKE_SYSTEM_PROCESSOR=ppcle ;;
+		ppc*) _CMAKE_SYSTEM_PROCESSOR=ppc ;;
+		*) _CMAKE_SYSTEM_PROCESSOR=generic ;;
+	esac
+	cat >cross_${XBPS_CROSS_TRIPLET}.cmake <<_EOF
+SET(CMAKE_SYSTEM_NAME Linux)
+SET(CMAKE_SYSTEM_VERSION 1)
+
+SET(CMAKE_C_COMPILER   ${CC})
+SET(CMAKE_CXX_COMPILER ${CXX})
+SET(CMAKE_CROSSCOMPILING TRUE)
+
+SET(CMAKE_SYSTEM_PROCESSOR ${_CMAKE_SYSTEM_PROCESSOR})
+
+SET(CMAKE_FIND_ROOT_PATH  "${XBPS_CROSS_BASE}/usr;${XBPS_CROSS_BASE}")
+
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+SET(wxWidgets_CONFIG_EXECUTABLE ${XBPS_WRAPPERDIR}/${wx_config:=wx-config})
+_EOF
+	cat >$XBPS_WRAPPERDIR/cmake <<_EOF
+#!/bin/sh
+/usr/bin/cmake -DCMAKE_TOOLCHAIN_FILE=$wrksrc/cross_${XBPS_CROSS_TRIPLET}.cmake "$@"
+_EOF
+	chmod +x $XBPS_WRAPPERDIR/cmake
 }
 
 post_install() {
diff --git a/srcpkgs/python3-pivy/update b/srcpkgs/python3-pivy/update
deleted file mode 100644
index d4a4e715386..00000000000
--- a/srcpkgs/python3-pivy/update
+++ /dev/null
@@ -1,3 +0,0 @@
-site=https://bitbucket.org/Coin3D/pivy/downloads/?tab=tags
-pkgname=
-ignore="20101207"

From b2abaa3cfe7c62a1b056e19ed0f3d4a1f31a90ef Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Mon, 23 Nov 2020 00:54:55 +0100
Subject: [PATCH 3/3] freecad: libexecinfo usage, rebuild with coin3 4.0.0

libexecinfo's usage is incomplete: 002-execinfo.patch still needed

[ci skip]
---
 .../patches/010-salomesmesh-execinfo.patch    | 30 -----------
 .../patches/103-find-coin3v4-doc.patch        | 50 +++++++++++++++++++
 .../freecad/patches/151-python-warning.patch  | 39 +++++++++++++++
 srcpkgs/freecad/template                      |  3 +-
 4 files changed, 91 insertions(+), 31 deletions(-)
 delete mode 100644 srcpkgs/freecad/patches/010-salomesmesh-execinfo.patch
 create mode 100644 srcpkgs/freecad/patches/103-find-coin3v4-doc.patch
 create mode 100644 srcpkgs/freecad/patches/151-python-warning.patch

diff --git a/srcpkgs/freecad/patches/010-salomesmesh-execinfo.patch b/srcpkgs/freecad/patches/010-salomesmesh-execinfo.patch
deleted file mode 100644
index 2b46616ad7a..00000000000
--- a/srcpkgs/freecad/patches/010-salomesmesh-execinfo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
-+++ src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
-@@ -29,7 +29,9 @@
- #ifndef WIN32
- #include <unistd.h>
- #include <sys/stat.h>
-+#ifdef __GLIBC__
- #include <execinfo.h>
-+#endif
- #endif
- 
- 
-@@ -109,6 +111,7 @@
- #ifndef WIN32
-   void print_traceback()
-   {
-+#ifdef __GLIBC__
-     void *array[50];
-     size_t size;
-     char **strings;
-@@ -123,6 +126,9 @@
-       }
- 
-     free (strings);
-+#else     
-+   std::cerr << "sorry, no backtrace on musl libc";
-+#endif
-   }
- #else
-   #if (_MSC_VER >= 1400) // Visual Studio 2005
diff --git a/srcpkgs/freecad/patches/103-find-coin3v4-doc.patch b/srcpkgs/freecad/patches/103-find-coin3v4-doc.patch
new file mode 100644
index 00000000000..5b7de514de4
--- /dev/null
+++ b/srcpkgs/freecad/patches/103-find-coin3v4-doc.patch
@@ -0,0 +1,50 @@
+From 04833a5f1cbc07f8f6ae94453c4535e13789aa05 Mon Sep 17 00:00:00 2001
+From: yopito <pierre.bourgin@free.fr>
+Date: Mon, 6 Jul 2020 06:54:07 +0200
+Subject: [PATCH] build: fix Coin 3d documentation discovering
+
+* coin3d 4.0.0 default location is /usr/share/doc/Coin/html/
+* misuses of find_files() if several candidates for filename
+* export variable COIN3D_DOC_FOUND that is used by cMake/FreeCAD_Helpers/PrintFinalReport.cmake
+---
+ cMake/FindCoin3DDoc.cmake | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git cMake/FindCoin3DDoc.cmake cMake/FindCoin3DDoc.cmake
+index 883368445..c6c92f260 100644
+--- cMake/FindCoin3DDoc.cmake
++++ cMake/FindCoin3DDoc.cmake
+@@ -23,18 +23,19 @@ IF (COIN3D_FOUND)
+       find_path(COIN3D_DOC_PATH index.html 
+                 /usr/share/doc/libcoin80-doc/html
+                 /usr/share/doc/coin/html
++                /usr/share/doc/Coin/html
+       )
+       IF( EXISTS ${COIN3D_DOC_PATH})
+         message(STATUS "Coin3D doc is installed")
+-        find_file(COIN3D_DOC_TAGFILE coin.tag Coin.tag 
+-            ${COIN3D_DOC_PATH}
++        find_file(COIN3D_DOC_TAGFILE NAMES coin.tag Coin.tag 
++            PATHS ${COIN3D_DOC_PATH}
+         )
+         IF( EXISTS ${COIN3D_DOC_TAGFILE})
+           SET( COIN3D_DOC_FOUND "YES"
+           )
+         ELSE( EXISTS ${COIN3D_DOC_TAGFILE})
+-          find_file(COIN3D_DOC_TAGFILE_GZ coin.tag.gz Coin.tag.gz 
+-              ${COIN3D_DOC_PATH}
++          find_file(COIN3D_DOC_TAGFILE_GZ NAMES coin.tag.gz Coin.tag.gz 
++              PATHS ${COIN3D_DOC_PATH}
+           )
+           IF( EXISTS ${COIN3D_DOC_TAGFILE_GZ})
+             message(STATUS "  Found ${COIN3D_DOC_TAGFILE_GZ}")
+@@ -85,4 +86,5 @@ if(COIN3D_DOC_FOUND)
+   message(STATUS "  Location: ${COIN3D_DOC_PATH}")
+ endif(COIN3D_DOC_FOUND)
+ 
+-
++# export for others
++SET( COIN3D_DOC_FOUND "${COIN3D_DOC_FOUND}" CACHE BOOL "Coin3d documentation available")
+-- 
+2.27.0
+
diff --git a/srcpkgs/freecad/patches/151-python-warning.patch b/srcpkgs/freecad/patches/151-python-warning.patch
new file mode 100644
index 00000000000..e76c8b1c654
--- /dev/null
+++ b/srcpkgs/freecad/patches/151-python-warning.patch
@@ -0,0 +1,39 @@
+diff --git src/Mod/Fem/feminout/importFenicsMesh.py src/Mod/Fem/feminout/importFenicsMesh.py
+index 1bb40de..a0b5484 100644
+--- src/Mod/Fem/feminout/importFenicsMesh.py
++++ src/Mod/Fem/feminout/importFenicsMesh.py
+@@ -154,7 +154,7 @@ def export(objectslist, fileString):
+             FreeCAD.Console.PrintWarning("Tri6 -> Tri3, Tet10 -> Tet4, etc.\n")
+             writeFenicsXML.write_fenics_mesh_xml(obj, fileString)
+         elif fileExtension.lower() == '.xdmf':
+-            if importToolsFem.get_FemMeshObjectMeshGroups(obj) is not ():
++            if importToolsFem.get_FemMeshObjectMeshGroups(obj):
+                 # if there are groups found, make task panel available
+                 panel = WriteXDMFTaskPanel(obj, fileString)
+                 FreeCADGui.Control.showDialog(panel)
+diff --git src/Mod/Fem/feminout/writeFenicsXDMF.py src/Mod/Fem/feminout/writeFenicsXDMF.py
+index 9e7f01b..5a93823 100644
+--- src/Mod/Fem/feminout/writeFenicsXDMF.py
++++ src/Mod/Fem/feminout/writeFenicsXDMF.py
+@@ -258,7 +258,7 @@ def write_fenics_mesh_xdmf(fem_mesh_obj, outputfile, group_values_dict={}, encod
+     fem_mesh = fem_mesh_obj.FemMesh
+     gmshgroups = get_FemMeshObjectMeshGroups(fem_mesh_obj)
+ 
+-    if gmshgroups is not ():
++    if gmshgroups:
+         print('found mesh groups')
+ 
+     for g in gmshgroups:
+diff --git src/Mod/PartDesign/WizardShaft/Shaft.py src/Mod/PartDesign/WizardShaft/Shaft.py
+index c519b97..8c20eb4 100644
+--- src/Mod/PartDesign/WizardShaft/Shaft.py
++++ src/Mod/PartDesign/WizardShaft/Shaft.py
+@@ -88,7 +88,7 @@ class Shaft:
+         # We don't call equilibrium() here because the new segment has no constraints defined yet
+         # Fix face reference of fixed segment if it is the last one
+         for i in range(1,  len(self.segments)):
+-            if self.segments[i].constraintType is not "Fixed":
++            if self.segments[i].constraintType != "Fixed":
+                 continue
+             if i == len(self.segments) - 1:
+                 self.segments[index].constraint.References = [( self.feature.feature,  "Face%u" % (2 * (index+1) + 1) )]
diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template
index 76d6df64724..6fe749b53d7 100644
--- a/srcpkgs/freecad/template
+++ b/srcpkgs/freecad/template
@@ -1,7 +1,7 @@
 # Template file for 'freecad'
 pkgname=freecad
 version=0.18.4
-revision=9
+revision=10
 wrksrc="FreeCAD-${version}"
 build_style=cmake
 
@@ -38,6 +38,7 @@ checksum=4e0cce447b31b8989a00cf68c49ae012ce8e5546a56c6e0874fbd8f7ddedffd2
 
 if [ "$XBPS_TARGET_LIBC" = musl ]; then
 	makedepends+=" libexecinfo-devel"
+	LDFLAGS="-lexecinfo"
 fi
 
 post_extract() {

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: FreeCAD stack: python3-pivy fixes, coin3 4.0.0
  2020-10-14 19:08 [PR PATCH] FreeCAD stack: python3-pivy fixes, coin3 4.0.0 yopito
  2020-11-22  8:34 ` sgn
  2020-11-22 23:55 ` [PR PATCH] [Updated] " yopito
@ 2020-11-22 23:57 ` yopito
  2020-11-23  0:19 ` sgn
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: yopito @ 2020-11-22 23:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 271 bytes --]

New comment by yopito on void-packages repository

https://github.com/void-linux/void-packages/pull/25607#issuecomment-731869182

Comment:
@sgn: thanks for your help, please review

My tests:
* build fine for x86_64-musl, aarch64 and armv6l
* freecad runtime is fine

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: FreeCAD stack: python3-pivy fixes, coin3 4.0.0
  2020-10-14 19:08 [PR PATCH] FreeCAD stack: python3-pivy fixes, coin3 4.0.0 yopito
                   ` (2 preceding siblings ...)
  2020-11-22 23:57 ` yopito
@ 2020-11-23  0:19 ` sgn
  2020-11-24 15:01 ` Piraty
  2020-11-24 15:01 ` [PR PATCH] [Merged]: " Piraty
  5 siblings, 0 replies; 7+ messages in thread
From: sgn @ 2020-11-23  0:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 198 bytes --]

New comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/25607#issuecomment-731872631

Comment:
@Piraty wants to look at this. Hence, I'll let Piraty decide.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: FreeCAD stack: python3-pivy fixes, coin3 4.0.0
  2020-10-14 19:08 [PR PATCH] FreeCAD stack: python3-pivy fixes, coin3 4.0.0 yopito
                   ` (3 preceding siblings ...)
  2020-11-23  0:19 ` sgn
@ 2020-11-24 15:01 ` Piraty
  2020-11-24 15:01 ` [PR PATCH] [Merged]: " Piraty
  5 siblings, 0 replies; 7+ messages in thread
From: Piraty @ 2020-11-24 15:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 144 bytes --]

New comment by Piraty on void-packages repository

https://github.com/void-linux/void-packages/pull/25607#issuecomment-733029799

Comment:
lgtm

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PR PATCH] [Merged]: FreeCAD stack: python3-pivy fixes, coin3 4.0.0
  2020-10-14 19:08 [PR PATCH] FreeCAD stack: python3-pivy fixes, coin3 4.0.0 yopito
                   ` (4 preceding siblings ...)
  2020-11-24 15:01 ` Piraty
@ 2020-11-24 15:01 ` Piraty
  5 siblings, 0 replies; 7+ messages in thread
From: Piraty @ 2020-11-24 15:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 205 bytes --]

There's a merged pull request on the void-packages repository

FreeCAD stack: python3-pivy fixes, coin3 4.0.0
https://github.com/void-linux/void-packages/pull/25607

Description:
personal runtime is fine.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-11-24 15:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-14 19:08 [PR PATCH] FreeCAD stack: python3-pivy fixes, coin3 4.0.0 yopito
2020-11-22  8:34 ` sgn
2020-11-22 23:55 ` [PR PATCH] [Updated] " yopito
2020-11-22 23:57 ` yopito
2020-11-23  0:19 ` sgn
2020-11-24 15:01 ` Piraty
2020-11-24 15:01 ` [PR PATCH] [Merged]: " Piraty

Github messages for voidlinux

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/voidlinux-github

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 voidlinux-github voidlinux-github/ http://inbox.vuxu.org/voidlinux-github \
		voidlinux-github@inbox.vuxu.org
	public-inbox-index voidlinux-github

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.github.voidlinux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git