View previous topic :: View next topic |
Author |
Message |
asturm Developer
Joined: 05 Apr 2007 Posts: 9315
|
Posted: Sat Nov 30, 2024 7:17 pm Post subject: |
|
|
No, that's just you insisting to build an unsupported configuration. freecad[qt5] is masked for exactly that reason, so again, breakage of your own making. And by now it is becoming quite farcical, as you attempt to recreate your own version of "tree breakage" against a meanwhile stabilised Qt6-based version of sci-physics/geant, which got this whole thread going in the first place, just from the other direction. |
|
Back to top |
|
|
CaptainBlood Advocate
Joined: 24 Jan 2010 Posts: 3949
|
Posted: Sat Nov 30, 2024 10:07 pm Post subject: |
|
|
media-gfx/freecad-1.0.0 Code: | # Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg
DESCRIPTION="QT based Computer Aided Design application"
HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
MY_PN=FreeCAD
if [[ ${PV} = *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
S="${WORKDIR}/freecad-${PV}"
else
SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64"
S="${WORKDIR}/FreeCAD-${PV}"
fi
# code is licensed LGPL-2
# examples are licensed CC-BY-SA (without note of specific version)
LICENSE="LGPL-2 CC-BY-SA-4.0"
SLOT="0"
IUSE="debug designer +gui qt5 test"
FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
openscad part-design path points raytracing robot show smesh
surface techdraw tux"
for module in ${FREECAD_STABLE_MODULES}; do
IUSE="${IUSE} +${module}"
done
for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
IUSE="${IUSE} ${module}"
done
unset module
RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
dev-cpp/gtest
dev-cpp/yaml-cpp
dev-libs/OpenNI2[opengl(+)]
dev-libs/boost:=
dev-libs/libfmt:=
dev-libs/libspnav[X]
dev-libs/xerces-c[icu]
dev-ruby/asciidoctor
qt5? (
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtnetwork:5
dev-qt/qtxml:5
dev-qt/qtxmlpatterns:5
)
!qt5? (
dev-qt/qtbase:6[concurrent,network,xml]
)
media-libs/freetype
media-libs/qhull:=
sci-libs/hdf5:=[fortran,zlib]
>=sci-libs/med-4.0.0-r1
sci-libs/opencascade:=[json,vtk]
sci-libs/orocos_kdl:=
sys-libs/zlib
virtual/libusb:1
cloud? (
dev-libs/openssl:=
net-misc/curl
)
fem? (
qt5? ( sci-libs/vtk:=[qt5,rendering] )
!qt5? ( sci-libs/vtk:=[-qt5,qt6,rendering] )
)
gui? (
>=media-libs/coin-4.0.0
virtual/glu
virtual/opengl
qt5? (
dev-qt/designer:5
dev-qt/qtgui:5
dev-qt/qtopengl:5
dev-qt/qtprintsupport:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
pcl? ( sci-libs/pcl[qt5] )
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
dev-python/pyside2:=[gui,svg,webchannel,${PYTHON_USEDEP}]
dev-python/shiboken2:=[${PYTHON_USEDEP}]
' python3_{10..11} )
)
!qt5? (
designer? ( dev-qt/qttools:6[designer] )
dev-qt/qt5compat:6
dev-qt/qttools:6[widgets]
dev-qt/qtbase:6[gui,opengl,widgets]
dev-qt/qtsvg:6
pcl? ( sci-libs/pcl[-qt5,qt6(-)] )<========================= currently singleton sci-libs/pcl package doesn't have -qt5
$(python_gen_cond_dep ' which is expected there whether qt5 has been forcibly unmasked or not) IIUC
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
dev-python/pyside6:=[gui,svg,webchannel,${PYTHON_USEDEP}]
dev-python/shiboken6:=[${PYTHON_USEDEP}]
' )
)
)
netgen? ( media-gfx/netgen[opencascade] )
openscad? ( media-gfx/openscad )
pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] )
smesh? (
qt5? ( sci-libs/vtk:=[qt5] )
!qt5? ( sci-libs/vtk:=[-qt5,qt6] )
)
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/pybind11[${PYTHON_USEDEP}]
addonmgr? ( dev-python/gitpython[${PYTHON_USEDEP}] )
fem? ( dev-python/ply[${PYTHON_USEDEP}] )
')
"
DEPEND="${RDEPEND}
>=dev-cpp/eigen-3.3.1:3
dev-cpp/ms-gsl
test? (
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
qt5? ( dev-qt/qttest:5 )
)
"
BDEPEND="
app-text/dos2unix
dev-lang/swig
test? (
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
qt5? ( dev-qt/qttest:5 )
dev-cpp/gtest
)
"
# To get required dependencies:
# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
# We set the following requirements by default:
# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
#
# 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}
designer? ( gui )
inspection? ( points )
path? ( robot )
python_single_target_python3_12? ( gui? ( !qt5 ) )
"
# There is no py3.12 support planned for pyside2
PATCHES=(
"${FILESDIR}"/${PN}-1.0.0-Gentoo-specific-don-t-check-vcs.patch
"${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch
"${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
)
DOCS=( CODE_OF_CONDUCT.md README.md )
CHECKREQS_DISK_BUILD="2G"
pkg_setup() {
check-reqs_pkg_setup
python-single-r1_pkg_setup
[[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade"
}
src_prepare() {
# Fix desktop file
sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die
find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
cmake_src_prepare
}
src_configure() {
# -Werror=odr, -Werror=lto-type-mismatch
# https://bugs.gentoo.org/875221
# https://github.com/FreeCAD/FreeCAD/issues/13173
filter-lto
# Fix building tests
append-ldflags -Wl,--copy-dt-needed-entries
local mycmakeargs=(
-DBUILD_ADDONMGR=$(usex addonmgr)
-DBUILD_ARCH=ON
-DBUILD_ASSEMBLY=OFF # Requires OndselSolver
-DBUILD_CLOUD=$(usex cloud)
-DBUILD_COMPLETE=OFF # deprecated
-DBUILD_DRAFT=ON
-DBUILD_DESIGNER_PLUGIN=$(usex designer)
-DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master
-DBUILD_FEM=$(usex fem)
-DBUILD_FEM_NETGEN=$(usex netgen)
-DBUILD_FLAT_MESH=ON
-DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
-DBUILD_FREETYPE=ON # automagic dep
-DBUILD_GUI=$(usex gui)
-DBUILD_IDF=$(usex idf)
-DBUILD_IMAGE=$(usex image)
-DBUILD_IMPORT=ON # import module for various file formats
-DBUILD_INSPECTION=$(usex inspection)
-DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
-DBUILD_MATERIAL=$(usex material)
-DBUILD_MESH=ON
-DBUILD_MESH_PART=ON
-DBUILD_OPENSCAD=$(usex openscad)
-DBUILD_PART=ON
-DBUILD_PART_DESIGN=$(usex part-design)
-DBUILD_PATH=$(usex path)
-DBUILD_POINTS=$(usex points)
-DBUILD_RAYTRACING=$(usex raytracing)
-DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
-DBUILD_ROBOT=$(usex robot)
-DBUILD_SHOW=$(usex show)
-DBUILD_SKETCHER=ON # needed by draft workspace
-DBUILD_SMESH=$(usex smesh)
-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
-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}
-DFREECAD_BUILD_DEBIAN=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=ON
-DFREECAD_USE_QT_FILEDIALOG=ON
# 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
# Use the version of shiboken2 that matches the selected python version
-DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
-DPython3_EXECUTABLE=${PYTHON}
)
if use debug; then
# BUILD_SANDBOX currently broken, see
# https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
mycmakeargs+=(
-DBUILD_SANDBOX=OFF
-DBUILD_TEMPLATE=ON
)
else
mycmakeargs+=(
-DBUILD_SANDBOX=OFF
-DBUILD_TEMPLATE=OFF
)
fi
if ! use qt5; then
mycmakeargs+=(
-DFREECAD_QT_MAJOR_VERSION=6
-DFREECAD_QT_VERSION=6
-DQT_DEFAULT_MAJOR_VERSION=6
-DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc"
-DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc"
-DBUILD_QT5=OFF
# Drawing module unmaintained and not ported to qt6
-DBUILD_DRAWING=OFF
)
else
mycmakeargs+=(
-DFREECAD_QT_MAJOR_VERSION=5
-DFREECAD_QT_VERSION=5
-DQT_DEFAULT_MAJOR_VERSION=5
-DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
-DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc"
-DBUILD_QT5=ON
# Drawing module unmaintained and not ported to qt6
-DBUILD_DRAWING=ON
)
fi
cmake_src_configure
}
# We use the FreeCADCmd binary instead of the FreeCAD binary here
# for two reasons:
# 1. It works out of the box with USE=-gui as well, not needing a guard
# 2. We don't need virtualx.eclass and it's dependencies
# The exported environment variables are needed, so freecad does know
# where to save it's temporary files, and where to look and write it's
# configuration. Without those, there are sandbox violation, when it
# tries to create /var/lib/portage/home/.FreeCAD directory.
src_test() {
pushd "${BUILD_DIR}" > /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
dobin src/Tools/freecad-thumbnailer
if use gui; then
newbin - freecad <<- _EOF_
#!/bin/sh
# https://github.com/coin3d/coin/issues/451
: \${QT_QPA_PLATFORM:=xcb}
export QT_QPA_PLATFORM
exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}"
_EOF_
mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
fi
dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
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
}
pkg_postinst() {
xdg_pkg_postinst
einfo "You can load a lot of additional workbenches using the integrated"
einfo "AddonManager."
# ToDo: check opencv, pysolar (::science), elmerfem (::science)
# ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
einfo "There are a lot of additional tools, for which FreeCAD has builtin"
einfo "support. Some of them are available in Gentoo. Take a look at"
einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
optfeature_header "Computational utilities"
optfeature "BLAS library" sci-libs/openblas
optfeature "Statistical computation with Python" dev-python/pandas
optfeature "Use scientific computation with Python" dev-python/scipy
optfeature "Use symbolic math with Python" dev-python/sympy
optfeature_header "Imaging, Plotting and Rendering utilities"
optfeature "Dependency graphs" media-gfx/graphviz
optfeature "PBR Rendering" media-gfx/povray
optfeature_header "Import / Export"
optfeature "Interact with git repositories" dev-python/gitpython
optfeature "Work with COLLADA documents" dev-python/pycollada
optfeature "YAML importer and emitter" dev-python/pyyaml
optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
optfeature "Importing and exporting geospatial data formats" sci-libs/gdal
optfeature "Working with projection data" sci-libs/proj
optfeature_header "Meshing and FEM"
optfeature "FEM mesh generator" sci-libs/gmsh
optfeature "Triangulating meshes" sci-libs/gts
optfeature "Visualization" sci-visualization/paraview
}
pkg_postrm() {
xdg_pkg_postrm
}
| Again if I understand it well, it all happened at:
Code: | sci-libs/pcl: Drop IUSE qt5 commit 84c027290441bd4977ed443546c3f63dde7868d8 2024-11-25 16:27:25 +0100 | [EDITED]
Thks 4 ur attention, interest & support. _________________ USE="-* ..." in /etc/portage/make.conf here, i.e. a countermeasure to portage implicit braces, belt & diaper paradigm
LT: "I've been doing a passable imitation of the Fontana di Trevi, except my medium is mucus. Sooo much mucus. " |
|
Back to top |
|
|
CaptainBlood Advocate
Joined: 24 Jan 2010 Posts: 3949
|
Posted: Sun Dec 01, 2024 4:02 pm Post subject: |
|
|
Well likely to end with another stable pruning (media-gfx/freecad-1.0.0), leaving users with currently unstable media-gfx/freecad-1.0.0-r1
As a good measure media-gfx/freecad-1.0.0-r1 might be stabilized along.
Thks 4 ur attention, interest & support. _________________ USE="-* ..." in /etc/portage/make.conf here, i.e. a countermeasure to portage implicit braces, belt & diaper paradigm
LT: "I've been doing a passable imitation of the Fontana di Trevi, except my medium is mucus. Sooo much mucus. " |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 9315
|
Posted: Sun Dec 01, 2024 7:03 pm Post subject: |
|
|
Wtf are you hallucinating about? |
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3757 Location: Rasi, Finland
|
Posted: Sun Dec 01, 2024 7:19 pm Post subject: |
|
|
asturm wrote: | Wtf are you hallucinating about? |
Language barrier, I believe.
CaptainBlood wrote: | Well likely to end with another stable pruning (media-gfx/freecad-1.0.0) | Fears removal of freecad-1.0.0 from ::gentoo...
CaptainBlood wrote: | leaving users with currently unstable media-gfx/freecad-1.0.0-r1 | ... then is forced to ACCEPT_KEYWORDS for freecad-1.0.0-r1.
CaptainBlood wrote: | As a good measure media-gfx/freecad-1.0.0-r1 might be stabilized along. | Has hopes of freecad-1.0.0-r1 being stabilized upon removal of freecad-1.0.0.
(Correct me if I was wrong.)
For such a mainstream package, I highly doubt users are left only with ~ freecad. I wouldn't worry, CaptainBlood.
As for the qt issues you're having... Have you tried it the other way - USE="-qt5 qt6" globally, or at least switch from qt5 to qt6 on those packages which you have enabled qt? _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 9315
|
Posted: Sun Dec 01, 2024 7:54 pm Post subject: |
|
|
Although I would argue that stabilising media-gfx/freecad was a mistake in the first place, and I warned about it back then - once a package is stable, it does not lose that status easily, so every version drop involves a preceding stabilisation.
So, completely nonsenical post for someone pretending to have as much Gentoo experience. |
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3757 Location: Rasi, Finland
|
Posted: Sun Dec 01, 2024 8:24 pm Post subject: |
|
|
asturm wrote: | once a package is stable, it does not lose that status easily, so every version drop involves a preceding stabilisation. | So my guess was right. :)
And I understand the rationale behind the stability "promise" - at least one version needs to stable if a package was once marked as such. It is, however, unfortunate if latter versions of the package aren't up to the standards of ::gentoo, so users are left with old stable version or heavily patched newer version. _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3757 Location: Rasi, Finland
|
Posted: Mon Dec 02, 2024 8:43 am Post subject: [solved] ? |
|
|
@CaptainBlood:
before sync: | M710q ~ # eshowkw -O freecad
Keywords for media-gfx/freecad:
| | u |
| a a p s a l r | n |
| m r h p p l o m i s m | e u s | r
| d a m p p c a x p o i s 3 6 | a s l | e
| 6 r 6 p p 6 r 8 h n p c 9 8 | p e o | p
| 4 m 4 a c 4 c 6 a g s v 0 k | i d t | o
---------+-----------------------------+-------+-------
1.0.0 | + o o o o o o o o o o o o o | 8 o 0 | gentoo
1.0.0-r1 | ~ o o o o o o o o o o o o o | 8 o | gentoo
9999 | o o o o o o o o o o o o o o | 8 o | gentoo |
after sync: | M710q ~ # eshowkw -O freecad
Keywords for media-gfx/freecad:
| | u |
| a a p s a l r | n |
| m r h p p l o m i s m | e u s | r
| d a m p p c a x p o i s 3 6 | a s l | e
| 6 r 6 p p 6 r 8 h n p c 9 8 | p e o | p
| 4 m 4 a c 4 c 6 a g s v 0 k | i d t | o
---------+-----------------------------+-------+-------
1.0.0-r1 | + o o o o o o o o o o o o o | 8 o 0 | gentoo
9999 | o o o o o o o o o o o o o o | 8 o | gentoo |
_________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|