shared-macros.mk: simplify java settings
[oi-userland.git] / components / developer / meson / python-integrate-project.conf
blob40faf51d0a95cf001cdabdfbdcfa724ea3f5d6ec
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
7 # A full copy of the text of the CDDL should have accompanied this
8 # source.  A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
13 # Copyright 2024 Marcel Telka
16 %patch% 01-compiler_def_static_linker.patch
17 %patch% 02-fix-tests-rpath.patch
18 %patch% 05-FILE-stdlib.patch
19 %patch% 06-system-curses.patch
20 %patch% 07-test-skip-gir.patch
21 %patch% 08-h5c++-show-c.patch
22 %patch% 09-libboost_log.patch
23 %patch% 10-ld-version-script.patch
24 %patch% 11-gtk-doc-devhelp2.patch
26 %include-2%
27 # Manifest options for developer/build/meson package
28 COMPONENT_FMRI.meson-meta =             developer/build/meson
29 COMPONENT_CLASSIFICATION.meson-meta =   Development/Distribution Tools
31 TEST_STYLE = custom
32 %include-3%
33 # We have no polkit
34 COMPONENT_POST_INSTALL_ACTION += $(RM) -r $(PROTOUSRSHAREDIR)/polkit-1 ;
36 # Rename section 1 man page(s) to contain version number
37 COMPONENT_POST_INSTALL_ACTION += \
38         for f in $(PROTOUSRSHAREMAN1DIR)/*.1 ; do \
39                 [[ -f $$f ]] || continue ; \
40                 for v in $(PYTHON_VERSIONS) ; do \
41                         [[ "$$f" == "$${f%%$$v.1}" ]] || continue 2 ; \
42                 done ; \
43                 $(MV) $$f $${f%%.1}-$(PYTHON_VERSION).1 ; \
44         done ;
46 # Custom test style
47 # See also: https://mesonbuild.com/MesonCI.html
48 COMPONENT_TEST_CMD = $(PYTHON) run_tests.py
49 COMPONENT_TEST_ARGS =
50 COMPONENT_TEST_ARGS += -v               # verbose
51 COMPONENT_TEST_ARGS += --failfast
52 COMPONENT_TEST_TARGETS =
53 COMPONENT_TEST_ENV += PYTEST_ADDOPTS="$(PYTEST_ADDOPTS)"
54 # Testing expects GNU msgfmt and GNU make
55 COMPONENT_TEST_ENV += PATH="$(PATH.gnu)"
56 # Testing needs to find Qt5/Qt6 libraries
57 COMPONENT_TEST_ENV += LD_LIBRARY_PATH=$(QT5_LIBDIR):$(QT6_LIBDIR)
59 # Exhausts memory
60 PYTEST_ADDOPTS += --deselect unittests/linuxliketests.py::LinuxlikeTests::test_generate_gir_with_address_sanitizer
61 # Uses valgrind and fails (needs further investigation)
62 PYTEST_ADDOPTS += --deselect unittests/allplatformstests.py::AllPlatformTests::test_testsetups
63 # Python 2 test that fails in our environment
64 PYTEST_ADDOPTS += --deselect unittests/machinefiletests.py::NativeFileTests::test_python_module
66 # Remove timing
67 COMPONENT_TEST_TRANSFORMS += "-e '/^Total .*time:/d'"
69 # This project does not support tox so we need to provide test requirements
70 # manually.
71 TEST_REQUIRED_PACKAGES.python += library/python/pytest-xdist
73 # Manually added test dependencies to make sure we test as much as possible and
74 # to get consistent test results
75 TEST_REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc
76 TEST_REQUIRED_PACKAGES += library/c++/hdf5
77 TEST_REQUIRED_PACKAGES += library/qt5
78 TEST_REQUIRED_PACKAGES += library/qt6
79 %hook-manifest%
80 # Create mediated symlinks
81 printf '<transform file path=(usr/share/man/man1/)([^/]+)-(3\\.\\d+)\\.1$ -> emit link path=%%<1>%%<2>.1 target=%%<2>-%%<3>.1 mediator=python mediator-version=%%<3> >\n' >> "$DISTRIBUTION-PYVER.p5m"
83 # Create manifest for developer/build/meson package
84 cat "$WS_TOP/transforms/manifest-metadata-template" \
85         | sed -e 's/^#.*Copyright.*<contributor>.*$/# This file was automatically generated using '"$THIS"'/g' \
86         > "$DISTRIBUTION-meta.p5m"
87 cat <<-"EOF" >> "$DISTRIBUTION-meta.p5m"
88 depend type=require fmri=library/python/meson
89 EOF
90 MANIFEST="$MANIFEST $DISTRIBUTION-meta.p5m"