forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-util/gnome-builder: bump to 3.30.2
Signed-off-by: Mart Raudsepp <[email protected]> Package-Manager: Portage-2.3.52, Repoman-2.3.11
- Loading branch information
Showing
2 changed files
with
188 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
DIST gnome-builder-3.24.2.tar.xz 4342908 BLAKE2B 5dca80d2e948041bc096fa9a2a5d39322c6fedb0560e3e4f3c60c7b0657c7c62e89387a63f7d050c3df90d8c129485bc5495039802548b22ae268d94c14a37ae SHA512 dec133ad3c5ef96a036598ebbe684667dc44f73d8643e700f1e776cf8eb860b99c1d333f1fed5bc896cb7bdcf607eb51fedb7bb1f5b0cc662e4b2703d74140bf | ||
DIST gnome-builder-3.28.4.tar.xz 9309060 BLAKE2B a4402452ffaf64cc767edb9cba65b74a88cb77d04ca2ffecd3b01c53382930891c2c03e2528861f4d28ca3643465b6767235e945f44cc37d2d716bcbb3ab25c8 SHA512 ef83b909f295d83478aa7d5deb8b5d8291ddf6134e147e88452cdba8ff449a2415d0381d63d3f82cf28942b1096a704de64540c8cdf5f06c21c8278c93fbbc03 | ||
DIST gnome-builder-3.30.2-patchset.tar.xz 43720 BLAKE2B c444117232c6560e68cad46134327e94b361cf89c4f68f2e68940e8a46d2a42720aa5e881dcb3153a3c75057cfacd8c67287a8bb0740999d4628ab6498db7c32 SHA512 e17a0357d2a3e6c059ef27dbf591ad3acfa6f5d7d58f47ca8ebc6dc6883a1bb1bb87b15f3c564c2babc5857e9de4a7a47934398d0000880f233265d7254087d3 | ||
DIST gnome-builder-3.30.2.tar.xz 9478508 BLAKE2B 546328df141582d0d15317166c27493ac1f0b813680607f05de3429301cf8e4937cfc51bff69db26cd4ef1a8ef02aadd5aaa643c857eeabf9b16606a2a3a5cda SHA512 39087e3a30a807b7374167ba4c5295a9161e3c8d8e409172dcd28c52db48e72cd9303c2d4ff8fd11d4bfc70af6c810e5dc254c4c74b646875206221cff3bad57 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
# Copyright 1999-2018 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
PYTHON_COMPAT=( python3_{4,5,6} ) | ||
VALA_MIN_API_VERSION="0.36" | ||
DISABLE_AUTOFORMATTING=1 | ||
FORCE_PRINT_ELOG=1 | ||
|
||
inherit gnome.org gnome2-utils llvm meson python-single-r1 readme.gentoo-r1 vala virtualx xdg | ||
|
||
DESCRIPTION="An IDE for writing GNOME-based software" | ||
HOMEPAGE="https://wiki.gnome.org/Apps/Builder" | ||
SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${P}-patchset.tar.xz" | ||
|
||
# FIXME: Review licenses at some point | ||
LICENSE="GPL-3+ GPL-2+ LGPL-3+ LGPL-2+ MIT CC-BY-SA-3.0 CC0-1.0" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="clang +devhelp doc +git gtk-doc sysprof test vala webkit" | ||
REQUIRED_USE="${PYTHON_REQUIRED_USE}" | ||
|
||
# When bumping, pay attention to all the included plugins/*/meson.build (and other) build files and the requirements within. | ||
# `grep -rI dependency * --include='meson.build'` can give a good initial idea for external deps and their double checking. | ||
# The listed RDEPEND order shold roughly match that output as well, with toplevel one first. | ||
# Most plugins have no extra requirements and default to enabled; we need to handle the ones with extra requirements. Many of | ||
# them have optional runtime dependencies, for which we try to at least notify the user via DOC_CONTENTS (but not all small | ||
# things); `grep -rI -e 'command-pattern.*=' -e 'push_arg'` can give a (spammy) idea, plus python imports in try/except. | ||
|
||
# FIXME: with_flatpak needs flatpak.pc >=0.8.0, ostree-1, libsoup-2.4.pc >=2.52.0 and ${LIBGIT_DEPS} | ||
# Editorconfig needs old pcre, with vte migrating away, might want it optional or ported to pcre2? | ||
# An introspection USE flag of a dep is required if any introspection based language plugin wants to use it (grep for gi.repository). Last full check at 3.28.4 | ||
|
||
# These are needed with either USE=git or USE=flatpak (albeit the latter isn't supported yet) | ||
LIBGIT_DEPS=" | ||
dev-libs/libgit2[ssh,threads] | ||
>=dev-libs/libgit2-glib-0.25.0[ssh] | ||
" | ||
# TODO: Handle llvm slots via llvm.eclass; see plugins/clang/meson.build | ||
RDEPEND=" | ||
>=dev-libs/libdazzle-3.30.2[introspection,vala?] | ||
>=dev-libs/glib-2.58.0:2 | ||
>=x11-libs/gtk+-3.24.0:3[introspection] | ||
>=x11-libs/gtksourceview-4.0.0:4[introspection] | ||
>=dev-libs/json-glib-1.2.0 | ||
>=dev-libs/jsonrpc-glib-3.30.1[vala?] | ||
>=x11-libs/pango-1.38.0 | ||
>=dev-libs/libpeas-1.22.0[python,${PYTHON_USEDEP}] | ||
>=dev-libs/template-glib-3.28.0[introspection,vala?] | ||
>=x11-libs/vte-0.40.2:2.91[vala?] | ||
>=dev-libs/libxml2-2.9.0 | ||
git? ( ${LIBGIT_DEPS} ) | ||
dev-libs/libpcre:3 | ||
webkit? ( >=net-libs/webkit-gtk-2.12.0:4=[introspection] ) | ||
>=dev-libs/gobject-introspection-1.48.0:= | ||
>=dev-python/pygobject-3.22.0:3[${PYTHON_USEDEP}] | ||
${PYTHON_DEPS} | ||
clang? ( sys-devel/clang:= ) | ||
devhelp? ( >=dev-util/devhelp-3.25.1:= ) | ||
sysprof? ( >=dev-util/sysprof-3.30.2[gtk] ) | ||
vala? ( | ||
dev-lang/vala:= | ||
$(vala_depend) | ||
) | ||
" # We use subslot operator dep on vala in addition to $(vala_depend), because we have _runtime_ | ||
# usage in vala-pack plugin and need it rebuilt before removing an older vala it was built against | ||
# TODO: runtime ctags path finding.. | ||
# FIXME: spellcheck plugin temporarily disabled due to requiring enchant-2 | ||
# >=app-text/gspell-1.2.0 | ||
# >=app-text/enchant:2 | ||
|
||
# desktop-file-utils required for tests, but we have it in deptree for xdg update-desktop-database anyway, so be explicit and unconditional | ||
# appstream-glib needed for validation with appstream-util with FEATURES=test | ||
DEPEND="${RDEPEND} | ||
doc? ( dev-python/sphinx ) | ||
test? ( | ||
dev-libs/appstream-glib | ||
sys-apps/dbus ) | ||
dev-util/desktop-file-utils | ||
dev-util/glib-utils | ||
>=dev-util/meson-0.47.1 | ||
>=sys-devel/gettext-0.19.8 | ||
virtual/pkgconfig | ||
" | ||
|
||
DOC_CONTENTS='gnome-builder can use various other dependencies on runtime to provide | ||
extra capabilities beyond these expressed via USE flags. Some of these | ||
that are currently available with packages include: | ||
* dev-util/uncrustify and dev-python/autopep8 for various Code Beautifier | ||
plugin out of the box functionality. | ||
* dev-util/ctags with exuberant-ctags selected via "eselect ctags" for | ||
C, C++, Python, JavaScript, CSS, HTML and Ruby autocompletion, semantic | ||
highlighting and symbol resolving support. | ||
* dev-python/jedi and dev-python/lxml for more accurate Python | ||
autocompletion support. | ||
* dev-util/valgrind for integration with valgrind. | ||
* dev-util/meson for integration with the Meson build system. | ||
* dev-util/cargo for integration with the Rust Cargo build system. | ||
* dev-util/cmake for integration with the CMake build system. | ||
* net-libs/nodejs[npm] for integration with the NPM package system. | ||
' | ||
# FIXME: Package gnome-code-assistance and mention here, or maybe USE flag and default enable because it's rather important | ||
# eslint for additional diagnostics in JavaScript files (what package has this? At least something via NPM..) | ||
# jhbuild support | ||
# rust language server via rls; Go via go-langserver | ||
# autotools stuff for autotools plugin; gtkmm/autoconf-archive for C++ template | ||
# gjs/gettext/mono/PHPize stuff, but most of these are probably installed for other reasons anyways, when needed inside IDE | ||
|
||
PATCHES=( | ||
"${WORKDIR}/patches" # gnome-builder-3-30 branch up to 2018-12-16 (commit f9a9dc02dd0a2c) | ||
) | ||
|
||
llvm_check_deps() { | ||
has_version "sys-devel/clang:${LLVM_SLOT}" | ||
} | ||
|
||
pkg_setup() { | ||
python-single-r1_pkg_setup | ||
use clang && llvm_pkg_setup | ||
} | ||
|
||
src_prepare() { | ||
use vala && vala_src_prepare | ||
xdg_src_prepare | ||
} | ||
|
||
src_configure() { | ||
local emesonargs=( | ||
-Denable_tracing=false | ||
-Denable_profiling=false # not passing -pg to CFLAGS | ||
-Dfusermount_wrapper=false # meant for flatpak builds | ||
-Dwith_tcmalloc=false | ||
-Dwith_channel=other | ||
-Dwith_editorconfig=true # needs libpcre | ||
$(meson_use webkit with_webkit) | ||
$(meson_use vala with_vapi) | ||
$(meson_use doc with_help) | ||
$(meson_use gtk-doc with_docs) | ||
|
||
-Dnetwork_tests=false | ||
$(meson_use clang with_clang) | ||
$(meson_use devhelp with_devhelp) | ||
-Dwith_deviced=false | ||
-Dwith_flatpak=false | ||
$(meson_use git with_git) | ||
$(meson_use webkit with_html_preview) | ||
-Dwith_spellcheck=false # TODO: requires enchant-2 | ||
$(meson_use sysprof with_sysprof) | ||
$(meson_use vala with_vala_pack) | ||
) | ||
meson_src_configure | ||
} | ||
|
||
src_install() { | ||
meson_src_install | ||
if use doc; then | ||
rm "${ED}"/usr/share/doc/gnome-builder/en/.buildinfo || die | ||
rm "${ED}"/usr/share/doc/gnome-builder/en/objects.inv || die | ||
rm -r "${ED}"/usr/share/doc/gnome-builder/en/.doctrees || die | ||
# custom docdir in build system, blocked by https://github.com/mesonbuild/meson/issues/825 | ||
mv "${ED}"/usr/share/doc/gnome-builder/en "${ED}"/usr/share/doc/${PF}/html || die | ||
# _sources subdir left in on purpose, as HTML links to the rst files as "View page source". Additionally default docompress exclusion of /html/ already ensures they aren't compressed, thus linkable as-is. | ||
rmdir "${ED}"/usr/share/doc/gnome-builder/ || die | ||
fi | ||
readme.gentoo_create_doc | ||
} | ||
|
||
pkg_postinst() { | ||
xdg_pkg_postinst | ||
gnome2_icon_cache_update | ||
gnome2_schemas_update | ||
readme.gentoo_print_elog | ||
} | ||
|
||
pkg_postrm() { | ||
xdg_pkg_postrm | ||
gnome2_icon_cache_update | ||
gnome2_schemas_update | ||
} | ||
|
||
src_test() { | ||
# FIXME: can't run meson_src_test together with virtx or dbus-run-session | ||
virtx dbus-run-session meson test -C "${BUILD_DIR}" | ||
} |