diff options
author | Viorel Munteanu <ceamac.paragon@gmail.com> | 2022-02-08 07:07:31 +0200 |
---|---|---|
committer | Viorel Munteanu <ceamac.paragon@gmail.com> | 2022-02-08 07:07:31 +0200 |
commit | 61a59bd4bd8f1bc7dd41dc0bff153c866d9ddb53 (patch) | |
tree | aafe7e874988b28d950d4f512130afeaa638e309 | |
parent | media-libs/fcft: treeclean (moved to ::gentoo) (diff) | |
download | guru-61a59bd4.tar.gz guru-61a59bd4.tar.bz2 guru-61a59bd4.zip |
app-misc/fastfetch: fix automagical deps
Patch the build system instead of sedding out checks
Signed-off-by: Viorel Munteanu <ceamac.paragon@gmail.com>
-rw-r--r-- | app-misc/fastfetch/fastfetch-0.569-r1.ebuild | 89 | ||||
-rw-r--r-- | app-misc/fastfetch/fastfetch-9999.ebuild | 31 | ||||
-rw-r--r-- | app-misc/fastfetch/files/fastfetch-0.569-cmake-optional-deps.patch | 199 |
3 files changed, 303 insertions, 16 deletions
diff --git a/app-misc/fastfetch/fastfetch-0.569-r1.ebuild b/app-misc/fastfetch/fastfetch-0.569-r1.ebuild new file mode 100644 index 000000000..ce926d740 --- /dev/null +++ b/app-misc/fastfetch/fastfetch-0.569-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 cmake + +DESCRIPTION="Like neofetch but faster" +HOMEPAGE="https://github.com/LinusDierheimer/fastfetch" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/LinusDierheimer/fastfetch.git" +else + COMMIT="7ad73d3ba13489b341a07782e6374d92c54091ba" + VERSION_REV="7ad73d3" + SRC_URI="https://github.com/LinusDierheimer/fastfetch/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${COMMIT}" +fi + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="X gnome pci vulkan wayland xcb xfce xrandr" + +# note - qa-vdb will always report errors because fastfetch loads the libs dynamically +RDEPEND=" + X? ( x11-libs/libX11 ) + gnome? ( + dev-libs/glib + gnome-base/dconf + ) + pci? ( sys-apps/pciutils ) + vulkan? ( media-libs/vulkan-loader ) + wayland? ( dev-libs/wayland ) + xcb? ( x11-libs/libxcb ) + xfce? ( xfce-base/xfconf ) + xrandr? ( x11-libs/libXrandr ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +REQUIRED_USE="xrandr? ( X )" + +PATCHES=( + "${FILESDIR}/fastfetch-0.569-cmake-optional-deps.patch" +) + +src_configure() { + local mycmakeargs=( + -DENABLE_RPM=no + -DENABLE_VULKAN=$(usex vulkan) + -DENABLE_WAYLAND=$(usex wayland) + -DENABLE_XCB_RANDR=$(usex xcb) + -DENABLE_XCB=$(usex xcb) + -DENABLE_XRANDR=$(usex xrandr) + -DENABLE_X11=$(usex X) + -DENABLE_GIO=$(usex gnome) + -DENABLE_DCONF=$(usex gnome) + -DENABLE_XFCONF=$(usex xfce) + ) + + if [[ ${PV} != *9999 ]]; then + # version comes from git, fake it + VERSION_MAJOR="$(ver_cut 2)" + sed -i -e " + s/\(PROJECT_VERSION\) .*$/\1 \"r${VERSION_MAJOR}.${VERSION_REV}\")/ + s/\(PROJECT_VERSION_MAJOR\) .*$/\1 \"${VERSION_MAJOR}\")/" CMakeLists.txt || die "Cannot patch version" + fi + + cmake_src_configure +} + +src_install() { + if [[ ${PV} == *9999 ]]; then + elog "REV=\"r$(git rev-list --count HEAD)\"" + elog "COMMIT=\"$(git rev-parse HEAD)\"" + elog "VERSION_REV=\"$(git rev-parse --short HEAD)\"" + fi + + pushd "${BUILD_DIR}" || die + dobin fastfetch + popd + + newbashcomp completions/bash fastfetch + insinto /usr/share/${PN}/presets + doins presets/* + + einstalldocs +} diff --git a/app-misc/fastfetch/fastfetch-9999.ebuild b/app-misc/fastfetch/fastfetch-9999.ebuild index e93f5cf46..4c5668f4e 100644 --- a/app-misc/fastfetch/fastfetch-9999.ebuild +++ b/app-misc/fastfetch/fastfetch-9999.ebuild @@ -40,24 +40,23 @@ BDEPEND="virtual/pkgconfig" REQUIRED_USE="xrandr? ( X )" -# disable_check VAR lib -disable_check() { - sed -i -e " - /pkg_check_modules ($1 /d - /message.*$2/d" CMakeLists.txt || die "Cannot disable $1" -} +PATCHES=( + "${FILESDIR}/fastfetch-0.569-cmake-optional-deps.patch" +) src_configure() { - disable_check RPM librpm - - use X || disable_check X11 x11 - use gnome || (disable_check GIO gio- && disable_check DCONF dconf) - use pci || disable_check LIBPCI libpci - use vulkan || disable_check VULKAN vulkan - use wayland || disable_check WAYLAND wayland-client - use xcb || (disable_check XCB_RANDR xcb-randr && disable_check XCB xcb) - use xfce || disable_check XFCONF libxfconf - use xrandr || disable_check XRANDR xrandr + local mycmakeargs=( + -DENABLE_RPM=no + -DENABLE_VULKAN=$(usex vulkan) + -DENABLE_WAYLAND=$(usex wayland) + -DENABLE_XCB_RANDR=$(usex xcb) + -DENABLE_XCB=$(usex xcb) + -DENABLE_XRANDR=$(usex xrandr) + -DENABLE_X11=$(usex X) + -DENABLE_GIO=$(usex gnome) + -DENABLE_DCONF=$(usex gnome) + -DENABLE_XFCONF=$(usex xfce) + ) if [[ ${PV} != *9999 ]]; then # version comes from git, fake it diff --git a/app-misc/fastfetch/files/fastfetch-0.569-cmake-optional-deps.patch b/app-misc/fastfetch/files/fastfetch-0.569-cmake-optional-deps.patch new file mode 100644 index 000000000..617b6c6e9 --- /dev/null +++ b/app-misc/fastfetch/files/fastfetch-0.569-cmake-optional-deps.patch @@ -0,0 +1,199 @@ +Add options to disable automagical dependencies + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0915750..05ca503 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -48,82 +48,116 @@ find_package(Threads REQUIRED) + + find_package(PkgConfig REQUIRED) + +-pkg_check_modules (LIBPCI libpci) +-if(LIBPCI_FOUND) +- add_compile_definitions(FF_HAVE_LIBPCI=1) +-else(LIBPCI_FOUND) +- message(WARNING "Package libpci not found. Building without support.") +-endif(LIBPCI_FOUND) +- +-pkg_check_modules (VULKAN vulkan) +-if(VULKAN_FOUND) +- add_compile_definitions(FF_HAVE_VULKAN=1) +-else(VULKAN_FOUND) +- message(WARNING "Package vulkan not found. Building without support.") +-endif(VULKAN_FOUND) +- +-pkg_check_modules (WAYLAND wayland-client) +-if(WAYLAND_FOUND) +- add_compile_definitions(FF_HAVE_WAYLAND=1) +-else(WAYLAND_FOUND) +- message(WARNING "Package wayland-client not found. Building without support.") +-endif(WAYLAND_FOUND) +- +-pkg_check_modules (XCB_RANDR xcb-randr) +-if(XCB_RANDR_FOUND) +- add_compile_definitions(FF_HAVE_XCB_RANDR=1) +-else(XCB_RANDR_FOUND) +- message(WARNING "Package xcb-randr not found. Building without support.") +-endif(XCB_RANDR_FOUND) +- +-pkg_check_modules (XCB xcb) +-if(XCB_FOUND) +- add_compile_definitions(FF_HAVE_XCB=1) +-else(XCB_FOUND) +- message(WARNING "Package xcb not found. Building without support.") +-endif(XCB_FOUND) +- +-pkg_check_modules (XRANDR xrandr) +-if(XRANDR_FOUND) +- add_compile_definitions(FF_HAVE_XRANDR=1) +-else(XRANDR_FOUND) +- message(WARNING "Package xrandr not found. Building without support.") +-endif(XRANDR_FOUND) +- +-pkg_check_modules (X11 x11) +-if(X11_FOUND) +- add_compile_definitions(FF_HAVE_X11=1) +-else(X11_FOUND) +- message(WARNING "Package x11 not found. Building without support.") +-endif(X11_FOUND) +- +-pkg_check_modules (GIO gio-2.0) +-if(GIO_FOUND) +- add_compile_definitions(FF_HAVE_GIO=1) +-else(GIO_FOUND) +- message(WARNING "Package gio-2.0 not found. Building without support.") +-endif(GIO_FOUND) +- +-pkg_check_modules (DCONF dconf) +-if(DCONF_FOUND) +- add_compile_definitions(FF_HAVE_DCONF=1) +-else(DCONF_FOUND) +- message(WARNING "Package dconf not found. Building without support.") +-endif(DCONF_FOUND) +- +-pkg_check_modules (XFCONF libxfconf-0) +-if(XFCONF_FOUND) +- add_compile_definitions(FF_HAVE_XFCONF=1) +-else(XFCONF_FOUND) +- message(WARNING "Package libxfconf-0 not found. Building without support.") +-endif(XFCONF_FOUND) +- +-pkg_check_modules (RPM rpm) +-if(RPM_FOUND) +- add_compile_definitions(FF_HAVE_RPM=1) +-else(RPM_FOUND) +- message(WARNING "Package librpm not found. Building without support.") +-endif(RPM_FOUND) ++OPTION(ENABLE_LIBPCI "Enable libpci" ON) ++OPTION(ENABLE_VULKAN "Enable vulkan" ON) ++OPTION(ENABLE_WAYLAND "Enable wayland-client" ON) ++OPTION(ENABLE_XCB_RANDR "Enable xcb-randr" ON) ++OPTION(ENABLE_XCB "Enable xcb" ON) ++OPTION(ENABLE_XRANDR "Enable xrandr" ON) ++OPTION(ENABLE_X11 "Enable x11" ON) ++OPTION(ENABLE_GIO "Enable gio-2.0" ON) ++OPTION(ENABLE_DCONF "Enable dconf" ON) ++OPTION(ENABLE_XFCONF "Enable libxfconf-0" ON) ++OPTION(ENABLE_RPM "Enable rpm" ON) ++ ++if(ENABLE_LIBPCI) ++ pkg_check_modules (LIBPCI libpci) ++ if(LIBPCI_FOUND) ++ add_compile_definitions(FF_HAVE_LIBPCI=1) ++ else(LIBPCI_FOUND) ++ message(WARNING "Package libpci not found. Building without support.") ++ endif(LIBPCI_FOUND) ++endif(ENABLE_LIBPCI) ++ ++if(ENABLE_VULKAN) ++ pkg_check_modules (VULKAN vulkan) ++ if(VULKAN_FOUND) ++ add_compile_definitions(FF_HAVE_VULKAN=1) ++ else(VULKAN_FOUND) ++ message(WARNING "Package vulkan not found. Building without support.") ++ endif(VULKAN_FOUND) ++endif(ENABLE_VULKAN) ++ ++if(ENABLE_WAYLAND) ++ pkg_check_modules (WAYLAND wayland-client) ++ if(WAYLAND_FOUND) ++ add_compile_definitions(FF_HAVE_WAYLAND=1) ++ else(WAYLAND_FOUND) ++ message(WARNING "Package wayland-client not found. Building without support.") ++ endif(WAYLAND_FOUND) ++endif(ENABLE_WAYLAND) ++ ++if(ENABLE_XCB_RANDR) ++ pkg_check_modules (XCB_RANDR xcb-randr) ++ if(XCB_RANDR_FOUND) ++ add_compile_definitions(FF_HAVE_XCB_RANDR=1) ++ else(XCB_RANDR_FOUND) ++ message(WARNING "Package xcb-randr not found. Building without support.") ++ endif(XCB_RANDR_FOUND) ++endif(ENABLE_XCB_RANDR) ++ ++if(ENABLE_XCB) ++ pkg_check_modules (XCB xcb) ++ if(XCB_FOUND) ++ add_compile_definitions(FF_HAVE_XCB=1) ++ else(XCB_FOUND) ++ message(WARNING "Package xcb not found. Building without support.") ++ endif(XCB_FOUND) ++endif(ENABLE_XCB) ++ ++if(ENABLE_XRANDR) ++ pkg_check_modules (XRANDR xrandr) ++ if(XRANDR_FOUND) ++ add_compile_definitions(FF_HAVE_XRANDR=1) ++ else(XRANDR_FOUND) ++ message(WARNING "Package xrandr not found. Building without support.") ++ endif(XRANDR_FOUND) ++endif(ENABLE_XRANDR) ++ ++if(ENABLE_X11) ++ pkg_check_modules (X11 x11) ++ if(X11_FOUND) ++ add_compile_definitions(FF_HAVE_X11=1) ++ else(X11_FOUND) ++ message(WARNING "Package x11 not found. Building without support.") ++ endif(X11_FOUND) ++endif(ENABLE_X11) ++ ++if(ENABLE_GIO) ++ pkg_check_modules (GIO gio-2.0) ++ if(GIO_FOUND) ++ add_compile_definitions(FF_HAVE_GIO=1) ++ else(GIO_FOUND) ++ message(WARNING "Package gio-2.0 not found. Building without support.") ++ endif(GIO_FOUND) ++endif(ENABLE_GIO) ++ ++if(ENABLE_DCONF) ++ pkg_check_modules (DCONF dconf) ++ if(DCONF_FOUND) ++ add_compile_definitions(FF_HAVE_DCONF=1) ++ else(DCONF_FOUND) ++ message(WARNING "Package dconf not found. Building without support.") ++ endif(DCONF_FOUND) ++endif(ENABLE_DCONF) ++ ++if(ENABLE_XFCONF) ++ pkg_check_modules (XFCONF libxfconf-0) ++ if(XFCONF_FOUND) ++ add_compile_definitions(FF_HAVE_XFCONF=1) ++ else(XFCONF_FOUND) ++ message(WARNING "Package libxfconf-0 not found. Building without support.") ++ endif(XFCONF_FOUND) ++endif(ENABLE_XFCONF) ++ ++if(ENABLE_RPM) ++ pkg_check_modules (RPM rpm) ++ if(RPM_FOUND) ++ add_compile_definitions(FF_HAVE_RPM=1) ++ else(RPM_FOUND) ++ message(WARNING "Package librpm not found. Building without support.") ++ endif(RPM_FOUND) ++endif(ENABLE_RPM) + + include_directories( + ${PROJECT_BINARY_DIR} |