219 lines
7.6 KiB
Bash
219 lines
7.6 KiB
Bash
SUMMARY="Cross-platform GUI library"
|
|
DESCRIPTION="wxWidgets is a C++ library that lets developers create \
|
|
applications for Windows, macOS, Linux and other platforms with a single \
|
|
code base. It has popular language bindings for Python, Perl, Ruby and many \
|
|
other languages, and unlike other cross-platform toolkits, wxWidgets gives \
|
|
applications a truly native look and feel because it uses the platform's \
|
|
native API rather than emulating the GUI. It's also extensive, free, \
|
|
open-source and mature."
|
|
HOMEPAGE="https://www.wxwidgets.org/"
|
|
COPYRIGHT="1998-2019 Julian Smart, Robert Roebling et al"
|
|
LICENSE="GNU LGPL v2"
|
|
REVISION="6"
|
|
SOURCE_URI="https://github.com/wxWidgets/wxWidgets/archive/v$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="a5cb5ea326d76b5e472e9400933cef17c900d5c9b549e40eef00b64fe86d7cb0"
|
|
SOURCE_DIR="wxWidgets-$portVersion"
|
|
PATCHES="wxqt-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2 ?x86"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
libVersion="$portVersion"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
|
libSoVersion="3.0.0"
|
|
|
|
PROVIDES="
|
|
wxqt$secondaryArchSuffix = $portVersion
|
|
lib:libwx_baseu_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_baseu_net_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_baseu_xml_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_adv_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_aui_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_core_3.1$secondaryArchSuffix = $libVersionCompat
|
|
# lib:libwx_qtu_gl_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_html_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_media_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_propgrid_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_qa_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_ribbon_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_richtext_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_stc_3.1$secondaryArchSuffix = $libVersionCompat
|
|
lib:libwx_qtu_xrc_3.1$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libcairo$secondaryArchSuffix
|
|
lib:libexecinfo$secondaryArchSuffix
|
|
lib:libexpat$secondaryArchSuffix
|
|
# lib:libGL$secondaryArchSuffix
|
|
# lib:libGLU$secondaryArchSuffix
|
|
lib:libiconv$secondaryArchSuffix
|
|
lib:libjpeg$secondaryArchSuffix
|
|
lib:liblzma$secondaryArchSuffix
|
|
lib:libpng16$secondaryArchSuffix
|
|
lib:libQt5Core$secondaryArchSuffix
|
|
lib:libQt5Gui$secondaryArchSuffix
|
|
lib:libQt5Widgets$secondaryArchSuffix
|
|
# lib:libSDL$secondaryArchSuffix
|
|
lib:libtiff$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
wxqt${secondaryArchSuffix}_devel = $portVersion
|
|
cmd:wx_config$secondaryArchSuffix = $portVersion compat >= 3
|
|
cmd:wxrc$secondaryArchSuffix = $portVersion compat >= 3
|
|
cmd:wxrc_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_baseu_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_baseu_net_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_baseu_xml_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_adv_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_aui_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_core_3.1$secondaryArchSuffix = $libVersionCompat
|
|
# devel:libwx_qtu_gl_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_html_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_media_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_propgrid_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_qa_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_ribbon_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_richtext_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_stc_3.1$secondaryArchSuffix = $libVersionCompat
|
|
devel:libwx_qtu_xrc_3.1$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
haiku$secondaryArchSuffix
|
|
wxqt$secondaryArchSuffix == $portVersion base
|
|
devel:libcairo$secondaryArchSuffix
|
|
devel:libjpeg$secondaryArchSuffix
|
|
devel:libpng16$secondaryArchSuffix
|
|
devel:libQt5Widgets$secondaryArchSuffix
|
|
devel:libtiff$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
lib:libexecinfo$secondaryArchSuffix
|
|
lib:libexpat$secondaryArchSuffix
|
|
lib:libiconv$secondaryArchSuffix
|
|
lib:liblzma$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libcairo$secondaryArchSuffix
|
|
devel:libexecinfo$secondaryArchSuffix
|
|
devel:libexpat$secondaryArchSuffix
|
|
# devel:libGL$secondaryArchSuffix
|
|
# devel:libGLU$secondaryArchSuffix
|
|
devel:libiconv$secondaryArchSuffix
|
|
devel:libjpeg$secondaryArchSuffix
|
|
devel:liblzma$secondaryArchSuffix
|
|
devel:libpng16$secondaryArchSuffix
|
|
devel:libQt5Core$secondaryArchSuffix
|
|
devel:libQt5Gui$secondaryArchSuffix
|
|
devel:libQt5Widgets$secondaryArchSuffix
|
|
# devel:libSDL$secondaryArchSuffix
|
|
devel:libtiff$secondaryArchSuffix >= 5
|
|
devel:libz$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:find
|
|
cmd:gawk
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:grep
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
"
|
|
|
|
defineDebugInfoPackage wxqt$secondaryArchSuffix \
|
|
"$libDir"/libwx_baseu-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_baseu_net-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_baseu_xml-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_adv-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_aui-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_core-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_html-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_media-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_propgrid-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_qa-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_ribbon-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_richtext-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_stc-3.1.so.$libSoVersion \
|
|
"$libDir"/libwx_qtu_xrc-3.1.so.$libSoVersion
|
|
# "$libDir"/libwx_qtu_gl-3.1.so.$libSoVersion
|
|
|
|
PATCH()
|
|
{
|
|
# autoconf chokes for whatever reason while trying to reconfigure,
|
|
# so just sed-patch the configure script.
|
|
sed -i s/lsocket/lnetwork/g configure
|
|
sed -i s/INET_LINK=\"socket\"/INET_LINK=\"network\"/g configure
|
|
sed -i 's@\*-\*-freebsd\* | \*-\*-openbsd\*@\*-\*-haiku\* | \*-\*-openbsd\*@' \
|
|
configure
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
export CXXFLAGS="-std=c++11 -fpermissive"
|
|
|
|
runConfigure ./configure \
|
|
--with-qt \
|
|
--enable-shared \
|
|
--enable-printfposparam \
|
|
--enable-unicode \
|
|
--enable-sound \
|
|
# --with-sdl \
|
|
# causes libwx_qtu_core-3.1.so.3.0.0: Could not resolve symbol '_ZN11wxSoundData6IncRefEv'
|
|
|
|
make $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make install
|
|
|
|
prepareInstalledDevelLibs \
|
|
libwx_baseu-3.1 \
|
|
libwx_baseu_net-3.1 \
|
|
libwx_baseu_xml-3.1 \
|
|
libwx_qtu_adv-3.1 \
|
|
libwx_qtu_aui-3.1 \
|
|
libwx_qtu_core-3.1 \
|
|
libwx_qtu_html-3.1 \
|
|
libwx_qtu_media-3.1 \
|
|
libwx_qtu_propgrid-3.1 \
|
|
libwx_qtu_qa-3.1 \
|
|
libwx_qtu_ribbon-3.1 \
|
|
libwx_qtu_richtext-3.1 \
|
|
libwx_qtu_stc-3.1 \
|
|
libwx_qtu_xrc-3.1
|
|
# libwx_qtu_gl-3.1
|
|
|
|
# Install some missing headers that the build system didn't install.
|
|
cp include/wx/generic/caret.h \
|
|
include/wx/generic/clrpickerg.h \
|
|
include/wx/generic/imaglist.h \
|
|
include/wx/generic/filepickerg.h \
|
|
$includeDir/wx-3.1/wx/generic/
|
|
|
|
cp include/wx/qt/nonownedwnd.h \
|
|
$includeDir/wx-3.1/wx/qt/
|
|
|
|
# Remove the symlinked wx-config and put the real one there instead.
|
|
rm $binDir/wx-config
|
|
mv $libDir/wx/config/qt-unicode-3.1 $binDir/wx-config
|
|
|
|
# Move setup.h to the main include directory.
|
|
mv $libDir/wx/include/qt-unicode-3.1/wx/setup.h $includeDir/wx-3.1/wx/
|
|
|
|
rm -rf $libDir/wx/
|
|
|
|
# Patch wx-config to pass in the Qt libs & etc. as they're usually needed.
|
|
sed -i 's/wx_libs="$_guildflags/wx_libs="$ldlibs_core $_guildflags/' \
|
|
$binDir/wx-config
|
|
|
|
packageEntries devel \
|
|
$developDir \
|
|
$prefix/bin \
|
|
$dataDir/aclocal
|
|
}
|