diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-05-07 01:33:16 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-05-07 01:33:16 +0100 |
commit | c8fd0d84af0bfd1949542adc2cbb735b1d28f9ed (patch) | |
tree | 3ee550255947da075650f1a551dcc278f9a1b7f8 /sci-libs | |
parent | a978c074e4272bb901fbe4a10de0a7b2af574f17 (diff) |
gentoo resync : 07.05.2021
Diffstat (limited to 'sci-libs')
21 files changed, 1065 insertions, 22 deletions
diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz Binary files differindex 71384d36696d..a5b0c8a0d985 100644 --- a/sci-libs/Manifest.gz +++ b/sci-libs/Manifest.gz diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest index f88dbb3a7ea1..512611200bdd 100644 --- a/sci-libs/gdal/Manifest +++ b/sci-libs/gdal/Manifest @@ -3,6 +3,8 @@ AUX gdal-2.3.0-curl.patch 323 BLAKE2B 19a89ac9ffed5716fe2c26234233045022a3bc262d AUX gdal-3.2.1-libdir.patch 20206 BLAKE2B 1b8c737246b25e8ea56855ec8cd41dc8bcc3ee575b02a6f13bd18dc062037e8f63848763fcb9a065c83d26ed510e341ee5ac9315d9b4c78ca3bb3a76f0098539 SHA512 da49eb9b42cd298b870afce6312e46ea81a41ffea7598b4cae579c846301b0179a7236ee6677fa7a2ff3c2da28eeb519d634667de973cf001f3ea8a08d4cebad DIST gdal-3.2.1.tar.gz 18953600 BLAKE2B b47994849bcf6bc2b2f53daabb85ef99cdc9ce2a06134bc591652bf7e5304d503701d2b07cae520ca71ad6238dd0b073d2034743e59b072fc5eb50c13bc143e6 SHA512 152dd97464a8242ea1da7a3a215b1d3326bab5aa4b0884fcab6880da460577c80075f87ea7b9513d796e899e98b40701c0b6a63f1e5275607905480ec547e688 DIST gdal-3.2.2.tar.gz 18959415 BLAKE2B 001347ee12c72fe4d9cfa27adb427624f80e5b16eeca01510166e3d74c36eb00da72c27d8582ccda124151143561c29b8e59dc3dd800c474b77991417b33acd1 SHA512 d7ff8773d3f1cb894fce89f56a3d4355769f1113eefb1367a3a543ced750e2c42618a4a1deef3a338ddd4d33b7332ae962b2d793f8c0b97e31ed4b84cb2df2d5 +DIST gdal-3.2.3.tar.gz 18970990 BLAKE2B 9f2ac15b7e9d2df0393d15734030ec4777579aa01fcf2700958228b24fd50d574f3bd438c03e767549614a699c362b31f38cbb0f32ceb8056c9b55fab11ecfec SHA512 985a058a53f676f7d49a96d1a48d4f93c5da8548012bf81345afde03d8044022b210484290bca70c3d7a1ef3b0087d9e17c636b5badd1e0816c1f59b1bf21ee8 EBUILD gdal-3.2.1-r1.ebuild 7498 BLAKE2B 9b79a2d74a5bfec4c52c655ab1dc1778add39a315855b6507f3d11ae43056c5530735cc56dc23b65f24fd591291f446f56ad78932691356637832194013b8204 SHA512 aa7ec568bd7c061cfc0e37030912b5ac2e4121ecb331953f03bd58c135d10dcc7bf24ecaa0a77c4597a1813e1feb0ed589657eab22363d04ca15bd0009921612 EBUILD gdal-3.2.2.ebuild 7723 BLAKE2B 1223e7a57447dc0e948abe14863417b3dc4fbd3154b8e6b34e1eb9fa1a0adc3f2e5cd26e60f0333a19a456907f270baeab5b5c971d47b3be63626c55fa1122dd SHA512 502b3419bd6b3046733036cbe23d5b6aa277c32539c2a8819cb6b6b8a907cffa91eff81cdb75dfe7dfb5465871be4b49db8c7e631520689677c351933bf2b606 +EBUILD gdal-3.2.3.ebuild 7728 BLAKE2B 781ae5b6c49720232778e17c4f8e814961d4d14d3694cef31f19ab2d2b775fe376459aadc5e2dbb0bafda3ab31e99d667ee2805401ca28af03cdc610c477ad59 SHA512 d615affabf2762783d899264863297b5bae4e10956bdbb297f4aa0102298babbae0ab9400c0cecae1fd017f36787ce29b70d357e8ee3d6b471216291fb60a904 MISC metadata.xml 1495 BLAKE2B 3d9f0cc3e5169eab7ff2c59b61d9fa5b4f8edf683f6e1447c40b1b0e8d81834e2d9fc13c68979c51a710f5aca5c9cd9a1f45a13c4e4ad0ded7a0fcdc1751d54b SHA512 cd0820bd5df06ccfb6315ab4586e49f72396115d08f318038dc3af2380a1896128ccf0ba46de0cc370546f7313907844907d6d75cc705a74bf4c78d0121afc3d diff --git a/sci-libs/gdal/gdal-3.2.3.ebuild b/sci-libs/gdal/gdal-3.2.3.ebuild new file mode 100644 index 000000000000..8f640dc7591f --- /dev/null +++ b/sci-libs/gdal/gdal-3.2.3.ebuild @@ -0,0 +1,316 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +GENTOO_DEPEND_ON_PERL="no" +PYTHON_COMPAT=( python3_{7,8,9} ) +DISTUTILS_OPTIONAL=1 +inherit autotools bash-completion-r1 distutils-r1 flag-o-matic java-pkg-opt-2 perl-module toolchain-funcs + +DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)" +HOMEPAGE="https://gdal.org/" +SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.gz" + +SLOT="0/3.2" +LICENSE="BSD Info-ZIP MIT" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="armadillo +aux-xml curl cpu_flags_x86_avx cpu_flags_x86_sse cpu_flags_x86_ssse3 debug doc fits geos gif gml hdf5 java jpeg jpeg2k lzma mdb mysql netcdf odbc ogdi opencl oracle pdf perl png postgres python spatialite sqlite threads webp xls zstd" + +REQUIRED_USE=" + mdb? ( java ) + python? ( ${PYTHON_REQUIRED_USE} ) + spatialite? ( sqlite ) +" + +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen ) + java? ( + dev-java/ant-core + dev-lang/swig:0 + >=virtual/jdk-1.8:* + ) + perl? ( dev-lang/swig:0 ) + python? ( + dev-lang/swig:0 + dev-python/setuptools[${PYTHON_USEDEP}] + ) +" +DEPEND=" + dev-libs/expat + dev-libs/json-c:= + dev-libs/libpcre + dev-libs/libxml2:2 + dev-libs/openssl:= + media-libs/tiff + >=sci-libs/libgeotiff-1.5.1-r1:= + >=sci-libs/proj-6.0.0:= + sys-libs/zlib[minizip(+)] + armadillo? ( sci-libs/armadillo:=[lapack] ) + curl? ( net-misc/curl ) + fits? ( sci-libs/cfitsio:= ) + geos? ( >=sci-libs/geos-3.8.0 ) + gif? ( media-libs/giflib:= ) + gml? ( >=dev-libs/xerces-c-3.1 ) + hdf5? ( >=sci-libs/hdf5-1.6.4:=[szip] ) + jpeg? ( virtual/jpeg:0= ) + jpeg2k? ( media-libs/openjpeg:2= ) + lzma? ( || ( + app-arch/xz-utils + app-arch/lzma + ) ) + mdb? ( dev-java/jackcess:1 ) + mysql? ( virtual/mysql ) + netcdf? ( sci-libs/netcdf:= ) + odbc? ( dev-db/unixODBC ) + ogdi? ( sci-libs/ogdi ) + opencl? ( virtual/opencl ) + oracle? ( dev-db/oracle-instantclient:= ) + pdf? ( app-text/poppler:= ) + perl? ( dev-lang/perl:= ) + png? ( media-libs/libpng:0= ) + postgres? ( >=dev-db/postgresql-8.4:= ) + python? ( + ${PYTHON_DEPS} + dev-python/numpy[${PYTHON_USEDEP}] + ) + spatialite? ( dev-db/spatialite ) + sqlite? ( dev-db/sqlite:3 ) + webp? ( media-libs/libwebp:= ) + xls? ( dev-libs/freexl ) + zstd? ( app-arch/zstd:= ) +" +RDEPEND="${DEPEND} + java? ( >=virtual/jre-1.8:* ) +" + +PATCHES=( + "${FILESDIR}/${PN}-2.2.3-soname.patch" + "${FILESDIR}/${PN}-2.3.0-curl.patch" # bug 659840 + "${FILESDIR}/${PN}-3.2.1-libdir.patch" +) + +src_prepare() { + default + + # Drop a --prefix hack in the upstream build system + # We don't want the line at all, so let's just drop it rather than + # trying to put in the right libdir value. + # bug #696106 + sed -e '/\$ADD_PREFIX\/lib/d' \ + -i configure.ac || die + + sed -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \ + -i configure.ac || die + + sed -e 's:^ar:$(AR):g' \ + -i ogr/ogrsf_frmts/sdts/install-libs.sh || die + + # SWIG: Use of the include path to find the input file is deprecated and will not work with ccache. + sed -e "s: gdal_array.i: ../include/gdal_array.i:" \ + -i swig/python/GNUmakefile || die "sed python makefile failed" + + # autoconf 2.70+ + # bug #775209 + config_rpath_update . + + eautoreconf +} + +src_configure() { + local myconf=( + # charls - not packaged in Gentoo ebuild repository + # kakadu, mrsid jp2mrsid - another jpeg2k stuff, ignore + # bsb - legal issues + # ingres - same story as oracle oci + # jasper - disabled because unmaintained and vulnerable; openjpeg will be used as JPEG-2000 provider instead + # podofo - we use poppler instead they are exclusive for each other + # tiff is a hard dep + --includedir="${EPREFIX}"/usr/include/${PN} + --disable-lto + --disable-static + --disable-driver-bsb + --disable-driver-mrf + --disable-pdf-plugin + --enable-shared + --enable-driver-grib + --with-bash-completion="$(get_bashcompdir)" + --with-cpp14 + --with-crypto + --with-cryptopp=no + --with-expat + --with-geotiff + --with-gnm + --with-hide-internal-symbols + --with-libjson-c="${EPREFIX}"/usr + --with-libtiff + --with-libtool + --with-libz="${EPREFIX}"/usr + --without-charls + --without-dods-root + --without-ecw + --without-epsilon + --without-fgdb + --without-fme + --without-gta + --without-grass + --without-hdf4 + --without-idb + --without-ingres + --without-jasper + --without-jp2lura + --without-jp2mrsid + --without-kakadu + --without-kea + --without-libkml + --without-mongocxx + --without-mrsid + --without-mrsid_lidar + --without-msg + --without-rasdaman + --without-rasterlite2 + --without-pcraster + --without-pdfium + --without-perl + --without-podofo + --without-python + --without-qhull + --without-sfcgal + --without-sosi + --without-teigha + $(use_enable debug) + $(use_with armadillo) + $(use_with aux-xml pam) + $(use_with curl) + $(use_with cpu_flags_x86_avx avx) + $(use_with cpu_flags_x86_sse sse) + $(use_with cpu_flags_x86_ssse3 ssse3) + $(use_with fits cfitsio) + $(use_with geos) + $(use_with gif) + $(use_with gml xerces) + $(use_with hdf5) + $(use_with jpeg pcidsk) # pcidsk is internal, because there is no such library released developer by gdal + $(use_with jpeg) + $(use_with jpeg2k openjpeg) + $(use_with lzma liblzma) + $(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config) + $(use_with netcdf) + $(use_with oracle oci) + $(use_with odbc) + $(use_with ogdi ogdi "${EPREFIX}"/usr) + $(use_with opencl) + $(use_with pdf poppler) + $(use_with png) + $(use_with postgres pg) + $(use_with spatialite) + $(use_with sqlite sqlite3 "${EPREFIX}"/usr) + $(use_with threads) + $(use_with webp) + $(use_with xls freexl) + $(use_with zstd) + ) + + tc-export AR RANLIB + + if use java; then + myconf+=( + --with-java=$(java-config --jdk-home 2>/dev/null) + --with-jvm-lib=dlopen + $(use_with mdb) + ) + else + myconf+=( --without-java --without-mdb ) + fi + + if use sqlite; then + append-libs -lsqlite3 + fi + + # bug #632660 + if use ogdi; then + append-cflags $($(tc-getPKG_CONFIG) --cflags libtirpc) + append-cxxflags $($(tc-getPKG_CONFIG) --cflags libtirpc) + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # mysql-config puts this in (and boy is it a PITA to get it out) + if use mysql; then + sed -e "s: -rdynamic : :" \ + -i GDALmake.opt || die "sed LIBS failed" + fi +} + +src_compile() { + if use perl; then + rm "${S}"/swig/perl/*_wrap.cpp || die + emake -C "${S}"/swig/perl generate + fi + + # gdal-config needed before generating Python bindings + default + + if use java; then + pushd "${S}"/swig/java > /dev/null || die + emake + popd > /dev/null || die + fi + + if use perl; then + pushd "${S}"/swig/perl > /dev/null || die + perl-module_src_configure + perl-module_src_compile + popd > /dev/null || die + fi + + if use python; then + rm -f "${S}"/swig/python/*_wrap.cpp || die + emake -C "${S}"/swig/python generate + pushd "${S}"/swig/python > /dev/null || die + distutils-r1_src_compile + popd > /dev/null || die + fi + + use doc && emake docs +} + +src_install() { + local DOCS=( NEWS ) + use doc && local HTML_DOCS=( html/. ) + + default + + use java && java-pkg_dojar "${S}"/swig/java/gdal.jar + + if use perl; then + pushd "${S}"/swig/perl > /dev/null || die + myinst=( DESTDIR="${D}" ) + perl-module_src_install + popd > /dev/null || die + perl_delete_localpod + fi + + if use python; then + # Don't clash with gdal's docs + unset DOCS HTML_DOCS + + pushd "${S}"/swig/python > /dev/null || die + distutils-r1_src_install + popd > /dev/null || die + + newdoc swig/python/README.rst README-python.rst + + insinto /usr/share/${PN}/samples + doins -r swig/python/samples/. + fi + + doman "${S}"/man/man*/* + find "${ED}" -name '*.la' -type f -delete || die +} + +pkg_postinst() { + elog "Check available image and data formats after building with" + elog "gdalinfo and ogrinfo (using the --formats switch)." +} diff --git a/sci-libs/libqalculate/Manifest b/sci-libs/libqalculate/Manifest index 3752f840291a..a12b16166638 100644 --- a/sci-libs/libqalculate/Manifest +++ b/sci-libs/libqalculate/Manifest @@ -1,5 +1,5 @@ -DIST libqalculate-3.16.1.tar.gz 1756176 BLAKE2B b09e06a4d89249bb3e38a47ed47acc7598bc62e966673a1eb175641b1018021199dbbcd38266301ec8b2d3c55747378adfde3db4e25e58771be162905cb493dc SHA512 3cc7ba66493252015b9d33835188c236b10afdce5f23021a5e686609609265aed81d592815ee6a172c269a0f144a3203c954435fea8ddb82637453d5c98cd05a DIST libqalculate-3.17.0.tar.gz 1770500 BLAKE2B 247c74db32e63437c556dd60f00f56acf53d9ba90ea1027b34b98b455215e6c03e3ee34116b6d3989fa43b449e18b6f2ebaed67f9dff36f08dd8b38c685c6586 SHA512 b204dc44b6fdb2b72d3c85840fee38482db071f0f8241420ea24093dcdcc377c66f516c571827fbede40237618a53153a75bb7afee7f3bee7a1a71aedd779a11 -EBUILD libqalculate-3.16.1.ebuild 1424 BLAKE2B dff87b194a2a34a0711c7b0b8f50d7e46f57b90869a2706d8aa7991440b56db8c92e54eb6265dfd4edf5086a058d53be87e3c0d1c553e13b9c2d27682efb707a SHA512 dc38abad377639192c9f276a1cf86847463b1ffe5fc35aef15b4d5d6e68f46af6dd6950f8127b1c091ce649dc5dd8fc6010333532ff493344727dd11e726b469 +DIST libqalculate-3.18.0.tar.gz 1788899 BLAKE2B 7701dab4d11c9d54f95454cd7be530cfa9f5a8dbe438dac6d734c294ce1eb5be1f4fdb30ef6d041d19f389df88dce4fa7dea68d555ad441992498685bfb3b919 SHA512 37d870f6fd147745747ac971758a512e85e33c42605b99ac4ba68b53ca42a6f0da7ede3869fe3ea4e47d77961e826ad999e0f0c0d87039042563f124bea1250e EBUILD libqalculate-3.17.0.ebuild 1424 BLAKE2B dff87b194a2a34a0711c7b0b8f50d7e46f57b90869a2706d8aa7991440b56db8c92e54eb6265dfd4edf5086a058d53be87e3c0d1c553e13b9c2d27682efb707a SHA512 dc38abad377639192c9f276a1cf86847463b1ffe5fc35aef15b4d5d6e68f46af6dd6950f8127b1c091ce649dc5dd8fc6010333532ff493344727dd11e726b469 +EBUILD libqalculate-3.18.0.ebuild 1430 BLAKE2B 5ad7454423b04634dba7f119e0626a16b0a1eb84b5652293ce60a2f42c6c89faddd599deb68ee8ccdd1efaebb49f492b960762d6b298057a94a4f30e062f06f5 SHA512 fa4967817bd224a292a93ff1b0c698180f9de41fc374c1c6f9dab2654f5705d21435d8fd49a1214cf47cc669106fa53f93b6c178846ed54e2cc2d7a393aa206f MISC metadata.xml 412 BLAKE2B bec97c9946830a88d871c0a27f06ff42a2ed252971f616f43f4c0cfa9617ea46565153c41c2aabea921b694c6a665a097635fdcf5dd82387dc60445e14657427 SHA512 3e011ceae845d6f233e86f7d39eb4460f561720312d8a0696b87672251cf46138228ae678ab63459280dd36fda3f9f8f302d9259e49acd6606fe2e66126bffb9 diff --git a/sci-libs/libqalculate/libqalculate-3.16.1.ebuild b/sci-libs/libqalculate/libqalculate-3.18.0.ebuild index 35672fd3c7e3..94aa33f3f886 100644 --- a/sci-libs/libqalculate/libqalculate-3.16.1.ebuild +++ b/sci-libs/libqalculate/libqalculate-3.18.0.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz LICENSE="GPL-2" SLOT="0/21" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE="curl icu gnuplot readline" DEPEND=" diff --git a/sci-libs/matio/Manifest b/sci-libs/matio/Manifest index c7a36d9ebac7..3f2f081eb03d 100644 --- a/sci-libs/matio/Manifest +++ b/sci-libs/matio/Manifest @@ -1,3 +1,5 @@ DIST matio-1.5.19.tar.gz 10108869 BLAKE2B db641bda8d68e203af765aa83ecf661e011995e242c4f91aacb4bcc8ba2b545c36a3eec3f4954b3d7ecc286e630acd15b34ec48b372063bfb8b892259fc49ec7 SHA512 c087944a7d87d78a7de662d7e19f5f81c55858cf5bf315c28d5a0f7544555b0816045e20bb0c83752eb3d54b589d9237a27cf3de98e3ebefcc7ea0af9311740e +DIST matio-1.5.21.tar.gz 10110430 BLAKE2B 1c43d44e69b28eacd9cc672a393df6a55c4ea0e06334eace9058b45bb0bd1582d43cafd30ad121bad33ad29dda52d5259be8c38f6cbacdb05a47da3644dfb984 SHA512 b00bcad807e6a7e10afa656eb77a0e3e9fb08d9cecc3e94ba41ef91ce60367d6686e6d387a874bbb83eb2f895d4a97caac554a70e7f5f6f5cb750052702d411c EBUILD matio-1.5.19.ebuild 966 BLAKE2B 7bfd290e52e38a2805caad4580b1c5400c2c7ab9df3081347e82a5e055337808a408a16f7395b88d2c7a00cdbeb7cdfaa639bc29ef6b3140c3e74aaafb2ae7c7 SHA512 047f6456e2954383b004cabdf8c4e20684188714fc65e266ca4c9cdcc4375273db6d5e1ee059660a6059752e3d48c5c035d73f0fa6c28debd272c1fe5ae28834 +EBUILD matio-1.5.21.ebuild 966 BLAKE2B 7bfd290e52e38a2805caad4580b1c5400c2c7ab9df3081347e82a5e055337808a408a16f7395b88d2c7a00cdbeb7cdfaa639bc29ef6b3140c3e74aaafb2ae7c7 SHA512 047f6456e2954383b004cabdf8c4e20684188714fc65e266ca4c9cdcc4375273db6d5e1ee059660a6059752e3d48c5c035d73f0fa6c28debd272c1fe5ae28834 MISC metadata.xml 591 BLAKE2B f3e23baf2a3e7bd304987be8296034faf78988c95b4d9fbb9eedc7e8cc6efa0c1479a4ed48ecc10d9b0aee6c92603f4436e8d6b34811b227e86a5f822f47adf3 SHA512 d6f20bbc3bff29f3d163909acb1aa6f3cc6557c5717c3ee9771ef17fbd14fe17836f26c2b2dc4defb4223cdeb5b978ef13c4d4a294a1ac11f0559e2518d58009 diff --git a/sci-libs/matio/matio-1.5.21.ebuild b/sci-libs/matio/matio-1.5.21.ebuild new file mode 100644 index 000000000000..adb63f7b65e3 --- /dev/null +++ b/sci-libs/matio/matio-1.5.21.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Library for reading and writing matlab files" +HOMEPAGE="https://sourceforge.net/projects/matio/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0/11" # subslot = soname version +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc examples hdf5 sparse" + +RDEPEND=" + sys-libs/zlib + hdf5? ( sci-libs/hdf5:= )" +DEPEND="${RDEPEND}" +BDEPEND="doc? ( virtual/latex-base )" + +src_configure() { + econf \ + --disable-static \ + $(use_enable hdf5 mat73) \ + $(use_enable sparse extended-sparse) +} + +src_compile() { + default + use doc && emake -C documentation pdf +} + +src_install() { + default + use doc && dodoc documentation/matio_user_guide.pdf + + if use examples; then + docinto examples + dodoc test/test*.c + insinto /usr/share/${PN} + doins share/test* + fi + + # no static archives + find "${ED}" -name "*.la" -delete || die +} diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest index ad0584916b0f..f3cfdc4f20f2 100644 --- a/sci-libs/openblas/Manifest +++ b/sci-libs/openblas/Manifest @@ -5,7 +5,9 @@ AUX shared-blas-lapack.patch 5557 BLAKE2B 1e41b18e5a9c12eec9283c835e9b09e4ca89c6 DIST openblas-0.3.12.tar.gz 12325103 BLAKE2B 3d6706e59e83f87dd58b287753bf697de99e83c8a4484453f120d8f8c9c69ea5b481a143db04342a1dcb1779ce548a49618cf4941d08d636e12ed481305e8fb5 SHA512 1ff5a065c41f7e460857f8428fc77900b189f051fa8129eea9ae93237f234d387cc1c6e627c2c95636164f512d4d721d4229729f04a04e8d5f655abbf5463d98 DIST openblas-0.3.13.tar.gz 12437434 BLAKE2B d8f9d3296506c6148cd506278f0b6a2a4fe50975a7fd3f54108e98e88a13002b1035f5697322ba73df7c6397faee6d0772c1d4d46b66db8e862f17b980dbdf97 SHA512 86e7f496587cc35d7feede99cbe3cf627ef690dd7489bb03b95f7d15ed758e32baf17d79f17b1de187184394233f60a8249a64dd53c3d59a9540db92269b7ee4 DIST openblas-0.3.14.tar.gz 12460465 BLAKE2B 9505ff6e132581ecc86159fb84192c6bbce0f2974293eaf1b4aca6b96b5da85823bfc1bced65a96930674fd4781ea3e375aed09cbdc9930cef26694c9f8e1c80 SHA512 c7d5947ada525a32bc6e97ff94272df9730fa5fb06102e06e80472baedc1a9119d82050cdaede192db15f816ae7143784d7801b61b64fab5b5cf97cdbd5e625e +DIST openblas-0.3.15.tar.gz 12498434 BLAKE2B acf3d15e002686bcd84323616387dcf540b58d57392a4862cb556da58d873a8c40783fc4fdae45170aeb204ede3451843c44e3f5e264f76c9a7486b30b3f4cc7 SHA512 c07964ead5ffe9cf088364697bfe5cb409170663e420bdcd08a6366a028625d2a3c23ee4ddbaf0e625860a9fd08cbbb39f97eb985c366c052696d6f8598a844f EBUILD openblas-0.3.12-r1.ebuild 5733 BLAKE2B b272b29e82e16ba4a47e16e78d97e4049dec58fddee0cad16d963012ef6344772f3661751ae796b6f28247172edd94d5db2b1eb3d84e195ec617f447d02b1b15 SHA512 3794725cf6daedb442892fe8971303d6d6fde25f0d55aec63f2ce7c8c5ffdb2cf48640a96d6f2ca839590bd1de1321e382ec47c4545cecef8573b9030d5ed692 EBUILD openblas-0.3.13.ebuild 5734 BLAKE2B f2d4bde48b206c4d6e97029b617f0538978144b0e3e239cf79837bf6e1525dbe398a0d3af121368299752646217e3cd3e29c4f3d1e4e549fcb9ce9c1598c5f25 SHA512 846370655b16dbc45a518374e4c1714eb135a6fab2c36059c602ee4dc236b952eba54123e536a07b484d994a68f26b94ac740ef7f645083c0ccb855492195627 EBUILD openblas-0.3.14.ebuild 5733 BLAKE2B b272b29e82e16ba4a47e16e78d97e4049dec58fddee0cad16d963012ef6344772f3661751ae796b6f28247172edd94d5db2b1eb3d84e195ec617f447d02b1b15 SHA512 3794725cf6daedb442892fe8971303d6d6fde25f0d55aec63f2ce7c8c5ffdb2cf48640a96d6f2ca839590bd1de1321e382ec47c4545cecef8573b9030d5ed692 +EBUILD openblas-0.3.15.ebuild 5734 BLAKE2B f2d4bde48b206c4d6e97029b617f0538978144b0e3e239cf79837bf6e1525dbe398a0d3af121368299752646217e3cd3e29c4f3d1e4e549fcb9ce9c1598c5f25 SHA512 846370655b16dbc45a518374e4c1714eb135a6fab2c36059c602ee4dc236b952eba54123e536a07b484d994a68f26b94ac740ef7f645083c0ccb855492195627 MISC metadata.xml 1560 BLAKE2B 1f49ef5d206bfe68783b2d7f235e5fc651ac750f84403eac6519a2c69c4eb35a31f784c67fd8e4c9f8e9ecdea46e5b325ed0725b45654528d56fe6d30460a829 SHA512 e3113c317b18c389e8055ec16e61426abf6f088f796e75939e78789884e2084d038bad754b2424a68e79fe1b83509d00b93bcfd72c2e3530185c780861b47f1d diff --git a/sci-libs/openblas/openblas-0.3.15.ebuild b/sci-libs/openblas/openblas-0.3.15.ebuild new file mode 100644 index 000000000000..4566f928af81 --- /dev/null +++ b/sci-libs/openblas/openblas-0.3.15.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic fortran-2 toolchain-funcs + +DESCRIPTION="Optimized BLAS library based on GotoBLAS2" +HOMEPAGE="http://xianyi.github.com/OpenBLAS/" +SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}"/OpenBLAS-${PV} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="dynamic eselect-ldso index-64bit openmp pthread relapack test" +REQUIRED_USE="?? ( openmp pthread )" +RESTRICT="!test? ( test )" + +RDEPEND=" + eselect-ldso? ( + >=app-eselect/eselect-blas-0.2 + >=app-eselect/eselect-lapack-0.2 + ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-0.3.12-shared-blas-lapack.patch" + "${FILESDIR}/${PN}-0.3.10-dont-clobber-fflags.patch" +) + +pkg_pretend() { + elog "This software has a massive number of options that" + elog "are configurable and it is *impossible* for all of" + elog "those to fit inside any manageable ebuild." + elog "The Gentoo provided package has enough to build" + elog "a fully optimized library for your targeted CPU." + elog "You can set the CPU target using the environment" + elog "variable - OPENBLAS_TARGET or it will be detected" + elog "automatically from the target toolchain (supports" + elog "cross compilation toolchains)." + elog "You can control the maximum number of threads" + elog "using OPENBLAS_NTHREAD, default=64 and number of " + elog "parallel calls to allow before further calls wait" + elog "using OPENBLAS_NPARALLEL, default=8." +} + +pkg_setup() { + fortran-2_pkg_setup + + # List of most configurable options - Makefile.rule + + # https://github.com/xianyi/OpenBLAS/pull/2663 + tc-export CC FC LD AR AS RANLIB + + # HOSTCC is used for scripting + export HOSTCC=$(tc-getBUILD_CC) + + # threading options + use openmp && tc-check-openmp + USE_THREAD=0 + if use openmp; then + USE_THREAD=1; USE_OPENMP=1; + elif use pthread; then + USE_THREAD=1; USE_OPENMP=0; + fi + export USE_THREAD USE_OPENMP + + # We need to filter these while building the library, and not just + # while building the test suite. Will hopefully get fixed upstream: + # https://github.com/xianyi/OpenBLAS/issues/2657 + use test && filter-flags "-fbounds-check" "-fcheck=bounds" "-fcheck=all" + + # disable submake with -j and default optimization flags + # in Makefile.system + # Makefile.rule says to not modify COMMON_OPT/FCOMMON_OPT... + export MAKE_NB_JOBS=-1 \ + COMMON_OPT=" " \ + FCOMMON_OPT=" " + + # Target CPU ARCH options + # generally detected automatically from cross toolchain + use dynamic && \ + export DYNAMIC_ARCH=1 \ + NO_AFFINITY=1 \ + TARGET=GENERIC + + export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} \ + NUM_THREADS=${OPENBLAS_NTHREAD:-64} + + # setting OPENBLAS_TARGET to override auto detection + # in case the toolchain is not enough to detect + # https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt + if ! use dynamic && [[ ! -z "${OPENBLAS_TARGET}" ]] ; then + export TARGET="${OPENBLAS_TARGET}" + fi + + export NO_STATIC=1 + + BUILD_RELAPACK=1 + if ! use relapack; then + BUILD_RELAPACK=0 + fi + + export PREFIX="${EPREFIX}/usr" BUILD_RELAPACK +} + +src_prepare() { + default + + # Disable tests by default + sed -e "/^all ::/s/tests //" -i Makefile || die + + # if 64bit-index is needed, create second library + # with LIBPREFIX=libopenblas64 + if use index-64bit; then + cp -aL "${S}" "${S}-index-64bit" || die + fi +} + +src_compile() { + default + cd interface || die + emake shared-blas-lapack + + if use index-64bit; then + emake -C"${S}-index-64bit" \ + INTERFACE64=1 \ + LIBPREFIX=libopenblas64 + fi +} + +src_test() { + emake tests +} + +src_install() { + emake install DESTDIR="${D}" \ + OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \ + OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir) + + dodoc GotoBLAS_*.txt *.md Changelog.txt + + if use index-64bit; then + dolib.so "${S}-index-64bit"/libopenblas64*.so* + fi + + if use eselect-ldso; then + insinto /usr/$(get_libdir)/blas/openblas/ + doins interface/libblas.so.3 + dosym libblas.so.3 usr/$(get_libdir)/blas/openblas/libblas.so + doins interface/libcblas.so.3 + dosym libcblas.so.3 usr/$(get_libdir)/blas/openblas/libcblas.so + + insinto /usr/$(get_libdir)/lapack/openblas/ + doins interface/liblapack.so.3 + dosym liblapack.so.3 usr/$(get_libdir)/lapack/openblas/liblapack.so + doins interface/liblapacke.so.3 + dosym liblapacke.so.3 usr/$(get_libdir)/lapack/openblas/liblapacke.so + fi +} + +pkg_postinst() { + use eselect-ldso || return + local libdir=$(get_libdir) me="openblas" + + # check blas + eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me} + local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2) + if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then + eselect blas set ${libdir} ${me} + elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]." + else + elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]." + elog "To use blas [${me}] implementation, you have to issue (as root):" + elog "\t eselect blas set ${libdir} ${me}" + fi + + # check lapack + eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me} + local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2) + if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then + eselect lapack set ${libdir} ${me} + elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." + else + elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." + elog "To use lapack [${me}] implementation, you have to issue (as root):" + elog "\t eselect lapack set ${libdir} ${me}" + fi +} + +pkg_postrm() { + if use eselect-ldso; then + eselect blas validate + eselect lapack validate + fi +} diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest index cb3b1d30f995..ffd5ef735163 100644 --- a/sci-libs/opencascade/Manifest +++ b/sci-libs/opencascade/Manifest @@ -3,7 +3,16 @@ AUX opencascade-7.4.0-find-qt.patch 3349 BLAKE2B 6520b3242927c86c4958f81f8a94e89 AUX opencascade-7.4.0-fix-flow-control-nesting.patch 787 BLAKE2B 929674b6c804411934adbbbf31eba4dc6cd52e15cb9959982c1770244f1edbfc7ff94c832e7e20516f18ef8548488464e15ee1b5d3de70022e9bd1213272c143 SHA512 1ba3f8ab5d62d42d17adc72c371e1a2c0f3d8e996a3f1dfaec1e1a248504592a5ccc27a651640de24f3e47402d4129f77943f3df7117215eacf98f44fa8678ba AUX opencascade-7.4.0-fix-install.patch 7870 BLAKE2B 4842ad5123a06a53b81ca80e4152434ee6d78a9eb5436a7a9f899651fcdb45a6f403f31bd6e4225611c1085fb91eb7a5640e5bb3fd49b71295ad0868b8e018dd SHA512 5315e82bd03a8782df8c72bbfb334d9cf739dd53f3aa22649f087c1b8b7fa5f88f7a80850c1f2e0c9dffd80a77dd99fd36e9674463535cbf48b896596c24f38e AUX opencascade-7.4.0-fix-issue-with-cmake-path-variables.patch 1973 BLAKE2B cac9a795d91fc55de7fc6b3c9a7f1138b8d8320e1be6879d7de4e63132a0a4e729be2dafd281e64fd52f8e05790dcb8c41bed22b8bc159b32952ad7ef79aa9da SHA512 9dfac105d41775578b6ea51fc74cbf35f9627a10bdfb35f768c09d47d7d06b11d667f231653029d297d40c82444b82d50b3bcd7d3a4520989e416d83eaaaee5e -AUX opencascade-7.4.0.env.in 4611 BLAKE2B 3593cd4e05d33e466a975cf4641c56cd8e686310a148cc684591d3e08f8c4efd86e4df13500f11845e425b056b9c2c42f0f27a2a4d8cea524dc8fbb1c7dad703 SHA512 25f65e2b1e91fa78313334dab7d19b115bb7ff97ccefe7d18c45ab1817e12e10fdbe36babcb22e2a0d52bf7a0fbbdd2937523b773ddbb37635c1dd0d14de6253 +AUX opencascade-7.4.0.env.in 4570 BLAKE2B b8a3380e9e821a1560a9a48f566c648e43285fd7695f96e6b4b088271d6a07a4f9d3f7e259860e3b8d8f8f9af1b79ef521b3bd3b1571fd13fb8d2585b35e19ab SHA512 86180a15878e17322fc34a057d2ccb0a1c00af8b4aacc8f80aab3a8ac6b7025a8f1e125b86cc77948152eeac3b6bf786a2ee3622c37f702cd3bea62bb3d11fe6 +AUX opencascade-7.5.1-0001-allow-default-search-path-for-Qt5.patch 969 BLAKE2B 5a13b58f134e8e0670ec817308d95cc9028ac5fce3b243b8e09f191dbcdf15b1587ca8aef7a726b7d9199a708b3a949328d7fc04426e816ce6c05c74b310840e SHA512 4c22f4767ed2b81e21ce7861b6e97d3b1e13e2ebb57278c63d8a9edeae7a2b9518200d39ec30d7000d3ae3b5376a81f08150354be80848247c803208aa28c480 +AUX opencascade-7.5.1-0002-remove-unnecessary-Qt5-check.patch 764 BLAKE2B 512ebf9fd13e60acbc9d47067f158a5043623c52265ff36c216d6735e3a6df9e6355d8bf400330dd00e3ff178b24410aa547ea648ade578f9b9f0dbd6ad0eed3 SHA512 55a452c22addd31b258d078c1871537588b4b06cacabc2cb1252d01b8b9972fb416779456009ea6946935b996c12292aa0ca6d72f8b9bb33407800e5434daae1 +AUX opencascade-7.5.1-0003-add-Gentoo-configuration-type.patch 841 BLAKE2B 6189432e409f20c5181a5ab3e4febd0ec0ddaf1888183d2fe5772f29ff2bece5f499e0987226a2608572a576defa990ee0ac9827d97078a2bee99f2e7e22c053 SHA512 9a4bd753c76abf32d843220210a2f2ffaac82e4e48f359a41f42482dcfbc4d67b349821f801a7886dfb604e87ff6923a0d2fd15ebe76342f8af42b5dbc5d79d9 +AUX opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch 2207 BLAKE2B f00d3137ff9046019f0e4dbad09d79141a65c0b68da0e5c613aa234fddfd651e2b61fb00129ae7a84f521ca3e00858d76ce46cc2f62521c22402f4b664e94274 SHA512 8a4206854a96fb4c45450ad1081cd28ede0171f32392d9f0876b7e41789a0ba2e07ca82011503bd562541367a6b39b8df15aba843f6bb6eef6c473db6ee788a4 +AUX opencascade-7.5.1-0005-fix-write-permissions-on-scripts.patch 2453 BLAKE2B 01b0ec99fb9ad032d6a90cceabb50900528abd0528b53e976484bf02f04eac9bc02b063bce5c221ae88782a126103e8077db9e90aa7f64f4f187dad00354d4d2 SHA512 fb3c374fe8aff8d2bac039a0eef754f2e823a97bfd7860bdd7e047c1b357202abfca0e37b46afc32220c7e354b5edb54805fbbbffde015bb4be2d7f4ded4a8da +AUX opencascade-7.5.1-0006-fix-creation-of-custom.sh-script.patch 1245 BLAKE2B 1972c41e264a86761f8b3a3a649e67211776d0a4791b7e0f3adc859833e1d62e3a1d964484b2c53a516f5a33680ab2f32ad2010bf3fd531fca36373435307b68 SHA512 a2ffef88cb87acbc8215a7d1d7fe69ee17210392d39a64535d1538b2c08e43f5918c5b5e4a7540e8d636b1ba0df51670013e9d49f205bfc93a1e0d10a04388a7 +AUX opencascade-7.5.env.in 4643 BLAKE2B f3492a12e0e0fd31bed8c65e8aa7af68f84a9e752922c62ca2307c96f2d1070fdbc10e09c266114060b0f81951109bc9827853e3eba486d4f9c0eba6984c69e4 SHA512 c10151744b5656e7bafbc291729a5c0e4022e44aa5015e4fff616cb2a34409a67c4ae7433eede2563ab265fa4eb6a455d36ed99469a2579979ff374fc6588adf DIST opencascade-7.4.0.tar.gz 49210449 BLAKE2B c92afe7551e9a066ad0940dcf49278b556a726f0534131706b3a11cb0986ba32818e162df3982283f6815eb9d67d7e91f909485d78f2b8d638da1934ffbc2f7f SHA512 eb0d47848d48f42a159ae5d7a4144483ba1f59f634844bd2053e48e04af30a30ba7056112cd38a1730d193a8d736b898f9608dd574cbe6829dbe7257a002772a -EBUILD opencascade-7.4.0-r4.ebuild 3947 BLAKE2B feacae0802130f77a0c39405b4c1b440723b49c5427b6405a35ceb27c2dbaaaf9fbbcc18155571b3b7e392df475c7f358c828817a3b8821e1b7a8db292fa3a9c SHA512 b7e7dc4577c07501988c24f969093e53608d8cbdaae94ea69072c9c54c13f5efaa15aa6eeda2bcd054567ad262f655fa43e92c38f90966bac128e98bb56f8025 -MISC metadata.xml 925 BLAKE2B dc225e0bdb01795642b13736c66382e40cfd2d72f5ecfe1a52920f6fbb5e1f31ce7ebb1daf9bd9c8d55c1c982bbbc2a47dd65c2e7cc64734aa954b227a8395bf SHA512 55238c390dcdf63e56c0c1461cda4f3a13b5d5066f8f06d2c7a50a38a837d00e30f8c91c9b0b70a26ac2e41c17a4c7fc442855bd71bfe60f4335b70a0f38750f +DIST opencascade-7.5.1.tar.gz 47807222 BLAKE2B b5ef30ea7c373250db3e0863f3c7fde84256b37957a482f10a462a4c4ed1a21cffbbeb10e9fc140325022d7582efbd292ed6d1016d14cb67ccf5c84d14060d5a SHA512 ebb937254ac165041ef7e1a80df8f9d2ac1d518f01b3d4b0fd6d203fe0d80bd474b85a462cccc1c74a513bd257c0b0ab7002632573f38bf72170363c7e42ed2f +EBUILD opencascade-7.4.0-r4.ebuild 3957 BLAKE2B 4118554fff8ff80f64ce581dd5f233211d4a77d4366ada96ae646e819ad03adebfa8561ff9c4b9f9fcfed6cc2bad65fe6db0373d434768fcf5cc8a1808fe34e6 SHA512 a7783c641793480726433be75fd5c7260d9f62e32347aa1ee4e68b97adc5e18d829984f05e84e42c120a1c027c0ad15ee73e646c708466e0eeb2a9440b9726ac +EBUILD opencascade-7.5.1.ebuild 4415 BLAKE2B 49fe2fbcfb8933608ee516b8a1eb23e7968a922c74f7b8cb36ae25179c6a09e413f4fb2ddad16de77b9ae0bd766d3fff86cc7ff7e950d474877a462204b2fa85 SHA512 e4c18a8406a8956b4133992e94ee8a4da20f16d36221d08bdced57c3255a0a22e9352984974ae645b8ce7c8fe86576c412e8b7040e1ff1b86b264f0209fbe960 +MISC metadata.xml 1074 BLAKE2B 88bba4427a254f02a0ca70936c0931ceb72a5d752c6664502cd20dbd6cc294080222d9ef143334c147b77667a342f7912384b8af92a1b90868d243294f72215f SHA512 b42f338af31848be031702bbee6cfe105db4c6ffa5970e7229b5a63841097af1b60eb886f4513ec86f0b27fd0c7ad090b635061c737714ae43b7b45db02172f9 diff --git a/sci-libs/opencascade/files/opencascade-7.4.0.env.in b/sci-libs/opencascade/files/opencascade-7.4.0.env.in index 2eefe188c1ab..cf7cc6a724df 100644 --- a/sci-libs/opencascade/files/opencascade-7.4.0.env.in +++ b/sci-libs/opencascade/files/opencascade-7.4.0.env.in @@ -76,7 +76,7 @@ LDPATH=VAR_CASROOT/lib # 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 +#CSF_EXCEPTION_PROMPT=1 # The following CSF_* variables define various directories and files where # OCCT is looking for resources. @@ -93,8 +93,8 @@ CSF_IGESDefaults=VAR_CASROOT/share/opencascade/resources/XSTEPResource CSF_ShadersDirectory=VAR_CASROOT/share/opencascade/resources/Shaders CSF_SHMessage=VAR_CASROOT/share/opencascade/resources/SHMessage CSF_STEPDefaults=VAR_CASROOT/share/opencascade/resources/XSTEPResource -CSF_UnitsDefinition=/usr/lib64/opencascade-7.3.0/ros/share/opencascade/resources/UnitsAPI/Units.dat -CSF_XSMessage=/usr/lib64/opencascade-7.3.0/ros/share/opencascade/resources/XSMessage +CSF_UnitsDefinition=VAR_CASROOT/share/opencascade/resources/UnitsAPI/Units.dat +CSF_XSMessage=VAR_CASROOT/share/opencascade/resources/XSMessage # TODO: check those # they were defined in the original ebuild but the directories and files diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0001-allow-default-search-path-for-Qt5.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0001-allow-default-search-path-for-Qt5.patch new file mode 100644 index 000000000000..68be3e1c8803 --- /dev/null +++ b/sci-libs/opencascade/files/opencascade-7.5.1-0001-allow-default-search-path-for-Qt5.patch @@ -0,0 +1,26 @@ +From c7d8a7374284186136d72fc285f9e55045b306fb Mon Sep 17 00:00:00 2001 +From: Bernd Waibel <waebbl@gmail.com> +Date: Wed, 3 Feb 2021 23:31:23 +0100 +Subject: [PATCH] allow default search path for Qt5 + +Signed-off-by: Bernd Waibel <waebbl@gmail.com> +--- + adm/cmake/qt.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/adm/cmake/qt.cmake b/adm/cmake/qt.cmake +index 535e6a20..6c2141dd 100644 +--- a/adm/cmake/qt.cmake ++++ b/adm/cmake/qt.cmake +@@ -24,7 +24,7 @@ set(CMAKE_PREFIX_PATH ${3RDPARTY_QT_DIR}) + + # Now we can apply standard CMake finder for Qt5. We do this mostly + # to have qt5_wrap_cpp() function available and Qt5_FOUND variable filled +-find_package(Qt5 QUIET COMPONENTS Widgets Quick Xml PATHS ${3RDPARTY_QT_DIR} NO_DEFAULT_PATH) ++find_package(Qt5 COMPONENTS Widgets Quick Xml REQUIRED) + if (NOT ${Qt5_FOUND}) + # Now we can apply standard CMake finder for Qt. We do this mostly + # to have qt4_wrap_cpp() function available +-- +2.30.0 + diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0002-remove-unnecessary-Qt5-check.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0002-remove-unnecessary-Qt5-check.patch new file mode 100644 index 000000000000..91d5c66c7614 --- /dev/null +++ b/sci-libs/opencascade/files/opencascade-7.5.1-0002-remove-unnecessary-Qt5-check.patch @@ -0,0 +1,28 @@ +From dcf67dbc486a97256ea6df7b968f69346e7b3dba Mon Sep 17 00:00:00 2001 +From: Bernd Waibel <waebbl@gmail.com> +Date: Wed, 3 Feb 2021 23:45:27 +0100 +Subject: [PATCH] remove unnecessary Qt5 check + +Signed-off-by: Bernd Waibel <waebbl@gmail.com> +--- + adm/cmake/qt_macro.cmake | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/adm/cmake/qt_macro.cmake b/adm/cmake/qt_macro.cmake +index ec897384..363d9c52 100644 +--- a/adm/cmake/qt_macro.cmake ++++ b/adm/cmake/qt_macro.cmake +@@ -2,10 +2,6 @@ + + macro (FIND_QT_PACKAGE PROJECT_LIBRARIES_DEBUG PROJECT_LIBRARIES_RELEASE PROJECT_INCLUDES) + +- if ("${3RDPARTY_QT_DIR}" STREQUAL "") +- message (FATAL_ERROR "Empty Qt dir") +- endif() +- + if (${Qt5_FOUND}) + #message (STATUS "Qt5 cmake configuration") + +-- +2.30.0 + diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0003-add-Gentoo-configuration-type.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0003-add-Gentoo-configuration-type.patch new file mode 100644 index 000000000000..0665790d20a1 --- /dev/null +++ b/sci-libs/opencascade/files/opencascade-7.5.1-0003-add-Gentoo-configuration-type.patch @@ -0,0 +1,26 @@ +From a8aa40ec021dac8310d77bcec71ee298f6773926 Mon Sep 17 00:00:00 2001 +From: Bernd Waibel <waebbl@gmail.com> +Date: Thu, 4 Feb 2021 22:29:57 +0100 +Subject: [PATCH] add Gentoo configuration type + +Signed-off-by: Bernd Waibel <waebbl@gmail.com> +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 100d6133..887a1cd7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,7 +4,7 @@ set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/adm/cmake") + + set (CMAKE_SUPPRESS_REGENERATION TRUE) + +-set (CMAKE_CONFIGURATION_TYPES Release Debug RelWithDebInfo CACHE INTERNAL "" FORCE) ++set (CMAKE_CONFIGURATION_TYPES Release Debug RelWithDebInfo Gentoo CACHE INTERNAL "" FORCE) + + # macro: include patched file if it exists + macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE) +-- +2.30.0 + diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch new file mode 100644 index 000000000000..caace23fc2d8 --- /dev/null +++ b/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch @@ -0,0 +1,40 @@ +From 8469f927963fe4bece05297c514fb2b9f9ad9b1a Mon Sep 17 00:00:00 2001 +From: Bernd Waibel <waebbl@gmail.com> +Date: Fri, 5 Feb 2021 13:44:15 +0100 +Subject: [PATCH] fix installation of cmake config files + +Signed-off-by: Bernd Waibel <waebbl@gmail.com> +--- + CMakeLists.txt | 2 +- + adm/cmake/occt_macros.cmake | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 100d6133..bc8cdb92 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1156,7 +1156,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 "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\" \"${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)") + + 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 0a387945..f10fe5e3 100644 +--- a/adm/cmake/occt_macros.cmake ++++ b/adm/cmake/occt_macros.cmake +@@ -592,7 +592,7 @@ macro (OCCT_UPDATE_TARGET_FILE) + "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 \"${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.30.0 + diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0005-fix-write-permissions-on-scripts.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0005-fix-write-permissions-on-scripts.patch new file mode 100644 index 000000000000..1cb397e0a976 --- /dev/null +++ b/sci-libs/opencascade/files/opencascade-7.5.1-0005-fix-write-permissions-on-scripts.patch @@ -0,0 +1,43 @@ +From 5f7db00bfc56d497a1897102a5ddd5bdddd72942 Mon Sep 17 00:00:00 2001 +From: Bernd Waibel <waebbl-gentoo@posteo.net> +Date: Fri, 16 Apr 2021 01:04:24 +0200 +Subject: [PATCH] fix write permissions on scripts + +Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> +--- + CMakeLists.txt | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 100d6133..e9e8fb29 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -890,10 +890,10 @@ if (${DRAWEXE_INDEX} GREATER -1) + # copy draw script to install script folder + if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/adm/templates/draw.${SCRIPT_EXT}") + install (FILES "${BUILD_PATCH}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}" +- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE) ++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + else() + install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}" +- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE) ++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + endif() + + # copy draw script to CMake binary folder +@@ -1101,10 +1101,10 @@ if (BUILD_TOOL_TOOLKITS) + # copy tinspector script to install script folder + if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/adm/templates/inspector.${SCRIPT_EXT}") + install (FILES "${BUILD_PATCH}/adm/templates/inspector.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}" +- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE) ++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + else() + install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/inspector.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}" +- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE) ++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + endif() + + set (OpenCASCADE_BINARY_DIR "${INSTALL_DIR}/${INSTALL_DIR_BIN}") +-- +2.31.1 + diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0006-fix-creation-of-custom.sh-script.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0006-fix-creation-of-custom.sh-script.patch new file mode 100644 index 000000000000..0ab023693e65 --- /dev/null +++ b/sci-libs/opencascade/files/opencascade-7.5.1-0006-fix-creation-of-custom.sh-script.patch @@ -0,0 +1,34 @@ +From 0df9b2c485da92c6e9fdd6d4b5ea1ec6588bd66f Mon Sep 17 00:00:00 2001 +From: Bernd Waibel <waebbl-gentoo@posteo.net> +Date: Fri, 16 Apr 2021 14:32:24 +0200 +Subject: [PATCH] fix creation of custom.sh script + +Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> +--- + CMakeLists.txt | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 100d6133..7799b73a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -909,15 +909,7 @@ else() + endif() + + # change custom.bat/sh +-if (EXISTS "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}") +- file (READ "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}" CUSTOM_CONTENT) +- +- set (CUSTOM_CONTENT "${CUSTOM_CONTENT} ${ADDITIONAL_CUSTOM_CONTENT}") +- +- file (WRITE "${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() ++OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "custom.${SCRIPT_EXT}" "${INSTALL_DIR_SCRIPT}") + + if (WIN32) + set (THIRDPARTY_DIR_REPLACE "%THIRDPARTY_DIR%") +-- +2.31.1 + diff --git a/sci-libs/opencascade/files/opencascade-7.5.env.in b/sci-libs/opencascade/files/opencascade-7.5.env.in new file mode 100644 index 000000000000..50766cbb6bb1 --- /dev/null +++ b/sci-libs/opencascade/files/opencascade-7.5.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 aa017491b603..9477ecff1347 100644 --- a/sci-libs/opencascade/metadata.xml +++ b/sci-libs/opencascade/metadata.xml @@ -11,7 +11,7 @@ </maintainer> <use> <flag name="freeimage"> - Enable support for image i/o via media-libs/freeimage + Enable support for image i/o via <pkg>media-libs/freeimage</pkg> </flag> <flag name="gles2"> Use OpenGL ES 2.0 @@ -19,15 +19,19 @@ <flag name="inspector"> Build the OCCT inspector tool for low-level data inspection </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 dev-cpp/tbb + Enable multithreading with the Intel Threads Building Block + <pkg>dev-cpp/tbb</pkg> </flag> <flag name="vtk"> - Enable Visualization Toolkit + Enable Visualization Toolkit support via <pkg>sci-libs/vtk</pkg> </flag> </use> </pkgmetadata> diff --git a/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild b/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild index 2c5adfb7524f..7a53a10d3509 100644 --- a/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild +++ b/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild @@ -9,19 +9,21 @@ EAPI=7 inherit check-reqs cmake flag-o-matic java-pkg-opt-2 +MY_PV="$(ver_rs 1- '_')" + 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" +S="${WORKDIR}/occt-V${MY_PV}" LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" SLOT="${PV}" KEYWORDS="~amd64 ~arm64 ~x86" -# gl2ps -IUSE="debug doc examples ffmpeg freeimage gles2 inspector java optimize qt5 tbb +vtk" +IUSE="debug doc +examples ffmpeg freeimage gles2 inspector java optimize qt5 tbb +vtk" REQUIRED_USE=" inspector? ( qt5 ) + qt5? ( examples ) ?? ( optimize tbb ) " @@ -56,10 +58,8 @@ RDEPEND=" " DEPEND="${RDEPEND}" BDEPEND=" - doc? ( - app-doc/doxygen - qt5? ( dev-qt/linguist-tools:5 ) - ) + doc? ( app-doc/doxygen ) + qt5? ( dev-qt/linguist-tools:5 ) " # There's no easy way to test. Testing needs a rather big environment @@ -71,8 +71,6 @@ 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" @@ -116,7 +114,7 @@ src_configure() { 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 -e 's|VAR_CASROOT|'${ESYSROOT}'/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? diff --git a/sci-libs/opencascade/opencascade-7.5.1.ebuild b/sci-libs/opencascade/opencascade-7.5.1.ebuild new file mode 100644 index 000000000000..474b381f5561 --- /dev/null +++ b/sci-libs/opencascade/opencascade-7.5.1.ebuild @@ -0,0 +1,167 @@ +# 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 + +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-cpp/eigen + dev-lang/tcl:0= + dev-lang/tk:0= + dev-libs/rapidjson + 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 ) + json? ( dev-libs/rapidjson ) + tbb? ( dev-cpp/tbb ) + vtk? ( >=sci-libs/vtk-8.1.0[rendering] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( app-doc/doxygen ) + examples? ( dev-qt/linguist-tools:5 ) +" + +PATCHES=( + "${FILESDIR}"/${P}-0001-allow-default-search-path-for-Qt5.patch + "${FILESDIR}"/${P}-0002-remove-unnecessary-Qt5-check.patch + "${FILESDIR}"/${P}-0003-add-Gentoo-configuration-type.patch + "${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 +) + +src_prepare() { + cmake_src_prepare + + if use debug; then + append-cppflags -DDEBUG + append-flags -g + fi + + 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 examples) + -DBUILD_WITH_DEBUG=$(usex debug) + -DCMAKE_INSTALL_PREFIX="/usr" + -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_env_file() { + # prepare /etc/env.d file + sed -e 's|VAR_CASROOT|'${ESYSROOT}'/usr|g' < "${FILESDIR}/${PN}-${PV_MAJ}.env.in" >> "${T}/${PV_MAJ}" || die + sed -e 's|lib/|'$(get_libdir)'/|g' -i "${T}/${PV_MAJ}" || die + sed -e 's|VAR_PV|'${PV}'|g' -i "${T}/${PV_MAJ}" || die + + # use TBB for memory allocation optimizations? + use tbb && (sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/${PV_MAJ}" || die) + + if use optimize ; then + # use internal optimized memory manager? + sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' -i "${T}/${PV_MAJ}" || die + # don't clear memory ? + sed -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' -i "${T}/${PV_MAJ}" || die + fi + } + + prepare_env_file +} + +src_install() { + use doc && docompress -x /usr/share/doc/${PF}/overview/html + 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 +} + +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}" +} |