From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-commits+bounces-1344650-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id B79C3158086 for <garchives@archives.gentoo.org>; Tue, 30 Nov 2021 12:50:28 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D4F3F2BC033; Tue, 30 Nov 2021 12:50:27 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A06B32BC033 for <gentoo-commits@lists.gentoo.org>; Tue, 30 Nov 2021 12:50:27 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5F9E4342F31 for <gentoo-commits@lists.gentoo.org>; Tue, 30 Nov 2021 12:50:26 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id CFE0314D for <gentoo-commits@lists.gentoo.org>; Tue, 30 Nov 2021 12:50:24 +0000 (UTC) From: "Joonas Niilola" <juippis@gentoo.org> To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Joonas Niilola" <juippis@gentoo.org> Message-ID: <1638276618.e6c53e3e86537e972bea3fcc51d83edee653e3f2.juippis@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/freecad/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-gfx/freecad/Manifest media-gfx/freecad/freecad-9999.ebuild X-VCS-Directories: media-gfx/freecad/ X-VCS-Committer: juippis X-VCS-Committer-Name: Joonas Niilola X-VCS-Revision: e6c53e3e86537e972bea3fcc51d83edee653e3f2 X-VCS-Branch: master Date: Tue, 30 Nov 2021 12:50:24 +0000 (UTC) Precedence: bulk List-Post: <mailto:gentoo-commits@lists.gentoo.org> List-Help: <mailto:gentoo-commits+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org> X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 76e8b5d0-b792-4059-9028-b1b8e992eccb X-Archives-Hash: 6a547358c9354ea95c9fe171da0e204e commit: e6c53e3e86537e972bea3fcc51d83edee653e3f2 Author: Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net> AuthorDate: Sat Nov 20 01:14:41 2021 +0000 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org> CommitDate: Tue Nov 30 12:50:18 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6c53e3e media-gfx/freecad: remove obsolete patch - fix some dependencies - simplify opencascade related code, which has been obsoleted due to removal of slot 7.4.0 - use default CMAKE_INSTALL_PREFIX (/usr) instead of /usr/$(get_libdir)/${PN}. This leads to some files being installed in /usr/{Ext,Mod}. A new patch fixes this. The lower case symlinks for the executables are no longer installed now, as the binaries are in the path and can be called directly. - use relative patchs for CMAKE_INSTALL_* variables Closes: https://bugs.gentoo.org/824550 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net> Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org> media-gfx/freecad/Manifest | 1 + media-gfx/freecad/freecad-9999.ebuild | 81 +++++++++++++++-------------------- 2 files changed, 36 insertions(+), 46 deletions(-) diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest index fe0489b287e6..94a0fc360a90 100644 --- a/media-gfx/freecad/Manifest +++ b/media-gfx/freecad/Manifest @@ -1,2 +1,3 @@ DIST freecad-0.19.2-0005-Make-smesh-compile-with-vtk9.patch.xz 5368 BLAKE2B 69bafefd049effe3c31719bb2c23d32e8ba7ad58235c58ac8279ba6c036feaf1b97d5751cf2d68896e7489803103b2d0f92f76e61b3ccc97ef05a95b337ca5c2 SHA512 66585cc13fb3b0b026cf9dbd761c8ba1c1fe4d4f7db2e144ddd97706e02ccd78f4a43ac7cd93ddcae6e73933bf41d4cbd4d94bcdff8804b81378a6d946c7b070 DIST freecad-0.19.2.tar.gz 296987961 BLAKE2B 3c21359c71f7ac5a49cc4b4be437dfce02f2af73dfc526a3955547718ee41c461fc787d029a9a77374d58516d7c56fec6982fe6d38ab17fbc30c0a94929136bf SHA512 420f00e696725cbd31c936c47b6ac226d866a17c7b7683ad381b8dd5edaffc7dfb1a3c4238c08e8b4fd34ef0c08d7c244cb7797012e596df1ce0a4f6e3be6b72 +DIST freecad-9999-Gentoo-specific-fix-install-locations-of-Ext-and-Mod.patch.xz 4136 BLAKE2B 207003dacd7f02bd4782ebb0d5f9a7093d8fd3ef8011301454dab03d7a79bab7b2fd623c7d8e11d1f6557803b40f1d206dc75c41b1520e1dd2467dda72d91868 SHA512 d7d6096c1cfb06e6218673a927c5791ec820dc13a23c89df6233109e288d98f86920141e01a8cb680e7cbb8c83c4c655a7a66d5578d284a144dc3f44c028ceb5 diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild index df78793c7f3b..a4a2fa3acc6c 100644 --- a/media-gfx/freecad/freecad-9999.ebuild +++ b/media-gfx/freecad/freecad-9999.ebuild @@ -11,10 +11,12 @@ DESCRIPTION="QT based Computer Aided Design application" HOMEPAGE="https://www.freecadweb.org/ https://github.com/FreeCAD/FreeCAD" MY_PN=FreeCAD +MY_PATCH="${P}-Gentoo-specific-fix-install-locations-of-Ext-and-Mod" if [[ ${PV} = *9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" + SRC_URI="https://raw.githubusercontent.com/waebbl/waebbl-gentoo/master/patches/${MY_PATCH}.patch.xz" S="${WORKDIR}/freecad-${PV}" else MY_PV=$(ver_cut 1-2) @@ -47,7 +49,6 @@ unset module RDEPEND=" ${PYTHON_DEPS} - >=dev-cpp/eigen-3.3.1:3 dev-libs/OpenNI2[opengl(+)] dev-libs/libspnav[X] dev-libs/xerces-c[icu] @@ -79,7 +80,7 @@ RDEPEND=" dev-libs/openssl:= net-misc/curl ) - fem? ( sci-libs/vtk:=[boost,python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] ) + fem? ( sci-libs/vtk:=[boost(+),python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] ) openscad? ( media-gfx/openscad ) pcl? ( sci-libs/pcl:=[opengl,openni2(+),qt5(+),vtk(+)] ) $(python_gen_cond_dep ' @@ -94,8 +95,14 @@ RDEPEND=" fem? ( dev-python/ply[${PYTHON_USEDEP}] ) ') " -DEPEND="${RDEPEND}" -BDEPEND="dev-lang/swig" +DEPEND=" + ${RDEPEND} + >=dev-cpp/eigen-3.3.1:3 +" +BDEPEND=" + app-text/dos2unix + dev-lang/swig +" # To get required dependencies: # 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' @@ -132,31 +139,27 @@ pkg_setup() { [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, plesae run eselect opencascade" } +src_unpack() { + git-r3_src_unpack + unpack ${MY_PATCH}.patch.xz +} + src_prepare() { # the upstream provided file doesn't find the coin doc tag file, # but cmake ships a working one, so we use this. rm "${S}/cMake/FindCoin3D.cmake" || die - # Fix OpenCASCADE lookup - 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 cmake_src_prepare + + # Fix line endings on a few files for patching + for f in src/Mod/{Cloud,Inspection,Start/StartPage}/CMakeLists.txt; do + dos2unix -q ${f} + done + + eapply "${WORKDIR}"/${P}-Gentoo-specific-fix-install-locations-of-Ext-and-Mod.patch } src_configure() { @@ -207,10 +210,10 @@ src_configure() { -DBUILD_WEB=ON # needed by start workspace -DBUILD_WITH_CONDA=OFF - -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data - -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} - -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN} - -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN} + -DCMAKE_INSTALL_DATADIR=share/${PN}/data + -DCMAKE_INSTALL_DOCDIR=share/doc/${PF} + -DCMAKE_INSTALL_INCLUDEDIR=include/${PN} + -DCMAKE_INSTALL_LIBDIR=$(get_libdir)/${PN} -DFREECAD_BUILD_DEBIAN=OFF @@ -235,22 +238,14 @@ src_configure() { -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/} - OCC_P=${OCC_P%-r*} - mycmakeargs+=( - -DOCC_INCLUDE_DIR="${CASROOT}"/include/${OCC_P} - -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/${OCC_P} - ) - else - # <occ-7.5 uses different layout - mycmakeargs+=( - -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade - -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir) - ) - fi + # bug https://bugs.gentoo.org/788274 + local OCC_P=$(best_version sci-libs/opencascade[vtk]) + OCC_P=${OCC_P#sci-libs/} + OCC_P=${OCC_P%-r*} + mycmakeargs+=( + -DOCC_INCLUDE_DIR="${CASROOT}"/include/${OCC_P} + -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/${OCC_P} + ) if use debug; then # BUILD_SANDBOX currently broken, see @@ -291,12 +286,6 @@ src_install() { dobin src/Tools/freecad-thumbnailer - if ! use headless; then - dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad - mv "${ED}"/usr/$(get_libdir)/freecad/share/* "${ED}"/usr/share || die "failed to move shared ressources" - fi - dosym -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