LINUX.ORG.RU

Опознание зависимостев gentoo

 


0

1

Суть, есть локальный оверлей, в нем пакет wxGTK с новой версией.
Пакет частично из разных патчей, частично от себя лично.

В пакете указана зависимость

BDEPEND=«virtual/pkgconfig»
. Компилируется без проблем (amd64+x86), т.е. ABI_X86=«64 32».

В старых версиях пакетах указано
«virtual/pkgconfig[${MULTILIB_USEDEP}]»

Но при его указании выдает
 The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by wxGTK (argument)
>=x11-libs/wxGTK-3.0.5.1-r1 -abi_x86_32

Как отследить кто/где требует отключить 32битную поддержку?

Просьба откликнутся разработчиков gentoo!

★★★★★

Последнее исправление: Atlant (всего исправлений: 1)

Суть, есть локальный оверлей, в нем пакет wxGTK с новой версией.

Пакет частично из разных патчей, частично от себя лично.

Ебилд из оверлея полностью покажи.

А также покажи выхлоп

emerge -1ptv --backtrack=300 =x11-libs/wxGTK-3.0.5.1-r1::your_overlay_name

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Тоже самое.

emerge -1ptv --backtrack=300 =x11-libs/wxGTK-3.0.5.1-r1::atlant

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by =x11-libs/wxGTK-3.0.5.1-r1::atlant (argument)
>=x11-libs/wxGTK-3.0.5.1-r1 -abi_x86_32

 * In order to avoid wasting time, backtracking has terminated early
 * due to the above autounmask change(s). The --autounmask-backtrack=y
 * option can be used to force further backtracking, but there is no
 * guarantee that it will produce a solution.

 * IMPORTANT: 19 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

сам пакет ниже.
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit multilib-minimal

DESCRIPTION="GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit"
HOMEPAGE="https://wxwidgets.org/"
SRC_URI="https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}.tar.bz2"
# no split docs in this release
#	doc? ( https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}-docs-html.tar.bz2 )"

KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"


#IUSE="abi_x86_32 abi_x86_64 +X aqua doc debug gstreamer libnotify opengl sdl tiff webkit"
IUSE="+X aqua doc debug gstreamer libnotify opengl sdl tiff webkit"


WXSUBVERSION=${PV%.*}.0-gtk3			# 3.0.5.0-gtk3
WXVERSION=${WXSUBVERSION%.*}			# 3.0.5
WXRELEASE=${WXVERSION%.*}-gtk3			# 3.0-gtk3
WXRELEASE_NODOT=${WXRELEASE//./}		# 30-gtk3

# Upstream provides binaries for x86 & amd64 only
#MULTILIB_COMPAT=( abi_x86_{32,64} )

SLOT="${WXRELEASE}"

RDEPEND="
	dev-libs/expat[${MULTILIB_USEDEP}]
	sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
	X? (
		>=dev-libs/glib-2.22:2[${MULTILIB_USEDEP}]
		media-libs/libpng:0=[${MULTILIB_USEDEP}]
		sys-libs/zlib[${MULTILIB_USEDEP}]
		virtual/jpeg:0=[${MULTILIB_USEDEP}]
		x11-libs/cairo[${MULTILIB_USEDEP}]
		x11-libs/gtk+:3[${MULTILIB_USEDEP}]
		x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}]
		x11-libs/libSM[${MULTILIB_USEDEP}]
		x11-libs/libX11[${MULTILIB_USEDEP}]
		x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
		x11-libs/pango[${MULTILIB_USEDEP}]
		gstreamer? (
			media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
			media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] )
		libnotify? ( x11-libs/libnotify[${MULTILIB_USEDEP}] )
		opengl? ( virtual/opengl[${MULTILIB_USEDEP}] )
		tiff?   ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
		webkit? ( net-libs/webkit-gtk:4 )
		)
	aqua? (
		x11-libs/gtk+:3[aqua=,${MULTILIB_USEDEP}]
		virtual/jpeg:0=[${MULTILIB_USEDEP}]
		tiff?   ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
		)"

DEPEND="${RDEPEND}
	opengl? ( virtual/glu[${MULTILIB_USEDEP}] )
	X? ( x11-base/xorg-proto )
		virtual/pkgconfig[${MULTILIB_USEDEP}]"

BDEPEND="
	>=app-eselect/eselect-wxwidgets-20131230
"


LICENSE="wxWinLL-3 GPL-2 doc? ( wxWinFDL-3 )"

S="${WORKDIR}/wxWidgets-${PV}"

PATCHES=(
	"${FILESDIR}"/wxGTK-${SLOT}-translation-domain.patch
)


src_prepare() {
	default

	# Versionating
	sed -i \
		-e "s:\(WX_RELEASE = \).*:\1${WXRELEASE}:"\
		-e "s:\(WX_RELEASE_NODOT = \).*:\1${WXRELEASE_NODOT}:"\
		-e "s:\(WX_VERSION = \).*:\1${WXVERSION}:"\
		-e "s:aclocal):aclocal/wxwin${WXRELEASE_NODOT}.m4):" \
		-e "s:wxstd.mo:wxstd${WXRELEASE_NODOT}.mo:" \
		-e "s:wxmsw.mo:wxmsw${WXRELEASE_NODOT}.mo:" \
		Makefile.in || die

	sed -i \
		-e "s:\(WX_RELEASE = \).*:\1${WXRELEASE}:"\
		utils/wxrc/Makefile.in || die

	sed -i \
		-e "s:\(WX_VERSION=\).*:\1${WXVERSION}:" \
		-e "s:\(WX_RELEASE=\).*:\1${WXRELEASE}:" \
		-e "s:\(WX_SUBVERSION=\).*:\1${WXSUBVERSION}:" \
		-e '/WX_VERSION_TAG=/ s:${WX_RELEASE}:${WXVERSIONTAG}:' \
		configure || die
}

multilib_src_configure() {
	local -a myeconfargs

	# X independent options
	myeconfargs+=(
		--with-zlib=sys
		--with-expat=sys
		--enable-compat28
		$(use_with sdl)

		# Don't hard-code libdir's prefix for wx-config
		--libdir='${prefix}'"/$(get_libdir)"
	)

	# debug in >=2.9
	# there is no longer separate debug libraries (gtk2ud)
	# wxDEBUG_LEVEL=1 is the default and we will leave it enabled
	# wxDEBUG_LEVEL=2 enables assertions that have expensive runtime costs.
	# apps can disable these features by building w/ -NDEBUG or wxDEBUG_LEVEL_0.
	# http://docs.wxwidgets.org/3.0/overview_debugging.html
	# https://groups.google.com/group/wx-dev/browse_thread/thread/c3c7e78d63d7777f/05dee25410052d9c
	use debug && myeconfargs+=( --enable-debug=max )

	# wxGTK options
	#   --enable-graphics_ctx - needed for webkit, editra
	#   --without-gnomevfs - bug #203389
	use X && myeconfargs+=(
		--enable-graphics_ctx
		--with-gtkprint
		--enable-gui
		--with-gtk=3
		--with-libpng=sys
		--with-libjpeg=sys
		--without-gnomevfs
		$(use_enable gstreamer mediactrl)
		$(multilib_native_use_enable webkit webview)
		$(use_with libnotify)
		$(use_with opengl)
		$(use_with tiff libtiff sys)
	)

	use aqua && \
		myeconfargs+=(
			--enable-graphics_ctx
			--enable-gui
			--with-libpng=sys
			--with-libxpm=sys
			--with-libjpeg=sys
			--with-mac
			--with-opengl
		)
		# cocoa toolkit seems to be broken

	# wxBase options
	use !X && use !aqua && myeconfargs+=( --disable-gui )

	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}

multilib_src_install_all() {
	cd "${S}"/docs || die
	dodoc changes.txt readme.txt
	newdoc base/readme.txt base_readme.txt
	newdoc gtk/readme.txt gtk_readme.txt
# no split docs in this release
#	use doc && HTML_DOCS="${WORKDIR}"/wxWidgets-${PV}-docs-html/.
	einstalldocs

	# Stray windows locale file, bug #650118
	local wxmsw="${ED}usr/share/locale/it/LC_MESSAGES/wxmsw30-gtk3.mo"
	[[ -e ${wxmsw} ]] && rm "${wxmsw}"

	# Unversioned links
	rm "${ED}"/usr/bin/wx{-config,rc}

	# version bakefile presets
	pushd "${ED}"/usr/share/bakefile/presets/ > /dev/null || die
	local f
	for f in wx*; do
		mv "${f}" "${f/wx/wx${WXRELEASE_NODOTSLASH}}"
	done
	popd &> /dev/null
}

pkg_postinst() {
	has_version -b app-eselect/eselect-wxwidgets \
		&& eselect wxwidgets update
}

pkg_postrm() {
	has_version -b app-eselect/eselect-wxwidgets \
		&& eselect wxwidgets update
}

Atlant ★★★★★
() автор топика
Ответ на: комментарий от Atlant

просмотрел/почистил свои зависимости от wxGTK. Удалил лишние. Сейчас осталось только.

equery d wxGTK
 * These packages depend on wxGTK:
dev-util/codeblocks-20.03-r2 (x11-libs/wxGTK:3.0-gtk3[X])
dev-util/codelite-14.0 (x11-libs/wxGTK:3.0-gtk3[X])
net-ftp/filezilla-3.53.1-r1 (>=x11-libs/wxGTK-3.0.4:3.0-gtk3[X])

Результат - тот же.

Atlant ★★★★★
() автор топика

В старых версиях пакетах указано «virtual/pkgconfig[${MULTILIB_USEDEP}]»

Верни, как было и работало:

BDEPEND=«virtual/pkgconfig»

Вроде, как раз этим [${MULTILIB_USEDEP}] запрещаешь использование не основного ABI (abi_x86_32 когда у тебя amd64) для virtual/pkgconfig.

anonymous
()
Ответ на: комментарий от anonymous

не похоже, это скорее чтобы use соблюдались.
Т.е. если компилируешь программу для amd64, то чтобы подцепило и библиотеку для amd64.
Отключить то не проблема, проблема понять в чем подвох. Поскольку в преведущих флаг включен.
А пакет хочу отправить в upstream.

Atlant ★★★★★
() автор топика
Последнее исправление: Atlant (всего исправлений: 1)
Ответ на: комментарий от Atlant

А пакет хочу отправить в upstream.

А ты посмотри в upstream, там везде

BDEPEND=«virtual/pkgconfig»

не похоже, это скорее чтобы use соблюдались.

С этим pkgconf(-ig) что-то намудрили, что не разберешь под каким ABI он работает, и куда и откуда конфиги берет.

anonymous
()
Ответ на: комментарий от Pinkbyte

Pinkbyte, можешь подтвердить и отправить этот вариант(естественно удалив этот флаг) в официальный portage?
У меня есть ещё два пакета(dev-db/wxsqlite3 и app-text/myrulib) не до оформленных нормально, а они как раз зависят от версии этой версии wxGTK.

Atlant ★★★★★
() автор топика
Последнее исправление: Atlant (всего исправлений: 1)

wxGTK-3.0.5.1

  1. Для этого пакета уже есть пул реквест https://github.com/gentoo/gentoo/pull/20212
  2. У пакета есть сопровождающий ;)
  3. Из пакета ты выкинул ряд дополнительных патчей.

А почему ревизия то -r1?

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от Atlant

флаг вреден.

Для B(UILD)-DEPEND этот флаг вреден.

anonymous
()
Ответ на: комментарий от grem

а в локальном есть ещё один вариант.
Но в новом добавлено
# Don't hard-code libdir's prefix for wx-config
--libdir='${prefix}'«/$(get_libdir)»
Уже не помню из каких оверлеев брал. Но вот как раз два вида и приспособил. Причем последний чище выглядит код. Хотя там основная разница в том что в предыдущем(как и текущие) для формирования конфигурации используются «строки», а этот вариант использует массивы(aaa bbb ccc и_т_д)
P.S.

https://github.com/gentoo/gentoo/pull/20212

Вероятно этот патч не рабочий при включеном USE=«doc». Нету отдельного файла с документацией для данной версии.

Atlant ★★★★★
() автор топика
Последнее исправление: Atlant (всего исправлений: 1)
Ответ на: комментарий от Atlant

кроме того в https://github.com/gentoo/gentoo/pull/20212
есть строка '/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.0:'
Она будет некорректной при использовании в других пакетах
должно быть
'/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.0-gtk3:'
или шаблоном
'/WX_VERSION_TAG=/ s:${WX_RELEASE}:${WXVERSIONTAG}:'

Atlant ★★★★★
() автор топика
Ответ на: комментарий от Atlant

Файла нету, потому, что он отправляется по почте

есть строка '/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.0:'
Она будет некорректной при использовании в других пакетах
должно быть
'/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.0-gtk3:'
или шаблоном
'/WX_VERSION_TAG=/ s:${WX_RELEASE}:${WXVERSIONTAG}:'

Не должно, пакет и так основан на gtk3 ревизиях. Codeblocks с этим обновлением прекрасно работает и пересобирается.

doc скачивается отдельно

doc? ( https://github.com/wxWidgets/wxWidgets/releases/download/v${WXVERSION}/wxWidgets-${WXVERSION}-docs-html.tar.bz2 )"
grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от Atlant

Я активно разработкой уже давно не занимаюсь. Думаю лучше тебе самому оформить соответствующие багрепорты(или даже сразу pull request на гитхабе)

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Да есть уже пул реквест и leio о нём знает, но всё времени у него сейчас нет рассмотреть :(

grem ★★★★★
()
Ответ на: комментарий от grem

Не должно, пакет и так основан на gtk3 ревизиях

пакет где то у себя прописывал(точно уже не помню) это и в результате другие компиляции обрывались.
Завтра покажу вариант wxsqlite3, если есть желание, но он слабо оформлен.

doc скачивается отдельно

файл находил?

Atlant ★★★★★
() автор топика
Ответ на: комментарий от anonymous

А тебя не смущает то, что обсуждаемый пакет и зависимость с требованием -abi_x86_32 - это один и тот же пакет? Вот я и хочу понять как depgraph строится что получается такое. Такое может быть если какой-то другой УЖЕ установленный пакет жестко просит wxGTK[-abi_x86_32]

Pinkbyte ★★★★★
()
Ответ на: комментарий от Atlant

Находил, изменения основаны на (3.0-gtk3) 3.0.4-r303

Ментейнер мне подсказал какие патчи из его архива патчей нужны.

Могу архив переслать на почту новый.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от Atlant

Ладно завтра скопирую предлагаемый патч и возможно пообщаюсь с ментейнером.

Atlant ★★★★★
() автор топика
Ответ на: комментарий от grem

он вообще собирается с (3.0-gtk3) 3.0.4-r303?

да, но только не с sourceforge.
Если хотите сейчас скину текущий вариант для wxsqlite3. Но он не пригоден для официала пока.

Atlant ★★★★★
() автор топика
Ответ на: комментарий от Atlant

====== wxsqlite3-4.6.4.ebuild =====

# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=7

WX_GTK_VER="3.0-gtk3"

inherit eutils multilib-minimal wxwidgets autotools

DESCRIPTION="C++ wrapper around the public domain SQLite 3.x database"
HOMEPAGE="http://wxcode.sourceforge.net/components/wxsqlite3/"
#SRC_URI="mirror://sourceforge/wxcode/${P}.tar.gz"
SRC_URI="https://github.com/utelle/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="wxWinLL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

DEPEND="
	x11-libs/wxGTK:${WX_GTK_VER}[X,${MULTILIB_USEDEP}]
	dev-db/sqlite:3[${MULTILIB_USEDEP}]"
RDEPEND="${DEPEND}"

#S="${WORKDIR}/${P%.1}"
#PATCHES=(
#	"${FILESDIR}"/${P}-support-gtk3.patch
#)
DOCS=( "readme.md" "samples/" )
#HTML_DOCS=( "docs/html/" )

src_prepare() {
	setup-wxwidgets
	eautoreconf
#	rm -rfd sqlite3 config.status configure configure28 configure29 build build28 build29 Makefile.in Makefile28.in Makefile29.in || die
#	mv build30 build || die
#	mv configure30 configure || die
#	mv Makefile30.in Makefile.in || die
	default
	multilib_copy_sources
}

multilib_src_configure() {
	# set WX_CONFIG by ARCH
	setup-wxwidgets

	econf \
		--enable-shared \
		--enable-unicode \
		--with-wx-config="${WX_CONFIG}" \
		--with-wxshared \
		--with-sqlite3-prefix="${PREFIX}/usr"
	# create *.pc file with correct library directory by ARCH
#	sed \
#		-e "s:@WXVERSION@:${WX_GTK_VER}:g" \
#		-e "s:@LIBDIR@:$(get_libdir):g" \
#		-e "s:@VERSION@:${PV}:g" \
#		-e "s:gtk2:gtk3:g" \
#		"${FILESDIR}"/${P}.pc.in > ${PN}.pc || die
}

multilib_src_compile() {
	default
}

multilib_src_install() {
	default

#	insinto /usr/$(get_libdir)/pkgconfig
#	doins ${PN}.pc

	einstalldocs
}

=============== wxsqlite3-3.2.1-support-gtk3.patch ========
diff -Nudr wxsqlite3-3.2.1/configure30 wxsqlite3-3.2.1-mod/configure30
--- wxsqlite3-3.2.1/configure	2015-03-04 04:30:22.000000000 +0700
+++ wxsqlite3-3.2.1-mod/configure	2020-10-24 17:09:03.329027421 +0700
@@ -2356,12 +2356,12 @@
                 else
                     TOOLKIT="$withval"
 
-                                        if test "$TOOLKIT" != "gtk1" -a "$TOOLKIT" != "gtk2" -a \
+                    if test "$TOOLKIT" != "gtk1" -a "$TOOLKIT" != "gtk2" -a "$TOOLKIT" != "gtk3" -a \
                             "$TOOLKIT" != "msw" -a "$TOOLKIT" != "motif" -a \
                             "$TOOLKIT" != "x11" -a "$TOOLKIT" != "mac" -a \
                             "$TOOLKIT" != "mgl" -a "$TOOLKIT" != "dfb" ; then
                         as_fn_error $? "
-    Unrecognized option value (allowed values: auto, gtk1, gtk2, msw, motif, x11, mac, mgl, dfb)
+    Unrecognized option value (allowed values: auto, gtk1, gtk2, gtk3, msw, motif, x11, mac, mgl, dfb)
                         " "$LINENO" 5
                     fi
 
@@ -2893,6 +2893,7 @@
 
             WX_GTKPORT1=$(expr "$WX_SELECTEDCONFIG" : ".*gtk1.*")
             WX_GTKPORT2=$(expr "$WX_SELECTEDCONFIG" : ".*gtk2.*")
+            WX_GTKPORT3=$(expr "$WX_SELECTEDCONFIG" : ".*gtk3.*")
             WX_MSWPORT=$(expr "$WX_SELECTEDCONFIG" : ".*msw.*")
             WX_MOTIFPORT=$(expr "$WX_SELECTEDCONFIG" : ".*motif.*")
             WX_OSXCOCOAPORT=$(expr "$WX_SELECTEDCONFIG" : ".*osx_cocoa.*")
@@ -2904,6 +2905,7 @@
             WX_PORT="unknown"
             if test "$WX_GTKPORT1" != "0"; then WX_PORT="gtk1"; fi
             if test "$WX_GTKPORT2" != "0"; then WX_PORT="gtk2"; fi
+            if test "$WX_GTKPORT3" != "0"; then WX_PORT="gtk3"; fi
             if test "$WX_MSWPORT" != "0"; then WX_PORT="msw"; fi
             if test "$WX_MOTIFPORT" != "0"; then WX_PORT="motif"; fi
             if test "$WX_OSXCOCOAPORT" != "0"; then WX_PORT="osx_cocoa"; fi
diff -Nudr wxsqlite3-3.2.1/wxsqlite3.pc.in wxsqlite3-3.2.1-mod/wxsqlite3.pc.in
--- wxsqlite3-3.2.1/wxsqlite3.pc.in	2015-03-04 04:30:22.000000000 +0700
+++ wxsqlite3-3.2.1-mod/wxsqlite3.pc.in	2020-10-24 17:49:42.936287133 +0700
@@ -9,6 +9,6 @@
 Description: SQLite3 C++ wrapper for use in programs based on the wxWidgets
 Version: @VERSION@
 #Requires: sqlite3
-Libs: -L${libdir} -lwxcode_gtk2_wxsqlite3-@WXVERSION@
+Libs: -L${libdir}  -lwxcode_gtk3_wxsqlite3-@WXVERSION@
 Libs.private: -lpthread
 Cflags: -I${includedir}

============= wxsqlite3-3.2.1.pc.in =====
# Package Information for pkg-config

prefix=/usr
wxver=@WXVERSION@
includedir=${prefix}/include/wx-${wxver}/
libdir=${prefix}/@LIBDIR@

Name: wxsqlite3-@WXVERSION@
Description: SQLite3 C++ wrapper for use in programs based on the wxWidgets
Version: @VERSION@
#Requires: sqlite3
Libs: -L${libdir} -lwxcode_gtk2_wxsqlite3-@WXVERSION@
Libs.private: -lpthread
Cflags: -I${includedir}


Обсуждайте, но пока без меня.

Atlant ★★★★★
() автор топика
Ответ на: комментарий от Atlant

То есть не собирается не находящийся в дереве?

Не, я не утверждаю, что предложенный мой идеален и не требует возможной доработки, но пока он максимально приближен к тому, что уже в репе + имеет, помимо дополнительный, генту специфичные патчи.

grem ★★★★★
()
Ответ на: комментарий от Pinkbyte

УЖЕ установленный пакет

Эти флаги требует первый и единственный устанавливаемый пакет, переданный как аргумент.

# required by wxGTK (argument)
>=x11-libs/wxGTK-3.0.5.1-r1 -abi_x86_32

Что тебе покажет глубина 200, если отваливается на первом же пакете из-за кривых флагов?

anonymous
()
Ответ на: комментарий от anonymous

Эти флаги требует первый и единственный устанавливаемый пакет, переданный как аргумент.

Ты не поверишь каких я только багов portage не видел, когда выхлоп «required by package name (argument)» не соответствовал действительности. Точнее соответствовал, но причина была НЕ в содержании ебилда/еклассов, которые этот ебилд использует

Pinkbyte ★★★★★
()
Ответ на: комментарий от Atlant

Не понял, если версия 4.6.4, то причём тут патчи к 3.2.1?

Тем более, что они зачастили с выпусками и уже 4.6.10.

grem ★★★★★
()
Ответ на: комментарий от grem

а в чём проблема архива с sourceforge?

1. Не компилировалась с текущим wxGTK.
2.согласно http://wxcode.sourceforge.net/components/wxsqlite3/

Starting with version 3.3.0 (December 2015) further development of this component moved to GitHub.(https://github.com/utelle/wxsqlite3)

А то что я взял именно версию 4.6.4 - так то она была последней на тот момент. Сейчас уже 4.7.0 вышла. Но что то я не вижу даже никаких подвижек в сторону обновления ebuild'ов.

Atlant ★★★★★
() автор топика
Ответ на: комментарий от Atlant

Что-то они разогнались. Только непонятно, то у них автотулс wxwidgets 2.8.0 ищет, то cmake нужен с 3.1.4 wxwidgets.

Собирается ли твой обновлённый wxsqlite3 с wxgtk-3.0 4-gtk3? Я б матчах вообще сразу убирал упоминания gtk1 и gtk2, раз ужцеель собирать с gtk3

С самим wxwidgets всё плохо - версию 3.2 они никак не выпустят, проекты пытаются 3.1.4dev использовать. Её же в генту точно не будет.

P.s. документация html собирается и ставится у меня в 3.0.5.1 при USE=«doc». Могу переслать набор патчей, который отправлял к Mart Raudsepp (leio).

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 3)
Ответ на: комментарий от Atlant

В общем, рекомендую сначала доводить сборку wxsqlite3 новых версий на wxGTK-3.0.4-gtk3. На него даже p7zip собирается последних ревизий. По крайней мере на моей версии 3.0.5-gtk3 собрался.

grem ★★★★★
()
Ответ на: комментарий от grem

x11-libs/wxGTK-3.0.5.1:3.0-gtk3 в дереве

Увидел, ОТЛИЧНО!
Сейчас буду сравнивать.

1. зависимость от app-eselect/eselect-wxwidgets вполне можно воткнуть в PDEPEND вместо RDEPEND. Ибо по сути вообще автономны друг от друга.
2. для моего варианта внедрен флаг «aqua», впрочем он только требует аналогичного флага для gtk+
3. замена '/WX_VERSION_TAG=/ s:${WX_RELEASE}:${WXVERSIONTAG}:' - не проведена. Это ещё буду смотреть после компиляции. Возможно сторонние программы не перекомпилируются.
4. Так же есть вероятность сбоев для разных ABI_X86 из за
из за отсутствия параметра в конфигураторе "--libdir='${prefix}'/$(get_libdir)"
5. для меня не критично, но вероятно кому то понадобится поддержка маков(флаг aqua). В текущем нету в принципе этого флага и поддержки компиляции. Предупреждаю, я не проверял работоспособность этого флага. Поскольку - нечем.
6. Для шаблона(коим является ebuild) лучше использовать переменную, чем жестко заданную константу «30gtk3».

-		mv "${f}" "${f/wx/wx30gtk3}" || die
+		mv "${f}" "${f/wx/wx${WXRELEASE_NODOTSLASH}}"  || die


Т.е. вероятно критичные различия в 3,4 пунктах. Для маков возможно в ещё в 2 и 5.

P.S. Это только собрал различия на стадии diff ebuild. Т.е. я его ещё не компилировал. Результат компиляции и его оценка будет позже.

Atlant ★★★★★
() автор топика
Ответ на: комментарий от Atlant
  1. Так изначально сделал ментейнер, почему, не вдавался в подробности.
  2. aqua - кажется, его наоборот выкинули как-то: https://gitweb.gentoo.org/repo/gentoo.git/commit/x11-libs/wxGTK?id=8ca68c043e93652c6d8737f6de784997cfda143d
  3. У меня codeblocks и p7zip собираются - первое в первую очередь пррверялось. Не уверен, что эта замена нужна. Если проявляется проблема с софтом из дерева, то другое дело. Но подобных багов я не заметил пока.
  4. Строка 98.
  5. Нет смысла добавлять то, что нельзя проверить, см. п.2.
  6. Они разные, в случае замены добавится «-». Но можно и из переменной удалить при подстановке.

Результат компиляции и его оценка будет позже.

Для amd64: собирается, линкуется, софт не падает.

Вердикт: УМВР ;)

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от Atlant

PDEPEND

The PDEPEND variable specifies runtime dependencies that do not strictly require being satisfied immediately. They can be merged after the package. This variable is used purely to resolve circular dependencies, while in general case RDEPEND should be used instead.

grem ★★★★★
()
Ответ на: комментарий от grem

Да, компиляция прошла успешно как wxsqlite3 так и myrulib.

Значит "-1" пакет из локального оверлея.

P.S.
А коли выкинули «aqua», ну что же - будем знать.

Atlant ★★★★★
() автор топика
Ответ на: комментарий от Atlant

Вот обновление wxsqlite3 для gtk3 закинь как доделаешь. Но рассмотрение ebuild может затянуться. Я обычно пингую на этот счёт leio в irc, да и он сам не против напоминаний. Это если дело связано с wxwidgets проектами. Он разработкой wxwidgets в середине 2000х занимался.

Сейчас wxwidgets.eclass обновят и он, например, будет вываливать предупреждение для пакетов на gtk2 - т.к. его потихоньку собираются удалить. Если выйдет гимп 3.0 в этом году, то процесс ускорится.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

А если нет других программ(в древе) которые пользуются wxsqlite3 - примут ли?
Я пока знаю только myrulib.

Atlant ★★★★★
() автор топика
Ответ на: комментарий от Atlant

Могут принять, но процесс может быть долгим получиться.

grem ★★★★★
()
Ответ на: комментарий от Atlant

Кажется, 2 пакета о него зависит.

Если будешь портировать на wxGTK-gtk3, то не забудь, пожалуйста, добавить в конце коммита строчку

Closes: https://bugs.gentoo.org/689798
grem ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.