summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB Stack <bgstack15@gmail.com>2018-11-17 19:30:28 +0000
committerB Stack <bgstack15@gmail.com>2018-11-17 19:30:28 +0000
commit68647ebc4b2f34306f4e68f9c7d6fe9d85431304 (patch)
tree9a98948f90c5f42e2bf1b68cbbd1ab8f175f6d9c
parentMerge branch 'freefilesync-bump' into 'master' (diff)
downloadstackrpms-68647ebc4b2f34306f4e68f9c7d6fe9d85431304.tar.gz
stackrpms-68647ebc4b2f34306f4e68f9c7d6fe9d85431304.tar.bz2
stackrpms-68647ebc4b2f34306f4e68f9c7d6fe9d85431304.zip
add wxgtk31
-rw-r--r--wxgtk3/wx-config45
-rw-r--r--wxgtk3/wxGTK3.spec380
2 files changed, 425 insertions, 0 deletions
diff --git a/wxgtk3/wx-config b/wxgtk3/wx-config
new file mode 100644
index 0000000..970ded9
--- /dev/null
+++ b/wxgtk3/wx-config
@@ -0,0 +1,45 @@
+#! /bin/sh
+#
+# Multilib-aware wrapper for the wx-config script
+#
+# Usage: wx-config [--arch <arch>] <regular wx-config options>
+#
+
+version=3.1
+
+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)
+ libdir=/usr/lib
+ ;;
+ x86_64|ppc64|s390x|sparc64|aarch64|ppc64le|mips64*)
+ libdir=/usr/lib64
+ ;;
+ *)
+ echo "Unsupported architecture '$arch'"
+ exit 8
+ ;;
+esac
+
+wxconfig=$libdir/wx/config/gtk3-unicode-$version
+# 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
+fi
+
+if [ -x $wxconfig ]; then
+ exec $wxconfig $@
+else
+ echo "wxWidgets3-devel isn't installed for architecture '$arch'"
+ exit 9
+fi
diff --git a/wxgtk3/wxGTK3.spec b/wxgtk3/wxGTK3.spec
new file mode 100644
index 0000000..71af549
--- /dev/null
+++ b/wxgtk3/wxGTK3.spec
@@ -0,0 +1,380 @@
+%global srcname wxWidgets
+%global wxgtkname wxGTK31
+%global wxbasename wxBase31
+#RHEL 6 does not have gtk3
+#RHEL prior to 6 is unsupported by this package
+%if 0%{?el6}
+%global gtkver 2
+%else
+%global gtkver 3
+%endif
+
+Name: %{wxgtkname}
+Version: 3.1.1
+Release: 3%{?dist}
+Summary: Unofficial GTK port of the wxWidgets GUI library
+License: wxWidgets
+Group: System Environment/Libraries
+URL: http://www.wxwidgets.org/
+Packager: B Stack <bgstack15@gmail.com>
+Source0: https://github.com/%{srcname}/%{srcname}/releases/download/v%{version}/%{srcname}-%{version}.tar.bz2
+Source1: wx-config
+
+
+BuildRequires: gtk%{gtkver}-devel
+#Note webkitgtk (GTK2) does not appear to be supported
+%if %{gtkver} == 3
+ %if 0%{?fedora} > 26
+BuildRequires: webkitgtk4-devel
+ %else
+BuildRequires: webkitgtk3-devel
+ %endif
+%endif
+BuildRequires: zlib-devel
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: libpng-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libtiff-devel
+BuildRequires: expat-devel
+BuildRequires: SDL-devel
+BuildRequires: libGLU-devel
+BuildRequires: libSM-devel
+BuildRequires: gstreamer-plugins-base-devel
+BuildRequires: GConf2-devel
+BuildRequires: gettext
+BuildRequires: cppunit-devel
+BuildRequires: libmspack-devel libXtst-devel libsecret-devel libnotify-devel
+
+Provides: wxGTK31 = %{version}-%{release}
+Provides: bundled(scintilla) = 3.5.7
+Requires: %{wxbasename}%{?_isa} = %{version}-%{release}
+
+%description
+wxWidgets is the GTK port of the C++ cross-platform wxWidgets
+GUI library, offering classes for all common GUI controls as well as a
+comprehensive set of helper classes for most common application tasks,
+ranging from networking to HTML display and image manipulation.
+
+
+%package devel
+Group: Development/Libraries
+Summary: Development files for the wxGTK3 library
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-gl = %{version}-%{release}
+Requires: %{name}-media = %{version}-%{release}
+Requires: %{wxbasename} = %{version}-%{release}
+Requires: gtk%{gtkver}-devel
+Requires: libGLU-devel
+%if 0%{?fedora} > 24
+# At last fc25 uses update-alternatives to manage wx-config!
+Requires(post): %{_sbindir}/update-alternatives
+Requires(postun): %{_sbindir}/update-alternatives
+%endif
+Provides: wxGTK31-devel = %{version}-%{release}
+
+%description devel
+This package include files needed to link with the wxGTK3 library.
+wxWidgets is the GTK port of the C++ cross-platform wxWidgets
+GUI library, offering classes for all common GUI controls as well as a
+comprehensive set of helper classes for most common application tasks,
+ranging from networking to HTML display and image manipulation.
+
+
+%package gl
+Summary: OpenGL add-on for the wxWidgets library
+Group: System Environment/Libraries
+Requires: wxGTK31%{?_isa} = %{version}-%{release}
+
+%description gl
+OpenGL (a 3D graphics API) add-on for the wxWidgets library.
+wxWidgets is the GTK port of the C++ cross-platform wxWidgets
+GUI library, offering classes for all common GUI controls as well as a
+comprehensive set of helper classes for most common application tasks,
+ranging from networking to HTML display and image manipulation.
+
+
+%package media
+Summary: Multimedia add-on for the wxWidgets library
+Group: System Environment/Libraries
+Requires: wxGTK31%{?_isa} = %{version}-%{release}
+
+%description media
+Multimedia add-on for the wxWidgets library.
+wxWidgets is the GTK port of the C++ cross-platform wxWidgets
+GUI library, offering classes for all common GUI controls as well as a
+comprehensive set of helper classes for most common application tasks,
+ranging from networking to HTML display and image manipulation.
+
+
+%package -n %{wxbasename}
+Summary: Non-GUI support classes from the wxWidgets library
+Group: System Environment/Libraries
+
+%description -n %{wxbasename}
+Every wxWidgets application must link against this library. It contains
+mandatory classes that any wxWidgets code depends on (like wxString) and
+portability classes that abstract differences between platforms. wxBase can
+be used to develop console mode applications -- it does not require any GUI
+libraries or the X Window System.
+
+
+%package docs
+Group: Development/Libraries
+Summary: Documentation for the wxGTK3 library
+Requires: %{name} = %{version}-%{release}
+Provides: wxGTK31-docs = %{version}-%{release}
+BuildArch: noarch
+
+%description docs
+This package provides documentation for the %{srcname} library.
+
+
+%prep
+%setup -q -n %{srcname}-%{version}
+
+# patch some installed files to avoid conflicts with 2.8.*
+sed -i -e 's|aclocal)|aclocal/wxwin31.m4)|' Makefile.in
+sed -i -e 's|wxstd.mo|wxstd31.mo|' Makefile.in
+sed -i -e 's|wxmsw.mo|wxmsw31.mo|' Makefile.in
+
+# rename docs directory
+#mv %{srcname}-%{version} html
+
+
+# fix plugin dir for 64-bit
+sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in configure
+sed -i -e 's|/lib|/%{_lib}|' src/unix/stdpaths.cpp
+
+
+%build
+# likely still dereferences type-punned pointers
+CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
+CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
+# fix unused-direct-shlib-dependency error:
+export LDFLAGS="-Wl,--as-needed"
+
+%configure \
+ --with-gtk=%{gtkver} \
+ --with-opengl \
+ --with-sdl \
+ --with-libmspack \
+ --enable-intl \
+ --disable-rpath \
+ --enable-ipv6
+
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+# install our multilib-aware wrapper
+##Remove installed
+rm %{buildroot}%{_bindir}/wx-config
+##Install new and symlink
+install -p -D -m 755 %{SOURCE1} %{buildroot}%{_libexecdir}/%{name}/wx-config
+ln -s ../..%{_libexecdir}/%{name}/wx-config %{buildroot}%{_bindir}/wx-config-3.1
+touch %{buildroot}%{_bindir}/wx-config
+##If gtk2
+%if %{gtkver} == 2
+sed -i -e 's|gtk3|gtk2|' %{buildroot}%{_libexecdir}/%{name}/wx-config
+%endif
+
+#Alternatives setup with wxrc
+mv %{buildroot}%{_bindir}/wxrc* %{buildroot}%{_libexecdir}/%{name}
+ln -s ../..%{_libexecdir}/%{name}/wxrc-3.1 %{buildroot}%{_bindir}/wxrc-3.1
+touch %{buildroot}%{_bindir}/wxrc
+
+#Remove some python bitecode artifacts
+rm -f %{buildroot}%{_datadir}/bakefile/presets/*.pyc
+rm -f %{buildroot}%{_datadir}/bakefile/presets/*.pyo
+
+# move bakefiles to avoid conflicts with 2.8.*
+mkdir %{buildroot}%{_datadir}/bakefile/presets/wx31
+mv %{buildroot}%{_datadir}/bakefile/presets/*.* %{buildroot}%{_datadir}/bakefile/presets/wx31
+
+%find_lang wxstd31
+%find_lang wxmsw31
+cat wxmsw31.lang >> wxstd31.lang
+
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%post gl -p /sbin/ldconfig
+%postun gl -p /sbin/ldconfig
+
+%post media -p /sbin/ldconfig
+%postun media -p /sbin/ldconfig
+
+## This isn't needed here, presumably because we don't package webview separately
+## and uncommenting it breaks rpmbuild
+#%if %{gtkver} == 3
+#%if 0%{?fedora} > 25
+#%post webview -p /sbin/ldconfig
+#%postun webview -p /sbin/ldconfig
+#%endif
+#%endif
+
+%post -n %{wxbasename} -p /sbin/ldconfig
+%postun -n %{wxbasename} -p /sbin/ldconfig
+
+%post 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 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 -f wxstd31.lang
+%doc docs/changes.txt docs/gpl.txt docs/lgpl.txt docs/licence.txt
+%doc docs/licendoc.txt docs/preamble.txt docs/readme.txt
+%{_libdir}/libwx_gtk%{gtkver}u_adv-*.so.*
+%{_libdir}/libwx_gtk%{gtkver}u_aui-*.so.*
+%{_libdir}/libwx_gtk%{gtkver}u_core-*.so.*
+%{_libdir}/libwx_gtk%{gtkver}u_html-*.so.*
+%{_libdir}/libwx_gtk%{gtkver}u_propgrid-*.so.*
+%{_libdir}/libwx_gtk%{gtkver}u_qa-*.so.*
+%{_libdir}/libwx_gtk%{gtkver}u_ribbon-*.so.*
+%{_libdir}/libwx_gtk%{gtkver}u_richtext-*.so.*
+%{_libdir}/libwx_gtk%{gtkver}u_stc-*.so.*
+%if %{gtkver} == 3
+%{_libdir}/libwx_gtk%{gtkver}u_webview-*.so.*
+%endif
+%{_libdir}/libwx_gtk%{gtkver}u_xrc-*.so.*
+
+%files devel
+%ghost %{_bindir}/wx-config
+%ghost %{_bindir}/wxrc
+%{_bindir}/wxrc-3.1
+%{_bindir}/wx-config-3.1
+%{_includedir}/wx-3.1
+%{_libdir}/libwx_*.so
+%{_libdir}/wx
+%{_datadir}/aclocal/wxwin31.m4
+%{_datadir}/bakefile/presets/wx31
+%{_datadir}/bakefile/presets/wx31/*.*
+%{_libexecdir}/%{name}
+
+%files gl
+%{_libdir}/libwx_gtk%{gtkver}u_gl-*.so.*
+
+%files media
+%{_libdir}/libwx_gtk%{gtkver}u_media-*.so.*
+
+%files -n %{wxbasename}
+%doc docs/changes.txt docs/gpl.txt docs/lgpl.txt docs/licence.txt
+%doc docs/licendoc.txt docs/preamble.txt docs/readme.txt
+%{_libdir}/libwx_baseu-*.so.*
+%{_libdir}/libwx_baseu_net-*.so.*
+%{_libdir}/libwx_baseu_xml-*.so.*
+
+
+%changelog
+* Fri Nov 16 2018 B Stack <bgstack15@gmail.com> - Unofficial 3.1.1-3
+- Custom package for copr
+
+* Wed Sep 27 2017 David Hart <david@codelite.co.uk> - Unofficial 3.1.0
+- Fedora >26 uses webkitgtk4, not 3
+
+* Wed Apr 26 2017 David Hart <david@codelite.co.uk> - Unofficial 3.1.0
+- Patch for Wayland keyboard glitch, kindly supplied by Alexey Kosilin
+
+* Tue Apr 18 2017 David Hart <david@codelite.co.uk> - Unofficial 3.1.0
+- Patch for mousewheel crash in Wayland, kindly supplied by Alexey Kosilin
+
+* Wed Nov 23 2016 David Hart <david@codelite.co.uk> - Unofficial 3.1.0
+- Added update-alternatives support for >=fc25
+
+* Tue Mar 01 2016 David Hart <david@codelite.co.uk> - Unofficial 3.1.0
+- Updated for wx3.1.0
+
+* Thu Jan 21 2016 David Hart <david@codelite.co.uk> - Unofficial 3.1pre
+- Updated for wx3.1pre390091c
+
+* Thu Dec 31 2015 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-12
+- Remove python artifacts in bakefile dir, causes multilib devel conflict RH#1294712
+- Fix package devel not owning created wx3 backfile preset dir
+- Add support for MIPS to wx-config RH#1294895
+- Wayland Patch
+
+* Thu Nov 5 2015 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-11
+- Added patch to fix checkbox and radio button issues for f21 onwards
+
+* Sun Nov 1 2015 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-10
+- Removed depreciated/retired libgnomeprintui22
+
+* Sat Aug 22 2015 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-9
+- Include spinbutton patch from upstream
+
+* Mon Jun 22 2015 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-8
+- Include some upstream patches to fix crashes and warnings
+
+* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Thu May 28 2015 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.0.2-6
+- Don't abort on ABI check, backport from wxGTK
+
+* Mon May 04 2015 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.2-5
+- Indicate that this package bundles scintilla 3.2.1.
+
+* Thu Feb 26 2015 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-4
+- Bump to rebuild, fix bug #1210239
+
+* Thu Feb 26 2015 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-3
+- Bump to rebuild for gcc 5.0 to fix some issues
+
+* Tue Nov 04 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-2
+- Moving things around again, hopefully fixing RH#1124402
+- Adding symlinks to avoid breaking things
+
+* Tue Nov 04 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.2-1
+- Update to 3.0.2
+
+* Mon Nov 03 2014 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 3.0.1-5
+- Add aarch64 and ppc64le to list of 64-bit architectures
+
+* Tue Sep 30 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.1-4
+- Add conflict with wxgtk-devel again, temporary fix until it can be resolved
+
+* Tue Sep 30 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.1-3
+- Avoid gtk warnings, fixes RH#1147995
+- Moving wxrc and wx-config to libexec instead of renaming
+- Misc changes and spec error fixes, fixes RH#1124402
+
+* Sat Jul 5 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.1-1
+- Bump to 3.0.1 RH#1076617
+
+* Tue Mar 18 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.0-6
+- Removed disable-catch_segvs, see RH#1076617
+
+* Mon Mar 17 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.0-5
+- Renable combat28 - without it causes bugs RH#1076617 and a few others
+
+* Wed Feb 19 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.0-4
+- Fixed GTK3 bug with wx-config
+- Fixed a unused-direct-shlib-dependency error
+
+* Mon Feb 17 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.0-3
+- Added patch to avoid build fail on gtk 3.10+
+- Reverted patching to make devel package compatible with wxGTK-devel
+- Added combatibility for RHEL 6+
+- Changed all mention of GTK3 and GTK2 to GTK for consistency
+
+* Mon Feb 10 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.0-2
+- Changed to build against gtk3
+- Add webkit to build requires
+- Removed patching to make devel package compatible with wxGTK-devel
+- Disable 2.8.* combatibility (redundant functionality)
+
+* Sat Jan 4 2014 Jeremy Newton <alexjnewt AT hotmail DOT com> - 3.0.0-1
+- Initial build of wxwidgets version 3, mostly based on wxGTK spec
bgstack15