Hi! I've updated opencascade to it's latest version - 6.5.3. I've also created and updated its patches, so it'll compile against latest FTGL version.
Created attachment 326590 [details] ebuild
Created attachment 326592 [details, diff] opencascade-6.5.3-fixed-DESTDIR
Created attachment 326594 [details, diff] opencascade-6.5.3-ftgl
Created attachment 326596 [details, diff] opencascade-6.5.3-fix-ftgl-includes
Comment on attachment 326590 [details] ebuild --- opencascade-6.5.ebuild 2012-09-18 17:57:52.000000000 +0200 +++ - 2012-10-15 14:14:10.701795963 +0200 @@ -7,7 +7,7 @@ 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" +SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/OpenCASCADE653.tar.gz" LICENSE="Open-CASCADE-Technology-Public-License-6.5" SLOT="0" @@ -37,6 +37,7 @@ CHECKREQS_MEMORY="256M" CHECKREQS_DISK_BUILD="3584M" + pkg_setup() { check-reqs_pkg_setup java-pkg-opt-2_pkg_setup @@ -48,7 +49,7 @@ 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 + INSTALL_DIR=${ROOT}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 " @@ -81,7 +82,8 @@ -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 + epatch "${FILESDIR}"/${P}-fix-ftgl-includes.patch + epatch "${FILESDIR}"/${P}-ftgl.patch epatch "${FILESDIR}"/${P}-fixed-DESTDIR.patch source env.sh @@ -103,7 +105,7 @@ if use java ; then confargs+=" --with-java-include=$(java-config -O)/include" else - confargs+=" --without-java-include" + onfargs+=" --without-java-include" fi econf ${confargs} \ @@ -112,7 +114,7 @@ } src_install() { - emake DESTDIR="${D}" install + emake DESTDIR="${D}" install || die "Install failed" # .la files kill cute little kittens find "${D}" -name '*.la' -exec rm {} + @@ -125,7 +127,12 @@ # 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 + + INSTALL_DIR=${ROOT}usr/$(get_libdir)/${P}/ros + sed -i \ + -e "s:VAR_CASROOT:"${INSTALL_DIR}"/lin:g" \ + env.sh \ + || die # Build the env.d environment variables cp "${FILESDIR}"/env.sh.template 50${PN} || die @@ -175,6 +182,8 @@ } pkg_postinst() { + env-update && source /etc/profile + 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\""
CCing sci to see if they are interested.
Are you willing to proxy maintain this? http://www.gentoo.org/proj/en/qa/proxy-maintainers/index.xml
Created attachment 335674 [details] opencascade-6.5.4-tcl.patch
Created attachment 335676 [details, diff] opencascade-6.5.4-fixed-DESTDIR.patch
Created attachment 335678 [details, diff] opencascade-6.5.4.ebuild.patch
Builds fine, however freecad-0.12.5284-r2 that was build with opencascade-6.5 (.0) showed the following error when selecting any workspace: /usr/lib64/Part.so: undefined symbol: _ZNK18Standard_Transient8HashCodeEi The sonames stayed the same however the folders moved from /usr/lib64/opencascade-6.5 to /usr/lib64/opencascade-6.5.4 Freecad did load them from the new folder though. Obviously I tried to recompile, no luck either, because the search path for includes was /usr/lib64/opencascade-6.5/ros/lin/inc (it doesn't have the .4). A (dirty) symlink did cope with the include folder, however then it failed because of "PI" being undefined. I tried the latest freecad ebuild from bug 457830 and it did need the symlink hack as a build time requirement as well, but did run flawlessly without it afterwards. So from the errors I've seen I would call this a (source & binary) incompatible bugfix release. And probably nobody wants opencascascde 6.5.0 and 6.5.4 as multislots, so could the problem with the include folders of freecad actually be a bug in this ebuid, because the 6.5.0 version was called 6.5.ebuild and this one 6.5.4.ebuild ? Any experiences of other programs using opencascade?
On my other machine (x86) it did build fine as well, but same symbol error. I did make a reboot before emerging freecad and it did build fine without the symlink hack. The reason probably is /etc/env.d/50opencascade so I think the opencascade ebuild is fine. How to cope with the freecad-0.12 incompatibility?
Thanks for your bug reporting. I've tried this version opencascade with freecad from it's latest version, and it's working fine for me. Maybe you haven't call env-update after emerging opencascade? I'll try to fix it. As of freecad 0.12 - it's quite possible that the latest version of opecascade would be incopatible with older freecad. There are many code changes within every occ version, on my example - even in upgrade between 6.5.3->6.5.4 there was many compile errors in app that depends on occ. I'll look on this, but I cannot guarantee that it would be working.
I haven't done a env-update. If opencascade would be installed as a dependency there wouldn't be a env-update either. I would have thought it's the freecad ebuild to blame, because it didn't load the new values. I havent found any references to running env-update from an ebuild, but there are numerous "elog"s and "ewarn"s for the user to run it. Maybe it just needs a manual step?
That explains why it won't worked for the latest FreeCAD ebuild. Unfortunately I wasn't succeeded in building freecad from ebuild currently available in portage. So the occ update will probably be connected with updating freecad. I will ask&search for solution with manually calling env-update.
dev-python/pythonocc-0.5 from the science overlay depends on version sci-libs/opencascade-6.3.0. https://github.com/tpaviot/pythonocc/issues/60
I'm working on a slotted installation w/ eselect for the right environment.
+*opencascade-6.5.4 (26 Apr 2013) +*opencascade-6.5.0 (26 Apr 2013) + + 26 Apr 2013; Michael Weber <xmw@gentoo.org> +opencascade-6.5.0.ebuild, + +opencascade-6.5.4.ebuild, +files/opencascade-6.5.4-fixed-DESTDIR.patch, + +files/opencascade-6.5.4-tcl8.6.patch, metadata.xml: + Taking maint, version bumps (thanks Sławek Lis, bug 438466, thanks + Jimmy.Jazz@gmx.net, bug 451406). No keywords, needs further testing of slots + etc. +
Created attachment 346784 [details] opencascade-6.5.5.ebuild Updates and cleanups
Created attachment 346786 [details] opencascade-6.5.5-automake-1.13.patch Patch for automake-1.13 compilation
Comment on attachment 346786 [details] opencascade-6.5.5-automake-1.13.patch This has been addressed in the current ebuilds.
Comment on attachment 346784 [details] opencascade-6.5.5.ebuild please submit patches against the current in-tree version. I decided not to follow the previous method of env file preparation.
Please take a look at this patch. Also, IMHO, including env file generation in ebuild directly isn't good idea. I would stick with something external, as it was previously. --- opencascade-6.5.5.ebuild 2013-06-24 08:29:32.480384707 +0200 +++ opencascade-6.6.0.ebuild 2013-06-18 13:00:05.178202439 +0200 @@ -8,9 +8,9 @@ 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" +SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/OpenCASCADE$(delete_all_version_separators).tgz" -LICENSE="Open-CASCADE-Technology-Public-License-6.5" +LICENSE="Open-CASCADE-Technology-Public-License-6.6" SLOT="${PV}" KEYWORDS="~amd64 ~x86" IUSE="debug doc examples freeimage gl2ps java qt4 +tbb" @@ -29,7 +29,7 @@ gl2ps? ( x11-libs/gl2ps ) java? ( >=virtual/jdk-0 ) tbb? ( dev-cpp/tbb )" -RDEPEND="${DEPEND}" +RDEPEND=${DEPEND} S=${WORKDIR}/ros @@ -49,9 +49,8 @@ java-pkg-opt-2_src_prepare epatch \ - "${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 + "${FILESDIR}"/${PN}-6.6.0-fixed-DESTDIR.patch \ + "${FILESDIR}"/${PN}-6.6.0-fixed-tbb-VERSION.patch # Feed environment variables used by Opencascade compilation my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros @@ -112,7 +111,7 @@ -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 + -i configure.ac || die eautoreconf } @@ -130,7 +129,6 @@ $(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() { @@ -147,7 +145,7 @@ insinto /etc/env.d/${PN} newins 50${PN} ${PV} - cd "${WORKDIR}" + cd "${WORKDIR}/ros" if use examples ; then insinto /usr/share/doc/${PF}/examples doins -r data @@ -159,12 +157,3 @@ 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 -}
+*opencascade-6.6.0 (24 Jun 2013) + + 24 Jun 2013; Michael Weber <xmw@gentoo.org> + +files/opencascade-6.6.0-fixed-DESTDIR.patch, +opencascade-6.6.0.ebuild, + files/opencascade-6.5.4-fixed-DESTDIR.patch, + files/opencascade-6.5.4-fixed-tbb-VERSION.patch: + Version bump (bug 438466) +