On 11/11/2020 17:36, Hamish McIntyre-Bhatty via Cygwin-apps wrote:
> Ignore my previous message - whatever was wrong is now fixed. I didn't
> change anything much so I think it was a dependency that had an issue
> and was since recompiled.
>
> 64-bit build is done and seems to work fine. I'm testing it using the
> samples, nearly all of which work, and new things that weren't in the
> previous wxwidgets build now work (eg webview with webkit).
>
> I need to finish my testing and then build for 32-bit Cygwin, but all
> seems good.
>
> When it's all done I'll email again with my cygport file attached and a
> link to the file locations.
>
> Hamish

Okay, I have successfully manually tested wxWidgets3.0 on both 32-bit
and 64-bit Cygwin, and I haven't found any significant issues. It also
seems to work with my existing wxPython build but I'm going to recompile
that anyway just to be sure and to get the new version number for
wxWidgets in the build.

The test packages are available for download at
https://www.hamishmb.com/files/cygwin-temp/ as usual, and my cygport
file is attached here.

Here's a quick summary of the changes I've made:

- Updated to wxWidgets 3.0.5.1 from 3.0.4.

- Added build dependencies.

- Evaluated lots of new patches (over 80), and found that nearly none of
them were needed (already patched in new source), so we only have a few
new patches.

- Updated the wxGTK collision patch for wxwidgets 3.0.5.1 as the old one
wouldn't apply.

- Use pushd and popd instead of cd in the cygport file.

- Enable automated unit tests in the cygport file (these currently do
work so I tested manually).

- Enable and test wxwebview with webkit (works fine in all configurations).

I'd like to use the AppVeyor CI tool to double check the build and build
dependencies, but the very high RAM usage during compilation (12GB!)
makes me think it might crash that system. Is it safe for me to proceed?
I really don't want to ruin someone's day by crashing the CI system(s).
I think I need a GTG beforeĀ  can do this because I don't currently own
the package, but I'm not sure.

Finally, I'm going to keep these as test packages until I've got
wxPython build and tested against them, which will be maybe another week
or so depending on other priorities.

Any feedback is very welcome :)

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}"
BUILD_REQUIRES="make xclock cppunit autoconf pkg-config gcc-core gcc-g++ 
doxygen graphviz libX11-devel libgtk2.0-devel libgtk3-devel 
libwebkitgtk1.0-devel libwebkitgtk1.0_0 libwebkitgtk3.0-devel libwebkitgtk3.0_0 
libpng16 libpng-devel libjpeg-devel libjpeg8 libexpat1 libexpat-devel 
libiconv-devel libiconv libiconv2 libmspack0 libmspack-devel libnotify 
libnotify-devel libtiff6 libtiff-devel libXpm4 libXpm-devel libcogl20 
libcogl-devel libEGL1 libEGL-devel libGL1 libGL-devel libGLU1 libGLU-devel 
libSDL2_2.0_0 libSDL2-devel libSDL2_image2.0_0 libSDL2_image-devel 
libSDL2_mixer2.0_0 libSDL2_mixer-devel libSDL2_net2.0_0 libSDL2_net-devel 
libSDL2_ttf2.0_0 libSDL2_ttf-devel zlib zlib-devel"
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() {
        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-expat \
                --with-libiconv \
                --with-zlib

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

        # gnomevfs: Gentoo bug 203389
        cygconf \
                --enable-optimise \
                --enable-shared \
                --enable-unicode \
                --enable-mediactrl \
                --disable-rpath \
                --with-expat \
                --with-gtk=2 \
                --without-gnomeprint --without-gnomevfs \
                --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

        # gnomevfs: Gentoo bug 203389
        cygconf \
                --enable-optimise \
                --enable-shared \
                --enable-unicode \
                --enable-mediactrl \
                --disable-rpath \
                --with-expat \
                --with-gtk=3 \
                --without-gnomeprint --without-gnomevfs \
                --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
}

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