From 09bdb6811f97dd040d8854c1296580c9bea5a5a8 Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Sat, 2 Apr 2022 14:51:08 +0100 Subject: dev-cpp/sdbus-c++: Apply Gentoo musl patches to systemd This downgrades systemd slightly but the precise version isn't too important. This is admittedly not tested against musl. Hopefully it's sufficient. Closes: https://bugs.gentoo.org/836414 Signed-off-by: James Le Cuirot --- dev-cpp/sdbus-c++/Manifest | 3 +- dev-cpp/sdbus-c++/sdbus-c++-0.9.0-r1.ebuild | 137 +++++++++++++++++++++++++++ dev-cpp/sdbus-c++/sdbus-c++-0.9.0.ebuild | 128 ------------------------- dev-cpp/sdbus-c++/sdbus-c++-1.1.0-r1.ebuild | 141 ++++++++++++++++++++++++++++ dev-cpp/sdbus-c++/sdbus-c++-1.1.0.ebuild | 132 -------------------------- 5 files changed, 280 insertions(+), 261 deletions(-) create mode 100644 dev-cpp/sdbus-c++/sdbus-c++-0.9.0-r1.ebuild delete mode 100644 dev-cpp/sdbus-c++/sdbus-c++-0.9.0.ebuild create mode 100644 dev-cpp/sdbus-c++/sdbus-c++-1.1.0-r1.ebuild delete mode 100644 dev-cpp/sdbus-c++/sdbus-c++-1.1.0.ebuild (limited to 'dev-cpp/sdbus-c++') diff --git a/dev-cpp/sdbus-c++/Manifest b/dev-cpp/sdbus-c++/Manifest index fd0c4fb8f9c5..a1645906706d 100644 --- a/dev-cpp/sdbus-c++/Manifest +++ b/dev-cpp/sdbus-c++/Manifest @@ -1,3 +1,4 @@ DIST sdbus-c++-0.9.0.tar.gz 198979 BLAKE2B 31cda7ce97aad05f93a015ca0f8bd93aa095f6abb6bc513343767c7221d2aeacc96ee2b6a1b0ecf50850f17506fc97aa3a9fead0332687d57bdbddf806502826 SHA512 8695d3efac5654cb28998cdd69c16f251654b2c95e0dc2a2f5a4b01b24dae7b04e1a1f2e9bc9fb96b99f099dd4a130ca980cb672f74829565fd0d48162a581c5 DIST sdbus-c++-1.1.0.tar.gz 201532 BLAKE2B 3dac74cb7fc6717db9d25463ddfb9122db54edcd3bc9d1e71d18c132ede1efaf12b514f335c3978f51277afff7e6ab5533cfd02241759f7e3d24cede8aa29c6d SHA512 ba6230c0d1019875d92a92f793278c528a01692dc70e7acee8bb289af5dae65c1ad7b1c139f859cb7a960c7b48501178bfdf755163c2bc4d3766e67f3aa9b883 -DIST systemd-stable-250.4.tar.gz 11132786 BLAKE2B 8fdfe1bad76e572dc1be0955f3d1c4080f2beb81a2f9670f80827899f5406ab8ed8675400c2f5e8ccef44cf1bceff42ceae12a42e1b67d46c0deb523e6495f25 SHA512 307ed0920da660b6c45d909fea66864fb98db8b2f6905d629fb2012fc4bf64dd25fd61168c22bf4098200be541be9b0e815fbde98806a99c85cb33d49d8b63d0 +DIST systemd-musl-patches-249.5-r1.tar.xz 25148 BLAKE2B 6717291b5335997dcc327764beffc4ded50a5ac0e777bb3c540b5e355bee419c3d9b4a5605c239392d4c1b0e70792bc87282fa15dc9c09a0465b5608f2909006 SHA512 4bb7566437c280e75402fc435a3437aedad127f7b94c9bd54b94e9e1e7507409ad0898681f23e813b9b47414f58e4ca413b6d4e520bbbf578faec09054bf7f9b +DIST systemd-stable-249.5.tar.gz 10597897 BLAKE2B 5c573322ef9bcd9d019776d6e2d8625a741c1535c0d06661b5666c2438a70cfc4dc182919bb419829de27a4d93c16717ce24e668faf9bd6b09e57f8bd88be725 SHA512 d6f1a5a6f03f0ed05b111aee75da509c5868c523af6209f33e630724dd0c7e0d0abf16920795d587e6c31a5915d247ebc613cf26d4aecf39f82ebb0690fab75f diff --git a/dev-cpp/sdbus-c++/sdbus-c++-0.9.0-r1.ebuild b/dev-cpp/sdbus-c++/sdbus-c++-0.9.0-r1.ebuild new file mode 100644 index 000000000000..fde2a90c6d5e --- /dev/null +++ b/dev-cpp/sdbus-c++/sdbus-c++-0.9.0-r1.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit python-any-r1 meson cmake + +SDP="systemd-stable-249.5" +MUSL_PATCHSET="249.5-r1" + +DESCRIPTION="High-level C++ D-Bus library" +HOMEPAGE="https://github.com/Kistler-Group/sdbus-cpp" +SRC_URI="https://github.com/Kistler-Group/sdbus-cpp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + !systemd? ( + https://github.com/systemd/systemd/archive/v${SDP##*-}/${SDP}.tar.gz + elibc_musl? ( + https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz + https://dev.gentoo.org/~soap/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz + ) + )" +LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1" # Nothing to do with Qt but exception text is exactly the same. +SLOT="0/0" +KEYWORDS="~amd64" +IUSE="doc systemd test tools" +RESTRICT="!test? ( test )" + +RDEPEND=" + !systemd? ( sys-libs/libcap ) + systemd? ( >=sys-apps/systemd-236:= ) + tools? ( dev-libs/expat ) +" + +# util-linux is needed for libmount when building libsystemd, but sdbus-c++ +# doesn't need it when subsequently linking libsystemd statically. + +DEPEND=" + ${RDEPEND} + !systemd? ( sys-apps/util-linux ) + test? ( >=dev-cpp/gtest-1.10.0 ) +" + +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] ) + !systemd? ( + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') + ) +" + +python_check_deps() { + has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" +} + +S="${WORKDIR}/sdbus-cpp-${PV}" +SDS="${WORKDIR}/${SDP}" +SDB="${WORKDIR}/systemd-build" + +pkg_setup() { + use systemd || python-any-r1_pkg_setup +} + +src_prepare() { + if ! use systemd; then + pushd "${SDS}" || die + use elibc_musl && eapply "${WORKDIR}"/musl-patches + eapply "${FILESDIR}"/${PN}-static-libsystemd.patch + popd || die + fi + + cmake_src_prepare +} + +src_configure() { + if ! use systemd; then + EMESON_SOURCE=${SDS} \ + BUILD_DIR=${SDB} \ + meson_src_configure \ + --prefix "${WORKDIR}" \ + --includedir "${SDP}/src" \ + -Drootlibdir="${SDB}" \ + -Dselinux=false \ + -Dstatic-libsystemd=pic + + # systemd doesn't generate the needed pkg-config file during configure. + BUILD_DIR=${SDB} \ + meson_src_compile libsystemd.pc + + # Need this present otherwise CMake generates the wrong linker args. + touch "${SDB}"/libsystemd.a || die + fi + + local mycmakeargs=( + -DBUILD_CODE_GEN=$(usex tools) + -DBUILD_DOC=yes + -DBUILD_DOXYGEN_DOC=$(usex doc) + -DBUILD_LIBSYSTEMD=no + -DBUILD_TESTS=$(usex test) + ) + + PKG_CONFIG_PATH=${SDB}/src/libsystemd:${PKG_CONFIG_PATH} \ + cmake_src_configure +} + +src_compile() { + if ! use systemd; then + BUILD_DIR=${SDB} \ + meson_src_compile version.h systemd:static_library + fi + + cmake_src_compile all $(usev doc) +} + +src_test() { + if ! cmp -s {"${S}"/tests/integrationtests/files,/etc/dbus-1/system.d}/org.sdbuscpp.integrationtests.conf; then + ewarn "Not running the tests as a D-Bus configuration file has not been" + ewarn "installed yet or has changed since. The tests can be run after" + ewarn "the package has been merged." + return + elif [[ ! -S /run/dbus/system_bus_socket ]]; then + ewarn "Not running the tests as the system-wide D-Bus daemon is unavailable." + return + fi + + cmake_src_test +} + +src_install() { + cmake_src_install + rm -v "${ED}"/usr/share/doc/${PF}/COPYING || die + + if use test; then + # Delete installed test binaries. + rm -rv "${ED}"/opt || die + fi +} diff --git a/dev-cpp/sdbus-c++/sdbus-c++-0.9.0.ebuild b/dev-cpp/sdbus-c++/sdbus-c++-0.9.0.ebuild deleted file mode 100644 index 04f6c85c5a16..000000000000 --- a/dev-cpp/sdbus-c++/sdbus-c++-0.9.0.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit python-any-r1 meson cmake - -SDP="systemd-stable-250.4" -DESCRIPTION="High-level C++ D-Bus library" -HOMEPAGE="https://github.com/Kistler-Group/sdbus-cpp" -SRC_URI="https://github.com/Kistler-Group/sdbus-cpp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - !systemd? ( https://github.com/systemd/systemd/archive/v${SDP##*-}/${SDP}.tar.gz )" -LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1" # Nothing to do with Qt but exception text is exactly the same. -SLOT="0/0" -KEYWORDS="~amd64" -IUSE="doc systemd test tools" -RESTRICT="!test? ( test )" - -RDEPEND=" - !systemd? ( sys-libs/libcap ) - systemd? ( >=sys-apps/systemd-236:= ) - tools? ( dev-libs/expat ) -" - -# util-linux is needed for libmount when building libsystemd, but sdbus-c++ -# doesn't need it when subsequently linking libsystemd statically. - -DEPEND=" - ${RDEPEND} - !systemd? ( sys-apps/util-linux ) - test? ( >=dev-cpp/gtest-1.10.0 ) -" - -BDEPEND=" - virtual/pkgconfig - doc? ( app-doc/doxygen[dot] ) - !systemd? ( - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') - ) -" - -python_check_deps() { - has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" -} - -S="${WORKDIR}/sdbus-cpp-${PV}" -SDS="${WORKDIR}/${SDP}" -SDB="${WORKDIR}/systemd-build" - -pkg_setup() { - use systemd || python-any-r1_pkg_setup -} - -src_prepare() { - if ! use systemd; then - pushd "${SDS}" || die - eapply "${FILESDIR}"/${PN}-static-libsystemd.patch - popd || die - fi - - cmake_src_prepare -} - -src_configure() { - if ! use systemd; then - EMESON_SOURCE=${SDS} \ - BUILD_DIR=${SDB} \ - meson_src_configure \ - --prefix "${WORKDIR}" \ - --includedir "${SDP}/src" \ - -Drootlibdir="${SDB}" \ - -Dselinux=false \ - -Dstatic-libsystemd=pic - - # systemd doesn't generate the needed pkg-config file during configure. - BUILD_DIR=${SDB} \ - meson_src_compile libsystemd.pc - - # Need this present otherwise CMake generates the wrong linker args. - touch "${SDB}"/libsystemd.a || die - fi - - local mycmakeargs=( - -DBUILD_CODE_GEN=$(usex tools) - -DBUILD_DOC=yes - -DBUILD_DOXYGEN_DOC=$(usex doc) - -DBUILD_LIBSYSTEMD=no - -DBUILD_TESTS=$(usex test) - ) - - PKG_CONFIG_PATH=${SDB}/src/libsystemd:${PKG_CONFIG_PATH} \ - cmake_src_configure -} - -src_compile() { - if ! use systemd; then - BUILD_DIR=${SDB} \ - meson_src_compile version.h systemd:static_library - fi - - cmake_src_compile all $(usev doc) -} - -src_test() { - if ! cmp -s {"${S}"/tests/integrationtests/files,/etc/dbus-1/system.d}/org.sdbuscpp.integrationtests.conf; then - ewarn "Not running the tests as a D-Bus configuration file has not been" - ewarn "installed yet or has changed since. The tests can be run after" - ewarn "the package has been merged." - return - elif [[ ! -S /run/dbus/system_bus_socket ]]; then - ewarn "Not running the tests as the system-wide D-Bus daemon is unavailable." - return - fi - - cmake_src_test -} - -src_install() { - cmake_src_install - rm -v "${ED}"/usr/share/doc/${PF}/COPYING || die - - if use test; then - # Delete installed test binaries. - rm -rv "${ED}"/opt || die - fi -} diff --git a/dev-cpp/sdbus-c++/sdbus-c++-1.1.0-r1.ebuild b/dev-cpp/sdbus-c++/sdbus-c++-1.1.0-r1.ebuild new file mode 100644 index 000000000000..df550152fd34 --- /dev/null +++ b/dev-cpp/sdbus-c++/sdbus-c++-1.1.0-r1.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit python-any-r1 meson cmake + +SDP="systemd-stable-249.5" +MUSL_PATCHSET="249.5-r1" + +DESCRIPTION="High-level C++ D-Bus library" +HOMEPAGE="https://github.com/Kistler-Group/sdbus-cpp" +SRC_URI="https://github.com/Kistler-Group/sdbus-cpp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + !systemd? ( + https://github.com/systemd/systemd/archive/v${SDP##*-}/${SDP}.tar.gz + elibc_musl? ( + https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz + https://dev.gentoo.org/~soap/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz + ) + )" +LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1" # Nothing to do with Qt but exception text is exactly the same. +SLOT="0/1" +KEYWORDS="~amd64" +IUSE="doc systemd test tools" +RESTRICT="!test? ( test )" + +RDEPEND=" + !systemd? ( sys-libs/libcap ) + systemd? ( >=sys-apps/systemd-236:= ) + tools? ( dev-libs/expat ) +" + +# util-linux is needed for libmount when building libsystemd, but sdbus-c++ +# doesn't need it when subsequently linking libsystemd statically. + +DEPEND=" + ${RDEPEND} + !systemd? ( sys-apps/util-linux ) + test? ( >=dev-cpp/gtest-1.10.0 ) +" + +BDEPEND=" + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] ) + !systemd? ( + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') + ) +" + +python_check_deps() { + has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" +} + +S="${WORKDIR}/sdbus-cpp-${PV}" +SDS="${WORKDIR}/${SDP}" +SDB="${WORKDIR}/systemd-build" + +PATCHES=( + "${FILESDIR}"/${PN}-gtest-1.11.patch +) + +pkg_setup() { + use systemd || python-any-r1_pkg_setup +} + +src_prepare() { + if ! use systemd; then + pushd "${SDS}" || die + use elibc_musl && eapply "${WORKDIR}"/musl-patches + eapply "${FILESDIR}"/${PN}-static-libsystemd.patch + popd || die + fi + + cmake_src_prepare +} + +src_configure() { + if ! use systemd; then + EMESON_SOURCE=${SDS} \ + BUILD_DIR=${SDB} \ + meson_src_configure \ + --prefix "${WORKDIR}" \ + --includedir "${SDP}/src" \ + -Drootlibdir="${SDB}" \ + -Dselinux=false \ + -Dstatic-libsystemd=pic + + # systemd doesn't generate the needed pkg-config file during configure. + BUILD_DIR=${SDB} \ + meson_src_compile libsystemd.pc + + # Need this present otherwise CMake generates the wrong linker args. + touch "${SDB}"/libsystemd.a || die + fi + + local mycmakeargs=( + -DBUILD_CODE_GEN=$(usex tools) + -DBUILD_DOC=yes + -DBUILD_DOXYGEN_DOC=$(usex doc) + -DBUILD_LIBSYSTEMD=no + -DBUILD_TESTS=$(usex test) + ) + + PKG_CONFIG_PATH=${SDB}/src/libsystemd:${PKG_CONFIG_PATH} \ + cmake_src_configure +} + +src_compile() { + if ! use systemd; then + BUILD_DIR=${SDB} \ + meson_src_compile version.h systemd:static_library + fi + + cmake_src_compile all $(usev doc) +} + +src_test() { + if ! cmp -s {"${S}"/tests/integrationtests/files,/etc/dbus-1/system.d}/org.sdbuscpp.integrationtests.conf; then + ewarn "Not running the tests as a D-Bus configuration file has not been" + ewarn "installed yet or has changed since. The tests can be run after" + ewarn "the package has been merged." + return + elif [[ ! -S /run/dbus/system_bus_socket ]]; then + ewarn "Not running the tests as the system-wide D-Bus daemon is unavailable." + return + fi + + cmake_src_test +} + +src_install() { + cmake_src_install + rm -v "${ED}"/usr/share/doc/${PF}/COPYING || die + + if use test; then + # Delete installed test binaries. + rm -rv "${ED}"/opt || die + fi +} diff --git a/dev-cpp/sdbus-c++/sdbus-c++-1.1.0.ebuild b/dev-cpp/sdbus-c++/sdbus-c++-1.1.0.ebuild deleted file mode 100644 index 7eee346da844..000000000000 --- a/dev-cpp/sdbus-c++/sdbus-c++-1.1.0.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) -inherit python-any-r1 meson cmake - -SDP="systemd-stable-250.4" -DESCRIPTION="High-level C++ D-Bus library" -HOMEPAGE="https://github.com/Kistler-Group/sdbus-cpp" -SRC_URI="https://github.com/Kistler-Group/sdbus-cpp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - !systemd? ( https://github.com/systemd/systemd/archive/v${SDP##*-}/${SDP}.tar.gz )" -LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1" # Nothing to do with Qt but exception text is exactly the same. -SLOT="0/1" -KEYWORDS="~amd64" -IUSE="doc systemd test tools" -RESTRICT="!test? ( test )" - -RDEPEND=" - !systemd? ( sys-libs/libcap ) - systemd? ( >=sys-apps/systemd-236:= ) - tools? ( dev-libs/expat ) -" - -# util-linux is needed for libmount when building libsystemd, but sdbus-c++ -# doesn't need it when subsequently linking libsystemd statically. - -DEPEND=" - ${RDEPEND} - !systemd? ( sys-apps/util-linux ) - test? ( >=dev-cpp/gtest-1.10.0 ) -" - -BDEPEND=" - virtual/pkgconfig - doc? ( app-doc/doxygen[dot] ) - !systemd? ( - ${PYTHON_DEPS} - $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') - ) -" - -python_check_deps() { - has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" -} - -S="${WORKDIR}/sdbus-cpp-${PV}" -SDS="${WORKDIR}/${SDP}" -SDB="${WORKDIR}/systemd-build" - -PATCHES=( - "${FILESDIR}"/${PN}-gtest-1.11.patch -) - -pkg_setup() { - use systemd || python-any-r1_pkg_setup -} - -src_prepare() { - if ! use systemd; then - pushd "${SDS}" || die - eapply "${FILESDIR}"/${PN}-static-libsystemd.patch - popd || die - fi - - cmake_src_prepare -} - -src_configure() { - if ! use systemd; then - EMESON_SOURCE=${SDS} \ - BUILD_DIR=${SDB} \ - meson_src_configure \ - --prefix "${WORKDIR}" \ - --includedir "${SDP}/src" \ - -Drootlibdir="${SDB}" \ - -Dselinux=false \ - -Dstatic-libsystemd=pic - - # systemd doesn't generate the needed pkg-config file during configure. - BUILD_DIR=${SDB} \ - meson_src_compile libsystemd.pc - - # Need this present otherwise CMake generates the wrong linker args. - touch "${SDB}"/libsystemd.a || die - fi - - local mycmakeargs=( - -DBUILD_CODE_GEN=$(usex tools) - -DBUILD_DOC=yes - -DBUILD_DOXYGEN_DOC=$(usex doc) - -DBUILD_LIBSYSTEMD=no - -DBUILD_TESTS=$(usex test) - ) - - PKG_CONFIG_PATH=${SDB}/src/libsystemd:${PKG_CONFIG_PATH} \ - cmake_src_configure -} - -src_compile() { - if ! use systemd; then - BUILD_DIR=${SDB} \ - meson_src_compile version.h systemd:static_library - fi - - cmake_src_compile all $(usev doc) -} - -src_test() { - if ! cmp -s {"${S}"/tests/integrationtests/files,/etc/dbus-1/system.d}/org.sdbuscpp.integrationtests.conf; then - ewarn "Not running the tests as a D-Bus configuration file has not been" - ewarn "installed yet or has changed since. The tests can be run after" - ewarn "the package has been merged." - return - elif [[ ! -S /run/dbus/system_bus_socket ]]; then - ewarn "Not running the tests as the system-wide D-Bus daemon is unavailable." - return - fi - - cmake_src_test -} - -src_install() { - cmake_src_install - rm -v "${ED}"/usr/share/doc/${PF}/COPYING || die - - if use test; then - # Delete installed test binaries. - rm -rv "${ED}"/opt || die - fi -} -- cgit v1.2.3-65-gdbad