Files
haikuports/x11-libs/wxgtk/wxgtk-3.2.2.1.recipe
PulkoMandy cb8f7b63bf wxgtk: update to libtiff 6, disable fswatcher
wx detects that we have kqueue, and tries to use it for filesystem
notify operations. But we don't implement that part of kqueue currently.
For now, disable filesystem notify support, until either we get a better
kqueue implementation, or someone writes a backend based on the node
monitor for wx.
2024-08-10 21:10:37 +02:00

208 lines
7.2 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-2023 Julian Smart, Robert Roebling et al"
LICENSE="GNU LGPL v2"
REVISION="3"
SOURCE_URI="https://github.com/wxWidgets/wxWidgets/releases/download/v$portVersion/wxWidgets-$portVersion.tar.bz2"
CHECKSUM_SHA256="dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02"
SOURCE_DIR="wxWidgets-$portVersion"
PATCHES="wxgtk-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="0.2.1"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
wxgtk$secondaryArchSuffix = $portVersion
lib:libwx_baseu_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_baseu_net_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_baseu_xml_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_adv_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_aui_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_core_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_html_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_propgrid_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_qa_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_ribbon_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_richtext_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_stc_3.2$secondaryArchSuffix = $libVersionCompat
lib:libwx_gtk3u_xrc_3.2$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libatk_1.0$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgdk_3$secondaryArchSuffix
lib:libgdk_pixbuf_2.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgtk_3$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblzma$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
lib:libpcre2_32$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libSDL_1.2$secondaryArchSuffix
lib:libSM$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libX11$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
wxgtk${secondaryArchSuffix}_devel = $portVersion
cmd:wx_config$secondaryArchSuffix = $portVersion compat >= 3
cmd:wxrc$secondaryArchSuffix = $portVersion compat >= 3
cmd:wxrc_3.2$secondaryArchSuffix = $portVersion compat >= 3
devel:libwx_baseu_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_baseu_net_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_baseu_xml_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_adv_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_aui_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_core_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_html_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_propgrid_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_qa_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_ribbon_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_richtext_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_stc_3.2$secondaryArchSuffix = $libVersionCompat
devel:libwx_gtk3u_xrc_3.2$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
wxgtk$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
devel:libcairo$secondaryArchSuffix
devel:libgdk_3$secondaryArchSuffix
devel:libgtk_3$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libpcre2_32$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:liblzma$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libatk_1.0$secondaryArchSuffix
devel:libcairo$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libexpat$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgdk_3$secondaryArchSuffix
devel:libgdk_pixbuf_2.0$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgtk_3$secondaryArchSuffix
devel:libharfbuzz$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:liblzma$secondaryArchSuffix
devel:libpango_1.0$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libSDL_1.2$secondaryArchSuffix
devel:libSM$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix >= 6
devel:libX11$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:find
cmd:gawk
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage wxgtk$secondaryArchSuffix \
"$libDir"/libwx_baseu-3.2.so.$libVersion \
"$libDir"/libwx_baseu_net-3.2.so.$libVersion \
"$libDir"/libwx_baseu_xml-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_adv-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_aui-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_core-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_html-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_propgrid-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_qa-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_ribbon-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_richtext-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_stc-3.2.so.$libVersion \
"$libDir"/libwx_gtk3u_xrc-3.2.so.$libVersion
BUILD()
{
runConfigure ./configure \
--with-cxx=11 \
--with-gtk \
--enable-shared \
--enable-printfposparam \
--enable-unicode \
--enable-sound \
--disable-fswatcher \
--with-sdl
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs \
libwx_baseu-3.2 \
libwx_baseu_net-3.2 \
libwx_baseu_xml-3.2 \
libwx_gtk3u_adv-3.2 \
libwx_gtk3u_aui-3.2 \
libwx_gtk3u_core-3.2 \
libwx_gtk3u_html-3.2 \
libwx_gtk3u_propgrid-3.2 \
libwx_gtk3u_qa-3.2 \
libwx_gtk3u_ribbon-3.2 \
libwx_gtk3u_richtext-3.2 \
libwx_gtk3u_stc-3.2 \
libwx_gtk3u_xrc-3.2
# Install a header file that's been missed by make install?.
cp include/wx/generic/clrpickerg.h \
$includeDir/wx-3.2/wx/generic/
# Remove the symlinked wx-config and put the real one there instead.
rm $binDir/wx-config
mv $libDir/wx/config/gtk3-unicode-3.2 $binDir/wx-config
# Remove nonexistent directory from cflags
sed -i 's!"-I${libdir}/wx/include/gtk3-unicode-3.2" !!' $binDir/wx-config
# Move setup.h to the main include directory.
mv $libDir/wx/include/gtk3-unicode-3.2/wx/setup.h $includeDir/wx-3.2/wx/
rm -rf $libDir/wx/
packageEntries devel \
$developDir \
$prefix/bin \
$dataDir/aclocal
}