public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2015-08-11  9:18 Michael Weber
  0 siblings, 0 replies; 11+ messages in thread
From: Michael Weber @ 2015-08-11  9:18 UTC (permalink / raw
  To: gentoo-commits

commit:     06e649ca4f4dab96b9663ee1af659755bdabd10b
Author:     Michael Weber <xmw <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 11 09:16:52 2015 +0000
Commit:     Michael Weber <xmw <AT> gentoo <DOT> org>
CommitDate: Tue Aug 11 09:16:52 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06e649ca

sci-libs/opencascade/opencascade: drop old versions

Package-Manager: portage-2.2.20

 sci-libs/opencascade/Manifest                      |   3 -
 .../files/opencascade-6.5-fixed-DESTDIR.patch      | 174 -------------------
 .../opencascade/files/opencascade-6.5-ftgl.patch   |  77 ---------
 .../opencascade/files/opencascade-6.5-tcl8.6.patch |  46 -----
 .../files/opencascade-6.5.4-fixed-DESTDIR.patch    |  46 -----
 .../files/opencascade-6.5.4-tcl8.6.patch           |  38 -----
 .../opencascade-6.5.5-deprecated-glx-api.patch     |  30 ----
 .../opencascade-6.6.0-deprecated-glx-api.patch     |  50 ------
 .../files/opencascade-6.6.0-fixed-DESTDIR.patch    |  45 -----
 sci-libs/opencascade/opencascade-6.5.5.ebuild      | 171 -------------------
 sci-libs/opencascade/opencascade-6.5.ebuild        | 187 ---------------------
 sci-libs/opencascade/opencascade-6.6.0.ebuild      | 169 -------------------
 12 files changed, 1036 deletions(-)

diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index fc426c2..9314c97 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1,6 +1,3 @@
-DIST OpenCASCADE650.tar.gz 214819922 SHA256 fb95d8a542bbfc26af6186495f752a683b40137b34d6afd8f9bb02730c2436c6 SHA512 ea2c3703e3338584d84fb8e06664e79f5f113a117e94a4eefcf39bac3bcc28d81ace2340c83399ecbe5774c348faa3713e90623f8329562e10700ad7e2048be7 WHIRLPOOL 78e092b9ea892d7686578696bcba67f649b65b8d520f358cf2aac9a2c49baf75ff3717899865d7f752a5577b123f8d0eadce06173e5b1bad3dcf0c31052b09d6
-DIST OpenCASCADE655.tgz 146901035 SHA256 f5c6ab58aeb5c514428ae1b802e2820ca9267d19eecd64776f06baa60098d1b6 SHA512 848057a8a9fd41f1d13c4634c5e3366d37f3b4c81b7b194be9d4e48f5608f0bdfbc8cedd2a466e1724649a04ee87bfd0d1a445be47d832cc12fba5647689ceb2 WHIRLPOOL 18413460491c8a2fd10e97c22dd4b9b4772d97f19d27f59f33faa6618a1aac348877abc3ab9526878b38aba22328986a5c656ac91930cad460d33e93653bb463
-DIST OpenCASCADE660.tgz 119153607 SHA256 e39fa4b2255b9bd9bf97aa122043f4608d97b6b79d922375da53275e42b25d60 SHA512 8ee232f96ad650e55ac1f5fb1fe684b9d8198279dee4d7fd80a569c35562fffa643dd362fed7c5aff79541dbc463acc38b1364d8396c2c92c2d73f4955893866 WHIRLPOOL 29f0eaee2c64e4fb3fbb958e7cd043a2738a9d62414f332b81c65a009a100f39f56c38b20ffad4e76754522bfcbdc915470c84f9c218109650f9fd23d7bb3813
 DIST opencascade-6.7.1.tgz 194568487 SHA256 c918cb554c0c22d322dc1d2f3a31069e1d5dcbae869db741339e1d4903e864b1 SHA512 31df4bd172d51b1ebee7e67075fa9cdbeb73eccb326f428b1911f15c9ac0feedc5977e2490f54a130b409f292dd6bfb7d40143263a47aa0330c28337639fe828 WHIRLPOOL d6fc042a4aca381ce74eaf1ca2adead5b0f88b599176c13ecd7a967f9dd92e4589c73ebde53ee3b374a78f696bacf674eb18a356ffcf38bbc8d7e60b30043fa6
 DIST opencascade-6.8.0.tgz 198319238 SHA256 50b145655fd3a4448e291388650cd0dcab8f9d99201aba32e8d26aeff03e8e1c SHA512 4fa95bc244001fd27ad1248acf44d6fd6633fa21fa2479bbea42977bdc9688b638eaca5df8442120d3e075113a031a7f894d0525a6b54e537cb3363c0a698c8b WHIRLPOOL 5b57de759208668e970ef0f3cf55589ea13d2295bac8d12ee597d7a40be402427c3c67e232d68df5a0f91ed87c9f7157faa717490f774e8431910d8223c49bf1
 DIST opencascade-6.9.0.tgz 203915299 SHA256 e9da098b304f6b65c3958947c3c687f00128ce020b67d97554a3e3be9cf3d090 SHA512 79c7f715087ca627447a1cfd0b19a216150d71865f53f791978842ca9663181c5b608d93a7dc81945ad0dba287ea003cfa3ff47ebae07602a8fd38e6e1344aee WHIRLPOOL ab3bf2d1e369f87501bc5f3f63c092b6586a76b56443179e542fc2c1b10e9d504429c60096b7bd555c578ba54212693d4b495f34bb9045c3e1fb519b1d480538

diff --git a/sci-libs/opencascade/files/opencascade-6.5-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.5-fixed-DESTDIR.patch
deleted file mode 100644
index ea0f9b6..0000000
--- a/sci-libs/opencascade/files/opencascade-6.5-fixed-DESTDIR.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-diff -urN opencascade.orig/ros/Makefile.am opencascade/ros/Makefile.am
---- opencascade.orig/ros/Makefile.am	2011-03-06 16:08:59.000000000 +0100
-+++ opencascade/ros/Makefile.am	2011-03-06 16:13:35.000000000 +0100
-@@ -86,106 +86,106 @@
- dir_SunOS=sun
- 
- install-exec-local:
--	$(INSTALL) -d $(prefix)/$(platform)
--	if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
--		cd $(prefix)/$(platform) && ln -s ../bin bin; \
-+	$(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
-+	if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
-+		cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
- 	fi
--	if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
--		cd $(prefix)/$(platform) && ln -s ../lib lib; \
-+	if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
-+		cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
- 	fi
--	$(INSTALL) -d $(prefix)/$(dir_$(platform))
--	if [ -e $(prefix)/bin -a ! -e $(prefix)/$(dir_$(platform))/bin ]; then \
--		cd $(prefix)/$(dir_$(platform)) && ln -s ../bin bin; \
-+	$(INSTALL) -d $(DESTDIR)$(prefix)/$(dir_$(platform))
-+	if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(dir_$(platform))/bin ]; then \
-+		cd $(DESTDIR)$(prefix)/$(dir_$(platform)) && ln -s ../bin bin; \
- 	fi
--	if [ -e $(prefix)/lib -a ! -e $(prefix)/$(dir_$(platform))/lib ]; then \
--		cd $(prefix)/$(dir_$(platform)) && ln -s ../lib lib; \
-+	if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(dir_$(platform))/lib ]; then \
-+		cd $(DESTDIR)$(prefix)/$(dir_$(platform)) && ln -s ../lib lib; \
- 	fi
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" ]; then \
--		$(INSTALL) -d $(prefix)/inc; \
--		cp -fr$(CP_$(platform)) $(top_srcdir)/inc $(prefix); \
-+		$(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
-+		cp -fr$(CP_$(platform)) $(top_srcdir)/inc $(DESTDIR)$(prefix); \
- 	fi; \
- 	if [ "$$pd" != "$$bd" ]; then \
--		cp -fr$(CP_$(platform)) $$bd/config.h $(prefix); \
-+		cp -fr$(CP_$(platform)) $$bd/config.h $(DESTDIR)$(prefix); \
- 	fi
--	if [ -e $(prefix)/inc/config.h ]; then \
--		unlink $(prefix)/inc/config.h; \
-+	if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
-+		unlink $(DESTDIR)$(prefix)/inc/config.h; \
- 	fi
--	cd $(prefix)/inc && ln -s ../config.h config.h 
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h 
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" -a -d $(top_srcdir)/src/UnitsAPI ]; then \
--		$(INSTALL) -d $(prefix)/src; \
--		$(INSTALL) -d $(prefix)/src/UnitsAPI; \
--		cp -fr$(CP_$(platform)) $(top_srcdir)/src/UnitsAPI $(prefix)/src; \
--		cp -f$(CP_$(platform)) $(top_srcdir)/env_DRAW.sh $(prefix); \
-+		$(INSTALL) -d $(DESTDIR)$(prefix)/src; \
-+		$(INSTALL) -d $(DESTDIR)$(prefix)/src/UnitsAPI; \
-+		cp -fr$(CP_$(platform)) $(top_srcdir)/src/UnitsAPI $(DESTDIR)$(prefix)/src; \
-+		cp -f$(CP_$(platform)) $(top_srcdir)/env_DRAW.sh $(DESTDIR)$(prefix); \
- 	fi
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" ]; then \
- 		inst_dirs="$(FoundationClasses_DIRS)"; \
- 		if test "x$(FoundationClasses_DIRS)" != "x"; then \
- 			for d in $$inst_dirs; do \
--				$(INSTALL) -d $(prefix)/src/$$d; \
--				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
-+				$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 			done; \
- 		fi; \
- 	fi
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" ]; then \
- 		inst_dirs="$(ModelingData_DIRS)"; \
- 		if test "x$(ModelingData_DIRS)" != "x"; then \
- 			for d in $$inst_dirs; do \
--				$(INSTALL) -d $(prefix)/src/$$d; \
--				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
-+				$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 			done; \
- 		fi; \
- 	fi
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" ]; then \
- 		inst_dirs="$(ModelingAlgorithms_DIRS)"; \
- 		if test "x$(ModelingAlgorithms_DIRS)" != "x"; then \
- 			for d in $$inst_dirs; do \
--				$(INSTALL) -d $(prefix)/src/$$d; \
--				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
-+				$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 			done; \
- 		fi; \
- 	fi
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" ]; then \
- 		inst_dirs="$(Visualization_DIRS)"; \
- 		if test "x$(Visualization_DIRS)" != "x"; then \
- 			for d in $$inst_dirs; do \
--				$(INSTALL) -d $(prefix)/src/$$d; \
--				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
-+				$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 			done; \
- 		fi; \
- 	fi
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" ]; then \
- 		inst_dirs="$(ApplicationFramework_DIRS)"; \
- 		if test "x$(ApplicationFramework_DIRS)" != "x"; then \
- 			for d in $$inst_dirs; do \
--				$(INSTALL) -d $(prefix)/src/$$d; \
--				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
-+				$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 			done; \
- 		fi; \
- 	fi
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" ]; then \
- 		inst_dirs="$(DataExchange_DIRS)"; \
- 		if test "x$(DataExchange_DIRS)" != "x"; then \
- 			for d in $$inst_dirs; do \
--				$(INSTALL) -d $(prefix)/src/$$d; \
--				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
-+				$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 			done; \
- 		fi; \
- 	fi
--	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
-+	bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
- 	if [ "$$pd" != "$$sd" ]; then \
- 		inst_dirs="$(Draw_DIRS)"; \
- 		if test "x$(Draw_DIRS)" != "x"; then \
- 			for d in $$inst_dirs; do \
--				$(INSTALL) -d $(prefix)/src/$$d; \
--				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
-+				$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+				cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 			done; \
- 		fi; \
- 	fi
-diff -urN opencascade.orig/ros/configure.in opencascade/ros/configure.in
---- opencascade/ros/configure.in.orig	2011-03-06 19:36:08.000000000 +0100
-+++ opencascade/ros/configure.in	2011-03-06 22:24:04.000000000 +0100
-@@ -422,7 +422,7 @@
-   HAVE_FTGL=yes
-   HAVE_FTGL_INC=yes
-   CPPFLAGS="-I$ftgl/include $CPPFLAGS";
--  AC_CHECK_HEADER( [FTGL/FTGL.h], [], [HAVE_FTGL_INC=no] )
-+  AC_CHECK_HEADER( [FTGL/ftgl.h], [], [HAVE_FTGL_INC=no] )
-   if test "x$HAVE_FTGL_INC" = "xyes"; then
-     CSF_FTGL_INCLUDES="-I$ftgl/include/FTGL"
-     HAVE_FTGL_LIB=yes
-@@ -433,7 +433,7 @@
-     #we have problem with unresolved symbols on 64 stations
-     CSF_FTGL_LIB="-L$ftgl/lib -lftgl"
-     AC_TRY_LINK([
--#include <FTGL/FTGL.h>
-+#include <FTGL/ftgl.h>
- #include <FTGL/FTGLTextureFont.h>
- ], [
- FTGLTextureFont font("");], [

diff --git a/sci-libs/opencascade/files/opencascade-6.5-ftgl.patch b/sci-libs/opencascade/files/opencascade-6.5-ftgl.patch
deleted file mode 100644
index b2729f4..0000000
--- a/sci-libs/opencascade/files/opencascade-6.5-ftgl.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- opencascade/ros/src/OpenGl/OpenGl_FontMgr.cxx.orig	2011-03-06 21:55:55.000000000 +0100
-+++ opencascade/ros/src/OpenGl/OpenGl_FontMgr.cxx	2011-03-06 23:06:05.000000000 +0100
-@@ -1,8 +1,9 @@
- #include <OpenGl_FontMgr.hxx>
- 
--#include <FTGLTextureFont.h>        
--#include <FTLibrary.h>
--#include <FTFace.h>
-+#include <ftgl.h>
-+// #include <FTGLTextureFont.h>        
-+// #include <FTLibrary.h>
-+// #include <FTFace.h>
- #include <Standard_Stream.hxx>
- 
- #undef TRACE
-@@ -71,10 +72,29 @@
-         if ( it.Value()->FontAspect() == OSD_FA_Regular ) {
-           //this workaround for fonts with names dependent on system locale.
-           //for example: "Times New Roman Fett Kursive" or "Times New Roman Gras Italiqui"
--          FTFace face(it.Value()->FontPath()->ToCString());
-+//           FTFace face(it.Value()->FontPath()->ToCString());
-+
-+    FT_Library* library = new FT_Library;
-+    FT_Error ftErrLib = FT_Init_FreeType( library);
-+
-+    const FT_Long DEFAULT_FACE_INDEX = 0;
-+    FT_Face*  ftFace = new FT_Face;
-+
-+    FT_Error err = FT_New_Face( (*library), it.Value()->FontPath()->ToCString(), DEFAULT_FACE_INDEX, ftFace);
-+
-+//     if( err)
-+//     {
-+//         delete ftFace;
-+//         ftFace = 0;
-+//     }
-+//     else
-+//     {
-+//         numGlyphs = (*ftFace)->num_glyphs;
-+//         hasKerningTable = FT_HAS_KERNING((*ftFace));
-+//     }
-               
--          if ( face.Error() == FT_Err_Ok ) {
--            if ( (*face.Face())->style_flags == 0 ) {
-+          if ( err == FT_Err_Ok ) {
-+            if ( (*ftFace)->style_flags == 0 ) {
-               info->SysFont = it.Value();
-             }
-             else {
-@@ -82,22 +102,22 @@
- #ifdef TRACE
-               cout << "TKOpenGl::initializeFontDB() detected new font!\n"
-                 << "\tFont Previous Name: " << it.Value()->FontName()->ToCString() << endl
--                << "\tFont New Name: " << (*face.Face())->family_name << endl
--                << "\tFont Aspect: " << (*face.Face())->style_flags << endl;
-+                << "\tFont New Name: " << (*ftFace)->family_name << endl
-+                << "\tFont Aspect: " << (*ftFace)->style_flags << endl;
- #endif
-               OSD_FontAspect aspect = OSD_FA_Regular;
--              if ( (*face.Face())->style_flags == (FT_STYLE_FLAG_ITALIC | FT_STYLE_FLAG_BOLD) )
-+              if ( (*ftFace)->style_flags == (FT_STYLE_FLAG_ITALIC | FT_STYLE_FLAG_BOLD) )
-                 aspect = OSD_FA_BoldItalic;
--              else if ( (*face.Face())->style_flags == FT_STYLE_FLAG_ITALIC )
-+              else if ( (*ftFace)->style_flags == FT_STYLE_FLAG_ITALIC )
-                 aspect = OSD_FA_Italic;
--              else if ( (*face.Face())->style_flags == FT_STYLE_FLAG_BOLD )
-+              else if ( (*ftFace)->style_flags == FT_STYLE_FLAG_BOLD )
-                 aspect = OSD_FA_Bold;
- 
- #ifdef TRACE
-               cout << "\tOSD_FontAspect: " << aspect << endl;
- #endif
-               Handle(TCollection_HAsciiString) aFontName =
--                new TCollection_HAsciiString( (*face.Face())->family_name );
-+                new TCollection_HAsciiString( (*ftFace)->family_name );
-               info->SysFont = new OSD_SystemFont( aFontName, aspect, it.Value()->FontPath() );
-             }
-           }

diff --git a/sci-libs/opencascade/files/opencascade-6.5-tcl8.6.patch b/sci-libs/opencascade/files/opencascade-6.5-tcl8.6.patch
deleted file mode 100644
index f8b20f9..0000000
--- a/sci-libs/opencascade/files/opencascade-6.5-tcl8.6.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Fix build failure with tcl 8.6
-
-With this patch, opencascade still builds with tcl 8.5.
-
-Submitted upstream: http://www.opencascade.org/org/forum/thread_20125/
-
-Index: opencascade/ros/src/Draw/Draw_Window.cxx
-===================================================================
---- opencascade.orig/ros/src/Draw/Draw_Window.cxx
-+++ opencascade/ros/src/Draw/Draw_Window.cxx
-@@ -70,7 +70,7 @@
-       errChannel = Tcl_GetStdChannel(TCL_STDERR);
-       if (code != TCL_OK) {
-         if (errChannel) {
--          Tcl_Write(errChannel, Interp->result, -1);
-+          Tcl_Write(errChannel, Tcl_GetStringResult(Interp), -1);
-           Tcl_Write(errChannel, "\n", 1);
-         }
-         Tcl_AddErrorInfo(Interp,
-@@ -1044,7 +1044,7 @@
-   mainWindow =
-   Tk_MainWindow(interp) ;
-   if (mainWindow == NULL) {
--    fprintf(stderr, "%s\n", interp->result);
-+    fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
-     exit(1);
-   }
-   Tk_Name(mainWindow) =
-@@ -2064,7 +2064,7 @@
-     OCC_CATCH_SIGNALS
-     Standard_Integer res = Tk_Init(interp) ;
-     if (res != TCL_OK)
--      cout << "tkLoop: error in Tk initialization. Tcl reported: " << interp->result << endl;
-+      cout << "tkLoop: error in Tk initialization. Tcl reported: " << Tcl_GetStringResult(interp) << endl;
- 
-   } catch  (Standard_Failure) {
-     cout <<"tkLoop: exception in TK_Init "<<endl;
-@@ -2074,7 +2074,7 @@
-   mainWindow =
-     Tk_MainWindow(interp) ;
-   if (mainWindow == NULL) {
--        fprintf(stderr, "%s\n", interp->result);
-+        fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
-         cout << "tkLoop: Tk_MainWindow() returned NULL. Exiting..." << endl;
-         Tcl_Exit(0);
-    }

diff --git a/sci-libs/opencascade/files/opencascade-6.5.4-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.5.4-fixed-DESTDIR.patch
deleted file mode 100644
index 15a9fa6..0000000
--- a/sci-libs/opencascade/files/opencascade-6.5.4-fixed-DESTDIR.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- opencascade-6.5.4/Makefile.am
-+++ opencascade-6.5.4/Makefile.am
-@@ -82,27 +82,27 @@
- 	cd $(top_builddir)/adm/make && $(MAKE) $(AM_MAKEFLAGS) Draw
- 
- install-exec-local:
--	$(INSTALL) -d $(prefix)/$(platform)
--	if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
--		cd $(prefix)/$(platform) && ln -s ../bin bin; \
-+	$(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
-+	if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
-+		cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
- 	fi
--	if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
--		cd $(prefix)/$(platform) && ln -s ../lib lib; \
-+	if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
-+		cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
- 	fi
--	buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(prefix); installd=`pwd`; cd $$buildd; \
-+	buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(DESTDIR)$(prefix); installd=`pwd`; cd $$buildd; \
- 	if [ "$$installd" != "$$sourced" ]; then \
--		$(INSTALL) -d $(prefix)/inc; \
--		cp -frL $(top_srcdir)/inc $(prefix); \
--		cp -frL $$buildd/config.h $(prefix); \
-+		$(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
-+		cp -frL $(top_srcdir)/inc $(DESTDIR)$(prefix); \
-+		cp -frL $$buildd/config.h $(DESTDIR)$(prefix); \
- 		for d in  $(FoundationClasses_DIRS) $(ModelingData_DIRS) $(ModelingAlgorithms_DIRS) $(Visualization_DIRS) $(ApplicationFramework_DIRS) $(DataExchange_DIRS) $(Draw_DIRS); do \
--			$(INSTALL) -d $(prefix)/src/$$d; \
--			cp -frL $(top_srcdir)/src/$$d $(prefix)/src; \
-+			$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+			cp -frL $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 		done; \
- 	fi
--	if [ -e $(prefix)/inc/config.h ]; then \
--		unlink $(prefix)/inc/config.h; \
-+	if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
-+		unlink $(DESTDIR)$(prefix)/inc/config.h; \
- 	fi
--	cd $(prefix)/inc && ln -s ../config.h config.h
--	cd $(top_srcdir) && cp *.sh $(prefix)
-+	cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h
-+	cd $(top_srcdir) && cp *.sh $(DESTDIR)$(prefix)
- 
- .PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw
-\ Brak znaku nowej linii na końcu pliku

diff --git a/sci-libs/opencascade/files/opencascade-6.5.4-tcl8.6.patch b/sci-libs/opencascade/files/opencascade-6.5.4-tcl8.6.patch
deleted file mode 100644
index 28c3a11..0000000
--- a/sci-libs/opencascade/files/opencascade-6.5.4-tcl8.6.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- ros/src/Draw/Draw_Window.cxx.orig    2013-01-10 23:40:07.279470692 +0100
-+++ ros/src/Draw/Draw_Window.cxx    2013-01-10 23:45:00.498784426 +0100
-@@ -84,7 +84,7 @@
-       errChannel = Tcl_GetStdChannel(TCL_STDERR);
-       if (code != TCL_OK) {
-         if (errChannel) {
--          Tcl_Write(errChannel, Interp->result, -1);
-+          Tcl_Write(errChannel, Tcl_GetStringResult(Interp), -1);
-           Tcl_Write(errChannel, "\n", 1);
-         }
-         Tcl_AddErrorInfo(Interp,
-@@ -1055,7 +1055,7 @@
-   mainWindow =
-   Tk_MainWindow(interp) ;
-   if (mainWindow == NULL) {
--    fprintf(stderr, "%s\n", interp->result);
-+    fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
-     exit(1);
-   }
-   Tk_Name(mainWindow) =
-@@ -2061,7 +2061,7 @@
-       Standard_Integer res = Tk_Init (interp);
-       if (res != TCL_OK)
-       {
--        cout << "tkLoop: error in Tk initialization. Tcl reported: " << interp->result << endl;
-+        cout << "tkLoop: error in Tk initialization. Tcl reported: " << Tcl_GetStringResult(interp) << endl;
-       }
-     }
-     catch (Standard_Failure)
-@@ -2072,7 +2072,7 @@
-     mainWindow = Tk_MainWindow (interp);
-     if (mainWindow == NULL)
-     {
--      fprintf (stderr, "%s\n", interp->result);
-+      fprintf (stderr, "%s\n", Tcl_GetStringResult(interp));
-       cout << "tkLoop: Tk_MainWindow() returned NULL. Exiting...\n";
-       Tcl_Exit (0);
-     }
\ No newline at end of file

diff --git a/sci-libs/opencascade/files/opencascade-6.5.5-deprecated-glx-api.patch b/sci-libs/opencascade/files/opencascade-6.5.5-deprecated-glx-api.patch
deleted file mode 100644
index 930b734..0000000
--- a/sci-libs/opencascade/files/opencascade-6.5.5-deprecated-glx-api.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- opencascade-6.5.5/ros/inc/InterfaceGraphic_X11.hxx
-+++ opencascade-6.5.5/ros/inc/InterfaceGraphic_X11.hxx
-@@ -25,6 +25,7 @@
- #  include <X11/Xlib.h>
- #  include <X11/Xutil.h>
- #  include <X11/Xatom.h>
-+#define GLX_GLXEXT_LEGACY
- #  include <GL/glx.h>
- 
- #  if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX) 
---- opencascade-6.5.5/ros/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
-+++ opencascade-6.5.5/ros/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
-@@ -25,6 +25,7 @@
- #  include <X11/Xlib.h>
- #  include <X11/Xutil.h>
- #  include <X11/Xatom.h>
-+#define GLX_GLXEXT_LEGACY
- #  include <GL/glx.h>
- 
- #  if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX) 
---- opencascade-6.5.5/ros/src/OpenGl/OpenGl_Context.cxx
-+++ opencascade-6.5.5/ros/src/OpenGl/OpenGl_Context.cxx
-@@ -38,6 +38,7 @@
- #elif defined(__APPLE__) && !defined(MACOSX_USE_GLX)
-   #include <dlfcn.h>
- #else
-+  #define GLX_GLXEXT_LEGACY
-   #include <GL/glx.h> // glXGetProcAddress()
- #endif
- 

diff --git a/sci-libs/opencascade/files/opencascade-6.6.0-deprecated-glx-api.patch b/sci-libs/opencascade/files/opencascade-6.6.0-deprecated-glx-api.patch
deleted file mode 100644
index d3ae6ae..0000000
--- a/sci-libs/opencascade/files/opencascade-6.6.0-deprecated-glx-api.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- opencascade-6.6.0/ros/inc/InterfaceGraphic_X11.hxx
-+++ opencascade-6.6.0/ros/inc/InterfaceGraphic_X11.hxx
-@@ -25,6 +25,7 @@
- #  include <X11/Xlib.h>
- #  include <X11/Xutil.h>
- #  include <X11/Xatom.h>
-+#define GLX_GLXEXT_LEGACY
- #  include <GL/glx.h>
- 
- #  if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX) 
---- opencascade-6.6.0/ros/samples/qt/Common/src/View.cxx
-+++ opencascade-6.6.0/ros/samples/qt/Common/src/View.cxx
-@@ -25,6 +25,7 @@
- #include <Cocoa_Window.hxx>
- #else
- #include <QX11Info>
-+#define GLX_GLXEXT_LEGACY
- #include <GL/glx.h>
- #include <X11/Xutil.h>
- #include <X11/Xatom.h>
---- opencascade-6.6.0/ros/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
-+++ opencascade-6.6.0/ros/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
-@@ -25,6 +25,7 @@
- #  include <X11/Xlib.h>
- #  include <X11/Xutil.h>
- #  include <X11/Xatom.h>
-+#define GLX_GLXEXT_LEGACY
- #  include <GL/glx.h>
- 
- #  if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX) 
---- opencascade-6.6.0/ros/src/OpenGl/OpenGl_Context.cxx
-+++ opencascade-6.6.0/ros/src/OpenGl/OpenGl_Context.cxx
-@@ -39,6 +39,7 @@
- #elif defined(__APPLE__) && !defined(MACOSX_USE_GLX)
-   #include <dlfcn.h>
- #else
-+  #define GLX_GLXEXT_LEGACY
-   #include <GL/glx.h> // glXGetProcAddress()
- #endif
- 
---- opencascade-6.6.0/ros/src/Xw/Xw_Window.cxx
-+++ opencascade-6.6.0/ros/src/Xw/Xw_Window.cxx
-@@ -24,6 +24,7 @@
- #include <Aspect_Convert.hxx>
- #include <Aspect_WindowDefinitionError.hxx>
- 
-+#define GLX_GLXEXT_LEGACY
- #include <GL/glx.h>
- 
- namespace

diff --git a/sci-libs/opencascade/files/opencascade-6.6.0-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.6.0-fixed-DESTDIR.patch
deleted file mode 100644
index 54143db..0000000
--- a/sci-libs/opencascade/files/opencascade-6.6.0-fixed-DESTDIR.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- opencascade-6.6.0/Makefile.am
-+++ opencascade-6.6.0/Makefile.am
-@@ -82,27 +82,27 @@
- 	cd $(top_builddir)/adm/lin/amk && $(MAKE) $(AM_MAKEFLAGS) Draw
- 
- install-exec-local:
--	$(INSTALL) -d $(prefix)/$(platform)
--	if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
--		cd $(prefix)/$(platform) && ln -s ../bin bin; \
-+	$(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
-+	if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
-+		cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
- 	fi
--	if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
--		cd $(prefix)/$(platform) && ln -s ../lib lib; \
-+	if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
-+		cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
- 	fi
--	buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(prefix); installd=`pwd`; cd $$buildd; \
-+	buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(DESTDIR)$(prefix); installd=`pwd`; cd $$buildd; \
- 	if [ "$$installd" != "$$sourced" ]; then \
--		$(INSTALL) -d $(prefix)/inc; \
--		cp -frL $(top_srcdir)/inc $(prefix); \
--		cp -frL $$buildd/config.h $(prefix); \
-+		$(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
-+		cp -frL $(top_srcdir)/inc $(DESTDIR)$(prefix); \
-+		cp -frL $$buildd/config.h $(DESTDIR)$(prefix); \
- 		for d in  $(FoundationClasses_DIRS) $(ModelingData_DIRS) $(ModelingAlgorithms_DIRS) $(Visualization_DIRS) $(ApplicationFramework_DIRS) $(DataExchange_DIRS) $(Draw_DIRS); do \
--			$(INSTALL) -d $(prefix)/src/$$d; \
--			cp -frL $(top_srcdir)/src/$$d $(prefix)/src; \
-+			$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+			cp -frL $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 		done; \
- 	fi
--	if [ -e $(prefix)/inc/config.h ]; then \
--		rm -f $(prefix)/inc/config.h; \
-+	if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
-+		rm -f $(DESTDIR)$(prefix)/inc/config.h; \
- 	fi
--	cd $(prefix)/inc && ln -s ../config.h config.h
--	cd $(top_srcdir) && cp *amk.sh $(prefix)
-+	cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h
-+	cd $(top_srcdir) && cp *amk.sh $(DESTDIR)$(prefix)
- 
- .PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw

diff --git a/sci-libs/opencascade/opencascade-6.5.5.ebuild b/sci-libs/opencascade/opencascade-6.5.5.ebuild
deleted file mode 100644
index bc4b667..0000000
--- a/sci-libs/opencascade/opencascade-6.5.5.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
-
-DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="http://www.opencascade.org/"
-SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/OpenCASCADE${PV//\./}.tgz"
-
-LICENSE="Open-CASCADE-Technology-Public-License-6.5"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
-
-DEPEND="app-eselect/eselect-opencascade
-	dev-lang/tcl:0=
-	dev-lang/tk:0=
-	dev-tcltk/itcl
-	dev-tcltk/itk
-	dev-tcltk/tix
-	media-libs/ftgl
-	virtual/glu
-	virtual/opengl
-	x11-libs/libXmu
-	freeimage? ( media-libs/freeimage )
-	gl2ps? ( x11-libs/gl2ps )
-	java? ( virtual/jdk:= )
-	tbb? ( dev-cpp/tbb )"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/ros
-
-# http://bugs.gentoo.org/show_bug.cgi?id=352435
-# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
-RESTRICT="bindist mirror"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-pkg_setup() {
-	check-reqs_pkg_setup
-	java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
-	java-pkg-opt-2_src_prepare
-
-	epatch \
-		"${FILESDIR}"/${P}-deprecated-glx-api.patch \
-		"${FILESDIR}"/${PN}-6.5.4-fixed-DESTDIR.patch \
-		"${FILESDIR}"/${PN}-6.5.4-tcl8.6.patch \
-		"${FILESDIR}"/${PN}-6.5.4-fixed-tbb-VERSION.patch
-
-	# Feed environment variables used by Opencascade compilation
-	my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
-	local my_env_install="#!/bin/sh -f
-if [ -z \"\$PATH\" ]; then
-	export PATH=VAR_CASROOT/Linux/bin
-else
-	export PATH=VAR_CASROOT/Linux/bin:\$PATH
-fi
-if [ -z \"\$LD_LIBRARY_PATH\" ]; then
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
-else
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
-fi"
-	local my_sys_lib=${EROOT}usr/$(get_libdir)
-	local my_env="CASROOT=VAR_CASROOT
-CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
-CSF_LANGUAGE=us
-MMGT_CLEAR=1
-CSF_EXCEPTION_PROMPT=1
-CSF_SHMessage=VAR_CASROOT/src/SHMessage
-CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
-CSF_XSMessage=VAR_CASROOT/src/XSMessage
-CSF_StandardDefaults=VAR_CASROOT/src/StdResource
-CSF_PluginDefaults=VAR_CASROOT/src/StdResource
-CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
-CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
-CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
-CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
-CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
-CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
-CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
-TCLHOME=${EROOT}usr/bin
-TCLLIBPATH=${my_sys_lib}
-ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
-ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
-TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
-TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
-TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
-
-	( 	echo "${my_env_install}"
-		echo "${my_env}" | sed -e "s:^:export :" ) \
-	| sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
-	source env.sh
-
-	(	echo "PATH=${my_install_dir}/lin/bin"
-		echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
-		echo "${my_env}" | sed \
-			-e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
-			-e "s:/Linux/lib/:/$(get_libdir)/:g" || die
-	) > 50${PN}
-
-	append-cxxflags "-fpermissive"
-
-	sed -e "/^AM_C_PROTOTYPES$/d" \
-		-e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
-		-e "s:\$qt/include:\$qt/include/qt4:g"\
-		-e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
-		-i configure.* || die
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		--prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
-		--with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
-		--with-freetype="${EROOT}usr" \
-		--with-ftgl="${EROOT}usr" \
-		$(usex freeimage "--with-freeimage=${EROOT}usr" "") \
-		$(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
-		$(usex qt4 "--with-qt=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-include=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-library=${EROOT}usr" "") \
-		$(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
-		$(use_enable debug) \
-		$(use_enable !debug production)
-	#$(use_with freeimage) \
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-
-	prune_libtool_files
-
-	# Symlinks for keeping original OpenCascade folder structure and
-	# add a link lib to $(get_libdir)  if we are e.g. on amd64 multilib
-	if [ "$(get_libdir)" != "lib" ]; then
-		dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
-	fi
-
-	insinto /etc/env.d/${PN}
-	newins 50${PN} ${PV}
-
-	cd "${WORKDIR}"
-	if use examples ; then
-		insinto /usr/share/doc/${PF}/examples
-		doins -r data
-		doins -r samples
-	fi
-	dodoc doc/*.pdf
-	if use doc; then
-		insinto /usr/share/doc/${PF}
-		doins -r doc/{overview,ReferenceDocumentation}
-	fi
-}
-
-pkg_postinst() {
-	eselect ${PN} set ${PV}
-	einfo
-	elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
-	elog "You get a list by running \"equery depends sci-libs/opencascade\""
-	elog "revdep-rebuild does NOT suffice."
-	einfo
-}

diff --git a/sci-libs/opencascade/opencascade-6.5.ebuild b/sci-libs/opencascade/opencascade-6.5.ebuild
deleted file mode 100644
index 28b8a12..0000000
--- a/sci-libs/opencascade/opencascade-6.5.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
-
-DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="http://www.opencascade.org/"
-SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/OpenCASCADE650.tar.gz"
-
-LICENSE="Open-CASCADE-Technology-Public-License-6.5"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples gl2ps java"
-
-DEPEND="
-	dev-lang/tcl:0=
-	dev-lang/tk:0=
-	dev-tcltk/itcl
-	dev-tcltk/itk
-	dev-tcltk/tix
-	media-libs/ftgl
-	virtual/glu
-	virtual/opengl
-	x11-libs/libXmu
-	gl2ps? ( x11-libs/gl2ps )
-	java? ( virtual/jdk:= )
-"
-RDEPEND=${DEPEND}
-
-S=${WORKDIR}/ros
-
-# http://bugs.gentoo.org/show_bug.cgi?id=352435
-# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
-RESTRICT="bindist mirror"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-pkg_setup() {
-	check-reqs_pkg_setup
-	java-pkg-opt-2_pkg_setup
-
-	# Determine itk, itcl, tix, tk and tcl versions
-	itk_version=$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
-	itcl_version=$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
-	tix_version=$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
-	tk_version=$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
-	tcl_version=$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')
-
-	INSTALL_DIR=/usr/$(get_libdir)/${P}/ros
-
-	ewarn " Please note that building OpenCascade takes a lot of time and "
-	ewarn " hardware ressources: 3.5-4 GB free diskspace and 256 MB RAM are "
-	ewarn " the minimum requirements. "
-}
-
-src_prepare() {
-	java-pkg-opt-2_src_prepare
-
-	# Substitute with our ready-made env.sh script
-	cp -f "${FILESDIR}"/env.sh.template env.sh || die
-
-	# Feed environment variables used by Opencascade compilation
-	sed -i \
-		-e "s:VAR_CASROOT:${S}:g" \
-		-e 's:VAR_SYS_BIN:/usr/bin:g' \
-		-e "s:VAR_SYS_LIB:/usr/$(get_libdir):g" env.sh \
-			|| die "Environment variables feed in env.sh failed!"
-
-	# Tweak itk, itcl, tix, tk and tcl versions
-	sed -i \
-		-e "s:VAR_ITK:itk${itk_version}:g" \
-		-e "s:VAR_ITCL:itcl${itcl_version}:g" \
-		-e "s:VAR_TIX:tix${tix_version}:g" \
-		-e "s:VAR_TK:tk${tk_version}:g" \
-		-e "s:VAR_TCL:tcl${tcl_version}:g" env.sh \
-			|| die "itk, itcl, tix, tk and tcl version tweaking failed!"
-
-	epatch \
-		"${FILESDIR}"/${P}-ftgl.patch \
-		"${FILESDIR}"/${P}-fixed-DESTDIR.patch \
-		"${FILESDIR}"/${P}-tcl8.6.patch
-
-	source env.sh
-
-	append-cxxflags "-fpermissive"
-
-	sed -e "/^AM_C_PROTOTYPES/d" \
-		-e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
-		-i configure.* || die
-
-	eautoreconf
-}
-
-src_configure() {
-	# Add the configure options
-	local confargs="--prefix=${INSTALL_DIR}/lin --exec-prefix=${INSTALL_DIR}/lin --with-tcl=/usr/$(get_libdir) --with-tk=/usr/$(get_libdir)"
-
-	confargs+=" --with-freetype=/usr"
-	confargs+=" --with-ftgl=/usr"
-
-	use gl2ps && confargs+=" --with-gl2ps=/usr"
-
-	if use java ; then
-		confargs+=" --with-java-include=$(java-config -O)/include"
-	else
-		confargs+=" --without-java-include"
-	fi
-
-	econf	${confargs} \
-		$(use_enable debug ) $(use_enable !debug production ) \
-			|| die "Configuration failed"
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-
-	# .la files kill cute little kittens
-	find "${D}" -name '*.la' -exec rm {} +
-
-	# Symlinks for keeping original OpenCascade folder structure and
-	# add a link lib to $(get_libdir)  if we are e.g. on amd64 multilib
-	if [ "$(get_libdir)" != "lib" ]; then
-		dosym "$(get_libdir)" "${INSTALL_DIR}/lin/lib"
-	fi
-
-	# Tweak the environment variables script again with new destination
-	cp "${FILESDIR}"/env.sh.template env.sh
-	sed -i "s:VAR_CASROOT:${INSTALL_DIR}/lin:g" env.sh || die
-
-	# Build the env.d environment variables
-	cp "${FILESDIR}"/env.sh.template 50${PN} || die
-	sed -i \
-		-e 's:export ::g' \
-		-e "s:VAR_CASROOT:${INSTALL_DIR}/lin:g" \
-		-e '1,2d' \
-		-e '4,14d' \
-		-e "s:/Linux/lib/:/$(get_libdir)/:g" ./50${PN} \
-			|| die "Creation of the /etc/env.d/50opencascade failed!"
-
-	sed -i "2i\PATH=${INSTALL_DIR}/lin/bin\nLDPATH=${INSTALL_DIR}/lin/$(get_libdir)" ./50${PN} \
-			|| die "Creation of the /etc/env.d/50opencascade failed!"
-
-	# Update both env.d and script with the libraries variables
-	sed -i \
-		-e 's:VAR_SYS_BIN:/usr/bin:g' \
-		-e "s:VAR_SYS_LIB:/usr/$(get_libdir):g" \
-		-e "s:VAR_ITK:itk${itk_version}:g" \
-		-e "s:VAR_ITCL:itcl${itcl_version}:g" \
-		-e "s:VAR_TIX:tix${tix_version}:g" \
-		-e "s:VAR_TK:tk${tk_version}:g" \
-		-e "s:VAR_TCL:tcl${tcl_version}:g" env.sh 50${PN} \
-			|| die "Tweaking of the Tcl/Tk libraries location in env.sh and 50opencascade failed!"
-
-	# Install the env.d variables file
-	doenvd 50${PN}
-
-	cd "${S}"/../ || die
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}/examples
-		doins -r data
-
-		insinto /usr/share/doc/${PF}/examples
-		doins -r samples
-	fi
-
-	cd "${S}"/../doc || die
-	dodoc *.pdf
-
-	# Install the documentation
-	if use doc; then
-		insinto /usr/share/doc/${PF}
-		doins -r {overview,ReferenceDocumentation}
-	fi
-}
-
-pkg_postinst() {
-	einfo
-	elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
-	elog "You get a list by running \"equery depends sci-libs/opencascade\""
-	elog "revdep-rebuild does NOT suffice."
-	einfo
-}

diff --git a/sci-libs/opencascade/opencascade-6.6.0.ebuild b/sci-libs/opencascade/opencascade-6.6.0.ebuild
deleted file mode 100644
index 14b37a1..0000000
--- a/sci-libs/opencascade/opencascade-6.6.0.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic versionator
-
-DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="http://www.opencascade.org/"
-SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/OpenCASCADE$(delete_all_version_separators).tgz"
-
-LICENSE="Open-CASCADE-Technology-Public-License-6.6"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
-
-DEPEND="app-eselect/eselect-opencascade
-	dev-lang/tcl:0=
-	dev-lang/tk:0=
-	dev-tcltk/itcl
-	dev-tcltk/itk
-	dev-tcltk/tix
-	media-libs/ftgl
-	virtual/glu
-	virtual/opengl
-	x11-libs/libXmu
-	freeimage? ( media-libs/freeimage )
-	gl2ps? ( x11-libs/gl2ps )
-	java? ( virtual/jdk:= )
-	tbb? ( dev-cpp/tbb )"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/ros
-
-# http://bugs.gentoo.org/show_bug.cgi?id=352435
-# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
-RESTRICT="bindist mirror"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-pkg_setup() {
-	check-reqs_pkg_setup
-	java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
-	java-pkg-opt-2_src_prepare
-
-	epatch \
-		"${FILESDIR}"/${P}-deprecated-glx-api.patch \
-		"${FILESDIR}"/${P}-fixed-DESTDIR.patch \
-		"${FILESDIR}"/${PN}-6.5.4-fixed-tbb-VERSION.patch
-
-	# Feed environment variables used by Opencascade compilation
-	my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
-	local my_env_install="#!/bin/sh -f
-if [ -z \"\$PATH\" ]; then
-	export PATH=VAR_CASROOT/Linux/bin
-else
-	export PATH=VAR_CASROOT/Linux/bin:\$PATH
-fi
-if [ -z \"\$LD_LIBRARY_PATH\" ]; then
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
-else
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
-fi"
-	local my_sys_lib=${EROOT}usr/$(get_libdir)
-	local my_env="CASROOT=VAR_CASROOT
-CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
-CSF_LANGUAGE=us
-MMGT_CLEAR=1
-CSF_EXCEPTION_PROMPT=1
-CSF_SHMessage=VAR_CASROOT/src/SHMessage
-CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
-CSF_XSMessage=VAR_CASROOT/src/XSMessage
-CSF_StandardDefaults=VAR_CASROOT/src/StdResource
-CSF_PluginDefaults=VAR_CASROOT/src/StdResource
-CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
-CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
-CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
-CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
-CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
-CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
-CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
-TCLHOME=${EROOT}usr/bin
-TCLLIBPATH=${my_sys_lib}
-ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
-ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
-TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
-TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
-TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
-
-	( 	echo "${my_env_install}"
-		echo "${my_env}" | sed -e "s:^:export :" ) \
-	| sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
-	source env.sh
-
-	(	echo "PATH=${my_install_dir}/lin/bin"
-		echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
-		echo "${my_env}" | sed \
-			-e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
-			-e "s:/Linux/lib/:/$(get_libdir)/:g" || die
-	) > 50${PN}
-
-	append-cxxflags "-fpermissive"
-
-	sed -e "/^AM_C_PROTOTYPES$/d" \
-		-e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
-		-e "s:\$qt/include:\$qt/include/qt4:g"\
-		-e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
-		-i configure.* || die
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		--prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
-		--with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
-		--with-freetype="${EROOT}usr" \
-		--with-ftgl="${EROOT}usr" \
-		$(usex freeimage "--with-freeimage=${EROOT}usr" "") \
-		$(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
-		$(usex qt4 "--with-qt=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-include=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-library=${EROOT}usr" "") \
-		$(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
-		$(use_enable debug) \
-		$(use_enable !debug production)
-	#$(use_with freeimage) \
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-
-	prune_libtool_files
-
-	# Symlinks for keeping original OpenCascade folder structure and
-	# add a link lib to $(get_libdir)  if we are e.g. on amd64 multilib
-	if [ "$(get_libdir)" != "lib" ]; then
-		dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
-	fi
-
-	insinto /etc/env.d/${PN}
-	newins 50${PN} ${PV}
-
-	if use examples ; then
-		insinto /usr/share/doc/${PF}/examples
-		doins -r data
-		doins -r samples
-	fi
-	dodoc doc/*.pdf
-	if use doc; then
-		insinto /usr/share/doc/${PF}
-		doins -r doc/{overview,ReferenceDocumentation}
-	fi
-}
-
-pkg_postinst() {
-	eselect ${PN} set ${PV}
-	einfo
-	elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
-	elog "You get a list by running \"equery depends sci-libs/opencascade\""
-	elog "revdep-rebuild does NOT suffice."
-	einfo
-}


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2017-11-06  1:58 Andreas Sturmlechner
  0 siblings, 0 replies; 11+ messages in thread
From: Andreas Sturmlechner @ 2017-11-06  1:58 UTC (permalink / raw
  To: gentoo-commits

commit:     5e7c5d97488b5b46e20db03862f2502f91335286
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  5 19:30:20 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Nov  6 01:57:16 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e7c5d97

sci-libs/opencascade: Drop old

Bug: https://bugs.gentoo.org/624194
Package-Manager: Portage-2.3.13, Repoman-2.3.4

 sci-libs/opencascade/Manifest                      |   3 -
 .../opencascade-6.5.4-fixed-tbb-VERSION.patch      |  10 --
 .../files/opencascade-6.7.0-fixed-DESTDIR.patch    |  51 -------
 .../opencascade-6.7.1-deprecated-glx-api.patch     |  89 -----------
 sci-libs/opencascade/opencascade-6.7.1-r1.ebuild   | 161 --------------------
 sci-libs/opencascade/opencascade-6.8.0-r1.ebuild   | 158 --------------------
 sci-libs/opencascade/opencascade-6.9.0-r1.ebuild   | 163 --------------------
 sci-libs/opencascade/opencascade-6.9.1-r1.ebuild   | 164 ---------------------
 8 files changed, 799 deletions(-)

diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index 2bc71fba802..635f58a5844 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1,4 +1 @@
-DIST opencascade-6.7.1.tgz 194568487 SHA256 c918cb554c0c22d322dc1d2f3a31069e1d5dcbae869db741339e1d4903e864b1 SHA512 31df4bd172d51b1ebee7e67075fa9cdbeb73eccb326f428b1911f15c9ac0feedc5977e2490f54a130b409f292dd6bfb7d40143263a47aa0330c28337639fe828 WHIRLPOOL d6fc042a4aca381ce74eaf1ca2adead5b0f88b599176c13ecd7a967f9dd92e4589c73ebde53ee3b374a78f696bacf674eb18a356ffcf38bbc8d7e60b30043fa6
-DIST opencascade-6.8.0.tgz 198319238 SHA256 50b145655fd3a4448e291388650cd0dcab8f9d99201aba32e8d26aeff03e8e1c SHA512 4fa95bc244001fd27ad1248acf44d6fd6633fa21fa2479bbea42977bdc9688b638eaca5df8442120d3e075113a031a7f894d0525a6b54e537cb3363c0a698c8b WHIRLPOOL 5b57de759208668e970ef0f3cf55589ea13d2295bac8d12ee597d7a40be402427c3c67e232d68df5a0f91ed87c9f7157faa717490f774e8431910d8223c49bf1
-DIST opencascade-6.9.0.tgz 203915299 SHA256 e9da098b304f6b65c3958947c3c687f00128ce020b67d97554a3e3be9cf3d090 SHA512 79c7f715087ca627447a1cfd0b19a216150d71865f53f791978842ca9663181c5b608d93a7dc81945ad0dba287ea003cfa3ff47ebae07602a8fd38e6e1344aee WHIRLPOOL ab3bf2d1e369f87501bc5f3f63c092b6586a76b56443179e542fc2c1b10e9d504429c60096b7bd555c578ba54212693d4b495f34bb9045c3e1fb519b1d480538
 DIST opencascade-6.9.1.tgz 209589289 SHA256 f92659ae3fb09c28233fb9178bc24fd2aab6776f6d9ea2479c3bdfe6296b873f SHA512 92f0fffb110344feebaba9dd4a3427419ea9e6db7b09556b7dcdb1248f2a868e3337587abf9921392435031431f3876cea4d4709fd9926604dcebbd6d26f8963 WHIRLPOOL 02fe93b6e6dc7de45a3bf55ce9c5d826cb83ffda565273d008961c5824475d8f4dda04b782071b821c017409aeb0f6be05ea29a5d89ca57db85ea757aec27e4a

diff --git a/sci-libs/opencascade/files/opencascade-6.5.4-fixed-tbb-VERSION.patch b/sci-libs/opencascade/files/opencascade-6.5.4-fixed-tbb-VERSION.patch
deleted file mode 100644
index 88b13acd21c..00000000000
--- a/sci-libs/opencascade/files/opencascade-6.5.4-fixed-tbb-VERSION.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/Standard/Standard_MMgrTBBalloc.cxx
-+++ src/Standard/Standard_MMgrTBBalloc.cxx
-@@ -12,6 +12,7 @@
- 
- // paralleling with Intel TBB
- #ifdef HAVE_TBB
-+#undef VERSION
- #include <tbb/scalable_allocator.h>
- using namespace tbb;
- #else

diff --git a/sci-libs/opencascade/files/opencascade-6.7.0-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.7.0-fixed-DESTDIR.patch
deleted file mode 100644
index 3a3f9809344..00000000000
--- a/sci-libs/opencascade/files/opencascade-6.7.0-fixed-DESTDIR.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- Makefile.am.old	2014-01-13 09:43:18.530500362 +0100
-+++ Makefile.am	2014-01-13 09:45:40.430496833 +0100
-@@ -82,29 +82,29 @@
- 	cd $(top_builddir)/adm/lin/amk && $(MAKE) $(AM_MAKEFLAGS) Draw
- 
- install-exec-local:
--	$(INSTALL) -d $(prefix)/$(platform)
--	if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
--		cd $(prefix)/$(platform) && ln -s ../bin bin; \
-+	$(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
-+	if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
-+		cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
- 	fi
--	if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
--		cd $(prefix)/$(platform) && ln -s ../lib lib; \
-+	if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
-+		cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
- 	fi
--	buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(prefix); installd=`pwd`; cd $$buildd; \
-+	buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(DESTDIR)$(prefix); installd=`pwd`; cd $$buildd; \
- 	if [ "$$installd" != "$$sourced" ]; then \
--		$(INSTALL) -d $(prefix)/inc; \
--		cp -frL $(top_srcdir)/inc $(prefix); \
--		cp -frL $$buildd/config.h $(prefix); \
-+		$(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
-+		cp -frL $(top_srcdir)/inc $(DESTDIR)$(prefix); \
-+		cp -frL $$buildd/config.h $(DESTDIR)$(prefix); \
- 		for d in  $(FoundationClasses_DIRS) $(ModelingData_DIRS) $(ModelingAlgorithms_DIRS) $(Visualization_DIRS) $(ApplicationFramework_DIRS) $(DataExchange_DIRS) $(Draw_DIRS); do \
--			$(INSTALL) -d $(prefix)/src/$$d; \
--			cp -frL $(top_srcdir)/src/$$d $(prefix)/src; \
-+			$(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
-+			cp -frL $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
- 		done; \
- 	fi
--	if [ -e $(prefix)/inc/config.h ]; then \
--		rm -f $(prefix)/inc/config.h; \
-+	if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
-+		rm -f $(DESTDIR)$(prefix)/inc/config.h; \
- 	fi
--	cd $(prefix)/inc && ln -s ../config.h config.h
--	cd $(top_srcdir) && cp draw.sh $(prefix)
--	cd $(top_srcdir) && cp custom.sh $(prefix)
--	cd $(top_srcdir) && cp env.sh $(prefix)
-+	cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h
-+	cd $(top_srcdir) && cp draw.sh $(DESTDIR)$(prefix)
-+	cd $(top_srcdir) && cp custom.sh $(DESTDIR)$(prefix)
-+	cd $(top_srcdir) && cp env.sh $(DESTDIR)$(prefix)
- 
--.PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw
-\ Brak znaku nowej linii na końcu pliku
-+.PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw

diff --git a/sci-libs/opencascade/files/opencascade-6.7.1-deprecated-glx-api.patch b/sci-libs/opencascade/files/opencascade-6.7.1-deprecated-glx-api.patch
deleted file mode 100644
index b3c3629aada..00000000000
--- a/sci-libs/opencascade/files/opencascade-6.7.1-deprecated-glx-api.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From ba7e14489e14f08aae3e0f48b419b2149290b163 Mon Sep 17 00:00:00 2001
-From: Matthias Maier <tamiko@kyomu.43-1.org>
-Date: Tue, 23 Dec 2014 21:15:59 +0100
-Subject: [PATCH] Define GLX_GLXEXT_LEGACY prior to inclusion of GL/glx.h
-
----
- inc/InterfaceGraphic_X11.hxx                  | 1 +
- samples/qt/Common/src/View.cxx                | 1 +
- src/InterfaceGraphic/InterfaceGraphic_X11.hxx | 1 +
- src/OpenGl/OpenGl_Context.cxx                 | 1 +
- src/OpenGl/OpenGl_Workspace_Raytrace.cxx      | 1 +
- src/Xw/Xw_Window.cxx                          | 1 +
- 6 files changed, 6 insertions(+)
-
-diff --git a/inc/InterfaceGraphic_X11.hxx b/inc/InterfaceGraphic_X11.hxx
-index 280bb9b..98d7415 100755
---- a/inc/InterfaceGraphic_X11.hxx
-+++ b/inc/InterfaceGraphic_X11.hxx
-@@ -21,6 +21,7 @@
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
- #include <X11/Xatom.h>
-+#define GLX_GLXEXT_LEGACY
- #include <GL/glx.h>
- 
- #if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX)
-diff --git a/samples/qt/Common/src/View.cxx b/samples/qt/Common/src/View.cxx
-index 77f51b8..9b3f4e2 100755
---- a/samples/qt/Common/src/View.cxx
-+++ b/samples/qt/Common/src/View.cxx
-@@ -28,6 +28,7 @@
- #include <Cocoa_Window.hxx>
- #else
- #include <QX11Info>
-+#define GLX_GLXEXT_LEGACY
- #include <GL/glx.h>
- #include <X11/Xutil.h>
- #include <X11/Xatom.h>
-diff --git a/src/InterfaceGraphic/InterfaceGraphic_X11.hxx b/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
-index 280bb9b..98d7415 100755
---- a/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
-+++ b/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
-@@ -21,6 +21,7 @@
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
- #include <X11/Xatom.h>
-+#define GLX_GLXEXT_LEGACY
- #include <GL/glx.h>
- 
- #if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX)
-diff --git a/src/OpenGl/OpenGl_Context.cxx b/src/OpenGl/OpenGl_Context.cxx
-index 9e2f074..1ddf6a4 100755
---- a/src/OpenGl/OpenGl_Context.cxx
-+++ b/src/OpenGl/OpenGl_Context.cxx
-@@ -39,6 +39,7 @@
- #elif defined(__APPLE__) && !defined(MACOSX_USE_GLX)
-   #include <dlfcn.h>
- #else
-+  #define GLX_GLXEXT_LEGACY
-   #include <GL/glx.h> // glXGetProcAddress()
- #endif
- 
-diff --git a/src/OpenGl/OpenGl_Workspace_Raytrace.cxx b/src/OpenGl/OpenGl_Workspace_Raytrace.cxx
-index f1b5afe..870eb7d 100755
---- a/src/OpenGl/OpenGl_Workspace_Raytrace.cxx
-+++ b/src/OpenGl/OpenGl_Workspace_Raytrace.cxx
-@@ -32,6 +32,7 @@
- #elif defined(__APPLE__) && !defined(MACOSX_USE_GLX)
-   #include <OpenGL/CGLCurrent.h>
- #else
-+  #define GLX_GLXEXT_LEGACY
-   #include <GL/glx.h>
- #endif
- 
-diff --git a/src/Xw/Xw_Window.cxx b/src/Xw/Xw_Window.cxx
-index 5442365..0e80444 100755
---- a/src/Xw/Xw_Window.cxx
-+++ b/src/Xw/Xw_Window.cxx
-@@ -20,6 +20,7 @@
- #include <Aspect_Convert.hxx>
- #include <Aspect_WindowDefinitionError.hxx>
- 
-+#define GLX_GLXEXT_LEGACY
- #include <GL/glx.h>
- 
- namespace
--- 
-2.0.5
-

diff --git a/sci-libs/opencascade/opencascade-6.7.1-r1.ebuild b/sci-libs/opencascade/opencascade-6.7.1-r1.ebuild
deleted file mode 100644
index de1201862ab..00000000000
--- a/sci-libs/opencascade/opencascade-6.7.1-r1.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
-
-DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="http://www.opencascade.org/"
-SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/opencascade-${PV}.tgz"
-
-LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
-
-DEPEND="app-eselect/eselect-opencascade
-	dev-lang/tcl:0=
-	dev-lang/tk:0=
-	dev-tcltk/itcl
-	dev-tcltk/itk
-	dev-tcltk/tix
-	media-libs/ftgl
-	virtual/glu
-	virtual/opengl
-	x11-libs/libXmu
-	freeimage? ( media-libs/freeimage )
-	gl2ps? ( x11-libs/gl2ps )
-	java? ( >=virtual/jdk-0:= )
-	tbb? ( dev-cpp/tbb )"
-RDEPEND="${DEPEND}"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-pkg_setup() {
-	check-reqs_pkg_setup
-	java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
-	java-pkg-opt-2_src_prepare
-
-	epatch \
-		"${FILESDIR}"/${P}-deprecated-glx-api.patch \
-		"${FILESDIR}"/${PN}-6.7.0-fixed-DESTDIR.patch \
-		"${FILESDIR}"/${PN}-6.5.4-fixed-tbb-VERSION.patch
-
-	# Feed environment variables used by Opencascade compilation
-	my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
-	local my_env_install="#!/bin/sh -f
-if [ -z \"\$PATH\" ]; then
-	export PATH=VAR_CASROOT/Linux/bin
-else
-	export PATH=VAR_CASROOT/Linux/bin:\$PATH
-fi
-if [ -z \"\$LD_LIBRARY_PATH\" ]; then
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
-else
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
-fi"
-	local my_sys_lib=${EROOT}usr/$(get_libdir)
-	local my_env="CASROOT=VAR_CASROOT
-CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
-CSF_LANGUAGE=us
-MMGT_CLEAR=1
-CSF_EXCEPTION_PROMPT=1
-CSF_SHMessage=VAR_CASROOT/src/SHMessage
-CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
-CSF_XSMessage=VAR_CASROOT/src/XSMessage
-CSF_StandardDefaults=VAR_CASROOT/src/StdResource
-CSF_PluginDefaults=VAR_CASROOT/src/StdResource
-CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
-CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
-CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
-CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
-CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
-CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
-CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
-TCLHOME=${EROOT}usr/bin
-TCLLIBPATH=${my_sys_lib}
-ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
-ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
-TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
-TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
-TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
-
-	( 	echo "${my_env_install}"
-		echo "${my_env}" | sed -e "s:^:export :" ) \
-	| sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
-	source env.sh
-
-	(	echo "PATH=${my_install_dir}/lin/bin"
-		echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
-		echo "${my_env}" | sed \
-			-e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
-			-e "s:/Linux/lib/:/$(get_libdir)/:g" || die
-	) > 50${PN}
-
-	append-cxxflags "-fpermissive"
-
-	sed -e "/^AM_C_PROTOTYPES$/d" \
-		-e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
-		-e "s:\$qt/include:\$qt/include/qt4:g"\
-		-e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
-		-i configure.ac || die
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		--prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
-		--with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
-		--with-freetype="${EROOT}usr" \
-		--with-ftgl="${EROOT}usr" \
-		$(usex freeimage "--with-freeimage=${EROOT}usr" "") \
-		$(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
-		$(usex qt4 "--with-qt=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-include=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-library=${EROOT}usr" "") \
-		$(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
-		$(use_enable debug) \
-		$(use_enable !debug production)
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-
-	prune_libtool_files
-
-	# Symlinks for keeping original OpenCascade folder structure and
-	# add a link lib to $(get_libdir)  if we are e.g. on amd64 multilib
-	if [ "$(get_libdir)" != "lib" ]; then
-		dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
-	fi
-
-	insinto /etc/env.d/${PN}
-	newins 50${PN} ${PV}
-
-	#cd "${S}"
-	if use examples ; then
-		insinto /usr/share/doc/${PF}/examples
-		doins -r data
-		doins -r samples
-	fi
-	if use doc; then
-		insinto /usr/share/doc/${PF}
-		doins -r doc/{overview,pdf,refman}
-	fi
-}
-
-pkg_postinst() {
-	eselect ${PN} set ${PV}
-	einfo
-	elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
-	elog "You get a list by running \"equery depends sci-libs/opencascade\""
-	elog "revdep-rebuild does NOT suffice."
-	einfo
-}

diff --git a/sci-libs/opencascade/opencascade-6.8.0-r1.ebuild b/sci-libs/opencascade/opencascade-6.8.0-r1.ebuild
deleted file mode 100644
index 1164f28ccc4..00000000000
--- a/sci-libs/opencascade/opencascade-6.8.0-r1.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
-
-DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="http://www.opencascade.org/"
-SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/opencascade-${PV}.tgz"
-
-LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
-
-DEPEND="app-eselect/eselect-opencascade
-	dev-lang/tcl:0=
-	dev-lang/tk:0=
-	dev-tcltk/itcl
-	dev-tcltk/itk
-	dev-tcltk/tix
-	media-libs/ftgl
-	virtual/glu
-	virtual/opengl
-	x11-libs/libXmu
-	freeimage? ( media-libs/freeimage )
-	gl2ps? ( x11-libs/gl2ps )
-	java? ( >=virtual/jdk-0:= )
-	tbb? ( dev-cpp/tbb )"
-RDEPEND="${DEPEND}"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-pkg_setup() {
-	check-reqs_pkg_setup
-	java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
-	java-pkg-opt-2_src_prepare
-
-	epatch \
-		"${FILESDIR}"/${P}-fixed-DESTDIR.patch
-
-	# Feed environment variables used by Opencascade compilation
-	my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
-	local my_env_install="#!/bin/sh -f
-if [ -z \"\$PATH\" ]; then
-	export PATH=VAR_CASROOT/Linux/bin
-else
-	export PATH=VAR_CASROOT/Linux/bin:\$PATH
-fi
-if [ -z \"\$LD_LIBRARY_PATH\" ]; then
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
-else
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
-fi"
-	local my_sys_lib=${EROOT}usr/$(get_libdir)
-	local my_env="CASROOT=VAR_CASROOT
-CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
-CSF_LANGUAGE=us
-MMGT_CLEAR=1
-CSF_EXCEPTION_PROMPT=1
-CSF_SHMessage=VAR_CASROOT/src/SHMessage
-CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
-CSF_XSMessage=VAR_CASROOT/src/XSMessage
-CSF_StandardDefaults=VAR_CASROOT/src/StdResource
-CSF_PluginDefaults=VAR_CASROOT/src/StdResource
-CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
-CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
-CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
-CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
-CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
-CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
-CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
-TCLHOME=${EROOT}usr/bin
-TCLLIBPATH=${my_sys_lib}
-ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
-ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
-TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
-TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
-TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
-
-	( 	echo "${my_env_install}"
-		echo "${my_env}" | sed -e "s:^:export :" ) \
-	| sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
-	source env.sh
-
-	(	echo "PATH=${my_install_dir}/lin/bin"
-		echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
-		echo "${my_env}" | sed \
-			-e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
-			-e "s:/Linux/lib/:/$(get_libdir)/:g" || die
-	) > 50${PN}
-
-	append-cxxflags "-fpermissive"
-
-	sed -e "/^AM_C_PROTOTYPES$/d" \
-		-e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
-		-e "s:\$qt/include:\$qt/include/qt4:g"\
-		-e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
-		-i configure.ac || die
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		--prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
-		--with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
-		--with-freetype="${EROOT}usr" \
-		--with-ftgl="${EROOT}usr" \
-		$(usex freeimage "--with-freeimage=${EROOT}usr" "") \
-		$(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
-		$(usex qt4 "--with-qt=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-include=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-library=${EROOT}usr" "") \
-		$(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
-		$(use_enable debug) \
-		$(use_enable !debug production)
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-
-	prune_libtool_files
-
-	# Symlinks for keeping original OpenCascade folder structure and
-	# add a link lib to $(get_libdir)  if we are e.g. on amd64 multilib
-	if [ "$(get_libdir)" != "lib" ]; then
-		dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
-	fi
-
-	insinto /etc/env.d/${PN}
-	newins 50${PN} ${PV}
-
-	if use examples ; then
-		insinto /usr/share/doc/${PF}/examples
-		doins -r data
-		doins -r samples
-	fi
-	if use doc; then
-		insinto /usr/share/doc/${PF}
-		doins -r doc/{overview,pdf,refman}
-	fi
-}
-
-pkg_postinst() {
-	eselect ${PN} set ${PV}
-	einfo
-	elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
-	elog "You get a list by running \"equery depends sci-libs/opencascade\""
-	elog "revdep-rebuild does NOT suffice."
-	einfo
-}

diff --git a/sci-libs/opencascade/opencascade-6.9.0-r1.ebuild b/sci-libs/opencascade/opencascade-6.9.0-r1.ebuild
deleted file mode 100644
index df80ca41482..00000000000
--- a/sci-libs/opencascade/opencascade-6.9.0-r1.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
-
-DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="http://www.opencascade.org/"
-SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/opencascade-${PV}.tgz"
-
-LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples freeimage gl2ps java qt4 +tbb +vtk"
-
-MY_VTK="vtk-6.1"
-DEPEND="app-eselect/eselect-opencascade
-	dev-lang/tcl:0=
-	dev-lang/tk:0=
-	dev-tcltk/itcl
-	dev-tcltk/itk
-	dev-tcltk/tix
-	media-libs/ftgl
-	virtual/glu
-	virtual/opengl
-	x11-libs/libXmu
-	freeimage? ( media-libs/freeimage )
-	gl2ps? ( x11-libs/gl2ps )
-	java? ( >=virtual/jdk-0:= )
-	tbb? ( dev-cpp/tbb )
-	vtk? ( || ( =sci-libs/${MY_VTK}*[imaging] =sci-libs/${MY_VTK}*[qt4] =sci-libs/${MY_VTK}*[rendering] =sci-libs/${MY_VTK}*[views] =sci-libs/${MY_VTK}*[all-modules] ) )"
-RDEPEND="${DEPEND}"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-pkg_setup() {
-	check-reqs_pkg_setup
-	java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
-	java-pkg-opt-2_src_prepare
-
-	epatch \
-		"${FILESDIR}"/${PN}-6.8.0-fixed-DESTDIR.patch
-
-	# Feed environment variables used by Opencascade compilation
-	my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
-	local my_env_install="#!/bin/sh -f
-if [ -z \"\$PATH\" ]; then
-	export PATH=VAR_CASROOT/Linux/bin
-else
-	export PATH=VAR_CASROOT/Linux/bin:\$PATH
-fi
-if [ -z \"\$LD_LIBRARY_PATH\" ]; then
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
-else
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
-fi"
-	local my_sys_lib=${EROOT}usr/$(get_libdir)
-	local my_env="CASROOT=VAR_CASROOT
-CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
-CSF_LANGUAGE=us
-MMGT_CLEAR=1
-CSF_EXCEPTION_PROMPT=1
-CSF_SHMessage=VAR_CASROOT/src/SHMessage
-CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
-CSF_XSMessage=VAR_CASROOT/src/XSMessage
-CSF_StandardDefaults=VAR_CASROOT/src/StdResource
-CSF_PluginDefaults=VAR_CASROOT/src/StdResource
-CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
-CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
-CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
-CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
-CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
-CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
-CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
-TCLHOME=${EROOT}usr/bin
-TCLLIBPATH=${my_sys_lib}
-ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
-ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
-TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
-TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
-TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
-
-	( 	echo "${my_env_install}"
-		echo "${my_env}" | sed -e "s:^:export :" ) \
-	| sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
-	source env.sh
-
-	(	echo "PATH=${my_install_dir}/lin/bin"
-		echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
-		echo "${my_env}" | sed \
-			-e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
-			-e "s:/Linux/lib/:/$(get_libdir)/:g" || die
-	) > 50${PN}
-
-	append-cxxflags "-fpermissive"
-
-	sed -e "/^AM_C_PROTOTYPES$/d" \
-		-e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
-		-e "s:\$qt/include:\$qt/include/qt4:g"\
-		-e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
-		-e "/CSF_VTK_LIB=/s:-${MY_VTK/vtk-}::g" \
-		-i configure.ac || die
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		--prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
-		--with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
-		--with-freetype="${EROOT}usr" \
-		--with-ftgl="${EROOT}usr" \
-		$(usex freeimage "--with-freeimage=${EROOT}usr" "") \
-		$(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
-		$(usex qt4 "--with-qt=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-include=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-library=${EROOT}usr" "") \
-		$(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
-		$(usex vtk "--with-vtk-include=${EROOT}usr/include/${MY_VTK}" "") \
-		$(usex vtk "--with-vtk-library=${EROOT}usr/$(get_libdir)" "") \
-		$(use_enable debug) \
-		$(use_enable !debug production)
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-
-	prune_libtool_files
-
-	# Symlinks for keeping original OpenCascade folder structure and
-	# add a link lib to $(get_libdir)  if we are e.g. on amd64 multilib
-	if [ "$(get_libdir)" != "lib" ]; then
-		dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
-	fi
-
-	insinto /etc/env.d/${PN}
-	newins 50${PN} ${PV}
-
-	if use examples ; then
-		insinto /usr/share/doc/${PF}/examples
-		doins -r data
-		doins -r samples
-	fi
-	if use doc; then
-		insinto /usr/share/doc/${PF}
-		doins -r doc/{overview,pdf,refman}
-	fi
-}
-
-pkg_postinst() {
-	eselect ${PN} set ${PV}
-	einfo
-	elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
-	elog "You get a list by running \"equery depends sci-libs/opencascade\""
-	elog "revdep-rebuild does NOT suffice."
-	einfo
-}

diff --git a/sci-libs/opencascade/opencascade-6.9.1-r1.ebuild b/sci-libs/opencascade/opencascade-6.9.1-r1.ebuild
deleted file mode 100644
index dd0a0cb70c1..00000000000
--- a/sci-libs/opencascade/opencascade-6.9.1-r1.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
-
-DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="http://www.opencascade.org/"
-SRC_URI="http://www.opencascade.com/sites/default/files/private/occt/OCC_${PV}_release/opencascade-${PV}.tgz"
-
-LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug doc examples freeimage gl2ps java qt4 +tbb +vtk"
-
-MY_VTK="vtk-6.1"
-DEPEND="app-eselect/eselect-opencascade
-	dev-lang/tcl:0=
-	dev-lang/tk:0=
-	dev-tcltk/itcl
-	dev-tcltk/itk
-	dev-tcltk/tix
-	media-libs/ftgl
-	virtual/glu
-	virtual/opengl
-	x11-libs/libXmu
-	freeimage? ( media-libs/freeimage )
-	gl2ps? ( x11-libs/gl2ps )
-	java? ( >=virtual/jdk-0:= )
-	tbb? ( dev-cpp/tbb )
-	vtk? ( || ( =sci-libs/${MY_VTK}*[imaging] =sci-libs/${MY_VTK}*[qt4] =sci-libs/${MY_VTK}*[rendering] =sci-libs/${MY_VTK}*[views] =sci-libs/${MY_VTK}*[all-modules] ) )"
-RDEPEND="${DEPEND}"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-PATCHES=( "${FILESDIR}"/${PN}-6.8.0-fixed-DESTDIR.patch )
-
-pkg_setup() {
-	check-reqs_pkg_setup
-	java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
-	default
-
-	java-pkg-opt-2_src_prepare
-
-	# Feed environment variables used by Opencascade compilation
-	my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
-	local my_env_install="#!/bin/sh -f
-if [ -z \"\$PATH\" ]; then
-	export PATH=VAR_CASROOT/Linux/bin
-else
-	export PATH=VAR_CASROOT/Linux/bin:\$PATH
-fi
-if [ -z \"\$LD_LIBRARY_PATH\" ]; then
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
-else
-	export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
-fi"
-	local my_sys_lib=${EROOT}usr/$(get_libdir)
-	local my_env="CASROOT=VAR_CASROOT
-CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
-CSF_LANGUAGE=us
-MMGT_CLEAR=1
-CSF_EXCEPTION_PROMPT=1
-CSF_SHMessage=VAR_CASROOT/src/SHMessage
-CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
-CSF_XSMessage=VAR_CASROOT/src/XSMessage
-CSF_StandardDefaults=VAR_CASROOT/src/StdResource
-CSF_PluginDefaults=VAR_CASROOT/src/StdResource
-CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
-CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
-CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
-CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
-CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
-CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
-CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
-CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
-TCLHOME=${EROOT}usr/bin
-TCLLIBPATH=${my_sys_lib}
-ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
-ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
-TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
-TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
-TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
-
-	( 	echo "${my_env_install}"
-		echo "${my_env}" | sed -e "s:^:export :" ) \
-	| sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
-	source env.sh
-
-	(	echo "PATH=${my_install_dir}/lin/bin"
-		echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
-		echo "${my_env}" | sed \
-			-e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
-			-e "s:/Linux/lib/:/$(get_libdir)/:g" || die
-	) > 50${PN}
-
-	append-cxxflags "-fpermissive"
-
-	sed -e "/^AM_C_PROTOTYPES$/d" \
-		-e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
-		-e "s:\$qt/include:\$qt/include/qt4:g"\
-		-e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
-		-e "/CSF_VTK_LIB=/s:-${MY_VTK/vtk-}::g" \
-		-i configure.ac || die
-	eautoreconf
-}
-
-src_configure() {
-	econf \
-		--prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
-		--with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
-		--with-freetype="${EROOT}usr" \
-		--with-ftgl="${EROOT}usr" \
-		$(usex freeimage "--with-freeimage=${EROOT}usr" "") \
-		$(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
-		$(usex qt4 "--with-qt=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-include=${EROOT}usr" "") \
-		$(usex tbb "--with-tbb-library=${EROOT}usr" "") \
-		$(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
-		$(usex vtk "--with-vtk-include=${EROOT}usr/include/${MY_VTK}" "") \
-		$(usex vtk "--with-vtk-library=${EROOT}usr/$(get_libdir)" "") \
-		$(use_enable debug) \
-		$(use_enable !debug production)
-}
-
-src_install() {
-	emake DESTDIR="${D}" install
-
-	prune_libtool_files
-
-	# Symlinks for keeping original OpenCascade folder structure and
-	# add a link lib to $(get_libdir)  if we are e.g. on amd64 multilib
-	if [ "$(get_libdir)" != "lib" ]; then
-		dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
-	fi
-
-	insinto /etc/env.d/${PN}
-	newins 50${PN} ${PV}
-
-	if use examples ; then
-		insinto /usr/share/doc/${PF}/examples
-		doins -r data
-		doins -r samples
-	fi
-	if use doc; then
-		insinto /usr/share/doc/${PF}
-		doins -r doc/{overview,pdf,refman}
-	fi
-}
-
-pkg_postinst() {
-	eselect ${PN} set ${PV}
-	einfo
-	elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
-	elog "You get a list by running \"equery depends sci-libs/opencascade\""
-	elog "revdep-rebuild does NOT suffice."
-	einfo
-}


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2018-10-27 10:36 Amy Liffey
  0 siblings, 0 replies; 11+ messages in thread
From: Amy Liffey @ 2018-10-27 10:36 UTC (permalink / raw
  To: gentoo-commits

commit:     0b00b035e79aed9609ac7e8e921267d75de2ee94
Author:     Michael Perlov <perlovka <AT> gmail <DOT> com>
AuthorDate: Sat Sep 15 14:23:51 2018 +0000
Commit:     Amy Liffey <amynka <AT> gentoo <DOT> org>
CommitDate: Sat Oct 27 10:35:48 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b00b035

sci-libs/opencascade: Version bump to 7.3.0

Closes: https://github.com/gentoo/gentoo/pull/9871
Closes: https://bugs.gentoo.org/610362
Signed-off-by: Michael Perlov <perlovka <AT> gmail.com>
Signed-off-by: Amy Liffey <amynka <AT> gentoo.org>
Package-Manager: Portage-2.3.49, Repoman-2.3.10

 sci-libs/opencascade/Manifest                      |   1 +
 .../files/opencascade-7.3.0-fixed-DESTDIR.patch    |  31 +++++
 .../files/opencascade-7.3.0-vtk-compat.patch       |  13 ++
 sci-libs/opencascade/metadata.xml                  |   1 +
 sci-libs/opencascade/opencascade-7.3.0.ebuild      | 140 +++++++++++++++++++++
 5 files changed, 186 insertions(+)

diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index 29c34b19d5a..922670cf0cf 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1 +1,2 @@
 DIST opencascade-6.9.1.tgz 209589289 BLAKE2B 266d68042dbbb8c9bc5f167b9aefaf84b3f1568c25530acb36271443429e67972aae913ebcea09c9ea27164e2e3f007eb287350d7ad69486755cdcb713fdb1af SHA512 92f0fffb110344feebaba9dd4a3427419ea9e6db7b09556b7dcdb1248f2a868e3337587abf9921392435031431f3876cea4d4709fd9926604dcebbd6d26f8963
+DIST opencascade-7.3.0.tar.gz 48576720 BLAKE2B bf63ba77aabc8a8c92d694f78f24bab71c07e68e7ba4b8d5d90966733dbd9c0c83a76e35f059e798d4a60640d663330cd13a828b19ec02a5372053ab39a74aa6 SHA512 17eb1810b43a8b001867563f97801ceb38a7878fa53d9b39b46a5cf3dd676310fa80e83e90668a99ec6aff9d4f09733fb6c7be83c1e3ab4eaa9fda55888050da

diff --git a/sci-libs/opencascade/files/opencascade-7.3.0-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-7.3.0-fixed-DESTDIR.patch
new file mode 100644
index 00000000000..c0a6363e19f
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.3.0-fixed-DESTDIR.patch
@@ -0,0 +1,31 @@
+--- a/CMakeLists.txt	2016-11-25 11:50:18.000000000 +0100
++++ b/CMakeLists.txt	2017-03-18 08:44:10.406668714 +0100
+@@ -885,7 +885,7 @@ if (EXISTS "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}")
+ 
+   set (CUSTOM_CONTENT "${CUSTOM_CONTENT} ${ADDITIONAL_CUSTOM_CONTENT}")
+ 
+-  file (WRITE "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}" "${CUSTOM_CONTENT}")
++  file (WRITE \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}\" "${CUSTOM_CONTENT}")
+ else()
+   OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "custom.${SCRIPT_EXT}" "${INSTALL_DIR_SCRIPT}")
+ endif()
+@@ -906,7 +906,7 @@
+ endforeach()
+ # install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
+ install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
+-install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
++install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"\$ENV{DESTDIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
+ 
+ foreach (OCCT_MODULE ${OCCT_MODULES})
+   if (BUILD_MODULE_${OCCT_MODULE})
+--- a/adm/cmake/occt_macros.cmake	2016-11-25 11:50:18.000000000 +0100
++++ b/adm/cmake/occt_macros.cmake	2017-03-18 08:44:10.406668714 +0100
+@@ -558,7 +558,7 @@
+   "cmake_policy(PUSH)
+   cmake_policy(SET CMP0007 NEW)
+   string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
+-  file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
++  file (GLOB ALL_OCCT_TARGET_FILES \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
+   foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
+     file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
+     file (REMOVE \"\${TARGET_FILENAME}\")

diff --git a/sci-libs/opencascade/files/opencascade-7.3.0-vtk-compat.patch b/sci-libs/opencascade/files/opencascade-7.3.0-vtk-compat.patch
new file mode 100644
index 00000000000..71700a57f1d
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.3.0-vtk-compat.patch
@@ -0,0 +1,13 @@
+--- a/src/IVtkVTK/IVtkVTK_ShapeData.cxx   2018-09-15 01:57:25.086783255 +0300
++++ b/src/IVtkVTK/IVtkVTK_ShapeData.cxx   2018-09-15 01:58:20.877779839 +0300
+@@ -29,6 +29,10 @@
+ #pragma warning(pop)
+ #endif
+ 
++#ifdef vtkGenericDataArray_h
++#define InsertNextTupleValue InsertNextTypedTuple
++#endif
++
+ IMPLEMENT_STANDARD_RTTIEXT(IVtkVTK_ShapeData,IVtk_IShapeData)
+ 
+ //================================================================

diff --git a/sci-libs/opencascade/metadata.xml b/sci-libs/opencascade/metadata.xml
index 0dc2b1db4c1..7a267cb2e3b 100644
--- a/sci-libs/opencascade/metadata.xml
+++ b/sci-libs/opencascade/metadata.xml
@@ -8,6 +8,7 @@
   <use>
     <flag name="freeimage">Enable support for image i/o via media-libs/freeimage</flag>
     <flag name="gl2ps">Use gl2ps PostScript printing library</flag>
+    <flag name="gles2">Use OpenGL ES 2.0</flag>
     <flag name="tbb">Enable multithreading with the Intel Threads Building Block dev-cpp/tbb</flag>
     <flag name="vtk">Enable Virtualisation Toolkit</flag>
   </use>

diff --git a/sci-libs/opencascade/opencascade-7.3.0.ebuild b/sci-libs/opencascade/opencascade-7.3.0.ebuild
new file mode 100644
index 00000000000..48f4c0775e4
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.3.0.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit check-reqs cmake-utils eapi7-ver java-pkg-opt-2
+
+MY_PV="$(ver_rs 1- '_')"
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.com/"
+SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug doc examples ffmpeg freeimage gl2ps gles2 java +tbb +vtk"
+
+RDEPEND="app-eselect/eselect-opencascade
+	dev-lang/tcl:0=
+	dev-lang/tk:0=
+	dev-tcltk/itcl
+	dev-tcltk/itk
+	dev-tcltk/tix
+	media-libs/freetype:2
+	media-libs/ftgl
+	virtual/glu
+	virtual/opengl
+	x11-libs/libXmu
+	ffmpeg? ( virtual/ffmpeg )
+	freeimage? ( media-libs/freeimage )
+	gl2ps? ( x11-libs/gl2ps )
+	java? ( >=virtual/jdk-0:= )
+	tbb? ( dev-cpp/tbb )
+	vtk? ( sci-libs/vtk[rendering] )
+"
+
+DEPEND="${RDEPEND}
+	doc? ( app-doc/doxygen )
+"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+CMAKE_BUILD_TYPE=Release
+
+S="${WORKDIR}/occt-V${MY_PV}"
+
+PATCHES=(
+	"${FILESDIR}/${P}-vtk-compat.patch"
+	"${FILESDIR}/${P}-fixed-DESTDIR.patch"
+)
+
+pkg_setup() {
+	check-reqs_pkg_setup
+	use java && java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+	use java && java-pkg-opt-2_src_prepare
+
+	# Do not pre-strip files
+	sed -i 's/_FLAGS_RELEASE} -s/_FLAGS_RELEASE}/g' adm/cmake/occt_defs_flags.cmake || die
+
+	# Prepare environment variables used by Opencascade
+	echo "CASROOT=${EROOT}usr/$(get_libdir)/${P}
+PATH=${EROOT}usr/$(get_libdir)/${P}/bin
+LDPATH=${EROOT}usr/$(get_libdir)/${P}/lib
+
+CSF_EXCEPTION_PROMPT=1
+CSF_GraphicShr=${EROOT}usr/$(get_libdir)/${P}/lib/libTKOpenGl.so
+CSF_IGESDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/XSTEPResource
+CSF_LANGUAGE=us
+CSF_MDTVTexturesDirectory=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/Textures
+CSF_MIGRATION_TYPES=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource/MigrationSheet.txt
+CSF_PluginDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource
+CSF_ShadersDirectory=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/Shaders
+CSF_SHMessage=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/SHMessage
+CSF_StandardDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource
+CSF_StandardLiteDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource
+CSF_STEPDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/XSTEPResource
+CSF_UnitsDefinition=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/UnitsAPI/Units.dat
+CSF_XCAFDefaults=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/StdResource
+CSF_XmlOcafResource=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/XmlOcafResource
+CSF_XSMessage=${EROOT}usr/$(get_libdir)/${P}/share/opencascade/resources/XSMessage
+
+MMGT_CLEAR=1
+# use TBB for memory allocation optimizations
+MMGT_OPT=2
+# The next MMGT_* variables are at their default values.
+# They are here for documentation, so you can change them if needed
+#MMGT_MMAP=1
+#MMGT_CELLSIZE=200
+#MMGT_NBPAGES=10000
+#MMGT_THRESHOLD=40000
+" > "${S}/${PV}"
+
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_DOC_Overview=$(usex doc)
+		-DBUILD_WITH_DEBUG=$(usex debug)
+		-DCMAKE_INSTALL_PREFIX="/usr/$(get_libdir)/${P}"
+		-DINSTALL_DIR_CMAKE="/usr/$(get_libdir)/cmake"
+		-DINSTALL_DIR_DOC="/usr/share/doc/${P}"
+		-DINSTALL_SAMPLES=$(usex examples)
+		-DUSE_FFMPEG=$(usex ffmpeg)
+		-DUSE_FREEIMAGE=$(usex freeimage)
+		-DUSE_GL2PS=$(usex gl2ps)
+		-DUSE_GLES2=$(usex gles2)
+		-DUSE_TBB=$(usex tbb)
+		-DUSE_VTK=$(usex vtk)
+	)
+
+	cmake-utils_src_configure
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	fperms go-w "/usr/$(get_libdir)/${P}/bin/draw.sh"
+
+	if ! use examples; then
+		rm -rf "${ED%/}/usr/$(get_libdir)/${P}/share/${PN}/samples" || die
+	fi
+
+	insinto "/etc/env.d/${PN}"
+	doins "${S}/${PV}"
+}
+
+pkg_postinst() {
+	eselect ${PN} set ${PV}
+	elog "You can switch between available ${PN} implementations using eselect ${PN}."
+	elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
+	elog "You get a list by running \"equery depends sci-libs/opencascade\""
+	elog "revdep-rebuild does NOT suffice."
+}


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2021-02-18  9:36 Joonas Niilola
  0 siblings, 0 replies; 11+ messages in thread
From: Joonas Niilola @ 2021-02-18  9:36 UTC (permalink / raw
  To: gentoo-commits

commit:     1c351b875bed560e5954ddf4db1ae25c3141f13b
Author:     Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
AuthorDate: Tue Feb  9 22:40:18 2021 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Feb 18 09:36:15 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c351b87

sci-libs/opencascade: fix pre-stripping files

Closes: https://bugs.gentoo.org/769410
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 ...Gentoo-specific-avoid-pre-stripping-files.patch | 30 ++++++++++++++++++++++
 sci-libs/opencascade/opencascade-7.4.0-r4.ebuild   |  8 ++----
 2 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/sci-libs/opencascade/files/opencascade-7.4.0-Gentoo-specific-avoid-pre-stripping-files.patch b/sci-libs/opencascade/files/opencascade-7.4.0-Gentoo-specific-avoid-pre-stripping-files.patch
new file mode 100644
index 00000000000..0d4015cabd7
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.4.0-Gentoo-specific-avoid-pre-stripping-files.patch
@@ -0,0 +1,30 @@
+From 2ddba09ea491ae5d18b074a2d1126d44c0a2b1f6 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Tue, 9 Feb 2021 22:26:14 +0100
+Subject: [PATCH] [Gentoo-specific] avoid pre-stripping files
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ adm/cmake/occt_defs_flags.cmake | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake
+index 5484c675..4e513ab5 100644
+--- a/adm/cmake/occt_defs_flags.cmake
++++ b/adm/cmake/occt_defs_flags.cmake
+@@ -137,12 +137,6 @@ elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
+   set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
+ endif()
+ 
+-# Optimize size of binaries
+-if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR MINGW)
+-  set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+-  set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
+-endif()
+-
+ if (BUILD_RELEASE_DISABLE_EXCEPTIONS)
+   set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception")
+   set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception")
+-- 
+2.30.0
+

diff --git a/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild b/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild
index a6b119a193b..669ac8caecb 100644
--- a/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild
+++ b/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild
@@ -17,7 +17,6 @@ SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/ta
 LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
 SLOT="${PV}"
 KEYWORDS="~amd64 ~x86"
-# gl2ps
 IUSE="debug doc examples ffmpeg freeimage gles2 inspector java optimize qt5 tbb +vtk"
 
 REQUIRED_USE="
@@ -25,7 +24,6 @@ REQUIRED_USE="
 	?? ( optimize tbb )
 "
 
-#	gl2ps? ( x11-libs/gl2ps )
 RDEPEND="
 	app-eselect/eselect-opencascade
 	dev-cpp/eigen
@@ -75,6 +73,7 @@ PATCHES=(
 	"${FILESDIR}/${P}-find-qt.patch"
 	"${FILESDIR}/${P}-fix-install.patch"
 	"${FILESDIR}/${P}-fix-issue-with-cmake-path-variables.patch"
+	"${FILESDIR}/${P}-Gentoo-specific-avoid-pre-stripping-files.patch"
 )
 
 pkg_setup() {
@@ -85,8 +84,6 @@ pkg_setup() {
 src_prepare() {
 	cmake_src_prepare
 	use java && java-pkg-opt-2_src_prepare
-#	sed -e 's/\/lib\$/\/'$(get_libdir)'\$/' \
-#		-i adm/templates/OpenCASCADEConfig.cmake.in || die
 }
 
 src_configure() {
@@ -98,18 +95,17 @@ src_configure() {
 		-DCMAKE_INSTALL_PREFIX="/usr/$(get_libdir)/${P}/ros"
 		-DINSTALL_DIR_DOC="/usr/share/doc/${PF}"
 		-DINSTALL_DIR_CMAKE="/usr/$(get_libdir)/cmake"
-#		-DINSTALL_DOC_Overview=$(usex doc)
 		-DINSTALL_SAMPLES=$(usex examples)
 		-DINSTALL_TEST_CASES=NO
 		-DUSE_D3D=no
 		-DUSE_FFMPEG=$(usex ffmpeg)
 		-DUSE_FREEIMAGE=$(usex freeimage)
-#		-DUSE_GL2PS=$(usex gl2ps)
 		-DUSE_GLES2=$(usex gles2)
 		-DUSE_TBB=$(usex tbb)
 		-DUSE_VTK=$(usex vtk)
 	)
 
+	use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON )
 	use examples && mycmakeargs+=( -DBUILD_SAMPLES_QT=$(usex qt5) )
 
 	cmake_src_configure


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2021-02-18  9:36 Joonas Niilola
  0 siblings, 0 replies; 11+ messages in thread
From: Joonas Niilola @ 2021-02-18  9:36 UTC (permalink / raw
  To: gentoo-commits

commit:     3a529685c95f6c74ed4b46d4c7501373b0a55769
Author:     Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
AuthorDate: Tue Feb  9 21:20:39 2021 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Feb 18 09:36:11 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a529685

sci-libs/opencascade: fix paths in cmake config

Thanks to Fabio Rossi for reporting the issue.
See also upstream bug at
https://tracker.dev.opencascade.org/view.php?id=32035

Closes: https://bugs.gentoo.org/763162
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 ...7.4.0-fix-issue-with-cmake-path-variables.patch |  41 ++++++
 sci-libs/opencascade/opencascade-7.4.0-r4.ebuild   | 148 +++++++++++++++++++++
 2 files changed, 189 insertions(+)

diff --git a/sci-libs/opencascade/files/opencascade-7.4.0-fix-issue-with-cmake-path-variables.patch b/sci-libs/opencascade/files/opencascade-7.4.0-fix-issue-with-cmake-path-variables.patch
new file mode 100644
index 00000000000..aacb642019f
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.4.0-fix-issue-with-cmake-path-variables.patch
@@ -0,0 +1,41 @@
+From cefaa5bddedcb90a06d6ef8f0837a11619e5d87e Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Tue, 9 Feb 2021 20:58:43 +0100
+Subject: [PATCH] fix issue with cmake path variables
+
+Thanks to Fabio Rossi for reporting the issue.
+Upstream bug: https://tracker.dev.opencascade.org/view.php?id=32035
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ adm/templates/OpenCASCADEConfig.cmake.in | 14 +-------------
+ 1 file changed, 1 insertion(+), 13 deletions(-)
+
+diff --git a/adm/templates/OpenCASCADEConfig.cmake.in b/adm/templates/OpenCASCADEConfig.cmake.in
+index 4937103b..db99a8d1 100644
+--- a/adm/templates/OpenCASCADEConfig.cmake.in
++++ b/adm/templates/OpenCASCADEConfig.cmake.in
+@@ -16,19 +16,7 @@ set (OpenCASCADE_MINOR_VERSION       "@OCC_VERSION_MINOR@")
+ set (OpenCASCADE_MAINTENANCE_VERSION "@OCC_VERSION_MAINTENANCE@")
+ set (OpenCASCADE_DEVELOPMENT_VERSION "@OCC_VERSION_DEVELOPMENT@")
+ 
+-# Compute the installation prefix from this OpenCASCADEConfig.cmake file 
+-# location, by going up one level + one level if "cmake" + one level if "lib".
+-# This is made to support different locations of CMake files:
+-# - in UNIX style: $INSTALL_DIR/lib/cmake/opencascade-<version>
+-# - in Windows style: $INSTALL_DIR/cmake
+-get_filename_component (OpenCASCADE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+-get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
+-if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$")
+-  get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
+-endif()
+-if (OpenCASCADE_INSTALL_PREFIX MATCHES "/lib$")
+-  get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH)
+-endif()
++set (OpenCASCADE_INSTALL_PREFIX "$ENV{CASROOT}")
+ 
+ # Set OpenCASCADE paths to headers, binaries, libraries, resources, tests, samples, data
+ set (OpenCASCADE_BINARY_DIR   "${OpenCASCADE_INSTALL_PREFIX}/@INSTALL_DIR_BIN@")
+-- 
+2.30.0
+

diff --git a/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild b/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild
new file mode 100644
index 00000000000..a6b119a193b
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# TODO:
+# check the src files referenced in 51opencascade, i.e. resources and the like
+# check where cmake gets it's '-s' linker flag to avoid pre-stripping (QA)
+
+EAPI=7
+
+inherit check-reqs cmake flag-o-matic java-pkg-opt-2
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+MY_PV="$(ver_rs 1- '_')"
+SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+# gl2ps
+IUSE="debug doc examples ffmpeg freeimage gles2 inspector java optimize qt5 tbb +vtk"
+
+REQUIRED_USE="
+	inspector? ( qt5 )
+	?? ( optimize tbb )
+"
+
+#	gl2ps? ( x11-libs/gl2ps )
+RDEPEND="
+	app-eselect/eselect-opencascade
+	dev-cpp/eigen
+	dev-lang/tcl:0=
+	dev-lang/tk:0=
+	dev-tcltk/itcl
+	dev-tcltk/itk
+	dev-tcltk/tix
+	media-libs/freetype:2
+	media-libs/ftgl
+	virtual/glu
+	virtual/opengl
+	x11-libs/libXmu
+	ffmpeg? ( media-video/ffmpeg )
+	freeimage? ( media-libs/freeimage )
+	java? ( virtual/jdk:1.8 )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtquickcontrols2:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+	)
+	tbb? ( dev-cpp/tbb )
+	vtk? ( >=sci-libs/vtk-8.1.0[rendering] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	doc? (
+		app-doc/doxygen
+		qt5? ( dev-qt/linguist-tools:5 )
+	)
+"
+
+# There's no easy way to test. Testing needs a rather big environment
+# properly set up.
+RESTRICT="test"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+CMAKE_BUILD_TYPE=Release
+
+S="${WORKDIR}/occt-V${MY_PV}"
+
+PATCHES=(
+	"${FILESDIR}/${P}-find-qt.patch"
+	"${FILESDIR}/${P}-fix-install.patch"
+	"${FILESDIR}/${P}-fix-issue-with-cmake-path-variables.patch"
+)
+
+pkg_setup() {
+	check-reqs_pkg_setup
+	use java && java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+	use java && java-pkg-opt-2_src_prepare
+#	sed -e 's/\/lib\$/\/'$(get_libdir)'\$/' \
+#		-i adm/templates/OpenCASCADEConfig.cmake.in || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_DOC_Overview=$(usex doc)
+		-DBUILD_Inspector=$(usex inspector)
+		-DBUILD_WITH_DEBUG=$(usex debug)
+		-DCMAKE_CONFIGURATION_TYPES="Gentoo"
+		-DCMAKE_INSTALL_PREFIX="/usr/$(get_libdir)/${P}/ros"
+		-DINSTALL_DIR_DOC="/usr/share/doc/${PF}"
+		-DINSTALL_DIR_CMAKE="/usr/$(get_libdir)/cmake"
+#		-DINSTALL_DOC_Overview=$(usex doc)
+		-DINSTALL_SAMPLES=$(usex examples)
+		-DINSTALL_TEST_CASES=NO
+		-DUSE_D3D=no
+		-DUSE_FFMPEG=$(usex ffmpeg)
+		-DUSE_FREEIMAGE=$(usex freeimage)
+#		-DUSE_GL2PS=$(usex gl2ps)
+		-DUSE_GLES2=$(usex gles2)
+		-DUSE_TBB=$(usex tbb)
+		-DUSE_VTK=$(usex vtk)
+	)
+
+	use examples && mycmakeargs+=( -DBUILD_SAMPLES_QT=$(usex qt5) )
+
+	cmake_src_configure
+
+	# prepare /etc/env.d file
+	sed -e 's|VAR_CASROOT|'${EROOT%}'/usr/'$(get_libdir)'/'${P}'/ros|g' < "${FILESDIR}/${P}.env.in" >> "${T}/${PV}" || die
+	sed -i -e 's|ros/lib|ros/'$(get_libdir)'|' "${T}/${PV}" || die
+
+	# use TBB for memory allocation optimizations?
+	use tbb && (sed -i -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' "${T}/${PV}" || die)
+
+	if use optimize ; then
+		# use internal optimized memory manager?
+		sed -i -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' "${T}/${PV}" || die
+		# don't clear memory ?
+		sed -i -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' "${T}/${PV}" || die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	# respect slotting
+	insinto "/etc/env.d/${PN}"
+	doins "${T}/${PV}"
+
+	# remove examples
+	use examples || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples" || die)
+	use java || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples/java" || die)
+	use qt5 || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples/qt" || die)
+}
+
+pkg_postinst() {
+	eselect ${PN} set ${PV} || die "failed to switch to updated implementation"
+	einfo "You can switch between available ${PN} implementations using eselect ${PN}"
+}


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2021-06-24 10:06 Alexey Shvetsov
  0 siblings, 0 replies; 11+ messages in thread
From: Alexey Shvetsov @ 2021-06-24 10:06 UTC (permalink / raw
  To: gentoo-commits

commit:     0f7a957b96c79b35bd8cbb7c712bb7358188853e
Author:     Roman Beranek <roman.beranek <AT> prusa3d <DOT> com>
AuthorDate: Thu Jun  3 14:09:09 2021 +0000
Commit:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
CommitDate: Thu Jun 24 10:06:13 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f7a957b

sci-libs/opencascade[vtk]: prevent name collision

VTK-9.0 declares in their headers 'struct AllValues' which collides with
a macro defined by GLX.

This has been only partially fixed in the upstream:
https://git.dev.opencascade.org/gitweb/?p=occt.git;a=commit;h=2c276f91da0

It was necessary to put `#undef`s in a few other places.

Closes: https://bugs.gentoo.org/794031
Signed-off-by: Roman Beranek <roman.beranek <AT> prusa3d.com>
Closes: https://github.com/gentoo/gentoo/pull/21105
Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org>

 ...fix-AllValues-name-collision-with-vtk-9.0.patch | 172 +++++++++++++++++++++
 sci-libs/opencascade/opencascade-7.5.1-r1.ebuild   |   1 +
 2 files changed, 173 insertions(+)

diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch b/sci-libs/opencascade/files/opencascade-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch
new file mode 100644
index 00000000000..e2725ebb2c6
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch
@@ -0,0 +1,172 @@
+From f624c55d7b75ccbe3fdfef0db141fdbe1f6b383a Mon Sep 17 00:00:00 2001
+From: anv <anv@opencascade.com>
+Date: Tue, 27 Apr 2021 21:33:54 +0300
+Subject: [PATCH 1/2] 0032331: Visualization - Exception when trying to display
+ some surfaces using iVtk with VTK 9
+
+Updated memory allocation for vtkPolyData to use more suited method for VTK versions after 9.0
+---
+ src/IVtkDraw/IVtkDraw_Interactor.cxx          |  7 +++
+ src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx | 50 ++++++++++++++++++-
+ 2 files changed, 56 insertions(+), 1 deletion(-)
+
+diff --git a/src/IVtkDraw/IVtkDraw_Interactor.cxx b/src/IVtkDraw/IVtkDraw_Interactor.cxx
+index f9f68c37b6..1b68c959f5 100644
+--- a/src/IVtkDraw/IVtkDraw_Interactor.cxx
++++ b/src/IVtkDraw/IVtkDraw_Interactor.cxx
+@@ -20,6 +20,13 @@
+ #include <vtkWin32OpenGLRenderWindow.h>
+ #else
+ #include <GL/glx.h>
++
++// Preventing naming collisions between
++// GLX and VTK versions 9.0 and above
++#ifdef AllValues
++#undef AllValues
++#endif
++
+ #include <vtkXRenderWindowInteractor.h>
+ #include <vtkXOpenGLRenderWindow.h>
+ #endif
+diff --git a/src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx b/src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx
+index 26ded68af5..bd289d2b51 100644
+--- a/src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx
++++ b/src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx
+@@ -87,6 +87,11 @@ int IVtkTools_SubPolyDataFilter::RequestData (vtkInformation *vtkNotUsed(theRequ
+ 
+     // Prepare the list of ids from the set of ids.
+     // Iterate on input cells.
++#if (VTK_MAJOR_VERSION >= 9)
++    // Count number of different cells.
++    int aNbVerts = 0, aNbLines = 0, aNbPolys = 0, aNbStrips = 0;
++    int aNbVertPts = 0, aNbLinePts = 0, aNbPolyPts = 0, aNbStripPts = 0;
++#endif
+     if (!myIdsSet.IsEmpty())
+     {
+       for (vtkIdType anI = 0; anI < aSize; anI++)
+@@ -95,13 +100,56 @@ int IVtkTools_SubPolyDataFilter::RequestData (vtkInformation *vtkNotUsed(theRequ
+         {
+           // Add a cell id to output if it's value is in the set.
+           anIdList->InsertNextId (anI);
++#if (VTK_MAJOR_VERSION >= 9)
++          switch (anInput->GetCellType(anI))
++          {
++            case VTK_VERTEX:
++              aNbVerts++;
++              aNbVertPts++;
++              break;
++            case VTK_POLY_VERTEX:
++              aNbVerts++;
++              aNbVertPts += anInput->GetCell(anI)->GetNumberOfPoints();
++              break;
++            case VTK_LINE:
++              aNbLines++;
++              aNbLinePts += 2;
++              break;
++            case VTK_POLY_LINE:
++              aNbLines++;
++              aNbLinePts += anInput->GetCell(anI)->GetNumberOfPoints();
++              break;
++            case VTK_TRIANGLE:
++              aNbPolys++;
++              aNbPolyPts += 3;
++              break;
++            case VTK_QUAD:
++              aNbPolys++;
++              aNbPolyPts += 4;
++              break;
++            case VTK_POLYGON:
++              aNbPolys++;
++              aNbPolyPts += anInput->GetCell(anI)->GetNumberOfPoints();
++              break;
++            case VTK_TRIANGLE_STRIP:
++              aNbStrips++;
++              aNbStripPts += anInput->GetCell(anI)->GetNumberOfPoints();
++              break;
++          }
++#endif
+         }
+       }
+     }
+ 
+     // Copy cells with their points according to the prepared list of cell ids.
+     anOutput->GetCellData()->AllocateArrays(anInput->GetCellData()->GetNumberOfArrays());
+-    anOutput->Allocate(anInput, anIdList->GetNumberOfIds());  // Allocate output cells
++    // Allocate output cells
++#if (VTK_MAJOR_VERSION >= 9)
++    anOutput->AllocateExact (aNbVerts, aNbVertPts, aNbLines, aNbLinePts, aNbPolys, aNbPolyPts, aNbStrips, aNbStripPts);
++#else
++    anOutput->Allocate (anInput, anIdList->GetNumberOfIds());
++#endif
++
+     // Pass data arrays.
+     // Create new arrays for output data 
+     vtkSmartPointer<vtkCellData> anInData = anInput->GetCellData();
+-- 
+2.31.1
+
+
+From 3a0d59614378af258b285c7a3cab66c4bb7cecd3 Mon Sep 17 00:00:00 2001
+From: Roman Beranek <roman.beranek@prusa3d.com>
+Date: Thu, 3 Jun 2021 15:41:45 +0200
+Subject: [PATCH 2/2] undef AllValues after inclusion of GL/glx.h
+
+Replicate the measure from 0032331 also for IVtkDraw.cxx and InterfaceGraphic.hxx
+---
+ src/IVtkDraw/IVtkDraw.cxx                 | 17 +++++++++++------
+ src/InterfaceGraphic/InterfaceGraphic.hxx |  4 +++-
+ 2 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/src/IVtkDraw/IVtkDraw.cxx b/src/IVtkDraw/IVtkDraw.cxx
+index 93d4a2fd1a..84bacdc55a 100644
+--- a/src/IVtkDraw/IVtkDraw.cxx
++++ b/src/IVtkDraw/IVtkDraw.cxx
+@@ -52,6 +52,17 @@
+ 
+ // prevent disabling some MSVC warning messages by VTK headers 
+ #include <Standard_WarningsDisable.hxx>
++#ifndef _WIN32
++  #include <X11/X.h>
++  #include <X11/Shell.h>
++  #include <X11/Xlib.h>
++  #include <X11/Xutil.h>
++  #include <GL/glx.h>
++  #include <Xw_Window.hxx>
++  #ifdef AllValues
++  #undef AllValues
++  #endif
++#endif
+ #include <vtkAlgorithmOutput.h>
+ #include <vtkAppendPolyData.h>
+ #include <vtkBMPWriter.h>
+@@ -75,12 +86,6 @@
+ #include <vtkTIFFWriter.h>
+ #include <vtkWindowToImageFilter.h>
+ #ifndef _WIN32
+-  #include <X11/X.h>
+-  #include <X11/Shell.h>
+-  #include <X11/Xlib.h>
+-  #include <X11/Xutil.h>
+-  #include <GL/glx.h>
+-  #include <Xw_Window.hxx>
+   #include <vtkXRenderWindowInteractor.h>
+   #include <vtkXOpenGLRenderWindow.h>
+   #include <tk.h>
+diff --git a/src/InterfaceGraphic/InterfaceGraphic.hxx b/src/InterfaceGraphic/InterfaceGraphic.hxx
+index c533f68cd5..bf02b3f397 100644
+--- a/src/InterfaceGraphic/InterfaceGraphic.hxx
++++ b/src/InterfaceGraphic/InterfaceGraphic.hxx
+@@ -39,7 +39,9 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
+ #include <GL/glx.h>
+-
++#ifdef AllValues
++#undef AllValues
++#endif
+ #endif
+ 
+ #endif // __INTERFACE_GRAPHIC_HXX
+-- 
+2.31.1
+

diff --git a/sci-libs/opencascade/opencascade-7.5.1-r1.ebuild b/sci-libs/opencascade/opencascade-7.5.1-r1.ebuild
index ffa4d80678e..666120a0cd9 100644
--- a/sci-libs/opencascade/opencascade-7.5.1-r1.ebuild
+++ b/sci-libs/opencascade/opencascade-7.5.1-r1.ebuild
@@ -68,6 +68,7 @@ PATCHES=(
 	"${FILESDIR}"/${P}-0004-fix-installation-of-cmake-config-files.patch
 	"${FILESDIR}"/${P}-0005-fix-write-permissions-on-scripts.patch
 	"${FILESDIR}"/${P}-0006-fix-creation-of-custom.sh-script.patch
+	"${FILESDIR}"/${P}-fix-AllValues-name-collision-with-vtk-9.0.patch
 )
 
 src_prepare() {


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2021-07-07 20:05 Ionen Wolkens
  0 siblings, 0 replies; 11+ messages in thread
From: Ionen Wolkens @ 2021-07-07 20:05 UTC (permalink / raw
  To: gentoo-commits

commit:     17c99e0bcaa5ed97c1e737d0c1bae60c1d35a69c
Author:     Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
AuthorDate: Sun Jun  6 19:01:10 2021 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jul  7 20:04:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17c99e0b

sci-libs/opencascade: bump to 7.5.2

Quote paths in template env file

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
Closes: https://github.com/gentoo/gentoo/pull/21149
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 sci-libs/opencascade/Manifest                     |   1 +
 sci-libs/opencascade/files/opencascade-7.5.env.in |  40 ++---
 sci-libs/opencascade/opencascade-7.5.2.ebuild     | 171 ++++++++++++++++++++++
 3 files changed, 192 insertions(+), 20 deletions(-)

diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index 77c4e42f391..29f10ccec88 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1,2 +1,3 @@
 DIST opencascade-7.4.0.tar.gz 49210449 BLAKE2B c92afe7551e9a066ad0940dcf49278b556a726f0534131706b3a11cb0986ba32818e162df3982283f6815eb9d67d7e91f909485d78f2b8d638da1934ffbc2f7f SHA512 eb0d47848d48f42a159ae5d7a4144483ba1f59f634844bd2053e48e04af30a30ba7056112cd38a1730d193a8d736b898f9608dd574cbe6829dbe7257a002772a
 DIST opencascade-7.5.1.tar.gz 47807222 BLAKE2B b5ef30ea7c373250db3e0863f3c7fde84256b37957a482f10a462a4c4ed1a21cffbbeb10e9fc140325022d7582efbd292ed6d1016d14cb67ccf5c84d14060d5a SHA512 ebb937254ac165041ef7e1a80df8f9d2ac1d518f01b3d4b0fd6d203fe0d80bd474b85a462cccc1c74a513bd257c0b0ab7002632573f38bf72170363c7e42ed2f
+DIST opencascade-7.5.2.tar.gz 47812603 BLAKE2B 86995ea60e24329f91a2cbede26112a70794fb091b34d33614bef412b05b8cc9f1e770aecf78272b54a241c2524422c86f8ff722b3f27b54bf10fa5eda626288 SHA512 f951a941043a56f381cfd25e4d78bb9ae08e5cc29a894e6c0c35daf30aeabf1e44ee09af65bb6b7d62d9325be67741ddcf52266b7186b4c336c70ed8bcfa1676

diff --git a/sci-libs/opencascade/files/opencascade-7.5.env.in b/sci-libs/opencascade/files/opencascade-7.5.env.in
index 50766cbb6bb..d7148c241f1 100644
--- a/sci-libs/opencascade/files/opencascade-7.5.env.in
+++ b/sci-libs/opencascade/files/opencascade-7.5.env.in
@@ -9,9 +9,9 @@
 # were enabled. Those values are marked as such.
 
 # define the root directory of Open CASCADE Technology (needed)
-CASROOT=VAR_CASROOT
-PATH=VAR_CASROOT/lib/opencascade-VAR_PV/bin
-LDPATH=VAR_CASROOT/lib/opencascade-VAR_PV
+CASROOT="VAR_CASROOT"
+PATH="VAR_CASROOT/lib/opencascade-VAR_PV/bin"
+LDPATH="VAR_CASROOT/lib/opencascade-VAR_PV"
 
 #############################################################################
 # The MMGT_* variables are used to determine how memory management will work
@@ -70,7 +70,7 @@ LDPATH=VAR_CASROOT/lib/opencascade-VAR_PV
 #
 # NOTE: Only enable for debugging purposes. If set, this variable has a
 # large impact on the performance of boolean operations.
-#CSF_DEBUG_BOP=/var/tmp
+#CSF_DEBUG_BOP="/var/tmp"
 
 # CSF_EXCEPTION_PROMPT (default: 1) optional
 #   not documented upstream (maybe a flag indicating whether the user shall
@@ -79,24 +79,24 @@ LDPATH=VAR_CASROOT/lib/opencascade-VAR_PV
 
 # The following CSF_* variables define various directories and files where
 # OCCT is looking for resources.
-CSF_GraphicShr=VAR_CASROOT/lib/opencascade-VAR_PV/libTKOpenGl.so
-CSF_MIGRATION_TYPES=VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource/MigrationSheet.txt
-CSF_MDTVTexturesDirectory=VAR_CASROOT/share/opencascade-VAR_PV/resources/Textures
-CSF_PluginDefaults=VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource
-CSF_StandardDefaults=VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource
-CSF_StandardLiteDefaults=VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource
-CSF_XCAFDefaults=VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource
-CSF_XmlOcafResource=VAR_CASROOT/share/opencascade-VAR_PV/resources/XmlOcafResource
+CSF_GraphicShr="VAR_CASROOT/lib/opencascade-VAR_PV/libTKOpenGl.so"
+CSF_MIGRATION_TYPES="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource/MigrationSheet.txt"
+CSF_MDTVTexturesDirectory="VAR_CASROOT/share/opencascade-VAR_PV/resources/Textures"
+CSF_PluginDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
+CSF_StandardDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
+CSF_StandardLiteDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
+CSF_XCAFDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
+CSF_XmlOcafResource="VAR_CASROOT/share/opencascade-VAR_PV/resources/XmlOcafResource"
 # The below values might be optional.
-CSF_IGESDefaults=VAR_CASROOT/share/opencascade-VAR_PV/resources/XSTEPResource
-CSF_ShadersDirectory=VAR_CASROOT/share/opencascade-VAR_PV/resources/Shaders
-CSF_SHMessage=VAR_CASROOT/share/opencascade-VAR_PV/resources/SHMessage
-CSF_STEPDefaults=VAR_CASROOT/share/opencascade-VAR_PV/resources/XSTEPResource
-CSF_UnitsDefinition=VAR_CASROOT/share/opencascade-VAR_PV/resources/UnitsAPI/Units.dat
-CSF_XSMessage=VAR_CASROOT/share/opencascade-VAR_PV/resources/XSMessage
+CSF_IGESDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSTEPResource"
+CSF_ShadersDirectory="VAR_CASROOT/share/opencascade-VAR_PV/resources/Shaders"
+CSF_SHMessage="VAR_CASROOT/share/opencascade-VAR_PV/resources/SHMessage"
+CSF_STEPDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSTEPResource"
+CSF_UnitsDefinition="VAR_CASROOT/share/opencascade-VAR_PV/resources/UnitsAPI/Units.dat"
+CSF_XSMessage="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSMessage"
 
 # TODO: check those
 # they were defined in the original ebuild but the directories and files
 # are not present in the current installation.
-#CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
-#CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
+#CSF_MDTVFontDirectory="VAR_CASROOT/src/FontMFT"
+#CSF_UnitsLexicon="VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat"

diff --git a/sci-libs/opencascade/opencascade-7.5.2.ebuild b/sci-libs/opencascade/opencascade-7.5.2.ebuild
new file mode 100644
index 00000000000..59a4a6c42c7
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.5.2.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic
+
+MY_PV="$(ver_rs 1- '_')"
+PV_MAJ="$(ver_cut 1-2)"
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz"
+S="${WORKDIR}/occt-V${MY_PV}"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="${PV_MAJ}"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="debug doc examples ffmpeg freeimage gles2 json optimize tbb vtk"
+
+REQUIRED_USE="?? ( optimize tbb )"
+
+# There's no easy way to test. Testing needs a rather big environment
+# properly set up.
+RESTRICT="test"
+
+RDEPEND="
+	app-eselect/eselect-opencascade
+	dev-lang/tcl:=
+	dev-lang/tk:=
+	dev-tcltk/itcl
+	dev-tcltk/itk
+	dev-tcltk/tix
+	media-libs/fontconfig
+	media-libs/freetype:2
+	media-libs/ftgl
+	virtual/glu
+	virtual/opengl
+	x11-libs/libXmu
+	examples? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtquickcontrols2:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+	)
+	ffmpeg? ( media-video/ffmpeg:= )
+	freeimage? ( media-libs/freeimage )
+	tbb? ( dev-cpp/tbb )
+	vtk? ( sci-libs/vtk:=[rendering] )
+"
+DEPEND="
+	${RDEPEND}
+	dev-cpp/eigen
+	dev-libs/rapidjson
+"
+BDEPEND="
+	app-eselect/eselect-opencascade
+	doc? ( app-doc/doxygen )
+	examples? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-7.5.1-0001-allow-default-search-path-for-Qt5.patch
+	"${FILESDIR}"/${PN}-7.5.1-0002-remove-unnecessary-Qt5-check.patch
+	"${FILESDIR}"/${PN}-7.5.1-0003-add-Gentoo-configuration-type.patch
+	"${FILESDIR}"/${PN}-7.5.1-0004-fix-installation-of-cmake-config-files.patch
+	"${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch
+	"${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch
+	"${FILESDIR}"/${PN}-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	use debug && append-cppflags -DDEBUG
+
+	sed -e 's|/lib\$|/'$(get_libdir)'\$|' \
+		-i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+	# There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+	# assumptions it makes about installation paths. Rather than fixing it, just
+	# get rid of the mechanism altogether - its purpose is to allow a
+	# side-by-side installation of release and debug libraries.
+	sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+		-i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_DOC_Overview=$(usex doc)
+		-DBUILD_Inspector=$(usex examples)
+		-DBUILD_WITH_DEBUG=$(usex debug)
+		-DINSTALL_DIR_BIN="$(get_libdir)/${P}/bin"
+		-DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${P}"
+		-DINSTALL_DIR_DOC="share/doc/${PF}"
+		-DINSTALL_DIR_LIB="$(get_libdir)/${P}"
+		-DINSTALL_DIR_SCRIPT="$(get_libdir)/${P}/bin"
+		-DINSTALL_DIR_WITH_VERSION=ON
+		-DINSTALL_SAMPLES=$(usex examples)
+		-DINSTALL_TEST_CASES=NO
+		-DUSE_D3D=NO
+		-DUSE_FFMPEG=$(usex ffmpeg)
+		-DUSE_FREEIMAGE=$(usex freeimage)
+		-DUSE_FREETYPE=ON
+		-DUSE_GLES2=$(usex gles2)
+		-DUSE_RAPIDJSON=$(usex json)
+		-DUSE_TBB=$(usex tbb)
+		-DUSE_VTK=$(usex vtk)
+	)
+
+	use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON )
+
+	if use examples; then
+		mycmakeargs+=(
+			-D3RDPARTY_QT_DIR="${ESYSROOT}"/usr
+			-DBUILD_SAMPLES_QT=ON
+		)
+	fi
+
+	if use vtk; then
+		if has_version ">=sci-libs/vtk-9.0.0"; then
+			mycmakeargs+=(
+				-D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
+				-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0
+				-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+			)
+		fi
+	fi
+
+	cmake_src_configure
+
+	# prepare /etc/env.d file
+	sed -e "s|lib/|$(get_libdir)/|" \
+		-e "s|VAR_PV|${PV}|" \
+		-e "s|VAR_CASROOT|${ESYSROOT}/usr|" \
+		< "${FILESDIR}"/${PN}-${PV_MAJ}.env.in > "${T}"/${PV_MAJ} || die
+
+	# use TBB for memory allocation optimizations
+	if use tbb; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/${PV_MAJ} || die
+	fi
+
+	# use internal optimized memory manager and don't clear memory with this
+	# memory manager.
+	if use optimize ; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+			-e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+			-i "${T}"/${PV_MAJ} || die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	# respect slotting
+	insinto "/etc/env.d/${PN}"
+	doins "${T}/${PV_MAJ}"
+
+	# remove examples
+	if use !examples; then
+		rm -r "${ED}/usr/share/${P}/samples" || die
+	fi
+
+	docompress -x /usr/share/doc/${PF}/overview/html
+}
+
+pkg_postinst() {
+	eselect ${PN} set ${PV_MAJ} || die "failed to switch to updated implementation"
+	einfo "You can switch between available ${PN} implementations using eselect ${PN}"
+}


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2022-01-10  1:04 Sam James
  0 siblings, 0 replies; 11+ messages in thread
From: Sam James @ 2022-01-10  1:04 UTC (permalink / raw
  To: gentoo-commits

commit:     5ff97289ab2e63afcb5dfa0591312e0716ccada9
Author:     Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
AuthorDate: Fri Nov  5 18:31:59 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 10 01:02:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ff97289

sci-libs/opencascade: bump to 7.6.0

- move to using single slot/subslot mechanism to simplify the use
	of the library in revdeps

Bug: https://tracker.dev.opencascade.org/view.php?id=32650

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/opencascade/Manifest                 |   1 +
 sci-libs/opencascade/files/opencascade.env.in | 102 ++++++++++++++++
 sci-libs/opencascade/metadata.xml             |   4 +
 sci-libs/opencascade/opencascade-7.6.0.ebuild | 168 ++++++++++++++++++++++++++
 4 files changed, 275 insertions(+)

diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index eddc8789850f..bd6eac9d5f78 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1,2 +1,3 @@
 DIST opencascade-7.5.2.tar.gz 47812603 BLAKE2B 86995ea60e24329f91a2cbede26112a70794fb091b34d33614bef412b05b8cc9f1e770aecf78272b54a241c2524422c86f8ff722b3f27b54bf10fa5eda626288 SHA512 f951a941043a56f381cfd25e4d78bb9ae08e5cc29a894e6c0c35daf30aeabf1e44ee09af65bb6b7d62d9325be67741ddcf52266b7186b4c336c70ed8bcfa1676
 DIST opencascade-7.5.3.tar.gz 47817862 BLAKE2B be438a08997c18c3cb2c08c520fff2f439cc8a406cc3f471be3b24f874ac3bd892c4afe6fa37f742ffb5da21b5a29f9c8f737e3160dcbda35a217286218eb5e1 SHA512 2d7cf284a1b3ce8d05151085b41579cc2f4e29489b7920769cd04f86a6d76e49f533b570226d3cf041c75582894ed8a6aff889312c7c507fffae47d3e57c5c47
+DIST opencascade-7.6.0.tar.gz 48193117 BLAKE2B c16cd096f20e90267a00b6be21b17b22b491cf5d9aa1a311d64d7707042dc88380c60ececceb6728dbcdd4ff56a67558144292950e11518b21cbc49ace4e88cd SHA512 6839eb6641b9e0752474fce11cf1756223067febe0f5bcd5db249e3eccef29517a6952c124aae818220b6360070a792dacd1b0b4ce970b8351ce38598f31b4be

diff --git a/sci-libs/opencascade/files/opencascade.env.in b/sci-libs/opencascade/files/opencascade.env.in
new file mode 100644
index 000000000000..d7148c241f11
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade.env.in
@@ -0,0 +1,102 @@
+#
+# This file sets needed and optional environment variables for
+# Open CASCADE Technology
+#
+# See: https://dev.opencascade.org/doc/overview/html/index.html#OCCT_OVW_SECTION_4_2
+# for further documentation.
+#
+# Some of the values are set at compile time depending on what USE flags
+# were enabled. Those values are marked as such.
+
+# define the root directory of Open CASCADE Technology (needed)
+CASROOT="VAR_CASROOT"
+PATH="VAR_CASROOT/lib/opencascade-VAR_PV/bin"
+LDPATH="VAR_CASROOT/lib/opencascade-VAR_PV"
+
+#############################################################################
+# The MMGT_* variables are used to determine how memory management will work
+# in OCCT. All of those are optional. If they are not set here, their default
+# values will be used.
+#
+# Uncomment or change the ones you need to adapt from its default.
+#############################################################################
+# MMGT_OPT = {0,1,2} (default: 0) set at compile time
+#   if set to 0 (the default), every memory block is allocated in C
+#      memory heap directly (via malloc() and free()). Will be set, if
+#      neither the the 'optimize' nor the 'tbb' USE flags are set.
+#   if set to 1, the memory manager performs it's own internal optimization.
+#      Will be set, if the 'optimize' USE flag is set.
+#   if set to 2, Intel(R) TBB optimized memory manager is used. Will be set,
+#      if the 'tbb' USE flag is set.
+#MMGT_OPT=0
+
+# MMGT_CLEAR = {0,1} (default: 1)
+#   if set to 0, memory block is returned as it is. Will be set, if the
+#      'optimize' USE flag is set
+#   if set to 1, every allocated memory block is cleared by zeros
+#MMGT_CLEAR=1
+
+# MMGT_CELLSIZE (default: 200)
+#   defines the maximal size of blocks allocated in large pools of memory.
+#MMGT_CELLSIZE=200
+
+# MMGT_NBPAGES (default: 10000)
+#   defines the size of memory chunks allocated for small blocks in pages
+#      (OS dependant)
+#MMGT_NBPAGES=10000
+
+# MMGT_THRESHOLD (default: 40000)
+#   defines the maximal size of blocks that are recycled internally instead
+#   of being returned to the heap.
+#MMGT_THRESHOLD=40000
+
+# MMGT_MMAP = {0,1} (default: 1)
+#   if set to 0, large memory blocks will be allocated in the C heap by
+#      malloc()
+#   if set to 1, large memory blocks are allocated using memory mapping
+#      functions of the operating system.
+#MMGT_MMAP=1
+
+# CSF_LANGUAGE (default: us) optional
+#   defines the default language of messages indicated by a two-letter
+#   country code. Currently it's not verified if this work with other
+#   than the default languages, so we keep it commented.
+#CSF_LANGUAGE=us
+
+# CSF_DEBUG_BOP (default: undefined) optional
+#   if defined then it should specify the directory where diagnostic data
+#   on problems occured in Boolean operations will be saved. Not defined by
+#   default.
+#
+# NOTE: Only enable for debugging purposes. If set, this variable has a
+# large impact on the performance of boolean operations.
+#CSF_DEBUG_BOP="/var/tmp"
+
+# CSF_EXCEPTION_PROMPT (default: 1) optional
+#   not documented upstream (maybe a flag indicating whether the user shall
+#   be prompted in the case of exceptions)
+#CSF_EXCEPTION_PROMPT=1
+
+# The following CSF_* variables define various directories and files where
+# OCCT is looking for resources.
+CSF_GraphicShr="VAR_CASROOT/lib/opencascade-VAR_PV/libTKOpenGl.so"
+CSF_MIGRATION_TYPES="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource/MigrationSheet.txt"
+CSF_MDTVTexturesDirectory="VAR_CASROOT/share/opencascade-VAR_PV/resources/Textures"
+CSF_PluginDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
+CSF_StandardDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
+CSF_StandardLiteDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
+CSF_XCAFDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
+CSF_XmlOcafResource="VAR_CASROOT/share/opencascade-VAR_PV/resources/XmlOcafResource"
+# The below values might be optional.
+CSF_IGESDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSTEPResource"
+CSF_ShadersDirectory="VAR_CASROOT/share/opencascade-VAR_PV/resources/Shaders"
+CSF_SHMessage="VAR_CASROOT/share/opencascade-VAR_PV/resources/SHMessage"
+CSF_STEPDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSTEPResource"
+CSF_UnitsDefinition="VAR_CASROOT/share/opencascade-VAR_PV/resources/UnitsAPI/Units.dat"
+CSF_XSMessage="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSMessage"
+
+# TODO: check those
+# they were defined in the original ebuild but the directories and files
+# are not present in the current installation.
+#CSF_MDTVFontDirectory="VAR_CASROOT/src/FontMFT"
+#CSF_UnitsLexicon="VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat"

diff --git a/sci-libs/opencascade/metadata.xml b/sci-libs/opencascade/metadata.xml
index fe7ad33b9523..d1b713a48a87 100644
--- a/sci-libs/opencascade/metadata.xml
+++ b/sci-libs/opencascade/metadata.xml
@@ -10,6 +10,10 @@
 	<name>Proxy Maintainers</name>
 </maintainer>
 <use>
+	<flag name="eigen">
+		Enable support for eigenvalues through the header-only
+		<pkg>dev-cpp/eigen</pkg> package.
+	</flag>
 	<flag name="freeimage">
 		Enable support for image i/o via <pkg>media-libs/freeimage</pkg>
 	</flag>

diff --git a/sci-libs/opencascade/opencascade-7.6.0.ebuild b/sci-libs/opencascade/opencascade-7.6.0.ebuild
new file mode 100644
index 000000000000..e9eafc6f8515
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.6.0.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_PV="$(ver_rs 1- '_')"
+MY_SLOT="$(ver_cut 1-2)"
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz"
+S="${WORKDIR}/occt-V${MY_PV}"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/${MY_SLOT}"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="doc eigen examples ffmpeg freeimage gles2 json optimize tbb vtk"
+
+REQUIRED_USE="?? ( optimize tbb )"
+
+# There's no easy way to test. Testing needs a rather big environment
+# properly set up.
+RESTRICT="test"
+
+RDEPEND="
+	dev-lang/tcl:=
+	dev-lang/tk:=
+	dev-tcltk/itcl
+	dev-tcltk/itk
+	dev-tcltk/tix
+	media-libs/fontconfig
+	media-libs/freetype:2
+	media-libs/ftgl
+	virtual/glu
+	virtual/opengl
+	x11-libs/libXmu
+	examples? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtquickcontrols2:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+	)
+	ffmpeg? ( media-video/ffmpeg:= )
+	freeimage? ( media-libs/freeimage )
+	tbb? ( <dev-cpp/tbb-2021.4 )
+	vtk? ( sci-libs/vtk:=[rendering] )
+"
+DEPEND="
+	${RDEPEND}
+	eigen? ( dev-cpp/eigen )
+	json? ( dev-libs/rapidjson )
+"
+BDEPEND="
+	doc? ( app-doc/doxygen[dot] )
+	examples? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-7.5.1-0004-fix-installation-of-cmake-config-files.patch
+	"${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch
+	"${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -e 's|/lib\$|/'$(get_libdir)'\$|' \
+		-i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+	# There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+	# assumptions it makes about installation paths. Rather than fixing it, just
+	# get rid of the mechanism altogether - its purpose is to allow a
+	# side-by-side installation of release and debug libraries.
+	sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+		-i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_DOC_Overview=$(usex doc)
+		-DBUILD_Inspector=$(usex examples)
+
+		-DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+		-DINSTALL_DIR_DATA="share/${PN}/data"
+		-DINSTALL_DIR_DOC="share/doc/${PF}"
+		-DINSTALL_DIR_INCLUDE="include/${PN}"
+		-DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+		-DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+		-DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+		-DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_WITH_VERSION=OFF
+		-DINSTALL_SAMPLES=$(usex examples)
+		-DINSTALL_TEST_CASES=NO
+
+		-DUSE_D3D=NO
+		# no package yet in tree
+		-DUSE_DRACO=OFF
+		-DUSE_EIGEN=$(usex eigen)
+		-DUSE_FFMPEG=$(usex ffmpeg)
+		-DUSE_FREEIMAGE=$(usex freeimage)
+		-DUSE_FREETYPE=ON
+		-DUSE_GLES2=$(usex gles2)
+		-DUSE_OPENGL=$(usex !gles2)
+		# no package in tree
+		-DUSE_OPENVR=OFF
+		-DUSE_RAPIDJSON=$(usex json)
+		-DUSE_TBB=$(usex tbb)
+		-DUSE_VTK=$(usex vtk)
+		-DUSE_XLIB=ON
+	)
+
+	use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON )
+
+	if use examples; then
+		mycmakeargs+=(
+			-D3RDPARTY_QT_DIR="${ESYSROOT}"/usr
+			-DBUILD_SAMPLES_QT=ON
+		)
+	fi
+
+	if use vtk; then
+		if has_version ">=sci-libs/vtk-9.1.0"; then
+			mycmakeargs+=(
+				-D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
+				-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.1
+				-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+			)
+		elif has_version ">=sci-libs/vtk-9.0.0"; then
+			mycmakeargs+=(
+				-D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
+				-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0
+				-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+			)
+		fi
+	fi
+
+	cmake_src_configure
+
+	sed -e "s|lib/|$(get_libdir)/|" \
+		-e "s|VAR_PV|${PV}|" \
+		-e "s|VAR_CASROOT|${ESYSROOT}/usr|" \
+		< "${FILESDIR}"/${PN}.env.in > "${T}"/99${PN} || die
+
+	# use TBB for memory allocation optimizations
+	if use tbb; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/99${PN} || die
+	fi
+
+	# use internal optimized memory manager and don't clear memory with this
+	# memory manager.
+	if use optimize ; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+			-e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+			-i "${T}"/99${PN} || die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	doenvd "${T}/99${PN}"
+
+	docompress -x /usr/share/doc/${PF}/overview/html
+}


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2022-01-10  1:04 Sam James
  0 siblings, 0 replies; 11+ messages in thread
From: Sam James @ 2022-01-10  1:04 UTC (permalink / raw
  To: gentoo-commits

commit:     3adf9db9fe478c3b272c0284a81c10f00ca87df7
Author:     Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
AuthorDate: Mon Dec 13 07:36:51 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 10 01:02:30 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3adf9db9

sci-libs/opencascade: use single slot/subslot for 7.5.3

Instead of using different slots for different versions, the package now
uses a single slot with subslots. This is to simplyfy dependency handling
in revdeps.

Allow build against sci-libs/vtk-9.1.0

Package-Manager: Portage-3.0.29, Repoman-3.0.3
Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/opencascade/files/opencascade-7.5.env.in  | 102 ---------------------
 ...7.5.3-r3.ebuild => opencascade-7.5.3-r4.ebuild} |  34 +++----
 2 files changed, 15 insertions(+), 121 deletions(-)

diff --git a/sci-libs/opencascade/files/opencascade-7.5.env.in b/sci-libs/opencascade/files/opencascade-7.5.env.in
deleted file mode 100644
index d7148c241f11..000000000000
--- a/sci-libs/opencascade/files/opencascade-7.5.env.in
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-# This file sets needed and optional environment variables for
-# Open CASCADE Technology
-#
-# See: https://dev.opencascade.org/doc/overview/html/index.html#OCCT_OVW_SECTION_4_2
-# for further documentation.
-#
-# Some of the values are set at compile time depending on what USE flags
-# were enabled. Those values are marked as such.
-
-# define the root directory of Open CASCADE Technology (needed)
-CASROOT="VAR_CASROOT"
-PATH="VAR_CASROOT/lib/opencascade-VAR_PV/bin"
-LDPATH="VAR_CASROOT/lib/opencascade-VAR_PV"
-
-#############################################################################
-# The MMGT_* variables are used to determine how memory management will work
-# in OCCT. All of those are optional. If they are not set here, their default
-# values will be used.
-#
-# Uncomment or change the ones you need to adapt from its default.
-#############################################################################
-# MMGT_OPT = {0,1,2} (default: 0) set at compile time
-#   if set to 0 (the default), every memory block is allocated in C
-#      memory heap directly (via malloc() and free()). Will be set, if
-#      neither the the 'optimize' nor the 'tbb' USE flags are set.
-#   if set to 1, the memory manager performs it's own internal optimization.
-#      Will be set, if the 'optimize' USE flag is set.
-#   if set to 2, Intel(R) TBB optimized memory manager is used. Will be set,
-#      if the 'tbb' USE flag is set.
-#MMGT_OPT=0
-
-# MMGT_CLEAR = {0,1} (default: 1)
-#   if set to 0, memory block is returned as it is. Will be set, if the
-#      'optimize' USE flag is set
-#   if set to 1, every allocated memory block is cleared by zeros
-#MMGT_CLEAR=1
-
-# MMGT_CELLSIZE (default: 200)
-#   defines the maximal size of blocks allocated in large pools of memory.
-#MMGT_CELLSIZE=200
-
-# MMGT_NBPAGES (default: 10000)
-#   defines the size of memory chunks allocated for small blocks in pages
-#      (OS dependant)
-#MMGT_NBPAGES=10000
-
-# MMGT_THRESHOLD (default: 40000)
-#   defines the maximal size of blocks that are recycled internally instead
-#   of being returned to the heap.
-#MMGT_THRESHOLD=40000
-
-# MMGT_MMAP = {0,1} (default: 1)
-#   if set to 0, large memory blocks will be allocated in the C heap by
-#      malloc()
-#   if set to 1, large memory blocks are allocated using memory mapping
-#      functions of the operating system.
-#MMGT_MMAP=1
-
-# CSF_LANGUAGE (default: us) optional
-#   defines the default language of messages indicated by a two-letter
-#   country code. Currently it's not verified if this work with other
-#   than the default languages, so we keep it commented.
-#CSF_LANGUAGE=us
-
-# CSF_DEBUG_BOP (default: undefined) optional
-#   if defined then it should specify the directory where diagnostic data
-#   on problems occured in Boolean operations will be saved. Not defined by
-#   default.
-#
-# NOTE: Only enable for debugging purposes. If set, this variable has a
-# large impact on the performance of boolean operations.
-#CSF_DEBUG_BOP="/var/tmp"
-
-# CSF_EXCEPTION_PROMPT (default: 1) optional
-#   not documented upstream (maybe a flag indicating whether the user shall
-#   be prompted in the case of exceptions)
-#CSF_EXCEPTION_PROMPT=1
-
-# The following CSF_* variables define various directories and files where
-# OCCT is looking for resources.
-CSF_GraphicShr="VAR_CASROOT/lib/opencascade-VAR_PV/libTKOpenGl.so"
-CSF_MIGRATION_TYPES="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource/MigrationSheet.txt"
-CSF_MDTVTexturesDirectory="VAR_CASROOT/share/opencascade-VAR_PV/resources/Textures"
-CSF_PluginDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
-CSF_StandardDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
-CSF_StandardLiteDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
-CSF_XCAFDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/StdResource"
-CSF_XmlOcafResource="VAR_CASROOT/share/opencascade-VAR_PV/resources/XmlOcafResource"
-# The below values might be optional.
-CSF_IGESDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSTEPResource"
-CSF_ShadersDirectory="VAR_CASROOT/share/opencascade-VAR_PV/resources/Shaders"
-CSF_SHMessage="VAR_CASROOT/share/opencascade-VAR_PV/resources/SHMessage"
-CSF_STEPDefaults="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSTEPResource"
-CSF_UnitsDefinition="VAR_CASROOT/share/opencascade-VAR_PV/resources/UnitsAPI/Units.dat"
-CSF_XSMessage="VAR_CASROOT/share/opencascade-VAR_PV/resources/XSMessage"
-
-# TODO: check those
-# they were defined in the original ebuild but the directories and files
-# are not present in the current installation.
-#CSF_MDTVFontDirectory="VAR_CASROOT/src/FontMFT"
-#CSF_UnitsLexicon="VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat"

diff --git a/sci-libs/opencascade/opencascade-7.5.3-r3.ebuild b/sci-libs/opencascade/opencascade-7.5.3-r4.ebuild
similarity index 87%
rename from sci-libs/opencascade/opencascade-7.5.3-r3.ebuild
rename to sci-libs/opencascade/opencascade-7.5.3-r4.ebuild
index 0296150b6b01..2fd61839b59b 100644
--- a/sci-libs/opencascade/opencascade-7.5.3-r3.ebuild
+++ b/sci-libs/opencascade/opencascade-7.5.3-r4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/ta
 S="${WORKDIR}/occt-V${MY_PV}"
 
 LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
-SLOT="${PV_MAJ}"
+SLOT="0/${PV_MAJ}"
 KEYWORDS="~amd64 ~arm64 ~x86"
 IUSE="debug doc examples ffmpeg freeimage gles2 json optimize tbb vtk"
 
@@ -25,7 +25,6 @@ REQUIRED_USE="?? ( optimize tbb )"
 RESTRICT="test"
 
 RDEPEND="
-	app-eselect/eselect-opencascade
 	dev-lang/tcl:=
 	dev-lang/tk:=
 	dev-tcltk/itcl
@@ -49,13 +48,11 @@ RDEPEND="
 	tbb? ( <dev-cpp/tbb-2021.4.0 )
 	vtk? ( sci-libs/vtk:=[rendering] )
 "
-DEPEND="
-	${RDEPEND}
+DEPEND="${RDEPEND}"
+
+BDEPEND="
 	dev-cpp/eigen
 	dev-libs/rapidjson
-"
-BDEPEND="
-	app-eselect/eselect-opencascade
 	doc? ( app-doc/doxygen )
 	examples? ( dev-qt/linguist-tools:5 )
 "
@@ -119,7 +116,13 @@ src_configure() {
 	fi
 
 	if use vtk; then
-		if has_version ">=sci-libs/vtk-9.0.0"; then
+		if has_version ">=sci-libs/vtk-9.1.0"; then
+			mycmakeargs+=(
+				-D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
+				-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.1
+				-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+			)
+		elif has_version ">=sci-libs/vtk-9.0.0"; then
 			mycmakeargs+=(
 				-D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
 				-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0
@@ -134,11 +137,11 @@ src_configure() {
 	sed -e "s|lib/|$(get_libdir)/|" \
 		-e "s|VAR_PV|${PV}|" \
 		-e "s|VAR_CASROOT|${ESYSROOT}/usr|" \
-		< "${FILESDIR}"/${PN}-${PV_MAJ}.env.in > "${T}"/${PV_MAJ} || die
+		< "${FILESDIR}"/${PN}.env.in > "${T}"/99${PN} || die
 
 	# use TBB for memory allocation optimizations
 	if use tbb; then
-		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/${PV_MAJ} || die
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/99${PN} || die
 	fi
 
 	# use internal optimized memory manager and don't clear memory with this
@@ -146,16 +149,14 @@ src_configure() {
 	if use optimize ; then
 		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
 			-e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
-			-i "${T}"/${PV_MAJ} || die
+			-i "${T}"/99${PN} || die
 	fi
 }
 
 src_install() {
 	cmake_src_install
 
-	# respect slotting
-	insinto "/etc/env.d/${PN}"
-	doins "${T}/${PV_MAJ}"
+	doenvd "${T}/99${PN}"
 
 	# remove examples
 	if use !examples; then
@@ -164,8 +165,3 @@ src_install() {
 
 	docompress -x /usr/share/doc/${PF}/overview/html
 }
-
-pkg_postinst() {
-	eselect ${PN} set ${PV_MAJ} || die "failed to switch to updated implementation"
-	einfo "You can switch between available ${PN} implementations using eselect ${PN}"
-}


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2022-11-25 11:19 Joonas Niilola
  0 siblings, 0 replies; 11+ messages in thread
From: Joonas Niilola @ 2022-11-25 11:19 UTC (permalink / raw
  To: gentoo-commits

commit:     6f48536ddd49190e89e394361f01864a29ce8e96
Author:     Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
AuthorDate: Sat Oct  8 12:20:14 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Nov 25 11:18:30 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f48536d

sci-libs/opencascade: add 7.7.0

Bug: https://tracker.dev.opencascade.org/view.php?id=32650
Bug: https://tracker.dev.opencascade.org/view.php?id=33216
Closes: https://bugs.gentoo.org/880233
Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
Closes: https://github.com/gentoo/gentoo/pull/27696
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 sci-libs/opencascade/Manifest                      |   1 +
 ...ncascade-7.7.0-add-missing-include-limits.patch |  19 +++
 ...ascade-7.7.0-avoid-pre-stripping-binaries.patch |  34 ++++
 ....0-fix-installation-of-cmake-config-files.patch |  33 ++++
 sci-libs/opencascade/opencascade-7.7.0.ebuild      | 176 +++++++++++++++++++++
 5 files changed, 263 insertions(+)

diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index c3e51ef720d8..ff6ab85b0da3 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1,3 +1,4 @@
 DIST opencascade-7.5.2.tar.gz 47812603 BLAKE2B 86995ea60e24329f91a2cbede26112a70794fb091b34d33614bef412b05b8cc9f1e770aecf78272b54a241c2524422c86f8ff722b3f27b54bf10fa5eda626288 SHA512 f951a941043a56f381cfd25e4d78bb9ae08e5cc29a894e6c0c35daf30aeabf1e44ee09af65bb6b7d62d9325be67741ddcf52266b7186b4c336c70ed8bcfa1676
 DIST opencascade-7.5.3.tar.gz 47817862 BLAKE2B be438a08997c18c3cb2c08c520fff2f439cc8a406cc3f471be3b24f874ac3bd892c4afe6fa37f742ffb5da21b5a29f9c8f737e3160dcbda35a217286218eb5e1 SHA512 2d7cf284a1b3ce8d05151085b41579cc2f4e29489b7920769cd04f86a6d76e49f533b570226d3cf041c75582894ed8a6aff889312c7c507fffae47d3e57c5c47
 DIST opencascade-7.6.3.tar.gz 48216090 BLAKE2B ff0b63250e77b0240bd99bba38cd0e6b0a8c88bf39e495f5d51d7913f097e2cad83a5ad121e9d56de11c74008249c99a41f4615269a085b7cf97c3d7f0477d6d SHA512 c708f76edb707ba18bdfe7442ed8fa500894ee6c1cd8d0313eb906b3aa7dfa40a575f04dbccd70e84395d670f2b93fb8529f3d59726449234e627b9f35b9dded
+DIST opencascade-7.7.0.tar.gz 48393806 BLAKE2B b41da7bdd07aa6ef52f7833bef3e8a9fc2ca16cbf754773cb7adcc059c11c2a7937d279a2b6cf3096e7af6fbb42c6fdc2a5c98340d6b084d2ba100ba2c538f2a SHA512 6c90e2761f752241417ae6f18d819f51e66b32f3a50a97384f29ed73fa07f4cded84c71a6f6ba302d5e35c57e2fc13001619521eaf45757e4e5ff670d94bbf5c

diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch b/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch
new file mode 100644
index 000000000000..2bc59319864a
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch
@@ -0,0 +1,19 @@
+From 44a30819131496bf41f2e1dcfd362b23173db6fb Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Wed, 5 Oct 2022 21:55:06 +0200
+Subject: [PATCH] add missing #include <limits>
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/src/ViewerTest/ViewerTest_CmdParser.cxx
++++ b/src/ViewerTest/ViewerTest_CmdParser.cxx
+@@ -21,6 +21,7 @@
+ 
+ #include <algorithm>
+ #include <iostream>
++#include <limits>
+ 
+ namespace
+ {
+-- 
+2.38.0
+

diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-avoid-pre-stripping-binaries.patch b/sci-libs/opencascade/files/opencascade-7.7.0-avoid-pre-stripping-binaries.patch
new file mode 100644
index 000000000000..5c351cb32996
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-avoid-pre-stripping-binaries.patch
@@ -0,0 +1,34 @@
+From e145fb627d199e888267e19eab951c69c2f8151c Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Sat, 8 Oct 2022 13:16:47 +0200
+Subject: [PATCH] avoid pre-stripping binaries
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/adm/cmake/occt_defs_flags.cmake
++++ b/adm/cmake/occt_defs_flags.cmake
+@@ -135,22 +135,12 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
+     # CLang can be used with both libstdc++ and libc++, however on OS X libstdc++ is outdated.
+     set (CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
+   endif()
+-  # Optimize size of binaries
+-  set (CMAKE_SHARED_LINKER_FLAGS "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS}")
+ elseif(MINGW)
+   add_definitions(-D_WIN32_WINNT=0x0601)
+   # _WIN32_WINNT=0x0601 (use Windows 7 SDK)
+   #set (CMAKE_SYSTEM_VERSION "6.1")
+   # workaround bugs in mingw with vtable export
+   set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols")
+-
+-  # Optimize size of binaries
+-  set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+-  set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
+-elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
+-  # Optimize size of binaries
+-  set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+-  set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
+ endif()
+ 
+ if (BUILD_RELEASE_DISABLE_EXCEPTIONS)
+-- 
+2.38.0
+

diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-fix-installation-of-cmake-config-files.patch b/sci-libs/opencascade/files/opencascade-7.7.0-fix-installation-of-cmake-config-files.patch
new file mode 100644
index 000000000000..924f002b727d
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-fix-installation-of-cmake-config-files.patch
@@ -0,0 +1,33 @@
+From 4eb2236370134117729bc4d55191fce736bf4df6 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Thu, 6 Oct 2022 18:53:41 +0200
+Subject: [PATCH] fix installation of cmake config files
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1265,7 +1265,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
+ endforeach()
+ # install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
+ install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
+-install (CODE "file(INSTALL FILES \"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" DESTINATION \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/\" TYPE FILE)")
++install (FILES "${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake" DESTINATION "${INSTALL_DIR_CMAKE}")
+ 
+ foreach (OCCT_MODULE ${OCCT_MODULES})
+   if (BUILD_MODULE_${OCCT_MODULE})
+diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake
+index 4a060665..8ab5e39c 100755
+--- a/adm/cmake/occt_macros.cmake
++++ b/adm/cmake/occt_macros.cmake
+@@ -590,7 +590,7 @@ macro (OCCT_UPDATE_TARGET_FILE)
+ 
+   install (CODE
+   "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
+-  file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
++  file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
+   foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
+     file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
+     file (REMOVE \"\${TARGET_FILENAME}\")
+-- 
+2.38.0
+

diff --git a/sci-libs/opencascade/opencascade-7.7.0.ebuild b/sci-libs/opencascade/opencascade-7.7.0.ebuild
new file mode 100644
index 000000000000..072150e2df0a
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.7.0.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# USE_{DRACO,FFMPEG,FREEIMAGE,FREETYPE,GLES2,OPENGL,OPENVR,RAPIDJSON,TBB,TK,VTK,XLIB}
+
+EAPI=8
+
+inherit cmake
+
+MY_SLOT="$(ver_cut 1-2)"
+MY_PV="$(ver_rs 3 '-')"
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=185d29b92f6764ffa9fc195b7dbe7bba3c4ac855;sf=tgz -> ${P}.tar.gz"
+S="${WORKDIR}/occt-185d29b"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/${MY_SLOT}"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="doc examples ffmpeg freeimage gles2 json optimize tbb vtk"
+
+REQUIRED_USE="?? ( optimize tbb )"
+
+# There's no easy way to test. Testing needs a rather big environment
+# properly set up.
+RESTRICT="test"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+	!app-eselect/eselect-opencascade
+	dev-lang/tcl:=
+	dev-lang/tk:=
+	media-libs/fontconfig
+	media-libs/freetype:2
+	virtual/opengl
+	x11-libs/libXmu
+	examples? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtquickcontrols2:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+	)
+	ffmpeg? ( <media-video/ffmpeg-5:= )
+	freeimage? ( media-libs/freeimage )
+	tbb? ( dev-cpp/tbb:= )
+	vtk? ( sci-libs/vtk:=[rendering] )
+"
+DEPEND="
+	${RDEPEND}
+	json? ( dev-libs/rapidjson )
+	vtk? ( dev-libs/utfcpp )
+"
+BDEPEND="
+	doc? ( app-doc/doxygen )
+	examples? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch
+	"${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch
+	"${FILESDIR}"/${PN}-7.7.0-add-missing-include-limits.patch
+	"${FILESDIR}"/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch
+	"${FILESDIR}"/${PN}-7.7.0-avoid-pre-stripping-binaries.patch
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -e 's|/lib\$|/'$(get_libdir)'\$|' \
+		-i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+	# There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+	# assumptions it makes about installation paths. Rather than fixing it, just
+	# get rid of the mechanism altogether - its purpose is to allow a
+	# side-by-side installation of release and debug libraries.
+	sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+		-i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_DOC_Overview=$(usex doc)
+		-DBUILD_Inspector=$(usex examples)
+		-DBUILD_RELEASE_DISABLE_EXCEPTIONS=OFF # bug #847916
+
+		-DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+		-DINSTALL_DIR_DATA="share/${PN}/data"
+		-DINSTALL_DIR_DOC="share/doc/${PF}"
+		-DINSTALL_DIR_INCLUDE="include/${PN}"
+		-DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+		-DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+		-DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+		-DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_WITH_VERSION=OFF
+		-DINSTALL_SAMPLES=$(usex examples)
+		-DINSTALL_TEST_CASES=NO
+
+		-DUSE_D3D=NO
+		# no package yet in tree
+		-DUSE_DRACO=OFF
+		# has no function in 7.7.0_beta
+		# see https://dev.opencascade.org/content/occt-770-beta-version-available#comment-23733
+		-DUSE_EIGEN=OFF
+		-DUSE_FFMPEG=$(usex ffmpeg)
+		-DUSE_FREEIMAGE=$(usex freeimage)
+		-DUSE_FREETYPE=ON
+		-DUSE_GLES2=$(usex gles2)
+		# no package in tree
+		-DUSE_OPENVR=OFF
+		-DUSE_RAPIDJSON=$(usex json)
+		-DUSE_TBB=$(usex tbb)
+		-DUSE_VTK=$(usex vtk)
+		-DUSE_XLIB=ON
+		# suppress CMake dev warnings
+		-Wno-dev
+	)
+
+	use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON )
+
+	if use examples; then
+		mycmakeargs+=(
+			-D3RDPARTY_QT_DIR="${ESYSROOT}"/usr
+			-DBUILD_SAMPLES_QT=ON
+		)
+	fi
+
+	if use tbb; then
+		mycmakeargs+=( -D3RDPARTY_TBB_DIR="${ESYSROOT}"/usr )
+	fi
+
+	if use vtk; then
+		if has_version ">=sci-libs/vtk-9.1.0"; then
+			mycmakeargs+=(
+				-D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
+				-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.1
+				-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+			)
+		elif has_version ">=sci-libs/vtk-9.0.0"; then
+			mycmakeargs+=(
+				-D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
+				-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0
+				-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+			)
+		fi
+	fi
+
+	cmake_src_configure
+
+	sed -e "s|lib/|$(get_libdir)/|" \
+		-e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+		< "${FILESDIR}"/${PN}.env.in > "${T}"/99${PN} || die
+
+	# use TBB for memory allocation optimizations
+	if use tbb; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/99${PN} || die
+	fi
+
+	# use internal optimized memory manager and don't clear memory with this
+	# memory manager.
+	if use optimize ; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+			-e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+			-i "${T}"/99${PN} || die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	doenvd "${T}/99${PN}"
+
+	docompress -x /usr/share/doc/${PF}/overview/html
+}


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

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/
@ 2024-03-23  8:34 Sam James
  0 siblings, 0 replies; 11+ messages in thread
From: Sam James @ 2024-03-23  8:34 UTC (permalink / raw
  To: gentoo-commits

commit:     6c55a8ea86f9ccf27bd0def2756262a2d7eafba2
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Fri Feb 16 15:02:28 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 08:33:26 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c55a8ea

sci-libs/opencascade: add 7.7.1, 7.7.2, 7.8.0, 9999

Closes: https://bugs.gentoo.org/923350
Closes: https://bugs.gentoo.org/911578
Closes: https://bugs.gentoo.org/908889
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35374
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/opencascade/Manifest                      |   5 +
 .../opencascade-7.7.0-jemalloc-lib-type.patch      |  27 ++
 .../opencascade-7.8.0-cmake-min-version.patch      |  14 +
 .../files/opencascade-7.8.0-tests.patch            |  19 ++
 sci-libs/opencascade/metadata.xml                  |  33 +-
 sci-libs/opencascade/opencascade-7.7.1.ebuild      | 366 +++++++++++++++++++++
 sci-libs/opencascade/opencascade-7.7.2.ebuild      | 366 +++++++++++++++++++++
 sci-libs/opencascade/opencascade-7.8.0.ebuild      | 365 ++++++++++++++++++++
 sci-libs/opencascade/opencascade-9999.ebuild       | 365 ++++++++++++++++++++
 9 files changed, 1539 insertions(+), 21 deletions(-)

diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index af71bb8b4462..ac0e7aa5db19 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1,2 +1,7 @@
 DIST opencascade-7.6.3.tar.gz 48216090 BLAKE2B ff0b63250e77b0240bd99bba38cd0e6b0a8c88bf39e495f5d51d7913f097e2cad83a5ad121e9d56de11c74008249c99a41f4615269a085b7cf97c3d7f0477d6d SHA512 c708f76edb707ba18bdfe7442ed8fa500894ee6c1cd8d0313eb906b3aa7dfa40a575f04dbccd70e84395d670f2b93fb8529f3d59726449234e627b9f35b9dded
 DIST opencascade-7.7.0.tar.gz 48393806 BLAKE2B b41da7bdd07aa6ef52f7833bef3e8a9fc2ca16cbf754773cb7adcc059c11c2a7937d279a2b6cf3096e7af6fbb42c6fdc2a5c98340d6b084d2ba100ba2c538f2a SHA512 6c90e2761f752241417ae6f18d819f51e66b32f3a50a97384f29ed73fa07f4cded84c71a6f6ba302d5e35c57e2fc13001619521eaf45757e4e5ff670d94bbf5c
+DIST opencascade-7.7.1.tar.gz 48408076 BLAKE2B 46e14a47a0ce555ac17a3fca520c1f21d7ca05c67b54259e3d2d8560618db096313d5be3d5e4a24acad1912534c17293ad203f48dd7464690aec86e287d9f230 SHA512 f095848d212afbe7e71614d46f57222e347246aec7c92aafae59e6f07798f5371c7a125042c149393ee7d361f28eb89b5196de17a7cc37233f1586ba919c0839
+DIST opencascade-7.7.2.tar.gz 48404428 BLAKE2B 28d637e75eca570e38401a0a59127ffdbcb06838a91cc3899fe905834bb47e0e9a92d16cde52027d94e78b0fbddc2043340a35dcb0f4a472c4f2bdac2713216c SHA512 d9e882d44bb65616f8cfce68ebdcd5765669b84e3d82cfb2d1bc22b71b0e878442c079bacc37e9d54f28ce98a7c23bf81f2a3e3e7bbeeec38927ca739f423dee
+DIST opencascade-7.8.0.tar.gz 48428565 BLAKE2B 91253101072af27c94b82b82beed5c1f1d7460f4154600fba805c5b2d27976a4841b9a9dfab9e67706d02463b2c630c5b63d1f056e84c69c9c8eeaca7e7caebf SHA512 af176cbd105c49949282c16bb6e30f69167bc6c00a50e0ae69aea555815d47ac3c4540c233e596c5add7cb846c2b33d7be267d8e02472286e758b662b4a652ab
+DIST opencascade-dataset-7.7.0.tar.gz 128392200 BLAKE2B ebfbe6f24520144ca4a82e4ddd0486890552c2de1b62bf5c0d4990d777d4a1458dea54f8a6f08d8a0999582fb4325eda0002fc8a0137b9e66d024a47145d1279 SHA512 71d7e807b1d629fe7371b9d1d503024d00b7c1ae1775e62803eeffd127bd1c768e5240fdd1f949a237737089d528b5d4e43d26db025bbe14a4e0e4616ebdc5d8
+DIST opencascade-dataset-7.8.0.tar.xz 97049756 BLAKE2B aae5f076d9fc8a0d8a05028b0d9ffb527978e7acfdf5ecbc7e71c5ee3d6060cd7db9e56dba5b94a445bf5cf208126711cda70306607bdc5cd5e8b68df8fc150c SHA512 9b4c91d7b4743c47f2cf8d9a3b6ded73409a13133013424150ee9bdb61fd771c0b8799c7f31b459a7d2ba140399b9c0c972e2d0476188006361b4fb04042d990

diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-jemalloc-lib-type.patch b/sci-libs/opencascade/files/opencascade-7.7.0-jemalloc-lib-type.patch
new file mode 100644
index 000000000000..c80d9946b7c6
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-jemalloc-lib-type.patch
@@ -0,0 +1,27 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+
+Only try to find the jemalloc libs we are going to use
+
+diff --git a/adm/cmake/jemalloc.cmake b/adm/cmake/jemalloc.cmake
+index b37d5d276..deef66d6c 100644
+--- a/adm/cmake/jemalloc.cmake
++++ b/adm/cmake/jemalloc.cmake
+@@ -128,6 +128,7 @@ endmacro()
+ # Reset CSF variable
+ set (CSF_MMGR "")
+ 
++if(BUILD_LIBRARY_TYPE EQUAL "Static")
+ # find static jemalloc lib
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
+ if (WIN32)
+@@ -137,7 +138,10 @@ elseif(NOT WIN32)
+   SET(CMAKE_FIND_LIBRARY_SUFFIXES "" "so")
+   JEMALLOC_LIB_SEARCH ("jemalloc.so.2" "SHARED")
+ endif()
++endif()
+ 
++if(BUILD_LIBRARY_TYPE EQUAL "Shared")
+ # find shared jemalloc lib
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".so")
+ JEMALLOC_LIB_SEARCH ("jemalloc" "SHARED")
++endif()

diff --git a/sci-libs/opencascade/files/opencascade-7.8.0-cmake-min-version.patch b/sci-libs/opencascade/files/opencascade-7.8.0-cmake-min-version.patch
new file mode 100644
index 000000000000..b0a9d026f34e
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.8.0-cmake-min-version.patch
@@ -0,0 +1,14 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+
+Bump cmake minimum version to remove warning
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 88d34f0..232c643 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required (VERSION 3.1 FATAL_ERROR)
++cmake_minimum_required (VERSION 3.5 FATAL_ERROR)
+ 
+ set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/adm/cmake")
+ 

diff --git a/sci-libs/opencascade/files/opencascade-7.8.0-tests.patch b/sci-libs/opencascade/files/opencascade-7.8.0-tests.patch
new file mode 100644
index 000000000000..cf45ca5ce246
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.8.0-tests.patch
@@ -0,0 +1,19 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+
+Fix test harness script
+
+diff --git a/adm/templates/draw.sh b/adm/templates/draw.sh
+index 02e6043..c7347e0 100755
+--- a/adm/templates/draw.sh
++++ b/adm/templates/draw.sh
+@@ -4,7 +4,8 @@ aCurrentPath="$PWD"
+ aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
+ 
+ source "${aScriptPath}/env.sh" "$1"
++shift
+ 
+ echo 'Hint: use "pload ALL" command to load standard commands'
+-cd ${aCurrentPath}
+-DRAWEXE
++cd "${aCurrentPath}"
++DRAWEXE "$@"

diff --git a/sci-libs/opencascade/metadata.xml b/sci-libs/opencascade/metadata.xml
index 482d7bde88bb..f3b6e96ad889 100644
--- a/sci-libs/opencascade/metadata.xml
+++ b/sci-libs/opencascade/metadata.xml
@@ -10,26 +10,17 @@
 	<name>Proxy Maintainers</name>
 </maintainer>
 <use>
-	<flag name="eigen">
-		Enable support for eigenvalues through the header-only
-		<pkg>dev-cpp/eigen</pkg> package.
-	</flag>
-	<flag name="freeimage">
-		Enable support for image i/o via <pkg>media-libs/freeimage</pkg>
-	</flag>
-	<flag name="json">
-		Enable JSON support through <pkg>dev-libs/rapidjson</pkg>
-	</flag>
-	<flag name="optimize">
-		Don't clear allocated memory. Use optimized memory manager unless
-		tbb USE flag is set.
-	</flag>
-	<flag name="tbb">
-		Enable multithreading with the Intel Threads Building Block
-		<pkg>dev-cpp/tbb</pkg>
-	</flag>
-	<flag name="vtk">
-		Enable Visualization Toolkit support via <pkg>sci-libs/vtk</pkg>
-	</flag>
+	<flag name="eigen">Enable support for eigenvalues through the header-only <pkg>dev-cpp/eigen</pkg> package.</flag>
+	<flag name="freeimage">Enable support for image i/o via <pkg>media-libs/freeimage</pkg></flag>
+	<flag name="freetype">Enable <pkg>media-libs/freetype</pkg> support</flag>
+	<flag name="jemalloc">Enable jemalloc allocator support via <pkg>dev-libs/jemalloc</pkg></flag>
+	<flag name="json">Enable JSON support through <pkg>dev-libs/rapidjson</pkg></flag>
+	<flag name="optimize">Don't clear allocated memory. Use optimized memory manager unlesstbb USE flag is set.</flag>
+	<flag name="tbb">Enable multithreading with the Intel Threads Building Block <pkg>dev-cpp/tbb</pkg></flag>
+	<flag name="testprograms">Indicates whether non-regression OCCT test scripts should be installed</flag>
+	<flag name="vtk">Enable Visualization Toolkit support via <pkg>sci-libs/vtk</pkg></flag>
 </use>
+<upstream>
+	<remote-id type="github">Open-Cascade-SAS/OCCT</remote-id>
+</upstream>
 </pkgmetadata>

diff --git a/sci-libs/opencascade/opencascade-7.7.1.ebuild b/sci-libs/opencascade/opencascade-7.7.1.ebuild
new file mode 100644
index 000000000000..384a99eaaf44
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.7.1.ebuild
@@ -0,0 +1,366 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake virtualx
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+
+MY_PN="OCCT"
+
+MY_TEST_PV="7.7.0"
+MY_TEST_PV2="${MY_TEST_PV//./_}"
+
+SRC_URI="
+	test? ( https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tgz
+		-> ${PN}-dataset-${MY_TEST_PV}.tar.gz )
+"
+
+if [[ ${PV} = *9999* ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/Open-Cascade-SAS/${MY_PN}.git"
+else
+	MY_PV="${PV//./_}"
+	SRC_URI+="
+		https://github.com/Open-Cascade-SAS/${MY_PN}/archive/refs/tags/V${MY_PV}.tar.gz -> ${P}.tar.gz
+	"
+	S="${WORKDIR}/${MY_PN}-${MY_PV}"
+	KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only +gui jemalloc json +opengl optimize tbb test testprograms tk vtk"
+
+REQUIRED_USE="
+	?? ( optimize tbb )
+	?? ( opengl gles2-only )
+	test? ( freeimage json opengl )
+"
+
+# There's no easy way to test. Testing needs a rather big environment properly set up.
+RESTRICT="!test? ( test )"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+	dev-lang/tcl:=
+	tk? ( dev-lang/tk:= )
+	dev-libs/double-conversion
+	freetype? (
+		media-libs/fontconfig
+		media-libs/freetype:2
+	)
+	opengl? (
+		media-libs/libglvnd
+	)
+	X? (
+		x11-libs/libX11
+	)
+	gui? (
+		examples? (
+			dev-qt/qtcore:5
+			dev-qt/qtgui:5
+			dev-qt/qtquickcontrols2:5
+			dev-qt/qtwidgets:5
+			dev-qt/qtxml:5
+		)
+	)
+	ffmpeg? ( <media-video/ffmpeg-5:= )
+	freeimage? ( media-libs/freeimage )
+	jemalloc? ( dev-libs/jemalloc )
+	tbb? ( dev-cpp/tbb:= )
+	vtk? (
+		sci-libs/vtk:=[rendering]
+		tbb? (
+			sci-libs/vtk:=[tbb,-cuda]
+		)
+	)
+"
+DEPEND="
+	${RDEPEND}
+	X? ( x11-base/xorg-proto )
+	json? ( dev-libs/rapidjson )
+"
+BDEPEND="
+	doc? ( app-text/doxygen[dot] )
+	gui? (
+		examples? ( dev-qt/linguist-tools:5 )
+	)
+	test? ( dev-tcltk/thread )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch"
+	"${FILESDIR}/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch"
+	"${FILESDIR}/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch"
+	"${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
+	"${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
+	"${FILESDIR}/${PN}-7.7.0-musl.patch"
+	"${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
+	"${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
+	"${FILESDIR}/${PN}-7.8.0-tests.patch"
+)
+
+src_unpack() {
+	if [[ ${PV} = *9999* ]] ; then
+		git-r3_src_unpack
+	else
+		unpack "${P}.tar.gz"
+	fi
+
+	if use test; then
+		mkdir "${WORKDIR}/data"
+		pushd "${WORKDIR}/data" > /dev/null || die
+		# should be in paths indicated by CSF_TestDataPath environment variable,
+		# or in subfolder data in the script directory
+		unpack "${PN}-dataset-${MY_TEST_PV}.tar.gz"
+		popd > /dev/null || die
+	fi
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -e 's|/lib\$|/'"$(get_libdir)"'\$|' \
+		-i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+	# There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+	# assumptions it makes about installation paths. Rather than fixing it, just
+	# get rid of the mechanism altogether - its purpose is to allow a
+	# side-by-side installation of release and debug libraries.
+	sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+		-i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-D3RDPARTY_DIR="${ESYSROOT}/usr"
+		-DBUILD_CPP_STANDARD="C++17"
+		-DBUILD_SOVERSION_NUMBERS=2
+
+		-DBUILD_DOC_Overview="$(usex doc)"
+		-DBUILD_Inspector="$(usex gui)"
+
+		-DBUILD_ENABLE_FPE_SIGNAL_HANDLER="$(usex debug)"
+		-DBUILD_USE_PCH="no"
+		# -DBUILD_OPT_PROFILE="Default" # Production
+		# -DBUILD_RESOURCES="yes"
+		# -DBUILD_YACCLEX="yes"
+
+		-DBUILD_RELEASE_DISABLE_EXCEPTIONS="no" # bug #847916
+		-DINSTALL_DIR="${EPREFIX}/usr"
+		-DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+		-DINSTALL_DIR_DATA="share/${PN}/data"
+		-DINSTALL_DIR_DOC="share/doc/${PF}"
+		-DINSTALL_DIR_INCLUDE="include/${PN}"
+		-DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+		-DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+		-DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+		-DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_TESTS="share/${PN}/tests"
+		-DINSTALL_DIR_WITH_VERSION="no"
+		-DINSTALL_SAMPLES="$(usex examples)"
+
+		-DINSTALL_TEST_CASES="$(usex testprograms)"
+
+		# no package yet in tree
+		-DUSE_DRACO="no"
+		-DUSE_FFMPEG="$(usex ffmpeg)"
+		-DUSE_FREEIMAGE="$(usex freeimage)"
+		-DUSE_FREETYPE="$(usex freetype)"
+		# Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module
+		-DUSE_GLES2="$(usex gles2-only)"
+		# Indicates whether OpenGL desktop should be used in OCCT visualization module
+		-DUSE_OPENGL="$(usex opengl)"
+		# no package in tree
+		-DUSE_OPENVR="no"
+		-DUSE_RAPIDJSON="$(usex json)"
+		-DUSE_TBB="$(usex tbb)"
+		-DUSE_TK="$(usex tk)"
+		-DUSE_VTK="$(usex vtk)"
+		-DUSE_XLIB="$(usex X)"
+	)
+
+	# Select using memory manager tool.
+	if ! use jemalloc && ! use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
+	elif use jemalloc && ! use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=JEMALLOC )
+	elif ! use jemalloc && use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
+	elif use jemalloc && use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=FLEXIBLE )
+	fi
+
+	if use doc; then
+		mycmakeargs+=(
+			-DINSTALL_DOC_Overview="yes"
+			-D3RDPARTY_SKIP_DOT_EXECUTABLE="no"
+		)
+	fi
+
+	if use gui; then
+		mycmakeargs+=(
+			-D3RDPARTY_QT_DIR="${ESYSROOT}/usr"
+			-DBUILD_SAMPLES_QT="$(usex examples)"
+		)
+	fi
+
+	if use jemalloc; then
+		mycmakeargs+=(
+			-D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
+		)
+	fi
+
+	if use tbb; then
+		mycmakeargs+=(
+			-D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"
+		)
+	fi
+
+	if use vtk; then
+		local vtk_ver
+		vtk_ver="$(best_version "sci-libs/vtk")"
+		vtk_ver=$(ver_cut 1-2 "${vtk_ver#sci-libs/vtk-}")
+		mycmakeargs+=(
+			-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}/usr/include/vtk-${vtk_ver}"
+			-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}/usr/$(get_libdir)"
+		)
+	fi
+
+	cmake_src_configure
+
+	sed -e "s|lib/|$(get_libdir)/|" \
+		-e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+		< "${FILESDIR}/${PN}.env.in" > "${T}/99${PN}" || die
+
+	# use TBB for memory allocation optimizations
+	if use tbb; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/99${PN}" || die
+	fi
+
+	# use internal optimized memory manager and don't clear memory with this
+	# memory manager.
+	if use optimize ; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+			-e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+			-i "${T}/99${PN}" || die
+	fi
+}
+
+src_test() {
+	echo "export CSF_OCCTDataPath=${WORKDIR}/data" >> "${BUILD_DIR}/custom.sh" || die
+
+	if has_version media-fonts/dejavu; then
+		cp "${ESYSROOT}/usr/share/fonts/dejavu/DejaVuSans.ttf" "${WORKDIR}/data/" # no die here as this isn't fatal
+	fi
+
+	local test_file=${T}/testscript.tcl
+
+	local draw_opts=(
+		i # see ${BUILD_DIR}/custom*.sh
+		# -b # batch mode (no GUI, no viewers)
+		-v # no GUI, use virtual (off-screen) windows for viewers
+	)
+
+	local test_names=(
+		"demo draw bug30430" # prone to dying due to cpu limit
+	)
+	local test_opts=( # run single tests
+		-overwrite
+	)
+	for test_name in "${test_names[@]}"; do
+		cat >> "${test_file}" <<- _EOF_ || die
+			test ${test_name} -outfile "${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]}
+		_EOF_
+	done
+
+	local testgrid_opts=()
+
+	local SKIP_TESTS=()
+
+	if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then
+		SKIP_TESTS+=(
+			'blend complex F4'
+			'bugs'
+			'geometry circ2d3Tan '{CircleCircleLin_11,CircleLinPoint_11}
+			'heal checkshape bug32448_1'
+			'hlr exact_hlr bug25813_2'
+
+			'hlr poly_hlr '{bug25813_2,bug25813_3,bug25813_4,Plate}
+			'lowalgos intss bug'{565,567_1,25950,27431,29807_i1003,29807_i2006,29807_i3003,29807_i5002,30703}
+			'lowalgos proximity '{A4,A5}
+			'opengl background bug27836'
+			'opengl drivers opengles'
+			'opengles3'
+
+			'demo draw bug30430'
+		)
+
+		local DEL_TESTS=(
+			'opengl/data/background/bug27836'
+			'perf/mesh/bug26965'
+			'v3d/trsf/bug26029'
+		)
+
+		for test in "${DEL_TESTS[@]}"; do
+			rm "${CMAKE_USE_DIR}/tests/${test}" || die
+		done
+	fi
+
+	if ! use vtk; then
+		SKIP_TESTS+=(
+			'vtk'
+		)
+		echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules"
+	fi
+
+	if [[ -n "${SKIP_TESTS[*]}" ]]; then
+		testgrid_opts+=( -exclude "$(IFS=',' ; echo "${SKIP_TESTS[*]}")" )
+	fi
+
+	testgrid_opts+=(
+		# -refresh 5
+		-overwrite
+	)
+	cat >> "${test_file}" <<- _EOF_ || die
+		testgrid -outdir "${BUILD_DIR}/test_results" ${testgrid_opts[@]}
+	_EOF_
+
+	# # regenerate summary in case we have to
+	# cat >> "${test_file}" <<- _EOF_ || die
+	# 	testsummarize "${BUILD_DIR}/test_results"
+	# _EOF_
+
+	# Work around zink warnings
+	export LIBGL_ALWAYS_SOFTWARE="true"
+
+	export CASROOT="${BUILD_DIR}"
+
+	virtx \
+	"${BUILD_DIR}/draw.sh" \
+		"${draw_opts[@]}" \
+		-f "${test_file}"
+
+	if [[ ! -f "${BUILD_DIR}/test_results/tests.log" ]]; then
+		eerror "tests never ran!"
+		die
+	fi
+	failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")"
+	if [[ -n ${failed_tests} ]]; then
+		eerror "Failed tests:"
+		eerror "${failed_tests}"
+		die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	doenvd "${T}/99${PN}"
+
+	docompress -x "/usr/share/doc/${PF}/overview/html"
+}

diff --git a/sci-libs/opencascade/opencascade-7.7.2.ebuild b/sci-libs/opencascade/opencascade-7.7.2.ebuild
new file mode 100644
index 000000000000..384a99eaaf44
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.7.2.ebuild
@@ -0,0 +1,366 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake virtualx
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+
+MY_PN="OCCT"
+
+MY_TEST_PV="7.7.0"
+MY_TEST_PV2="${MY_TEST_PV//./_}"
+
+SRC_URI="
+	test? ( https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tgz
+		-> ${PN}-dataset-${MY_TEST_PV}.tar.gz )
+"
+
+if [[ ${PV} = *9999* ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/Open-Cascade-SAS/${MY_PN}.git"
+else
+	MY_PV="${PV//./_}"
+	SRC_URI+="
+		https://github.com/Open-Cascade-SAS/${MY_PN}/archive/refs/tags/V${MY_PV}.tar.gz -> ${P}.tar.gz
+	"
+	S="${WORKDIR}/${MY_PN}-${MY_PV}"
+	KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only +gui jemalloc json +opengl optimize tbb test testprograms tk vtk"
+
+REQUIRED_USE="
+	?? ( optimize tbb )
+	?? ( opengl gles2-only )
+	test? ( freeimage json opengl )
+"
+
+# There's no easy way to test. Testing needs a rather big environment properly set up.
+RESTRICT="!test? ( test )"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+	dev-lang/tcl:=
+	tk? ( dev-lang/tk:= )
+	dev-libs/double-conversion
+	freetype? (
+		media-libs/fontconfig
+		media-libs/freetype:2
+	)
+	opengl? (
+		media-libs/libglvnd
+	)
+	X? (
+		x11-libs/libX11
+	)
+	gui? (
+		examples? (
+			dev-qt/qtcore:5
+			dev-qt/qtgui:5
+			dev-qt/qtquickcontrols2:5
+			dev-qt/qtwidgets:5
+			dev-qt/qtxml:5
+		)
+	)
+	ffmpeg? ( <media-video/ffmpeg-5:= )
+	freeimage? ( media-libs/freeimage )
+	jemalloc? ( dev-libs/jemalloc )
+	tbb? ( dev-cpp/tbb:= )
+	vtk? (
+		sci-libs/vtk:=[rendering]
+		tbb? (
+			sci-libs/vtk:=[tbb,-cuda]
+		)
+	)
+"
+DEPEND="
+	${RDEPEND}
+	X? ( x11-base/xorg-proto )
+	json? ( dev-libs/rapidjson )
+"
+BDEPEND="
+	doc? ( app-text/doxygen[dot] )
+	gui? (
+		examples? ( dev-qt/linguist-tools:5 )
+	)
+	test? ( dev-tcltk/thread )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch"
+	"${FILESDIR}/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch"
+	"${FILESDIR}/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch"
+	"${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
+	"${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
+	"${FILESDIR}/${PN}-7.7.0-musl.patch"
+	"${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
+	"${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
+	"${FILESDIR}/${PN}-7.8.0-tests.patch"
+)
+
+src_unpack() {
+	if [[ ${PV} = *9999* ]] ; then
+		git-r3_src_unpack
+	else
+		unpack "${P}.tar.gz"
+	fi
+
+	if use test; then
+		mkdir "${WORKDIR}/data"
+		pushd "${WORKDIR}/data" > /dev/null || die
+		# should be in paths indicated by CSF_TestDataPath environment variable,
+		# or in subfolder data in the script directory
+		unpack "${PN}-dataset-${MY_TEST_PV}.tar.gz"
+		popd > /dev/null || die
+	fi
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -e 's|/lib\$|/'"$(get_libdir)"'\$|' \
+		-i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+	# There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+	# assumptions it makes about installation paths. Rather than fixing it, just
+	# get rid of the mechanism altogether - its purpose is to allow a
+	# side-by-side installation of release and debug libraries.
+	sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+		-i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-D3RDPARTY_DIR="${ESYSROOT}/usr"
+		-DBUILD_CPP_STANDARD="C++17"
+		-DBUILD_SOVERSION_NUMBERS=2
+
+		-DBUILD_DOC_Overview="$(usex doc)"
+		-DBUILD_Inspector="$(usex gui)"
+
+		-DBUILD_ENABLE_FPE_SIGNAL_HANDLER="$(usex debug)"
+		-DBUILD_USE_PCH="no"
+		# -DBUILD_OPT_PROFILE="Default" # Production
+		# -DBUILD_RESOURCES="yes"
+		# -DBUILD_YACCLEX="yes"
+
+		-DBUILD_RELEASE_DISABLE_EXCEPTIONS="no" # bug #847916
+		-DINSTALL_DIR="${EPREFIX}/usr"
+		-DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+		-DINSTALL_DIR_DATA="share/${PN}/data"
+		-DINSTALL_DIR_DOC="share/doc/${PF}"
+		-DINSTALL_DIR_INCLUDE="include/${PN}"
+		-DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+		-DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+		-DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+		-DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_TESTS="share/${PN}/tests"
+		-DINSTALL_DIR_WITH_VERSION="no"
+		-DINSTALL_SAMPLES="$(usex examples)"
+
+		-DINSTALL_TEST_CASES="$(usex testprograms)"
+
+		# no package yet in tree
+		-DUSE_DRACO="no"
+		-DUSE_FFMPEG="$(usex ffmpeg)"
+		-DUSE_FREEIMAGE="$(usex freeimage)"
+		-DUSE_FREETYPE="$(usex freetype)"
+		# Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module
+		-DUSE_GLES2="$(usex gles2-only)"
+		# Indicates whether OpenGL desktop should be used in OCCT visualization module
+		-DUSE_OPENGL="$(usex opengl)"
+		# no package in tree
+		-DUSE_OPENVR="no"
+		-DUSE_RAPIDJSON="$(usex json)"
+		-DUSE_TBB="$(usex tbb)"
+		-DUSE_TK="$(usex tk)"
+		-DUSE_VTK="$(usex vtk)"
+		-DUSE_XLIB="$(usex X)"
+	)
+
+	# Select using memory manager tool.
+	if ! use jemalloc && ! use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
+	elif use jemalloc && ! use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=JEMALLOC )
+	elif ! use jemalloc && use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
+	elif use jemalloc && use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=FLEXIBLE )
+	fi
+
+	if use doc; then
+		mycmakeargs+=(
+			-DINSTALL_DOC_Overview="yes"
+			-D3RDPARTY_SKIP_DOT_EXECUTABLE="no"
+		)
+	fi
+
+	if use gui; then
+		mycmakeargs+=(
+			-D3RDPARTY_QT_DIR="${ESYSROOT}/usr"
+			-DBUILD_SAMPLES_QT="$(usex examples)"
+		)
+	fi
+
+	if use jemalloc; then
+		mycmakeargs+=(
+			-D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
+		)
+	fi
+
+	if use tbb; then
+		mycmakeargs+=(
+			-D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"
+		)
+	fi
+
+	if use vtk; then
+		local vtk_ver
+		vtk_ver="$(best_version "sci-libs/vtk")"
+		vtk_ver=$(ver_cut 1-2 "${vtk_ver#sci-libs/vtk-}")
+		mycmakeargs+=(
+			-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}/usr/include/vtk-${vtk_ver}"
+			-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}/usr/$(get_libdir)"
+		)
+	fi
+
+	cmake_src_configure
+
+	sed -e "s|lib/|$(get_libdir)/|" \
+		-e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+		< "${FILESDIR}/${PN}.env.in" > "${T}/99${PN}" || die
+
+	# use TBB for memory allocation optimizations
+	if use tbb; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/99${PN}" || die
+	fi
+
+	# use internal optimized memory manager and don't clear memory with this
+	# memory manager.
+	if use optimize ; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+			-e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+			-i "${T}/99${PN}" || die
+	fi
+}
+
+src_test() {
+	echo "export CSF_OCCTDataPath=${WORKDIR}/data" >> "${BUILD_DIR}/custom.sh" || die
+
+	if has_version media-fonts/dejavu; then
+		cp "${ESYSROOT}/usr/share/fonts/dejavu/DejaVuSans.ttf" "${WORKDIR}/data/" # no die here as this isn't fatal
+	fi
+
+	local test_file=${T}/testscript.tcl
+
+	local draw_opts=(
+		i # see ${BUILD_DIR}/custom*.sh
+		# -b # batch mode (no GUI, no viewers)
+		-v # no GUI, use virtual (off-screen) windows for viewers
+	)
+
+	local test_names=(
+		"demo draw bug30430" # prone to dying due to cpu limit
+	)
+	local test_opts=( # run single tests
+		-overwrite
+	)
+	for test_name in "${test_names[@]}"; do
+		cat >> "${test_file}" <<- _EOF_ || die
+			test ${test_name} -outfile "${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]}
+		_EOF_
+	done
+
+	local testgrid_opts=()
+
+	local SKIP_TESTS=()
+
+	if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then
+		SKIP_TESTS+=(
+			'blend complex F4'
+			'bugs'
+			'geometry circ2d3Tan '{CircleCircleLin_11,CircleLinPoint_11}
+			'heal checkshape bug32448_1'
+			'hlr exact_hlr bug25813_2'
+
+			'hlr poly_hlr '{bug25813_2,bug25813_3,bug25813_4,Plate}
+			'lowalgos intss bug'{565,567_1,25950,27431,29807_i1003,29807_i2006,29807_i3003,29807_i5002,30703}
+			'lowalgos proximity '{A4,A5}
+			'opengl background bug27836'
+			'opengl drivers opengles'
+			'opengles3'
+
+			'demo draw bug30430'
+		)
+
+		local DEL_TESTS=(
+			'opengl/data/background/bug27836'
+			'perf/mesh/bug26965'
+			'v3d/trsf/bug26029'
+		)
+
+		for test in "${DEL_TESTS[@]}"; do
+			rm "${CMAKE_USE_DIR}/tests/${test}" || die
+		done
+	fi
+
+	if ! use vtk; then
+		SKIP_TESTS+=(
+			'vtk'
+		)
+		echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules"
+	fi
+
+	if [[ -n "${SKIP_TESTS[*]}" ]]; then
+		testgrid_opts+=( -exclude "$(IFS=',' ; echo "${SKIP_TESTS[*]}")" )
+	fi
+
+	testgrid_opts+=(
+		# -refresh 5
+		-overwrite
+	)
+	cat >> "${test_file}" <<- _EOF_ || die
+		testgrid -outdir "${BUILD_DIR}/test_results" ${testgrid_opts[@]}
+	_EOF_
+
+	# # regenerate summary in case we have to
+	# cat >> "${test_file}" <<- _EOF_ || die
+	# 	testsummarize "${BUILD_DIR}/test_results"
+	# _EOF_
+
+	# Work around zink warnings
+	export LIBGL_ALWAYS_SOFTWARE="true"
+
+	export CASROOT="${BUILD_DIR}"
+
+	virtx \
+	"${BUILD_DIR}/draw.sh" \
+		"${draw_opts[@]}" \
+		-f "${test_file}"
+
+	if [[ ! -f "${BUILD_DIR}/test_results/tests.log" ]]; then
+		eerror "tests never ran!"
+		die
+	fi
+	failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")"
+	if [[ -n ${failed_tests} ]]; then
+		eerror "Failed tests:"
+		eerror "${failed_tests}"
+		die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	doenvd "${T}/99${PN}"
+
+	docompress -x "/usr/share/doc/${PF}/overview/html"
+}

diff --git a/sci-libs/opencascade/opencascade-7.8.0.ebuild b/sci-libs/opencascade/opencascade-7.8.0.ebuild
new file mode 100644
index 000000000000..2f819b1746e8
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.8.0.ebuild
@@ -0,0 +1,365 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake virtualx
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+
+MY_PN="OCCT"
+
+MY_TEST_PV="7.8.0"
+MY_TEST_PV2="${MY_TEST_PV//./_}"
+
+SRC_URI="
+	test? ( https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tar.xz )
+"
+
+if [[ ${PV} = *9999* ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/Open-Cascade-SAS/${MY_PN}.git"
+else
+	MY_PV="${PV//./_}"
+	SRC_URI+="
+		https://github.com/Open-Cascade-SAS/${MY_PN}/archive/refs/tags/V${MY_PV}.tar.gz -> ${P}.tar.gz
+	"
+	S="${WORKDIR}/${MY_PN}-${MY_PV}"
+	KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only +gui jemalloc json +opengl optimize tbb test testprograms tk vtk"
+
+REQUIRED_USE="
+	?? ( optimize tbb )
+	?? ( opengl gles2-only )
+	test? ( freeimage json opengl )
+"
+
+# There's no easy way to test. Testing needs a rather big environment properly set up.
+RESTRICT="!test? ( test )"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+	dev-lang/tcl:=
+	tk? ( dev-lang/tk:= )
+	dev-libs/double-conversion
+	freetype? (
+		media-libs/fontconfig
+		media-libs/freetype:2
+	)
+	opengl? (
+		media-libs/libglvnd
+	)
+	X? (
+		x11-libs/libX11
+	)
+	gui? (
+		examples? (
+			dev-qt/qtcore:5
+			dev-qt/qtgui:5
+			dev-qt/qtquickcontrols2:5
+			dev-qt/qtwidgets:5
+			dev-qt/qtxml:5
+		)
+	)
+	ffmpeg? ( <media-video/ffmpeg-5:= )
+	freeimage? ( media-libs/freeimage )
+	jemalloc? ( dev-libs/jemalloc )
+	tbb? ( dev-cpp/tbb:= )
+	vtk? (
+		sci-libs/vtk:=[rendering]
+		tbb? (
+			sci-libs/vtk:=[tbb,-cuda]
+		)
+	)
+"
+DEPEND="
+	${RDEPEND}
+	X? ( x11-base/xorg-proto )
+	json? ( dev-libs/rapidjson )
+"
+BDEPEND="
+	doc? ( app-text/doxygen[dot] )
+	gui? (
+		examples? ( dev-qt/linguist-tools:5 )
+	)
+	test? ( dev-tcltk/thread )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch"
+	"${FILESDIR}/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch"
+	"${FILESDIR}/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch"
+	"${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
+	"${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
+	"${FILESDIR}/${PN}-7.7.0-musl.patch"
+	"${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
+	"${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
+	"${FILESDIR}/${PN}-7.8.0-tests.patch"
+)
+
+src_unpack() {
+	if [[ ${PV} = *9999* ]] ; then
+		git-r3_src_unpack
+	else
+		unpack "${P}.tar.gz"
+	fi
+
+	if use test; then
+		mkdir "${WORKDIR}/data"
+		pushd "${WORKDIR}/data" > /dev/null || die
+		# should be in paths indicated by CSF_TestDataPath environment variable,
+		# or in subfolder data in the script directory
+		unpack "${PN}-dataset-${MY_TEST_PV}.tar.xz"
+		popd > /dev/null || die
+	fi
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -e 's|/lib\$|/'"$(get_libdir)"'\$|' \
+		-i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+	# There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+	# assumptions it makes about installation paths. Rather than fixing it, just
+	# get rid of the mechanism altogether - its purpose is to allow a
+	# side-by-side installation of release and debug libraries.
+	sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+		-i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-D3RDPARTY_DIR="${ESYSROOT}/usr"
+		-DBUILD_CPP_STANDARD="C++17"
+		-DBUILD_SOVERSION_NUMBERS=2
+
+		-DBUILD_DOC_Overview="$(usex doc)"
+		-DBUILD_Inspector="$(usex gui)"
+
+		-DBUILD_ENABLE_FPE_SIGNAL_HANDLER="$(usex debug)"
+		-DBUILD_USE_PCH="no"
+		# -DBUILD_OPT_PROFILE="Default" # Production
+		# -DBUILD_RESOURCES="yes"
+		# -DBUILD_YACCLEX="yes"
+
+		-DBUILD_RELEASE_DISABLE_EXCEPTIONS="no" # bug #847916
+		-DINSTALL_DIR="${EPREFIX}/usr"
+		-DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+		-DINSTALL_DIR_DATA="share/${PN}/data"
+		-DINSTALL_DIR_DOC="share/doc/${PF}"
+		-DINSTALL_DIR_INCLUDE="include/${PN}"
+		-DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+		-DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+		-DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+		-DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_TESTS="share/${PN}/tests"
+		-DINSTALL_DIR_WITH_VERSION="no"
+		-DINSTALL_SAMPLES="$(usex examples)"
+
+		-DINSTALL_TEST_CASES="$(usex testprograms)"
+
+		# no package yet in tree
+		-DUSE_DRACO="no"
+		-DUSE_FFMPEG="$(usex ffmpeg)"
+		-DUSE_FREEIMAGE="$(usex freeimage)"
+		-DUSE_FREETYPE="$(usex freetype)"
+		# Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module
+		-DUSE_GLES2="$(usex gles2-only)"
+		# Indicates whether OpenGL desktop should be used in OCCT visualization module
+		-DUSE_OPENGL="$(usex opengl)"
+		# no package in tree
+		-DUSE_OPENVR="no"
+		-DUSE_RAPIDJSON="$(usex json)"
+		-DUSE_TBB="$(usex tbb)"
+		-DUSE_TK="$(usex tk)"
+		-DUSE_VTK="$(usex vtk)"
+		-DUSE_XLIB="$(usex X)"
+	)
+
+	# Select using memory manager tool.
+	if ! use jemalloc && ! use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
+	elif use jemalloc && ! use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=JEMALLOC )
+	elif ! use jemalloc && use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
+	elif use jemalloc && use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=FLEXIBLE )
+	fi
+
+	if use doc; then
+		mycmakeargs+=(
+			-DINSTALL_DOC_Overview="yes"
+			-D3RDPARTY_SKIP_DOT_EXECUTABLE="no"
+		)
+	fi
+
+	if use gui; then
+		mycmakeargs+=(
+			-D3RDPARTY_QT_DIR="${ESYSROOT}/usr"
+			-DBUILD_SAMPLES_QT="$(usex examples)"
+		)
+	fi
+
+	if use jemalloc; then
+		mycmakeargs+=(
+			-D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
+		)
+	fi
+
+	if use tbb; then
+		mycmakeargs+=(
+			-D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"
+		)
+	fi
+
+	if use vtk; then
+		local vtk_ver
+		vtk_ver="$(best_version "sci-libs/vtk")"
+		vtk_ver=$(ver_cut 1-2 "${vtk_ver#sci-libs/vtk-}")
+		mycmakeargs+=(
+			-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}/usr/include/vtk-${vtk_ver}"
+			-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}/usr/$(get_libdir)"
+		)
+	fi
+
+	cmake_src_configure
+
+	sed -e "s|lib/|$(get_libdir)/|" \
+		-e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+		< "${FILESDIR}/${PN}.env.in" > "${T}/99${PN}" || die
+
+	# use TBB for memory allocation optimizations
+	if use tbb; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/99${PN}" || die
+	fi
+
+	# use internal optimized memory manager and don't clear memory with this
+	# memory manager.
+	if use optimize ; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+			-e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+			-i "${T}/99${PN}" || die
+	fi
+}
+
+src_test() {
+	echo "export CSF_OCCTDataPath=${WORKDIR}/data" >> "${BUILD_DIR}/custom.sh" || die
+
+	if has_version media-fonts/dejavu; then
+		cp "${ESYSROOT}/usr/share/fonts/dejavu/DejaVuSans.ttf" "${WORKDIR}/data/" # no die here as this isn't fatal
+	fi
+
+	local test_file=${T}/testscript.tcl
+
+	local draw_opts=(
+		i # see ${BUILD_DIR}/custom*.sh
+		# -b # batch mode (no GUI, no viewers)
+		-v # no GUI, use virtual (off-screen) windows for viewers
+	)
+
+	local test_names=(
+		"demo draw bug30430" # prone to dying due to cpu limit
+	)
+	local test_opts=( # run single tests
+		-overwrite
+	)
+	for test_name in "${test_names[@]}"; do
+		cat >> "${test_file}" <<- _EOF_ || die
+			test ${test_name} -outfile "${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]}
+		_EOF_
+	done
+
+	local testgrid_opts=()
+
+	local SKIP_TESTS=()
+
+	if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then
+		SKIP_TESTS+=(
+			'blend complex F4'
+			'bugs'
+			'geometry circ2d3Tan '{CircleCircleLin_11,CircleLinPoint_11}
+			'heal checkshape bug32448_1'
+			'hlr exact_hlr bug25813_2'
+
+			'hlr poly_hlr '{bug25813_2,bug25813_3,bug25813_4,Plate}
+			'lowalgos intss bug'{565,567_1,25950,27431,29807_i1003,29807_i2006,29807_i3003,29807_i5002,30703}
+			'lowalgos proximity '{A4,A5}
+			'opengl background bug27836'
+			'opengl drivers opengles'
+			'opengles3'
+
+			'demo draw bug30430'
+		)
+
+		local DEL_TESTS=(
+			'opengl/data/background/bug27836'
+			'perf/mesh/bug26965'
+			'v3d/trsf/bug26029'
+		)
+
+		for test in "${DEL_TESTS[@]}"; do
+			rm "${CMAKE_USE_DIR}/tests/${test}" || die
+		done
+	fi
+
+	if ! use vtk; then
+		SKIP_TESTS+=(
+			'vtk'
+		)
+		echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules"
+	fi
+
+	if [[ -n "${SKIP_TESTS[*]}" ]]; then
+		testgrid_opts+=( -exclude "$(IFS=',' ; echo "${SKIP_TESTS[*]}")" )
+	fi
+
+	testgrid_opts+=(
+		# -refresh 5
+		-overwrite
+	)
+	cat >> "${test_file}" <<- _EOF_ || die
+		testgrid -outdir "${BUILD_DIR}/test_results" ${testgrid_opts[@]}
+	_EOF_
+
+	# # regenerate summary in case we have to
+	# cat >> "${test_file}" <<- _EOF_ || die
+	# 	testsummarize "${BUILD_DIR}/test_results"
+	# _EOF_
+
+	# Work around zink warnings
+	export LIBGL_ALWAYS_SOFTWARE="true"
+
+	export CASROOT="${BUILD_DIR}"
+
+	virtx \
+	"${BUILD_DIR}/draw.sh" \
+		"${draw_opts[@]}" \
+		-f "${test_file}"
+
+	if [[ ! -f "${BUILD_DIR}/test_results/tests.log" ]]; then
+		eerror "tests never ran!"
+		die
+	fi
+	failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")"
+	if [[ -n ${failed_tests} ]]; then
+		eerror "Failed tests:"
+		eerror "${failed_tests}"
+		die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	doenvd "${T}/99${PN}"
+
+	docompress -x "/usr/share/doc/${PF}/overview/html"
+}

diff --git a/sci-libs/opencascade/opencascade-9999.ebuild b/sci-libs/opencascade/opencascade-9999.ebuild
new file mode 100644
index 000000000000..2f819b1746e8
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-9999.ebuild
@@ -0,0 +1,365 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake virtualx
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+
+MY_PN="OCCT"
+
+MY_TEST_PV="7.8.0"
+MY_TEST_PV2="${MY_TEST_PV//./_}"
+
+SRC_URI="
+	test? ( https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tar.xz )
+"
+
+if [[ ${PV} = *9999* ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/Open-Cascade-SAS/${MY_PN}.git"
+else
+	MY_PV="${PV//./_}"
+	SRC_URI+="
+		https://github.com/Open-Cascade-SAS/${MY_PN}/archive/refs/tags/V${MY_PV}.tar.gz -> ${P}.tar.gz
+	"
+	S="${WORKDIR}/${MY_PN}-${MY_PV}"
+	KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only +gui jemalloc json +opengl optimize tbb test testprograms tk vtk"
+
+REQUIRED_USE="
+	?? ( optimize tbb )
+	?? ( opengl gles2-only )
+	test? ( freeimage json opengl )
+"
+
+# There's no easy way to test. Testing needs a rather big environment properly set up.
+RESTRICT="!test? ( test )"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+	dev-lang/tcl:=
+	tk? ( dev-lang/tk:= )
+	dev-libs/double-conversion
+	freetype? (
+		media-libs/fontconfig
+		media-libs/freetype:2
+	)
+	opengl? (
+		media-libs/libglvnd
+	)
+	X? (
+		x11-libs/libX11
+	)
+	gui? (
+		examples? (
+			dev-qt/qtcore:5
+			dev-qt/qtgui:5
+			dev-qt/qtquickcontrols2:5
+			dev-qt/qtwidgets:5
+			dev-qt/qtxml:5
+		)
+	)
+	ffmpeg? ( <media-video/ffmpeg-5:= )
+	freeimage? ( media-libs/freeimage )
+	jemalloc? ( dev-libs/jemalloc )
+	tbb? ( dev-cpp/tbb:= )
+	vtk? (
+		sci-libs/vtk:=[rendering]
+		tbb? (
+			sci-libs/vtk:=[tbb,-cuda]
+		)
+	)
+"
+DEPEND="
+	${RDEPEND}
+	X? ( x11-base/xorg-proto )
+	json? ( dev-libs/rapidjson )
+"
+BDEPEND="
+	doc? ( app-text/doxygen[dot] )
+	gui? (
+		examples? ( dev-qt/linguist-tools:5 )
+	)
+	test? ( dev-tcltk/thread )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch"
+	"${FILESDIR}/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch"
+	"${FILESDIR}/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch"
+	"${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
+	"${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
+	"${FILESDIR}/${PN}-7.7.0-musl.patch"
+	"${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
+	"${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
+	"${FILESDIR}/${PN}-7.8.0-tests.patch"
+)
+
+src_unpack() {
+	if [[ ${PV} = *9999* ]] ; then
+		git-r3_src_unpack
+	else
+		unpack "${P}.tar.gz"
+	fi
+
+	if use test; then
+		mkdir "${WORKDIR}/data"
+		pushd "${WORKDIR}/data" > /dev/null || die
+		# should be in paths indicated by CSF_TestDataPath environment variable,
+		# or in subfolder data in the script directory
+		unpack "${PN}-dataset-${MY_TEST_PV}.tar.xz"
+		popd > /dev/null || die
+	fi
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -e 's|/lib\$|/'"$(get_libdir)"'\$|' \
+		-i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+	# There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+	# assumptions it makes about installation paths. Rather than fixing it, just
+	# get rid of the mechanism altogether - its purpose is to allow a
+	# side-by-side installation of release and debug libraries.
+	sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+		-i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-D3RDPARTY_DIR="${ESYSROOT}/usr"
+		-DBUILD_CPP_STANDARD="C++17"
+		-DBUILD_SOVERSION_NUMBERS=2
+
+		-DBUILD_DOC_Overview="$(usex doc)"
+		-DBUILD_Inspector="$(usex gui)"
+
+		-DBUILD_ENABLE_FPE_SIGNAL_HANDLER="$(usex debug)"
+		-DBUILD_USE_PCH="no"
+		# -DBUILD_OPT_PROFILE="Default" # Production
+		# -DBUILD_RESOURCES="yes"
+		# -DBUILD_YACCLEX="yes"
+
+		-DBUILD_RELEASE_DISABLE_EXCEPTIONS="no" # bug #847916
+		-DINSTALL_DIR="${EPREFIX}/usr"
+		-DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+		-DINSTALL_DIR_DATA="share/${PN}/data"
+		-DINSTALL_DIR_DOC="share/doc/${PF}"
+		-DINSTALL_DIR_INCLUDE="include/${PN}"
+		-DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+		-DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+		-DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+		-DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+		-DINSTALL_DIR_TESTS="share/${PN}/tests"
+		-DINSTALL_DIR_WITH_VERSION="no"
+		-DINSTALL_SAMPLES="$(usex examples)"
+
+		-DINSTALL_TEST_CASES="$(usex testprograms)"
+
+		# no package yet in tree
+		-DUSE_DRACO="no"
+		-DUSE_FFMPEG="$(usex ffmpeg)"
+		-DUSE_FREEIMAGE="$(usex freeimage)"
+		-DUSE_FREETYPE="$(usex freetype)"
+		# Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module
+		-DUSE_GLES2="$(usex gles2-only)"
+		# Indicates whether OpenGL desktop should be used in OCCT visualization module
+		-DUSE_OPENGL="$(usex opengl)"
+		# no package in tree
+		-DUSE_OPENVR="no"
+		-DUSE_RAPIDJSON="$(usex json)"
+		-DUSE_TBB="$(usex tbb)"
+		-DUSE_TK="$(usex tk)"
+		-DUSE_VTK="$(usex vtk)"
+		-DUSE_XLIB="$(usex X)"
+	)
+
+	# Select using memory manager tool.
+	if ! use jemalloc && ! use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
+	elif use jemalloc && ! use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=JEMALLOC )
+	elif ! use jemalloc && use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
+	elif use jemalloc && use tbb; then
+		mycmakeargs+=( -DUSE_MMGR_TYPE=FLEXIBLE )
+	fi
+
+	if use doc; then
+		mycmakeargs+=(
+			-DINSTALL_DOC_Overview="yes"
+			-D3RDPARTY_SKIP_DOT_EXECUTABLE="no"
+		)
+	fi
+
+	if use gui; then
+		mycmakeargs+=(
+			-D3RDPARTY_QT_DIR="${ESYSROOT}/usr"
+			-DBUILD_SAMPLES_QT="$(usex examples)"
+		)
+	fi
+
+	if use jemalloc; then
+		mycmakeargs+=(
+			-D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
+		)
+	fi
+
+	if use tbb; then
+		mycmakeargs+=(
+			-D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"
+		)
+	fi
+
+	if use vtk; then
+		local vtk_ver
+		vtk_ver="$(best_version "sci-libs/vtk")"
+		vtk_ver=$(ver_cut 1-2 "${vtk_ver#sci-libs/vtk-}")
+		mycmakeargs+=(
+			-D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}/usr/include/vtk-${vtk_ver}"
+			-D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}/usr/$(get_libdir)"
+		)
+	fi
+
+	cmake_src_configure
+
+	sed -e "s|lib/|$(get_libdir)/|" \
+		-e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+		< "${FILESDIR}/${PN}.env.in" > "${T}/99${PN}" || die
+
+	# use TBB for memory allocation optimizations
+	if use tbb; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/99${PN}" || die
+	fi
+
+	# use internal optimized memory manager and don't clear memory with this
+	# memory manager.
+	if use optimize ; then
+		sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+			-e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+			-i "${T}/99${PN}" || die
+	fi
+}
+
+src_test() {
+	echo "export CSF_OCCTDataPath=${WORKDIR}/data" >> "${BUILD_DIR}/custom.sh" || die
+
+	if has_version media-fonts/dejavu; then
+		cp "${ESYSROOT}/usr/share/fonts/dejavu/DejaVuSans.ttf" "${WORKDIR}/data/" # no die here as this isn't fatal
+	fi
+
+	local test_file=${T}/testscript.tcl
+
+	local draw_opts=(
+		i # see ${BUILD_DIR}/custom*.sh
+		# -b # batch mode (no GUI, no viewers)
+		-v # no GUI, use virtual (off-screen) windows for viewers
+	)
+
+	local test_names=(
+		"demo draw bug30430" # prone to dying due to cpu limit
+	)
+	local test_opts=( # run single tests
+		-overwrite
+	)
+	for test_name in "${test_names[@]}"; do
+		cat >> "${test_file}" <<- _EOF_ || die
+			test ${test_name} -outfile "${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]}
+		_EOF_
+	done
+
+	local testgrid_opts=()
+
+	local SKIP_TESTS=()
+
+	if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then
+		SKIP_TESTS+=(
+			'blend complex F4'
+			'bugs'
+			'geometry circ2d3Tan '{CircleCircleLin_11,CircleLinPoint_11}
+			'heal checkshape bug32448_1'
+			'hlr exact_hlr bug25813_2'
+
+			'hlr poly_hlr '{bug25813_2,bug25813_3,bug25813_4,Plate}
+			'lowalgos intss bug'{565,567_1,25950,27431,29807_i1003,29807_i2006,29807_i3003,29807_i5002,30703}
+			'lowalgos proximity '{A4,A5}
+			'opengl background bug27836'
+			'opengl drivers opengles'
+			'opengles3'
+
+			'demo draw bug30430'
+		)
+
+		local DEL_TESTS=(
+			'opengl/data/background/bug27836'
+			'perf/mesh/bug26965'
+			'v3d/trsf/bug26029'
+		)
+
+		for test in "${DEL_TESTS[@]}"; do
+			rm "${CMAKE_USE_DIR}/tests/${test}" || die
+		done
+	fi
+
+	if ! use vtk; then
+		SKIP_TESTS+=(
+			'vtk'
+		)
+		echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules"
+	fi
+
+	if [[ -n "${SKIP_TESTS[*]}" ]]; then
+		testgrid_opts+=( -exclude "$(IFS=',' ; echo "${SKIP_TESTS[*]}")" )
+	fi
+
+	testgrid_opts+=(
+		# -refresh 5
+		-overwrite
+	)
+	cat >> "${test_file}" <<- _EOF_ || die
+		testgrid -outdir "${BUILD_DIR}/test_results" ${testgrid_opts[@]}
+	_EOF_
+
+	# # regenerate summary in case we have to
+	# cat >> "${test_file}" <<- _EOF_ || die
+	# 	testsummarize "${BUILD_DIR}/test_results"
+	# _EOF_
+
+	# Work around zink warnings
+	export LIBGL_ALWAYS_SOFTWARE="true"
+
+	export CASROOT="${BUILD_DIR}"
+
+	virtx \
+	"${BUILD_DIR}/draw.sh" \
+		"${draw_opts[@]}" \
+		-f "${test_file}"
+
+	if [[ ! -f "${BUILD_DIR}/test_results/tests.log" ]]; then
+		eerror "tests never ran!"
+		die
+	fi
+	failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")"
+	if [[ -n ${failed_tests} ]]; then
+		eerror "Failed tests:"
+		eerror "${failed_tests}"
+		die
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	doenvd "${T}/99${PN}"
+
+	docompress -x "/usr/share/doc/${PF}/overview/html"
+}


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

end of thread, other threads:[~2024-03-23  8:34 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-07 20:05 [gentoo-commits] repo/gentoo:master commit in: sci-libs/opencascade/files/, sci-libs/opencascade/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2024-03-23  8:34 Sam James
2022-11-25 11:19 Joonas Niilola
2022-01-10  1:04 Sam James
2022-01-10  1:04 Sam James
2021-06-24 10:06 Alexey Shvetsov
2021-02-18  9:36 Joonas Niilola
2021-02-18  9:36 Joonas Niilola
2018-10-27 10:36 Amy Liffey
2017-11-06  1:58 Andreas Sturmlechner
2015-08-11  9:18 Michael Weber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox