mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-21 19:20:08 +02:00
Add working wxWidgets(!!!) port.
Turns out, wxWidgets has a nearly-complete Qt backend, which works just fine with our Qt port. There are a few hiccups (e.g. wx-config doesn't seem to add Qt libs to command line...) but other than that, this is fully functional.
This commit is contained in:
28
x11-libs/wxwidgets/patches/wxwidgets-sckaddr.patch
Normal file
28
x11-libs/wxwidgets/patches/wxwidgets-sckaddr.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
From 006dc02277d977d13a67f31a1c5fbb3f2e155cb9 Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Sun, 12 Feb 2017 15:40:59 -0500
|
||||
Subject: [PATCH] sckaddr: Fix build on Haiku.
|
||||
|
||||
---
|
||||
src/common/sckaddr.cpp | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/common/sckaddr.cpp b/src/common/sckaddr.cpp
|
||||
index 0388132..49a6481 100644
|
||||
--- a/src/common/sckaddr.cpp
|
||||
+++ b/src/common/sckaddr.cpp
|
||||
@@ -109,6 +109,11 @@ wxIMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress);
|
||||
#endif
|
||||
#endif // __WINDOWS__
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ #define HAVE_GETHOSTBYNAME
|
||||
+ #define HAVE_GETSERVBYNAME
|
||||
+#endif
|
||||
+
|
||||
// we assume that we have gethostbyaddr_r() if and only if we have
|
||||
// gethostbyname_r() and that it uses the similar conventions to it (see
|
||||
// comment in configure)
|
||||
--
|
||||
2.7.0
|
||||
|
||||
140
x11-libs/wxwidgets/wxwidgets-3.1.0.recipe
Normal file
140
x11-libs/wxwidgets/wxwidgets-3.1.0.recipe
Normal file
@@ -0,0 +1,140 @@
|
||||
SUMMARY="Cross-platform GUI library"
|
||||
DESCRIPTION="wxWidgets is a C++ library that lets developers create \
|
||||
applications for Windows, Mac OS X, 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-2017 Julian Smart, Robert Roebling et al"
|
||||
LICENSE="GNU LGPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2"
|
||||
CHECKSUM_SHA256="e082460fb6bf14b7dd6e8ac142598d1d3d0b08a7b5ba402fdbf8711da7e66da8"
|
||||
SOURCE_DIR="wxWidgets-3.1.0"
|
||||
PATCHES="wxwidgets-sckaddr.patch"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
wxwidgets$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_baseu_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_baseu_net_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_baseu_xml_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_adv_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_aui_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_core_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_html_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_media_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_propgrid_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_qa_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_ribbon_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_richtext_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_stc_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
lib:libwx_qtu_xrc_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libQt5Core$secondaryArchSuffix
|
||||
lib:libQt5Gui$secondaryArchSuffix
|
||||
lib:libQt5Widgets$secondaryArchSuffix
|
||||
lib:libiconv$secondaryArchSuffix
|
||||
lib:libcairo$secondaryArchSuffix
|
||||
lib:libtiff$secondaryArchSuffix
|
||||
lib:libexpat$secondaryArchSuffix
|
||||
lib:libjpeg$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
wxwidgets${secondaryArchSuffix}_devel = $portVersion compat >= 3
|
||||
cmd:wx_config$secondaryArchSuffix = $portVersion compat >= 3
|
||||
cmd:wxrc_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
cmd:wxrc$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_baseu_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_baseu_net_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_baseu_xml_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_adv_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_aui_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_core_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_html_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_media_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_propgrid_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_qa_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_ribbon_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_richtext_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_stc_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
devel:libwx_qtu_xrc_3.1$secondaryArchSuffix = $portVersion compat >= 3
|
||||
"
|
||||
REQUIRES_devel="
|
||||
wxwidgets$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libQt5Core$secondaryArchSuffix
|
||||
devel:libQt5Gui$secondaryArchSuffix
|
||||
devel:libQt5Widgets$secondaryArchSuffix
|
||||
devel:libiconv$secondaryArchSuffix
|
||||
devel:libcairo$secondaryArchSuffix
|
||||
devel:libtiff$secondaryArchSuffix
|
||||
devel:libexpat$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:grep
|
||||
cmd:gawk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
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()
|
||||
{
|
||||
runConfigure ./configure --with-qt --enable-shared
|
||||
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
|
||||
|
||||
packageEntries devel \
|
||||
$developDir \
|
||||
$libDir/wx \
|
||||
$prefix/bin \
|
||||
$dataDir/aclocal
|
||||
}
|
||||
Reference in New Issue
Block a user