[ITA] wxWidgets3.0

Hamish McIntyre-Bhatty hamishmb@live.co.uk
Tue Nov 24 19:51:54 GMT 2020


On 24/11/2020 10:43, Hamish McIntyre-Bhatty via Cygwin-apps wrote:
> Ignore that message, I made a silly mistake.
>
> On 24/11/2020 10:15, Hamish McIntyre-Bhatty via Cygwin-apps wrote:
>> Well, something's gone wrong with my Cygwin install I think, because
>> even with previously working cygport recipes, I can no longer produce a
>> working build.
>>
>> The samples tend to either exit immediately or segfault, and trying to
>> use wxPython yields:
>>
>> "
>>
>> Traceback (most recent call last):
>>
>>   File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
>>
>>     "__main__", mod_spec)
>>
>>   File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
>>
>>     exec(code, run_globals)
>>
>>   File "./demo/__main__.py", line 5, in <module>
>>
>>     import Main
>>
>>   File "./demo/Main.py", line 61, in <module>
>>
>>     import wx
>>
>>   File "/usr/lib/python3.6/site-packages/wx/__init__.py", line 17, in
>> <module>
>>
>>     from wx.core import *
>>
>>   File "/usr/lib/python3.6/site-packages/wx/core.py", line 12, in <module>
>>
>>     from ._core import *
>>
>> ImportError: No such process
>>
>>
>> "
>>
>> I did try a rebase as well, but it doesn't seem to help. This looks like
>> an issue I had right when I first tried to compile wxPython, and it
>> mysteriously went away at some point. Does anyone know why this might be
>> happening? Maybe I need to reinstall Cygwin, but I haven't done anything
>> with it between the successful build of wxWidgets and the failed ones,
>> so it's not making a whole lot of sense.
>>
>> Hamish

Okay, so attached is my latest cygport file. I'm still building for
32-bit, so I'll upload and link to the new packages tomorrow.

Changes:

- Split BUILD_REQUIRES across two lines for definitely build time and
probably only runtime deps.

- Use system regex library explicitly.

- Removed obsolete --without-gnomeprint option.

- Use gnomevfs (old bug no longer seems to apply).

I tried using the STL, but it results in libraries that don't work as:

#1: the wxwidgets demos either segfault instantly or just exit instantly.

#2: wxpython no longer works and returns the No such process error above.

Hamish

-------------- next part --------------
NAME="wxWidgets3.0"
VERSION=3.0.5.1
RELEASE=1
CATEGORY="Libs"
SUMMARY="wxWidgets C++ application framework"
DESCRIPTION="wxWidgets is a set of libraries that allows C++ applications to
compile and run on several different types of computer, with minimal source
code changes. There is one library per supported GUI. As well as providing a
common API for GUI functionality, it provides functionality for accessing some
commonly-used operating system facilities, from copying and deleting files to
socket and thread support."
HOMEPAGE="http://wxwidgets.org/"
SRC_URI="https://github.com/wxWidgets/wxWidgets/releases/download/v${VERSION}/wxWidgets-${VERSION}.tar.bz2"
SRC_DIR="wxWidgets-${VERSION}"

#Just for building:
BUILD_REQUIRES="make cppunit graphviz autoconf pkg-config gcc-core gcc-g++ doxygen libX11-devel libgtk2.0-devel libgtk3-devel libwebkitgtk1.0-devel libwebkitgtk3.0-devel libpng-devel libjpeg-devel libexpat-devel libiconv-devel libmspack-devel libnotify-devel libtiff-devel libXpm-devel libcogl-devel libEGL-devel libGL-devel libGLU-devel libSDL2-devel libSDL2_image-devel libSDL2_mixer-devel libSDL2_net-devel libSDL2_ttf-devel zlib-devel"

#For running unit tests/runtime (currently disabled because they don't work).
#Still needed for manual testing though, so leaving in here.
BUILD_REQUIRES="$BUILD_REQUIRES xclock libwebkitgtk1.0_0 libwebkitgtk3.0_0 libpng16 libjpeg8 libexpat1 libiconv libiconv2 libmspack0 libnotify libnotify4 libtiff6 libXpm4 libcogl20 libEGL1 libGL1 libGLU1 libSDL2_2.0_0 libSDL2_image2.0_0 libSDL2_mixer2.0_0 libSDL2_net2.0_0 libSDL2_ttf2.0_0 zlib"

PATCH_URI="
	https://src.fedoraproject.org/rpms/wxGTK3/raw/master/f/wxGTK3-3.0.3-abicheck.patch
	https://src.fedoraproject.org/rpms/wxGTK3/raw/master/f/fix-filename-test.patch
	https://src.fedoraproject.org/rpms/wxGTK3/raw/master/f/fix-vararg-test.patch
	https://src.fedoraproject.org/rpms/wxGTK3/raw/master/f/force-x11-for-wxgl.patch
	wxGTK3-3.0.5.1-collision.patch
	3.0.2-cygwin-auto-import.patch
	3.0.2-cygwin-dlopen.patch
	3.0.2-cygwin-unix.patch
	3.0.2-cygwin-gcc5.patch
	3.0.3-autoreconf.patch
	3.0.3-cygwin-ftm.patch
	0007-Fix-video-sink-fallback-in-wxMediaCtrl-when-xvimages.patch
"

slot=${PV_MAJ_MIN}

PKG_NAMES="libwx_baseu3.0_0 libwx_baseu3.0-devel ${NAME}-doc
           libwx_gtk2u3.0_0 libwx_gtk2u3.0-devel
           libwx_gtk3u3.0_0 libwx_gtk3u3.0-devel"
libwx_baseu3_0_0_SUMMARY="${SUMMARY} (base unicode runtime)"
libwx_baseu3_0_0_CONTENTS="
	--exclude=html
	usr/bin/cygwx_baseu*-3.0-0.dll
	usr/share/doc/${NAME}/
	usr/share/locale/*/LC_MESSAGES/wxstd30.mo
"
libwx_baseu3_0_devel_REQUIRES="libexpat-devel libiconv-devel zlib-devel"
libwx_baseu3_0_devel_CONTENTS="
	usr/bin/wxrc-3.0.exe
	usr/include/wx-3.0/
	usr/lib/libwx_baseu*-3.0.dll.a
	usr/lib/wx/config/base-unicode-3.0
	usr/lib/wx/include/base-unicode-3.0/
	usr/share/aclocal/wxwin-3.0.m4
	usr/share/bakefile/presets/wx30*
"
libwx_gtk2u3_0_0_SUMMARY="${SUMMARY} (GTK+2 unicode runtime)"
libwx_gtk2u3_0_0_CONTENTS="usr/bin/cygwx_gtk2u*-3.0-0.dll"
libwx_gtk2u3_0_devel_SUMMARY="${SUMMARY} (development)"
libwx_gtk2u3_0_devel_REQUIRES="libGL-devel libglib2.0-devel libgtk2.0-devel libX11-devel"
libwx_gtk2u3_0_devel_CONTENTS="
	usr/lib/libwx_gtk2u*-3.0.dll.a
	usr/lib/wx/config/gtk2-unicode-3.0
	usr/lib/wx/include/gtk2-unicode-3.0/
"
libwx_gtk3u3_0_0_SUMMARY="${SUMMARY} (GTK+3 unicode runtime)"
libwx_gtk3u3_0_0_CONTENTS="usr/bin/cygwx_gtk3u*-3.0-0.dll"
libwx_gtk3u3_0_devel_SUMMARY="${SUMMARY} (development)"
libwx_gtk3u3_0_devel_REQUIRES="libGL-devel libglib2.0-devel libgtk2.0-devel libX11-devel"
libwx_gtk3u3_0_devel_CONTENTS="
	usr/bin/wx-config-3.0
	usr/lib/libwx_gtk3u*-3.0.dll.a
	usr/lib/wx/config/gtk3-unicode-3.0
	usr/lib/wx/include/gtk3-unicode-3.0/
"
wxWidgets3_0_doc_CATEGORY="Doc"
wxWidgets3_0_doc_SUMMARY="${SUMMARY} (documentation)"
wxWidgets3_0_doc_OBSOLETES="libwx_gtk2u3.0-doc"
wxWidgets3_0_doc_CONTENTS="usr/share/doc/${NAME}/html/"

DIFF_EXCLUDES="doxygen.log out"

CFLAGS+=" -fno-strict-aliasing"
CXXFLAGS+=" -fno-strict-aliasing"

MAKEOPTS="-j13"

src_compile() {
	#NB: gnomevfs is disabled due to Gentoo bug 203389: https://bugs.gentoo.org/203389
	#which causes a segfault.
	local myconf
	
	pushd ${S}
	NO_ACLOCAL=1 NO_LIBTOOLIZE=1 NO_AUTOHEADER=1 NO_AUTOMAKE=1 \
	cygautoreconf

	pushd ${S}/locale
	rm -f *.mo
	cygmake allmo -j1
	popd
	
	mkdir -p ${B}/base
	pushd ${B}/base

	# standalone wx_base
	cygconf \
		--enable-compat26 \
		--enable-optimise \
		--enable-shared \
		--enable-unicode \
		--disable-gui \
		--disable-rpath \
		--with-regex=sys \
		--with-expat \
		--with-libiconv \
		--with-zlib

	popd
	mkdir -p ${B}/gtk2
	pushd ${B}/gtk2

	cygconf \
		--enable-optimise \
		--enable-shared \
		--enable-unicode \
		--enable-mediactrl \
		--disable-rpath \
		--with-regex=sys \
		--with-expat \
		--with-gtk=2 \
		--with-libpng \
		--with-libjpeg \
		--with-libiconv \
		--with-libmspack \
		--with-libnotify \
		--with-libtiff \
		--with-libxpm \
		--with-opengl \
		--with-sdl \
		--with-zlib

	cygmake

    popd
	mkdir -p ${B}/gtk3
	pushd ${B}/gtk3

	cygconf \
		--enable-optimise \
		--enable-shared \
		--enable-unicode \
		--enable-mediactrl \
		--disable-rpath \
		--with-regex=sys \
		--with-expat \
		--with-gtk=3 \
		--with-libpng \
		--with-libjpeg \
		--with-libiconv \
		--with-libmspack \
		--with-libnotify \
		--with-libtiff \
		--with-libxpm \
		--with-opengl \
		--with-sdl \
		--with-zlib

	cygmake

	popd
	pushd ${S}/docs/doxygen
	WX_SKIP_DOXYGEN_VERSION_CHECK=1 ./regen.sh html
	popd
}

#Disabled, as automated tests are currently not working.
#src_test() {
#	echo "--- GTK2 tests ---"
#	pushd ${B}/gtk2/tests
#	cygmake
#	DISPLAY=:0 PATH="${B}/lib:$PATH" ./test
#	DISPLAY=:0 PATH="${B}/lib:$PATH" ./test_gui
#	popd
#	
#	echo "--- GTK3 tests ---"
#	pushd ${B}/gtk3/tests
#	cygmake
#	DISPLAY=:0 PATH="${B}/lib:$PATH" ./test
#	DISPLAY=:0 PATH="${B}/lib:$PATH" ./test_gui
#	popd
#}

src_install() {
	dodir /usr/lib
	cd ${B}/base
	cp -fr lib/wx/ ${D}/usr/lib/
	cd ${B}/gtk2
	cyginstall -j1
	cp -fr lib/lib*.dll.a lib/wx/ ${D}/usr/lib/
	cd ${B}/gtk3
	cyginstall -j1
	cp -fr lib/lib*.dll.a lib/wx/ ${D}/usr/lib/

	rm -f ${D}/usr/lib/wx/config/inplace-*

	mv ${D}/usr/lib/*.dll ${D}/usr/bin
	mv ${D}/usr/bin/wxrc-${slot}{,.exe}

	rm -f ${D}/usr/bin/wx-config-${slot}
	dosym ../lib/wx/config/gtk3-unicode-${slot} /usr/bin/wx-config-${slot}

	insinto /usr/share/aclocal
	newins ${S}/wxwin.m4 wxwin-${slot}.m4

	cd ${S}/docs
	dodoc changes.txt gpl.txt lgpl.txt licendoc.txt preamble.txt todo.txt

	cp -r ${S}/docs/doxygen/out/html/ ${D}/usr/share/doc/${NAME}/

	rm -f ${D}/usr/share/locale/*/LC_MESSAGES/wxmsw*.mo
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0x87B761FE07F548D6.asc
Type: application/pgp-keys
Size: 3183 bytes
Desc: not available
URL: <https://cygwin.com/pipermail/cygwin-apps/attachments/20201124/00bdd6c6/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://cygwin.com/pipermail/cygwin-apps/attachments/20201124/00bdd6c6/attachment.sig>


More information about the Cygwin-apps mailing list