!1 wxGTK3: package init
Merge pull request !1 from daidai_is_here/dqw_test
This commit is contained in:
commit
8055f0541e
51
wx-config
Normal file
51
wx-config
Normal file
@ -0,0 +1,51 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# Multilib-aware wrapper for the wx-config script
|
||||
#
|
||||
# Usage: wx-config [--arch <arch>] <regular wx-config options>
|
||||
#
|
||||
|
||||
version=3.0
|
||||
|
||||
if [ $# -ge 2 ]; then
|
||||
if [ $1 = "--arch" ]; then
|
||||
arch=$2
|
||||
shift 2
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z $arch ]; then
|
||||
arch=`uname -m`
|
||||
fi
|
||||
|
||||
case $arch in
|
||||
i?86|ppc|s390|sparc|arm*|ia64|mips|mipsel|riscv32)
|
||||
libdir=/usr/lib
|
||||
;;
|
||||
x86_64|ppc64|s390x|sparc64|aarch64|ppc64le|mips64*|riscv64)
|
||||
libdir=/usr/lib64
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported architecture '$arch'"
|
||||
exit 8
|
||||
;;
|
||||
esac
|
||||
|
||||
wxconfig=$libdir/wx/config/gtk3-unicode-$version
|
||||
if [ ! -f $wxconfig ]; then
|
||||
wxconfig=$libdir/wx/config/gtk2-unicode-$version
|
||||
fi
|
||||
# special case when using 32-bit userspace and 64-bit kernel
|
||||
if [ ! -f $wxconfig -a \( $arch = ppc64 -o $arch = sparc64 \) ]; then
|
||||
wxconfig=/usr/lib/wx/config/gtk3-unicode-$version
|
||||
if [ ! -f $wxconfig ]; then
|
||||
wxconfig=/usr/lib/wx/config/gtk2-unicode-$version
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -x $wxconfig ]; then
|
||||
exec $wxconfig $@
|
||||
else
|
||||
echo "wxWidgets3-devel isn't installed for architecture '$arch'"
|
||||
exit 9
|
||||
fi
|
||||
14
wxGTK3-3.0.3-abicheck.patch
Normal file
14
wxGTK3-3.0.3-abicheck.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- wxWidgets-3.0.2/src/common/appbase.cpp.abicheck 2015-05-28 12:36:40.697163073 +0900
|
||||
+++ wxWidgets-3.0.2/src/common/appbase.cpp 2015-05-28 12:38:30.597154298 +0900
|
||||
@@ -762,10 +762,7 @@
|
||||
msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
|
||||
lib.c_str(), progName.c_str(), prog.c_str());
|
||||
|
||||
- wxLogFatalError(msg.c_str());
|
||||
-
|
||||
- // normally wxLogFatalError doesn't return
|
||||
- return false;
|
||||
+ wxLogWarning(msg.c_str());
|
||||
}
|
||||
|
||||
return true;
|
||||
233
wxGTK3.spec
Normal file
233
wxGTK3.spec
Normal file
@ -0,0 +1,233 @@
|
||||
Name: wxGTK3
|
||||
Version: 3.0.4
|
||||
Release: 5
|
||||
Summary: C++ Library for Cross-Platform Development
|
||||
|
||||
License: wxWidgets
|
||||
URL: https://www.wxwidgets.org/
|
||||
Source0: https://github.com/wxWidgets/wxWidgets/releases/download/v%{version}/wxWidgets-%{version}.tar.bz2
|
||||
Source1: wx-config
|
||||
Patch0001: wxGTK3-3.0.3-abicheck.patch
|
||||
|
||||
BuildRequires: gtk2-devel gtk3-devel webkit2gtk3-devel zlib-devel libpng-devel libjpeg-devel
|
||||
BuildRequires: libtiff-devel expat-devel SDL2-devel libGLU-devel libSM-devel gstreamer1-plugins-base-devel
|
||||
BuildRequires: GConf2-devel gettext cppunit-devel libmspack-devel doxygen
|
||||
|
||||
Requires: wxBase3 = %{version}-%{release} wxGTK3-i18n = %{version}-%{release}
|
||||
Provides: wxWidgets = %{version}-%{release} bundled(scintilla) = 3.2.1
|
||||
|
||||
Provides: wxGTK3-gl = %{version}-%{release} wxGTK3-media = %{version}-%{release} wxGTK3-webview = %{version}-%{release}
|
||||
Obsoletes: wxGTK3-gl < %{version}-%{release} wxGTK3-media < %{version}-%{release} wxGTK3-webview < %{version}-%{release}
|
||||
|
||||
%description
|
||||
wxWidgets is a C++ library for cross-platform GUI.
|
||||
With wxWidgets, you can create applications for different GUIs (GTK+,
|
||||
Motif, MS Windows, MacOS X, Windows CE, GPE) from the same source code.
|
||||
This package contains all library of GTK3-backed wxWidgets.
|
||||
|
||||
%package -n compat-wxGTK3-gtk2
|
||||
Summary: C++ Library for Cross-Platform Development of GTK2-backed wxWidgets
|
||||
Requires: wxBase3 = %{version}-%{release} wxGTK3-i18n = %{version}-%{release}
|
||||
Provides: compat-wxWidgets-gtk2 = %{version}-%{release} bundled(scintilla) = 3.2.1
|
||||
|
||||
Provides: compat-wxGTK3-gtk2-gl = %{version}-%{release} compat-wxGTK3-gtk2-media = %{version}-%{release}
|
||||
Obsoletes: compat-wxGTK3-gtk2-gl < %{version}-%{release} compat-wxGTK3-gtk2-media < %{version}-%{release}
|
||||
|
||||
%description -n compat-wxGTK3-gtk2
|
||||
wxWidgets is a C++ library for cross-platform GUI.
|
||||
With wxWidgets, you can create applications for different GUIs (GTK+,
|
||||
Motif, MS Windows, MacOS X, Windows CE, GPE) from the same source code.
|
||||
This package contains all library of GTK2-backed wxWidgets.
|
||||
|
||||
%package -n wxBase3-devel
|
||||
Summary: Development files for GTK2-backed and GTK3-backed wxWidgets
|
||||
Requires: wxBase3 = %{version}-%{release}
|
||||
Requires(post): chkconfig
|
||||
Requires(postun): chkconfig
|
||||
|
||||
%description -n wxBase3-devel
|
||||
This package contains all files needed for developing with GTK2-backed and GTK3-backed wxWidgets.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for GTK3-backed wxWidgets
|
||||
Requires: wxGTK3 = %{version}-%{release} wxGTK3-gl = %{version}-%{release}
|
||||
Requires: wxGTK3-media = %{version}-%{release} wxGTK3-webview = %{version}-%{release}
|
||||
Requires: wxBase3 = %{version}-%{release} wxBase3-devel = %{version}-%{release}
|
||||
Requires: gtk3-devel libGLU-devel
|
||||
Provides: wxWidgets-devel = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package contains all files needed for developing with GTK3-backed wxWidgets.
|
||||
|
||||
%package -n compat-wxGTK3-gtk2-devel
|
||||
Summary: Development files for GTK2-backed wxWidgets
|
||||
Requires: compat-wxGTK3-gtk2 = %{version}-%{release} compat-wxGTK3-gtk2-gl = %{version}-%{release}
|
||||
Requires: compat-wxGTK3-gtk2-media = %{version}-%{release}
|
||||
Requires: wxBase3 = %{version}-%{release} wxBase3-devel = %{version}-%{release}
|
||||
Requires: gtk2-devel libGLU-devel
|
||||
Provides: compat-wxWidgets-gtk2-devel = %{version}-%{release}
|
||||
|
||||
%description -n compat-wxGTK3-gtk2-devel
|
||||
This package contains all files needed for developing with GTK2-backed wxWidgets.
|
||||
|
||||
|
||||
%package i18n
|
||||
Summary: i18n message catalogs of the wxGTK3
|
||||
BuildArch: noarch
|
||||
|
||||
%description i18n
|
||||
This package contains i18n message catalogs for the wxWidgets library.
|
||||
|
||||
%package -n wxBase3
|
||||
Summary: Non-GUI support classes of the wxGTK3
|
||||
Provides: compat-wxBase3-gtk2 = %{version}-%{release}
|
||||
Obsoletes: compat-wxBase3-gtk2 < %{version}-%{release}
|
||||
|
||||
%description -n wxBase3
|
||||
Non-GUI support classes from the wxWidgets library.
|
||||
|
||||
%package help
|
||||
Summary: Help documentation for the wxGTK3 library
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Provides: wxWidgets-docs = %{version}-%{release} compat-wxWidgets-gtk2 = %{version}-%{release}
|
||||
Provides: wxWidgets-xmldocs = %{version}-%{release}
|
||||
Provides: wxGTK3-docs = %{version}-%{release} compat-wxGTK3-gtk2-docs = %{version}-%{release}
|
||||
Provides: wxGTK3-xmldocs = %{version}-%{release} compat-wxGTK3-gtk2-xmldocs = %{version}-%{release}
|
||||
Obsoletes: wxGTK3-docs < %{version}-%{release} compat-wxGTK3-gtk2-docs < %{version}-%{release}
|
||||
Obsoletes: wxGTK3-xmldocs < %{version}-%{release} compat-wxGTK3-gtk2-xmldocs < %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
%description help
|
||||
This package provides documentation for the wxGTK3-docs library.
|
||||
|
||||
%prep
|
||||
%autosetup -n wxWidgets-%{version} -p1
|
||||
|
||||
sed -i -e 's|aclocal)|aclocal/wxwin3.m4)|;s|wxstd.mo|wxstd3.mo|;s|wxmsw.mo|wxmsw3.mo|' Makefile.in
|
||||
sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure
|
||||
sed -i -e 's|/lib|/%{_lib}|' src/unix/stdpaths.cpp
|
||||
sed -i -e 's|$CPPUNIT_CONFIG --version|$CPPUNIT_CONFIG --modversion|' configure
|
||||
|
||||
%build
|
||||
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||
CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||
export LDFLAGS="-Wl,--as-needed"
|
||||
export CPPUNIT_CONFIG="/usr/bin/pkg-config cppunit"
|
||||
|
||||
%global _configure ../configure
|
||||
|
||||
install -d bld_gtk2
|
||||
cd bld_gtk2
|
||||
%configure --with-gtk=2 --with-opengl --with-sdl --with-gnomeprint --with-libmspack --enable-intl \
|
||||
--enable-no_deps --disable-rpath --enable-ipv6
|
||||
|
||||
%make_build
|
||||
cd -
|
||||
|
||||
install -d bld_gtk3
|
||||
cd bld_gtk3
|
||||
%configure --with-gtk=3 --with-opengl --with-sdl --with-gnomeprint --with-libmspack --enable-intl \
|
||||
--enable-no_deps --disable-rpath --enable-ipv6
|
||||
|
||||
%make_build
|
||||
cd -
|
||||
|
||||
WX_SKIP_DOXYGEN_VERSION_CHECK=1 docs/doxygen/regen.sh html
|
||||
mv docs/doxygen/out/html .
|
||||
|
||||
cd docs/doxygen
|
||||
WX_SKIP_DOXYGEN_VERSION_CHECK=1 ./regen.sh xml
|
||||
cd -
|
||||
|
||||
%install
|
||||
cd bld_gtk2
|
||||
%makeinstall
|
||||
cd -
|
||||
|
||||
cd bld_gtk3
|
||||
%makeinstall
|
||||
cd -
|
||||
|
||||
rm %{buildroot}%{_bindir}/wx-config
|
||||
install -pD -m 755 %{SOURCE1} %{buildroot}%{_libexecdir}/wxGTK3/wx-config
|
||||
ln -s ../..%{_libexecdir}/wxGTK3/wx-config %{buildroot}%{_bindir}/wx-config-3.0
|
||||
touch %{buildroot}%{_bindir}/wx-config
|
||||
|
||||
mv %{buildroot}%{_bindir}/wxrc* %{buildroot}%{_libexecdir}/wxGTK3
|
||||
ln -s ../..%{_libexecdir}/wxGTK3/wxrc-3.0 %{buildroot}%{_bindir}/wxrc-3.0
|
||||
touch %{buildroot}%{_bindir}/wxrc
|
||||
|
||||
|
||||
install -d %{buildroot}%{_datadir}/bakefile/presets/wx3
|
||||
mv %{buildroot}%{_datadir}/bakefile/presets/*.* %{buildroot}%{_datadir}/bakefile/presets/wx3
|
||||
|
||||
%find_lang wxstd3
|
||||
%find_lang wxmsw3
|
||||
cat wxmsw3.lang >> wxstd3.lang
|
||||
|
||||
%check
|
||||
cd bld_gtk2/tests
|
||||
%make_build test
|
||||
cd -
|
||||
|
||||
cd bld_gtk3/tests
|
||||
%make_build test
|
||||
cd -
|
||||
|
||||
%post -n wxBase3-devel
|
||||
if [ -f %{_bindir}/wx-config ] && [ ! -h %{_bindir}/wx-config ] ; then rm %{_bindir}/wx-config; fi;
|
||||
|
||||
%{_sbindir}/update-alternatives --install %{_bindir}/wx-config wx-config %{_libexecdir}/%{name}/wx-config 3
|
||||
|
||||
%{_sbindir}/update-alternatives --install %{_bindir}/wxrc wxrc %{_libexecdir}/%{name}/wxrc 3
|
||||
|
||||
%postun -n wxBase3-devel
|
||||
if [ $1 -eq 0 ] ; then
|
||||
%{_sbindir}/update-alternatives --remove wx-config %{_libexecdir}/%{name}/wx-config
|
||||
%{_sbindir}/update-alternatives --remove wxrc %{_libexecdir}/%{name}/wxrc
|
||||
fi
|
||||
|
||||
%files
|
||||
%{_libdir}/libwx_gtk3u_*.so.*
|
||||
%dir %{_libdir}/wx
|
||||
%{_libdir}/wx/3.0
|
||||
|
||||
%files -n compat-wxGTK3-gtk2
|
||||
%{_libdir}/libwx_gtk2u_*.so.*
|
||||
|
||||
%files -n wxBase3-devel
|
||||
%ghost %{_bindir}/{wx-config,wxrc}
|
||||
%{_bindir}/{wxrc-3.0,wx-config-3.0}
|
||||
%{_includedir}/wx-3.0
|
||||
%{_libdir}/libwx_baseu*.so
|
||||
%dir %{_libdir}/wx
|
||||
%dir %{_libdir}/wx/config
|
||||
%dir %{_libdir}/wx/include
|
||||
%{_datadir}/{aclocal/wxwin3.m4,bakefile/presets/wx3}
|
||||
%exclude %{_datadir}/bakefile/presets/wx3/*.pyc
|
||||
%exclude %{_datadir}/bakefile/presets/wx3/*.pyo
|
||||
%{_libexecdir}/wxGTK3
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libwx_gtk3u_*.so
|
||||
%{_libdir}/wx/{config/gtk3-unicode-3.0,include/gtk3-unicode-3.0}
|
||||
|
||||
%files -n compat-wxGTK3-gtk2-devel
|
||||
%{_libdir}/libwx_gtk2u_*.so
|
||||
%{_libdir}/wx/{config/gtk2-unicode-3.0,include/gtk2-unicode-3.0}
|
||||
|
||||
%files i18n -f wxstd3.lang
|
||||
|
||||
%files -n wxBase3
|
||||
%{_libdir}/libwx_baseu*.so.*
|
||||
|
||||
%files help
|
||||
%doc docs/*
|
||||
%doc html
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Dec 06 2019 daiqianwen <daiqianwen@huawei.com> - 3.0.4-5
|
||||
- Package init
|
||||
|
||||
|
||||
BIN
wxWidgets-3.0.4.tar.bz2
Normal file
BIN
wxWidgets-3.0.4.tar.bz2
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user