From eebcaabd7a8ae6fa0d793c7461f6d715f9a2ff96 Mon Sep 17 00:00:00 2001 From: Piraty Date: Sat, 5 Oct 2019 01:19:47 +0200 Subject: [PATCH] occt: update to 7.4.0. ship an env file in /etc/profile.d to make sure the Draw command works (stolen from arch linux) --- common/shlibs | 1 + srcpkgs/occt/files/opencascade.sh | 24 ++++++++++++ srcpkgs/occt/patches/musl-fenv.patch | 55 +++++++++------------------- srcpkgs/occt/template | 9 +++-- 4 files changed, 49 insertions(+), 40 deletions(-) create mode 100644 srcpkgs/occt/files/opencascade.sh diff --git a/common/shlibs b/common/shlibs index 43b31e9ae65..2aedb6fdda6 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3239,6 +3239,7 @@ libTKOffset.so.7 occt-7.2.0p1_1 libTKXDESTEP.so.7 occt-7.2.0p1_1 libTKQADraw.so.7 occt-7.2.0p1_1 libTKXmlL.so.7 occt-7.2.0p1_1 +libTKRWMesh.so.7 occt-7.4.0_1 libargon2.so.1 libargon2-20171227_1 libdazzle-1.0.so.0 libdazzle-3.28.0_1 libjsonrpc-glib-1.0.so.1 jsonrpc-glib-3.28.0_1 diff --git a/srcpkgs/occt/files/opencascade.sh b/srcpkgs/occt/files/opencascade.sh new file mode 100644 index 00000000000..4d30d9ff1d6 --- /dev/null +++ b/srcpkgs/occt/files/opencascade.sh @@ -0,0 +1,24 @@ +export CASROOT=/usr + +export CSF_LANGUAGE=us +export MMGT_CLEAR=1 +export CSF_EXCEPTION_PROMPT=1 + +export CSF_OCCTResourcePath=$CASROOT/share/opencascade/resources +export CSF_SHMessage=$CSF_OCCTResourcePath/SHMessage +export CSF_MDTVTexturesDirectory=$CSF_OCCTResourcePath/Textures +export CSF_ShadersDirectory=$CSF_OCCTResourcePath/Shaders +export CSF_XSMessage=$CSF_OCCTResourcePath/XSMessage +export CSF_TObjMessage=$CSF_OCCTResourcePath/TObj +export CSF_StandardDefaults=$CSF_OCCTResourcePath/StdResource +export CSF_PluginDefaults=$CSF_OCCTResourcePath/StdResource +export CSF_XCAFDefaults=$CSF_OCCTResourcePath/StdResource +export CSF_TObjDefaults=$CSF_OCCTResourcePath/StdResource +export CSF_StandardLiteDefaults=$CSF_OCCTResourcePath/StdResource +export CSF_IGESDefaults=$CSF_OCCTResourcePath/XSTEPResource +export CSF_STEPDefaults=$CSF_OCCTResourcePath/XSTEPResource +export CSF_XmlOcafResource=$CSF_OCCTResourcePath/XmlOcafResource +export CSF_MIGRATION_TYPES=$CSF_OCCTResourcePath/StdResource/MigrationSheet.txt +export CSF_DrawPluginDefaults=$CSF_OCCTResourcePath/DrawResources +export DRAWHOME=$CSF_OCCTResourcePath/DrawResources +export DRAWDEFAULT=$CSF_OCCTResourcePath/DrawResources/DrawDefault diff --git a/srcpkgs/occt/patches/musl-fenv.patch b/srcpkgs/occt/patches/musl-fenv.patch index 4a2e880db4f..c4fd770646d 100644 --- a/srcpkgs/occt/patches/musl-fenv.patch +++ b/srcpkgs/occt/patches/musl-fenv.patch @@ -7,7 +7,7 @@ non-posix functions fegetexcept(3) and feenableexcept(3). --- src/OSD/OSD_signal.cxx.orig +++ src/OSD/OSD_signal.cxx -@@ -645,7 +645,7 @@ +@@ -703,7 +703,7 @@ #include @@ -16,40 +16,21 @@ non-posix functions fegetexcept(3) and feenableexcept(3). #include #endif -@@ -687,7 +687,7 @@ - // cout << "OSD::Handler: signal " << (int) theSignal << " occured inside a try block " << endl ; - if ( ADR_ACT_SIGIO_HANDLER != NULL ) - (*ADR_ACT_SIGIO_HANDLER)() ; --#ifdef __linux__ -+#if defined(__linux__) && defined(__GLIBC__) - if (fFltExceptions) - feenableexcept (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW); - //feenableexcept (FE_INVALID | FE_DIVBYZERO); -@@ -805,7 +805,7 @@ - (void)theSignal; // silence GCC warnings - (void)theContext; - --#ifdef __linux__ -+#if defined(__linux__) && defined(__GLIBC__) - if (fFltExceptions) - feenableexcept (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW); - //feenableexcept (FE_INVALID | FE_DIVBYZERO); -@@ -892,14 +892,18 @@ - #endif - } - #elif defined (__linux__) -+#if defined(__GLIBC__) - feenableexcept (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW); -+#endif - fFltExceptions = Standard_True; - #endif - } - else +@@ -914,7 +914,7 @@ + //======================================================================= + void OSD::SetFloatingSignal (Standard_Boolean theFloatingSignal) + { +-#if defined (__linux__) ++#if defined (__linux__) && defined(__GLIBC__) + feclearexcept (FE_ALL_EXCEPT); + if (theFloatingSignal) { - #if defined (__linux__) -+#if defined(__GLIBC__) - fedisableexcept (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW); -+#endif - fFltExceptions = Standard_False; - #endif - } +@@ -947,7 +947,7 @@ + //======================================================================= + Standard_Boolean OSD::ToCatchFloatingSignals() + { +-#if defined (__linux__) ++#if defined (__linux__) && defined(__GLIBC__) + return (fegetexcept() & _OSD_FPX) != 0; + #else + return Standard_False; diff --git a/srcpkgs/occt/template b/srcpkgs/occt/template index 70647369464..3b131d74512 100644 --- a/srcpkgs/occt/template +++ b/srcpkgs/occt/template @@ -1,6 +1,6 @@ # Template file for 'occt' pkgname=occt -version=7.3.0p3 +version=7.4.0 revision=1 _gittag="V${version//./_}" wrksrc=occt-${_gittag} @@ -13,16 +13,19 @@ short_desc="OpenCASCADE Technology - library for CAD/CAM/CAE applications" maintainer="Piraty " license="LGPL-2.1-only" homepage="https://www.opencascade.com" -# distifile: use git instead of official tarball that requires registration +# distfile: use git instead of official tarball, which requires registration # see https://www.opencascade.com/content/packaging-again-debian distfiles="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/${_gittag};sf=tgz>occt-${_gittag}.tar.gz" -checksum=fbd46db3e75313131b88a606024ea4d4496c3c7f6e68c23988e9d3e673d4f21b +checksum=655da7717dac3460a22a6a7ee68860c1da56da2fec9c380d8ac0ac0349d67676 conflicts="oce>=0" post_install() { rm ${PKGDESTDIR}/usr/share/doc/opencascade/*_LGPL_*.txt vlicense OCCT_LGPL_EXCEPTION.txt rm ${DESTDIR}/usr/bin/custom*.sh + + vmkdir /etc/profile.d + vinstall ${FILESDIR}/opencascade.sh 644 /etc/profile.d } occt-devel_package() {