From e748ba9741f6540f4675c23e3e37b73e822c13a4 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 31 May 2021 20:59:14 +0100 Subject: gentoo resync : 31.05.2021 --- media-gfx/freecad/Manifest | 6 +- media-gfx/freecad/freecad-0.19.1.ebuild | 1 + media-gfx/freecad/freecad-0.19.2.ebuild | 28 +++++-- media-gfx/freecad/freecad-9999.ebuild | 134 ++++++++++++++++++++++---------- 4 files changed, 115 insertions(+), 54 deletions(-) (limited to 'media-gfx/freecad') diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest index 8adb9159abb3..1e99ae91ab70 100644 --- a/media-gfx/freecad/Manifest +++ b/media-gfx/freecad/Manifest @@ -7,7 +7,7 @@ AUX freecad-0.19_pre20201231-0001-FindCoin3DDoc.cmake-fix-patch-for-coin-docs.pa AUX freecad-0.19_pre20201231-0003-Gentoo-specific-don-t-check-vcs.patch 881 BLAKE2B 8d8327a283fc46b9f195b4dfe68ac6594ed020154f5f65eab5fe86bde2d32bb3d1081fdf9c5d50e30c24ffdc0504a61c047088e24ab4c377aca6e8f5a14e9760 SHA512 17bdf85c6c25d38a46d643666cbf594f5d16952504344af34b1f4960b53a2a534ccac1594d6ae9b5f827fe3403e08a26edb0c40346a9837316307bd484f35088 DIST freecad-0.19.1.tar.gz 296983463 BLAKE2B de6592474c34c5643ba7f63d6223bf7b2fcee87ebf226727e242ff3f56f363562dd0bae8cb6b3203d978d998b70985777ca93b938c0fc01822e8927cd79f6118 SHA512 5134fba99448c509f0761d62b07f1bbd3183108761f41178b38f24d5ba26558608d7d7b00009d03ba097a50cc6fe047bbd57872b32a1d55b3526d18c19ae6393 DIST freecad-0.19.2.tar.gz 296987961 BLAKE2B 3c21359c71f7ac5a49cc4b4be437dfce02f2af73dfc526a3955547718ee41c461fc787d029a9a77374d58516d7c56fec6982fe6d38ab17fbc30c0a94929136bf SHA512 420f00e696725cbd31c936c47b6ac226d866a17c7b7683ad381b8dd5edaffc7dfb1a3c4238c08e8b4fd34ef0c08d7c244cb7797012e596df1ce0a4f6e3be6b72 -EBUILD freecad-0.19.1.ebuild 9049 BLAKE2B 3b63090e5fb618d45171eb616c77657ee9f398e5459cb38664b95cca80486e6697aca645652cfba38ac4a5f20c750bcb06c8840565a295e8079a59763e49ba20 SHA512 34ba9e577377f9e5f687813a4a5629bfdacdca1a62c82bb4d71a7ceb726afd7de9ccbf1041f83fadaf3a6394ed7aa32c7d4f08d695523842cc56b72b0450e064 -EBUILD freecad-0.19.2.ebuild 10393 BLAKE2B 4679857372c60eeb0b784cd234324fd9919ae2c5cb211877098e1a4c48108402a5963d949f066abe4a1c8d7678eada175c08b30351666181398a7111873a91ef SHA512 228cab06a298c4c6ec557874e48bd8e128008b6dae14941bee8ab194d538f566542815658423a5910e28ff694b102dabaf114e4ff13e7bfa1408a0f0e9b81ce3 -EBUILD freecad-9999.ebuild 9091 BLAKE2B f56e1e6230b94b06e73b6a57d8d38d1096924969dd553b18f14c11760bd5de0602d2bc33a9264e8ba201ea70b53a2122b64f82448216d769ce57d5cff1cbdd22 SHA512 9dbef04ebc1448d6f32525d19205f05ff2eb55253acc7c7551030f02e29e384b87627c4e81da3a6bf0df84cc3c65178d82a7c2c2d6a46ca03281663e55990d28 +EBUILD freecad-0.19.1.ebuild 9127 BLAKE2B cf69851b05e27f24c98381faf0c6c2f93d6d37054de040d0e57a1ec18d03366ebf493fd82d3d8772a877b694f6407f566b29d15380032025623cb4c6a9f34955 SHA512 7017c98834efe6f77cc1829a8e2c8ddcf6d9cd3cec8a87a9e3772ddcdacef0eb7e580796025bf27eb4bcc2f8ddf0e0cca188283970aafa66d417448dfe3d034e +EBUILD freecad-0.19.2.ebuild 10911 BLAKE2B b362b77de9951f3677e5630f1b2003584e994415cf6b174a921d0248e934468eb5482784782c777d5cef63d36827ea4a79b3ac2d0c20b31eec024363848ffb01 SHA512 1b9bf200a7b1f5842cf8613385f4afe3cefdb184651a137263d8854be35c97e5e1b0c581c5378e113410b2fa7d713b0a9b80fac744ed32a0158e0f9880c60373 +EBUILD freecad-9999.ebuild 10865 BLAKE2B d1b8847121b361ef3bc8029889f41167507817ed31b3da398946b0cbaa5bf4c666d76d5f6c0c77ce4226fcd2fead9e2e7af0fd63ca1a24468b9123abce65b43c SHA512 eaebf90283467263aab13341993c300ff70aeb8c9b697e502f114fd3bb55838115bee227892c8bd0c124a5afee12c8ef1f77e329633742274111fe547954ddfa MISC metadata.xml 3728 BLAKE2B dfe01a38234955bbea4ebc4d561fa15d06548f80338ace10091b8c8e5ab485532e462ad8ea35d52552fb87d18be05bc10953d100389cd4302e07adbb2cbc8a9a SHA512 c1c6693f824aaf9ace443bd5001a581187a4dbbb134a18454ef96d5dbd674b98284136d021f04316de0e0d8400bdb3e7f0dab5722e1ed0d45b33f0263c8ae6d3 diff --git a/media-gfx/freecad/freecad-0.19.1.ebuild b/media-gfx/freecad/freecad-0.19.1.ebuild index 4a113baa2293..5ffecf7de50a 100644 --- a/media-gfx/freecad/freecad-0.19.1.ebuild +++ b/media-gfx/freecad/freecad-0.19.1.ebuild @@ -275,6 +275,7 @@ pkg_postinst() { optfeature "dependency graphs" media-gfx/graphviz optfeature "PBR Rendering" media-gfx/povray optfeature "FEM mesh generator" sci-libs/gmsh + optfeature "importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg } pkg_postrm() { diff --git a/media-gfx/freecad/freecad-0.19.2.ebuild b/media-gfx/freecad/freecad-0.19.2.ebuild index 4238e819f095..4719298feb3b 100644 --- a/media-gfx/freecad/freecad-0.19.2.ebuild +++ b/media-gfx/freecad/freecad-0.19.2.ebuild @@ -141,11 +141,20 @@ src_prepare() { rm "${S}/cMake/FindCoin3D.cmake" || die # Fix OpenCASCADE lookup - # TODO: check this for opencascade-7.5.1 locations, which have - # changed since 7.4.0 after that package has merged - sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \ - -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \ - -i cMake/FindOpenCasCade.cmake || die + local OCC_P=$(best_version sci-libs/opencascade[vtk]) + OCC_P=${OCC_P#sci-libs/} + local OCC_PV=${OCC_P#opencascade-} + OCC_PV=$(ver_cut 1-2 ${OCC_PV}) + # check for CASROOT needed to ensure occ-7.5 is eselected and profile resourced + if [[ ${OCC_PV} = 7.5 && ${CASROOT} = "/usr" ]]; then + sed -e 's|/usr/include/opencascade|'${CASROOT}'/include/'${OCC_P}'|' \ + -e 's|/usr/lib|'${CASROOT}'/'$(get_libdir)'/'${OCC_P}' NO_DEFAULT_PATH|' \ + -i cMake/FindOpenCasCade.cmake || die + else + sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \ + -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \ + -i cMake/FindOpenCasCade.cmake || die + fi # Fix desktop file sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die @@ -227,14 +236,16 @@ src_configure() { if has_version ">=sci-libs/opencascade-7.5"; then # bug https://bugs.gentoo.org/788274 + local OCC_P=$(best_version sci-libs/opencascade[vtk]) + OCC_P=${OCC_P#sci-libs/} mycmakeargs+=( - -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade-7.5.1 - -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade-7.5.1 + -DOCC_INCLUDE_DIR="${CASROOT}"/include/${OCC_P} + -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/${OCC_P} ) else # =sci-libs/med-4.0.0-r1[python,${PYTHON_SINGLE_USEDEP}] sci-libs/opencascade:=[vtk(+)] sci-libs/orocos_kdl:= @@ -77,7 +80,6 @@ RDEPEND=" net-misc/curl ) fem? ( =sci-libs/pcl-1.8.1:=[opengl,openni2(+),qt5(+),vtk(+)] ) $(python_gen_cond_dep ' @@ -85,10 +87,11 @@ RDEPEND=" dev-python/matplotlib[${PYTHON_MULTI_USEDEP}] dev-python/numpy[${PYTHON_MULTI_USEDEP}] >=dev-python/pivy-0.6.5[${PYTHON_MULTI_USEDEP}] + dev-python/pybind11[${PYTHON_MULTI_USEDEP}] dev-python/pyside2[gui,svg,${PYTHON_MULTI_USEDEP}] dev-python/shiboken2[${PYTHON_MULTI_USEDEP}] addonmgr? ( dev-python/GitPython[${PYTHON_MULTI_USEDEP}] ) - mesh? ( dev-python/pybind11[${PYTHON_MULTI_USEDEP}] ) + fem? ( dev-python/ply[${PYTHON_MULTI_USEDEP}] ) ') " DEPEND="${RDEPEND}" @@ -97,35 +100,31 @@ BDEPEND="dev-lang/swig" # To get required dependencies: # 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' # We set the following requirements by default: -# draft, import, part, qt5, sketcher, start, web. +# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web. # -# Additionally if mesh is set, we auto-enable mesh_part, flat_mesh and smesh +# Additionally, we auto-enable mesh_part, flat_mesh and smesh # Fem actually needs smesh, but as long as we don't have a smesh package, we enable # smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't # reflected by the REQUIRES_MODS macro, but at # cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187. +# +# The increase in auto-enabled workbenches is due to their need in parts of the +# test suite when compiled with a minimal set of USE flags. REQUIRED_USE=" ${PYTHON_REQUIRED_USE} - arch? ( mesh ) - debug? ( mesh ) - drawing? ( spreadsheet ) - fem? ( mesh ) - inspection? ( mesh points ) - openscad? ( mesh ) - path? ( mesh robot ) + inspection? ( points ) + path? ( robot ) ship? ( image plot ) - techdraw? ( spreadsheet drawing ) " PATCHES=( - "${FILESDIR}"/${PN}-0.19_pre20201231-0001-FindCoin3DDoc.cmake-fix-patch-for-coin-docs.patch "${FILESDIR}"/${PN}-0.19_pre20201231-0003-Gentoo-specific-don-t-check-vcs.patch "${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch ) DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md ) -CHECKREQS_DISK_BUILD="3G" +CHECKREQS_DISK_BUILD="2G" pkg_setup() { check-reqs_pkg_setup @@ -139,9 +138,20 @@ src_prepare() { rm "${S}/cMake/FindCoin3D.cmake" || die # Fix OpenCASCADE lookup - sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \ - -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \ - -i cMake/FindOpenCasCade.cmake || die + local OCC_P=$(best_version sci-libs/opencascade[vtk]) + OCC_P=${OCC_P#sci-libs/} + local OCC_PV=${OCC_P#opencascade-} + OCC_PV=$(ver_cut 1-2 ${OCC_PV}) + # check for CASROOT needed to ensure occ-7.5 is eselected and profile resourced + if [[ ${OCC_PV} = 7.5 && ${CASROOT} = "/usr" ]]; then + sed -e 's|/usr/include/opencascade|'${CASROOT}'/include/'${OCC_P}'|' \ + -e 's|/usr/lib|'${CASROOT}'/'$(get_libdir)'/'${OCC_P}' NO_DEFAULT_PATH|' \ + -i cMake/FindOpenCasCade.cmake || die + else + sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \ + -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \ + -i cMake/FindOpenCasCade.cmake || die + fi # Fix desktop file sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die @@ -152,16 +162,16 @@ src_prepare() { src_configure() { local mycmakeargs=( -DBUILD_ADDONMGR=$(usex addonmgr) - -DBUILD_ARCH=$(usex arch) - -DBUILD_ASSEMBLY=OFF + -DBUILD_ARCH=ON + -DBUILD_ASSEMBLY=OFF # deprecated -DBUILD_CLOUD=$(usex cloud) -DBUILD_COMPLETE=OFF # deprecated - -DBUILD_DRAFT=ON # basic workspace, enable it by default - -DBUILD_DRAWING=$(usex drawing) + -DBUILD_DRAFT=ON + -DBUILD_DRAWING=ON -DBUILD_ENABLE_CXX_STD:STRING="C++14" # needed for >=boost-1.75.0 -DBUILD_FEM=$(usex fem) -DBUILD_FEM_NETGEN=OFF - -DBUILD_FLAT_MESH=$(usex mesh) + -DBUILD_FLAT_MESH=ON -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory -DBUILD_FREETYPE=ON # automagic dep -DBUILD_GUI=$(usex !headless) @@ -171,10 +181,10 @@ src_configure() { -DBUILD_INSPECTION=$(usex inspection) -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there -DBUILD_MATERIAL=$(usex material) - -DBUILD_MESH=$(usex mesh) - -DBUILD_MESH_PART=$(usex mesh) + -DBUILD_MESH=ON + -DBUILD_MESH_PART=ON -DBUILD_OPENSCAD=$(usex openscad) - -DBUILD_PART=ON # basic workspace, enable it by default + -DBUILD_PART=ON -DBUILD_PART_DESIGN=$(usex part-design) -DBUILD_PATH=$(usex path) -DBUILD_PLOT=$(usex plot) # conflicts with possible external workbench @@ -186,11 +196,12 @@ src_configure() { -DBUILD_SHIP=$(usex ship) # conflicts with possible external workbench -DBUILD_SHOW=$(usex show) -DBUILD_SKETCHER=ON # needed by draft workspace - -DBUILD_SMESH=$(usex mesh) - -DBUILD_SPREADSHEET=$(usex spreadsheet) - -DBUILD_START=ON # basic workspace, enable it by default + -DBUILD_SMESH=ON + -DBUILD_SPREADSHEET=ON + -DBUILD_START=ON -DBUILD_SURFACE=$(usex surface) -DBUILD_TECHDRAW=$(usex techdraw) + -DBUILD_TEST=ON # always build test workbench for run-time testing -DBUILD_TUX=$(usex tux) -DBUILD_VR=OFF -DBUILD_WEB=ON # needed by start workspace @@ -203,42 +214,74 @@ src_configure() { -DFREECAD_BUILD_DEBIAN=OFF - -DFREECAD_USE_CCACHE=OFF -DFREECAD_USE_EXTERNAL_KDL=ON -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree -DFREECAD_USE_FREETYPE=ON -DFREECAD_USE_OCC_VARIANT:STRING="Official Version" -DFREECAD_USE_PCL=$(usex pcl) - -DFREECAD_USE_PYBIND11=$(usex mesh) + -DFREECAD_USE_PYBIND11=ON -DFREECAD_USE_QT_FILEDIALOG=ON -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine" - -DPython3_EXECUTABLE=${PYTHON} + # install python modules to site-packages' dir. True only for the main package, + # sub-packages will still be installed inside /usr/lib64/freecad + -DINSTALL_TO_SITEPACKAGES=ON - -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade - -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir) + -DPython3_EXECUTABLE=${PYTHON} -DOCCT_CMAKE_FALLBACK=ON # don't use occt-config which isn't included in opencascade for Gentoo ) + if has_version ">=sci-libs/opencascade-7.5"; then + # bug https://bugs.gentoo.org/788274 + local OCC_P=$(best_version sci-libs/opencascade[vtk]) + OCC_P=${OCC_P#sci-libs/} + mycmakeargs+=( + -DOCC_INCLUDE_DIR="${CASROOT}"/include/${OCC_P} + -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/${OCC_P} + ) + else + # /dev/null || die + export FREECAD_USER_HOME="${HOME}" + export FREECAD_USER_DATA="${T}" + export FREECAD_USER_TEMP="${T}" + nonfatal ./bin/FreeCADCmd --run-test 0 + popd > /dev/null || die +} + src_install() { cmake_src_install @@ -249,6 +292,10 @@ src_install() { dosym8 -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/ + # compile main package in python site-packages as well + python_optimize + + doenvd "${FILESDIR}/99${PN}" } pkg_postinst() { @@ -277,6 +324,7 @@ pkg_postinst() { optfeature "dependency graphs" media-gfx/graphviz optfeature "PBR Rendering" media-gfx/povray optfeature "FEM mesh generator" sci-libs/gmsh + optfeature "importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg } pkg_postrm() { -- cgit v1.2.3