diff options
author | Oliver Borm (boroli) <oli.borm@web.de> | 2010-03-18 20:55:45 +0100 |
---|---|---|
committer | Oliver Borm (boroli) <oli.borm@web.de> | 2010-03-18 20:55:45 +0100 |
commit | c4124aa6687ce12b06b2d2a29663c76da7d6aeb5 (patch) | |
tree | 3509d88dc19c31081d02e11bc09c4ab3de6e433c /sci-libs/opencascade | |
parent | Fixing final QA issue on sci-mathematics/Macaulay2 (diff) | |
download | sci-c4124aa6687ce12b06b2d2a29663c76da7d6aeb5.tar.gz sci-c4124aa6687ce12b06b2d2a29663c76da7d6aeb5.tar.bz2 sci-c4124aa6687ce12b06b2d2a29663c76da7d6aeb5.zip |
New version with additional USE-flag source
Diffstat (limited to 'sci-libs/opencascade')
-rw-r--r-- | sci-libs/opencascade/ChangeLog | 7 | ||||
-rw-r--r-- | sci-libs/opencascade/Manifest | 4 | ||||
-rw-r--r-- | sci-libs/opencascade/opencascade-6.3-r2.ebuild | 219 |
3 files changed, 229 insertions, 1 deletions
diff --git a/sci-libs/opencascade/ChangeLog b/sci-libs/opencascade/ChangeLog index de76734b1..ff51a1947 100644 --- a/sci-libs/opencascade/ChangeLog +++ b/sci-libs/opencascade/ChangeLog @@ -2,6 +2,13 @@ # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*opencascade-6.3-r2 (18 Mar 2010) + + 18 Mar 2010; Oliver Borm (boroli) <oli.borm@web.de> + +opencascade-6.3-r2.ebuild: + New version with additional USE-flag source; Changed the paths in + 50opencascade a lttle bit + 16 Mar 2010; Oliver Borm (boroli) <oli.borm@web.de> opencascade-6.3-r1.ebuild: Changed all installation paths to ${INSTALL_DIR}; Added examples USE-flag diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest index f8109b9b7..f653c285e 100644 --- a/sci-libs/opencascade/Manifest +++ b/sci-libs/opencascade/Manifest @@ -2,6 +2,8 @@ AUX env.ksh.template 1412 RMD160 aaf7c74e1aef841d669cf44c279e747cb336fd2b SHA1 e AUX opencascade-6.3-fixed-DESTDIR.patch 16811 RMD160 4cecc900ec5b3835f7d6f9b14e6655e82d496d1a SHA1 298df55796e208aee3e04798d69b5079b1ea8fce SHA256 84743f54bb8b8b9568b5a32b5af0384efe746d20500972c66050c3a1d5ebe814 AUX opencascade-6.3-missing-mode.patch 625 RMD160 a2c7b729a121c4b25aaa7f1ee3e42020af5b58f8 SHA1 b3b95a8a93a2f14513ce8222f0e3a695e9c513b5 SHA256 4aa7338175c7b2dbbcb12eef72c61eb55ade58ad2c698c94ae16e1bc4b451e0a DIST OpenCASCADE_src.tgz 105877329 RMD160 b71f1b9a57d9624d2f079d4f7a8090f700c6126f SHA1 21a177fae5fa73263517aedbe60a4ee4926156f2 SHA256 1f1fc8d8be1d4ff6fe8df1059f856eec156385887880f3f69d147824957c2411 +DIST opencascade-6.3.tgz 105877329 RMD160 b71f1b9a57d9624d2f079d4f7a8090f700c6126f SHA1 21a177fae5fa73263517aedbe60a4ee4926156f2 SHA256 1f1fc8d8be1d4ff6fe8df1059f856eec156385887880f3f69d147824957c2411 EBUILD opencascade-6.3-r1.ebuild 6892 RMD160 5cbc764346b0deb30fccef3384c84841acd85347 SHA1 3ce21a0b1cdd26dcc61bb14f4ccc8a79af12ac19 SHA256 a96784b1ea99beeb1d937478f77e9ce675ca3656a59147c08368831b92a0f6bb -MISC ChangeLog 2568 RMD160 962a1c6ce2589a46abe9d2fbcb326b9a9a2e44cd SHA1 c7a55669fe54207f4fe917a005d33dc37848400d SHA256 7fff57c25635c2449571d02b3c7f00717e6e9f4c1974a091bac735acbf0e6345 +EBUILD opencascade-6.3-r2.ebuild 6950 RMD160 d4684853c8aa2fdc931686403cdb58ed2f7d73fc SHA1 30e90f8ce2520281357ab4250109a8f8c405052a SHA256 bc659caec6945fbfcce03f85c40272e09b7436876c2ff143661189c036841724 +MISC ChangeLog 2784 RMD160 7960f38c7a9cdb42c7f7868a0a564f84f4a25959 SHA1 68368745c63c78d9f86d633cecd040064298b29c SHA256 859e95e3c072e705bea97ff02ca43dddc4c3b7ae22e41d7448fac9f5b0189884 MISC metadata.xml 232 RMD160 1feb28c8cb12774e88680282a51435f7b17c9f9d SHA1 bfd350e21f306acd5a0e8878bcf5a768e87d5a4c SHA256 715678a1b891ca00fa94cd82e694532b2a47a06a0debddc15a8be907006235b0 diff --git a/sci-libs/opencascade/opencascade-6.3-r2.ebuild b/sci-libs/opencascade/opencascade-6.3-r2.ebuild new file mode 100644 index 000000000..9b1d4dd16 --- /dev/null +++ b/sci-libs/opencascade/opencascade-6.3-r2.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit autotools eutils flag-o-matic check-reqs java-pkg-opt-2 multilib toolchain-funcs 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/OCC_${PV}_release/OpenCASCADE_src.tgz -> ${P}.tgz" + +LICENSE="Open-CASCADE-Technology-Public-License" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug doc examples java opengl source stlport X" +DEPEND="java? ( virtual/jdk ) + opengl? ( virtual/opengl + virtual/glu ) + X? ( x11-libs/libXmu + app-text/dgs ) + >=dev-lang/tcl-8.4 + >=dev-lang/tk-8.4 + >=dev-tcltk/itcl-3.2 + >=dev-tcltk/itk-3.2 + x86? ( >=dev-tcltk/tix-8.1 ) + amd64? ( >=dev-tcltk/tix-8.4.2 ) + stlport? ( dev-libs/STLport )" +RDEPEND=${DEPEND} + +S=${WORKDIR}/OpenCASCADE${PV}.0/ros +INSTALL_DIR=/opt/${P}/ros + +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/') + + ewarn + ewarn " It is important to note that OpenCascade is a very large package. " + 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. " + ewarn + + # Check if we have enough RAM and free diskspace to build this beast + CHECKREQS_MEMORY="256" + CHECKREQS_DISK_BUILD="3584" + check_reqs +} + +src_prepare() { + # Substitute with our ready-made env.ksh script + cp -f "${FILESDIR}"/env.ksh.template "${S}"/env.ksh || die "Cannot copy env.ksh.template" + + # 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.ksh \ + || die "Environment variables feed in env.ksh 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.ksh \ + || die "itk, itcl, tix, tk and tcl version tweaking failed!" + + # epatch "${FILESDIR}"/${P}-Makefile.am.patch + epatch "${FILESDIR}"/${P}-fixed-DESTDIR.patch + epatch "${FILESDIR}"/${P}-missing-mode.patch + + chmod u+x configure + + # Autotools version update + source env.ksh + eaclocal || die "eaclocal failed" + eautoheader || die "eautoheader failed" + eautomake -a -c -f + _elibtoolize --force --copy || die "elibtoolize failed" + eautoconf || die "eautoconf failed" +} + +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)" + + if use X ; then + confargs="${confargs} --with-dps-include=/usr/include --with-dps-library=/usr/$(get_libdir)" + confargs="${confargs} --with-xmu-include=/usr/include --with-xmu-library=/usr/$(get_libdir)" + if use !opengl; then + ewarn "Activate OpenGL if you want to be able to visualize geometry. Set "opengl" USE flag." + else + confargs="${confargs} --with-gl-include=/usr/include --with-gl-library=/usr/$(get_libdir)" + fi + else + if use opengl; then + die "OpenGL imply X support! Add "X" USE flag." + else + ewarn "Activate X and OpenGL if you want to be able to visualize geometry. Set "X" and "opengl" USE flags." + fi + fi + + if use java ; then + local java_path + java_path=`java-config -O` + confargs="${confargs} --with-java-include=${java_path}/include" + else + ewarn "Java wrapping is not going to be compiled. USE flag: "java"" + fi + + # NOTES: To clearly state --with-stlport-include and --with-stlport-library cause troubles. I don't know why.... + if use stlport ; then + confargs="${confargs} --with-stlport-libname=stlport_gcc" + #confargs="${confargs} --with-stlport-include=/usr/include --with-stlport-library=/usr/$(get_libdir)" + fi + + # Compiler and linker flags + if use amd64 ; then + append-flags -m64 + fi + append-ldflags -lpthread + + econf ${confargs} \ + $(use_with X x ) \ + $(use_enable debug ) \ + $(use_enable !debug production ) \ + || die "Configuration failed" +} + +src_install() { + rm *~ + emake DESTDIR="${D}" install || die "Installation failed" + + # Symlinks for keeping original OpenCascade folder structure and + # add a link lib to lib64 in ros/Linux if we are on amd64 + # dosym lin ${INSTALL_DIR}/Linux + + if use amd64 ; then + mv "${D}""${INSTALL_DIR}"/lin/lib "${D}""${INSTALL_DIR}"/lin/lib64 + dosym lib64 ${INSTALL_DIR}/lin/lib + fi + + # Tweak the environment variables script + cp "${FILESDIR}"/env.ksh.template env.ksh + sed -i "s:VAR_CASROOT:${INSTALL_DIR}/lin:g" env.ksh + + # Build the env.d environment variables + cp "${FILESDIR}"/env.ksh.template 50${PN} + 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.ksh 50${PN} \ + || die "Tweaking of the Tcl/Tk libraries location in env.ksh and 50opencascade failed!" + + # Install the env.d variables file + doenvd 50${PN} + rm 50${PN} env.csh + + # Clean before copying everything + emake clean || die "emake clean failed" + + # Install folders + cd "${S}"/../ + + ## Do we really need this USE-flag? + if use source; then + #symlink for config.h + dosym ${INSTALL_DIR}/lin/config.h ${INSTALL_DIR}/inc/config.h + + insinto ${INSTALL_DIR}/../ + doins -r ros + fi + + if use examples; then + insinto /usr/share/doc/${PF}/examples + doins -r data + + insinto /usr/share/doc/${PF}/examples/samples + doins -r samples/tutorial + + if use java ; then + insinto /usr/share/doc/${PF}/examples/samples/standard + doins -r samples/standard/java + fi + fi + + # Install the documentation + if use doc; then + cd "${S}"/../doc + insinto /usr/share/doc/${PF} + doins -r {Overview,ReferenceDocumentation} || die "dodoc failed" + fi +} + +pkg_postinst() { + einfo "Open CASCADE ebuild needs further development. Please inform any problems or improvements in http://bugs.gentoo.org/show_bug.cgi?id=118656" +} |