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

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
}

Attachment: 0x87B761FE07F548D6.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to