9 Star 0 Fork 18

src-openEuler / wxGTK3

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
wxGTK3.spec 8.92 KB
一键复制 编辑 原始数据 按行查看 历史
zhg 提交于 2023-04-14 11:05 . fix bug for compile error(#I6VGJC)
Name: wxGTK3
Version: 3.0.4
Release: 9
Summary: C++ Library for Cross-Platform Development
License: GPL-2.0-or-later or LGPL-2.1-only
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 gcc gcc-c++ file
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,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wl,--as-needed"
export CPPUNIT_CONFIG="/usr/bin/pkg-config cppunit"
#package gcc_secure will add _old suffix to compile tools
gccexec=`file /usr/bin/gcc`
if [[ ${gccexec} =~ "shell script" ]] && [[ -e /usr/bin/gcc_old ]]; then
for line in `find . -name Makefile.in`;
do
sed -i 's/@CC@/@CC@_old/g' $line
sed -i 's/@CXX@/@CXX@_old/g' $line
done
fi
%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 Apr 14 2023 hgzhaod <hgzhaod@isoftstone.com> - 3.0.4-9
- fix compile bug caused by no gcc_old
* Mon Nov 28 2022 huajingyun <huajingyun@loongson.cn> - 3.0.4-8
- modify wx-config to support loongarch64
* Fri Nov 25 2022 Ge Wang <wangge20@h-partners.com> - 3.0.4-7
- Fix build failure due to gcc_secure ranamed compile tools
* Mon May 31 2021 huanghaitao <huanghaitao8@huawei.com> - 3.0.4-6
- Completing build dependencies to fix gcc/gcc-c++ compiler missing error
* Fri Dec 06 2019 daiqianwen <daiqianwen@huawei.com> - 3.0.4-5
- Package init
1
https://gitee.com/src-openeuler/wxGTK3.git
git@gitee.com:src-openeuler/wxGTK3.git
src-openeuler
wxGTK3
wxGTK3
openEuler-22.03-LTS

搜索帮助