mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-03 05:28:53 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
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
|
|
}
|