File wxWidgets-3_0.spec of Package wxWidgets-3_0

#
# spec file for package wxWidgets-3_0
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           wxWidgets-3_0
# Build flags are deduced from the package name and the repository environment:
#
# Flags inherited from the environment:
# If the WX_DEBUG is set and equal to 1, then debug versions of
# libraries with lots of asserts will be built. Debug version is useful
# for debugging of wxWidgets use.
#
%define base_name wxWidgets
# Tarball name:
# In theory, you can save some space and use wxGTK here. But there are
# no wxGTK tarballs for versions 2.9.x. And current 2.8.x wxGTK
# tarballs lack sources for mmedia library, so we have to use full
# wxWidgets tarball here.
%define tarball_name wxWidgets
Version:        3.0.1
Release:        0
%define wx_minor %(echo %{version} | sed 's/\.[0-9][0-9]*$//')
#%define wx_minor_description %{wx_minor}
%define wx_minor_description 3.0
# libdir for installing of all the stuff
%define _wxlibdir %{_libdir}/wx-%{wx_minor}-stl
%define _wx_variant stl
%define __wx_description STL API
%define _wx_description %{__wx_description} with Unicode/ANSI support
%define wxlibdir %{_wxlibdir}
%define wx_variant %{_wx_variant}
%define wx_description %{_wx_description}
# lang packages are exactly equal for all variants. Build it only once:
%if "%{name}" == "%{base_name}"
%define BUILD_LANG 1
%else
%define BUILD_LANG 0
%endif
Summary:        C++ Library for Cross-Platform Development
License:        GPL-2.0+
Group:          Development/Libraries/C and C++
Url:            http://www.wxwidgets.org/

Source:         http://downloads.sf.net/wxwindows/%tarball_name-%version.tar.bz2
Source1:        README.SUSE
Source2:        virtual-package.README
Source3:        wxWidgets-find-wx-provides
Source4:        wxWidgets-find-wx-requires
Source5:        rpmlintrc
# This script is not used during build, but it makes possible to
# identify and backport wxPython fixes to wxWidgets.
Source6:        wxpython-mkdiff.sh
Source50:       baselibs.conf
# PATCH-FEATURE-OPENSUSE wxWidgets-config-force-rpath.patch sbrabec@suse.cz -- Force rpath use for installed libraries.
Patch2:         wxWidgets-3_0-config-force-rpath.patch
# PATCH-FEATURE-OPENSUSE wxWidgets-find-wx-provides-bash3.patch sbrabec@suse.cz -- Port to bash-3 that does not support coproc.
Patch3:         wxWidgets-find-wx-provides-bash3.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  SDL-devel
BuildRequires:  autoconf
BuildRequires:  cppunit-devel
BuildRequires:  gcc-c++
BuildRequires:  gnome-vfs2-devel
BuildRequires:  gstreamer-0_10-devel
BuildRequires:  gstreamer-0_10-plugins-base-devel
BuildRequires:  gtk2-devel
%define gtk_version 2
%if 0%{?suse_version} >= 1220
BuildRequires:  libSM-devel
%else
%if %{sles_version} != 10
BuildRequires:  xorg-x11-libSM-devel
%endif
%endif
BuildRequires:  libexpat-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libmspack-devel
BuildRequires:  libnotify-devel
BuildRequires:  libpng-devel
BuildRequires:  libtiff-devel
BuildRequires:  zlib-devel
BuildRequires:  pkgconfig(glu)
%if 0%{?suse_version} >= 1140
BuildRequires:  pkgconfig(webkit-1.0)
%else
%if 0%{sles_version} == 0
BuildRequires:  libwebkit-gtk-devel
%endif
%endif
# We cannot use standard Requires/Provides, as we can have several instances of the library with the same soname.
%define _use_internal_dependency_generator 0

%description
wxWidgets is a free 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.

%package -n libwx_baseu-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries
# Name up to openSUSE 11.3 and up to wxGTK-2.8:
Obsoletes:      wxGTK <= %{version}.0
# Third party base package name:
Obsoletes:      wxWidgets < %{version}
# wxWidgets-lang requires wxWidgets. Provide them to fix dependencies:
Provides:       wxWidgets = %{version}
Recommends:     %{base_name}-lang >= %{version}

%description -n libwx_baseu-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_baseu_net-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_baseu_net-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_baseu_xml-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_baseu_xml-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_adv-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_adv-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_aui-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_aui-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_core-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_core-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_gl-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_gl-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_html-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_html-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_media-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_media-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_propgrid-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_propgrid-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_qa-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_qa-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_ribbon-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_ribbon-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_richtext-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_richtext-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package -n libwx_gtk%{gtk_version}u_stc-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_stc-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%if %{suse_version} > 1110
%package -n libwx_gtk%{gtk_version}u_webview-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_webview-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.
%endif

%package -n libwx_gtk%{gtk_version}u_xrc-3_0-0-%{wx_variant}
Summary:        wxWidgets Library
Group:          System/Libraries

%description -n libwx_gtk%{gtk_version}u_xrc-3_0-0-%{wx_variant}
Library for the wxWidgets cross-platform GUI.

%package plugin-sound_sdlu-3_0-%{wx_variant}
Summary:        wxWidgets SDL Plugin
Group:          System/Libraries

%description plugin-sound_sdlu-3_0-%{wx_variant}
SDL Plugin for the wxWidgets cross-platform GUI.

%package compat-lib-config
Summary:        wxWidgets Library Compatibility Configuration
Group:          System/Libraries
Provides:       %{base_name}-ld_so_conf
Conflicts:      otherproviders(%{base_name}-ld_so_conf)
# For upgrade from older version in OBS (block possible non-conflicting downgrade of wxWidgets-3_0-compat-lib-config)
Conflicts:      wxWidgets-compat-lib-config < 2.9.3-3

%description compat-lib-config
This package contains a ld.so configuration file that allows to use third party
binaries with one of available instances of the wxWidgets libraries.

Note: compat-lib-config variant packages are mutually exclusive. If you
need more instances at once, break RPM dependencies and use
LD_LIBRARY_PATH wrappers for those "broken" packages.

%package -n libwx_baseu-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_baseu-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_baseu_net-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_baseu_net-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_baseu_xml-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_baseu_xml-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_adv-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_adv-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_aui-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_aui-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_core-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_core-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_gl-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_gl-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_html-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_html-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_media-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_media-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_propgrid-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_propgrid-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_qa-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_qa-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_ribbon-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_ribbon-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_richtext-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_richtext-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package -n libwx_gtk%{gtk_version}u_stc-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_stc-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%if %{suse_version} > 1110
%package -n libwx_gtk%{gtk_version}u_webview-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_webview-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.
%endif

%package -n libwx_gtk%{gtk_version}u_xrc-3_0-0-compat-lib-%{wx_variant}
Summary:        wxWidgets Library Compatibility Virtual Package
Group:          System/Libraries
Requires:       %{name}-compat-lib-config = %{version}
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}

%description -n libwx_gtk%{gtk_version}u_xrc-3_0-0-compat-lib-%{wx_variant}
This virtual package contains symbols that allows to install third party
packages using wxWidgets libraries.

%package devel
Summary:        Everything needed for development with wxWidgets
Group:          Development/Libraries/C and C++
Requires:       Mesa-devel
Requires:       gtk%{gtk_version}-devel
Requires:       libwx_baseu-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_baseu_net-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_baseu_xml-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_adv-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_aui-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_core-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_gl-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_html-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_media-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_propgrid-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_qa-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_ribbon-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_richtext-3_0-0-%{wx_variant} = %{version}
Requires:       libwx_gtk%{gtk_version}u_stc-3_0-0-%{wx_variant} = %{version}
%if %{suse_version} > 1110
Requires:       libwx_gtk%{gtk_version}u_webview-3_0-0-%{wx_variant} = %{version}
%endif
Requires:       libwx_gtk%{gtk_version}u_xrc-3_0-0-%{wx_variant} = %{version}
Requires:       pkgconfig(glu)
Provides:       wxWidgets-devel = %version-%release
Conflicts:      otherproviders(wxWidgets-devel)
Provides:       wxGTK3-devel = %version-%release
# Name up to openSUSE 11.3 and up to wxGTK-2.8.x:
Provides:       wxGTK-devel = %version-%release
Obsoletes:      wxGTK-devel <= %version-%release

%description devel
wxWidgets is a free C++ library for cross-platform GUI development.
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 files needed for developing with wxGTK3.

Note: wxWidgets variant devel packages are mutually exclusive. Please
read %{_docdir}/%{name}/README.SUSE to pick a correct variant.

%if %BUILD_LANG
%lang_package -n %{base_name}
%endif

%prep
echo "=== RPM build flags: WX_DEBUG=0%{?WX_DEBUG}, ENABLE_UNICODE=1, WXFLAGS=u, libdir=%{wxlibdir}, wx_variant=%{wx_variant}"
%setup -q -n %{tarball_name}-%{version}
cp %{S:1} %{S:2} .
cp %{S:3} find-wx-provides
cp %{S:4} find-wx-requires
%if %suse_version < 1120
%patch3
%endif
chmod +x find-wx-provides find-wx-requires
%if "%{_libdir}" != "%{wxlibdir}"
# Apply this patch only if we are building outside libdir.
%patch2
%endif

%build
autoconf -f -i
# NOTE: gnome-vfs is deprecated. Disabled for GTK3 build
#
# Historic note: STL is recommended by developers. Some packages fail to cope
# with it (bnc#530027), though. It is also ABI-incompatible with wxcontainer.
#
# With 2.9.1:
# --enable-objc_uniquifying is relevant only for Cocoa
# --enable-accessibility is currently supported only in msw
# --enable-extended_rtti does not compile
export CFLAGS="%optflags -O0 -ggdb3"
export CXXFLAGS="%optflags -O0 -ggdb3"
%configure\
	--with-gtk=%{gtk_version}\
	--libdir=%{wxlibdir}\
	--disable-static\
	--enable-unicode\
	--with-opengl\
	--with-libmspack\
	--with-sdl\
	--with-gnomevfs\
	--enable-ipv6\
	--enable-mediactrl\
	--enable-optimise\
%if 0%{?WX_DEBUG}
	--enable-debug\
%else
	--disable-debug\
%endif
	--enable-stl\
	--enable-plugins
make %{?_smp_mflags}
%if %BUILD_LANG
cd locale
make allmo
cd ..
%endif

%clean
:

%install
make install DESTDIR="%buildroot"
%if %BUILD_LANG
# Locales for MS Windows:
rm -r $RPM_BUILD_ROOT%{_datadir}/locale/*/LC_MESSAGES/wxmsw.mo
%find_lang wxstd
%else
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
%endif

# Create synthetic .la files to work-around libtool inability to link
# third level libraries built on top of wxWidgets (bnc#690952).
cd $RPM_BUILD_ROOT%{wxlibdir}
for LIB in *.so ; do
	LIBNAME=${LIB%.so}
	LC_ALL=C
	LIBNAMES=($LIB*)
	unset LC_ALL
	cat >$LIBNAME.la <<EOF
# $LIBNAME.la - a libtool library file
# Generated by %{name}.spec (for GNU libtool)
#

# The name that we can dlopen(3).
dlname='${LIBNAMES[1]}'

# Names of this library.
library_names='$(for ((i=${#LIBNAMES[@]}-1;i>=0;i--)); do echo ${LIBNAMES[i]} ; done | tr \\n \  | sed s/\ $// )'

# The name of the static archive.
old_library=''

# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=''

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for $LIBNAME.
current=0
age=0
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='%{wxlibdir}'
EOF
done
cd -

# Create ld.so.conf.d file that provides binary compatibility with third party binaries.
%if "%{_libdir}" != "%{wxlibdir}"
mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
cat <<EOF >$RPM_BUILD_ROOT/etc/ld.so.conf.d/%{base_name}.conf
# Third party packages should search this directory for wxWidgets libraries.
#
# Don't modify this file, replace the wxWidgets-compat-lib package
# with another package instance instead.
#
%{wxlibdir}
EOF
%endif

# Create files that allow to create ABI-safe packages.
mkdir -p $RPM_BUILD_ROOT/etc/rpm
cat <<EOF >$RPM_BUILD_ROOT/etc/rpm/macros.wxWidgets
# This file is part of each wxWidgets-devel package instance and
# identifies the wxWidgets the variant the package is built with.
#
# Don't modify this file, replace the wxWidgets-devel package with
# another package instance instead.
#
# Please add following lines to all wxWidgets based package spec file
# preamble:
#
# %%define _use_internal_dependency_generator 0
# %%define __find_requires %%wx_requires
#
# and use this line if you build wxWidgets variant-specific libraries or
# modules
#
# %%define __find_provides %%wx_provides
#
%%wx_provides %{wxlibdir}/wx/rpm/find-wx-provides
%%wx_requires %{wxlibdir}/wx/rpm/find-wx-requires "%%{buildroot}"
EOF
mkdir -p $RPM_BUILD_ROOT%{wxlibdir}/wx/rpm
install find-wx-provides find-wx-requires $RPM_BUILD_ROOT%{wxlibdir}/wx/rpm/

# Modify provides/requires to prevent identical provides for different libraries.
%define build_wx_provides %{_builddir}/%{?buildsubdir}/build-wx-provides
%define build_find_wx_provides %{_builddir}/%{?buildsubdir}/find-wx-provides
%define build_wx_requires %{_builddir}/%{?buildsubdir}/find-wx-requires

# We need a very special version of %%wx_provides here.
# This version creates provides for compat-lib packages.
echo 0 >wx-libno
cat << EOF > %{build_wx_provides}
#! /bin/sh
# convert libfoo()() to libfoo(variant)()() and create virtual symbols.
wx_libno=\$(<$PWD/wx-libno)
# Trick: Package name is not passed to the script. Hopefully,
# processing order follows spec package order.
# Another possible solution: Deduce package name from the %%doc path.
wx_lib=(\
 libwx_baseu\
 libwx_baseu_net\
 libwx_baseu_xml\
 libwx_gtk%{gtk_version}u_adv\
 libwx_gtk%{gtk_version}u_aui\
 libwx_gtk%{gtk_version}u_core\
 libwx_gtk%{gtk_version}u_gl\
 libwx_gtk%{gtk_version}u_html\
 libwx_gtk%{gtk_version}u_media\
 libwx_gtk%{gtk_version}u_propgrid\
 libwx_gtk%{gtk_version}u_qa\
 libwx_gtk%{gtk_version}u_ribbon\
 libwx_gtk%{gtk_version}u_richtext\
 libwx_gtk%{gtk_version}u_stc\
%if %{suse_version} > 1110
 libwx_gtk%{gtk_version}u_webview\
%endif
 libwx_gtk%{gtk_version}u_xrc\
)

while read ; do
	case "\$REPLY" in
		*virtual-package.README )
			echo "\$REPLY" | /usr/lib/rpm/find-provides
			libname=\${wx_lib[\$wx_libno]}
			let wx_libno++
			echo \$wx_libno >$PWD/wx-libno
			# We don't know buildroot directory here. Strip known part of path to get it.
			ls -1 \${REPLY%%%{_docdir}/*/virtual-package.README}/%{wxlibdir}/* |
				grep -F \${libname}- |
				/usr/lib/rpm/find-provides
			;;
		*%{_docdir}* )
			echo "\$REPLY" | %{build_find_wx_provides}
			;;
		* )
			( echo "\$REPLY" ; cat ) | %{build_find_wx_provides}
			;;
	esac
done
EOF

chmod 755 %{build_wx_provides}
%define __find_provides %{build_wx_provides}
%define __find_requires %{build_wx_requires} "%{buildroot}"

# HACK: Fix wx-config symlink (bug introduced in 2.9.4).
ln -sf $(echo $RPM_BUILD_ROOT%{wxlibdir}/wx/config/* | sed "s%%$RPM_BUILD_ROOT%%%%") $RPM_BUILD_ROOT%{_bindir}/wx-config

%post compat-lib-config -p /sbin/ldconfig

%postun compat-lib-config -p /sbin/ldconfig

%triggerin compat-lib-config -- libwx_baseu-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_baseu-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_baseu_net-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_baseu_net-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_baseu_xml-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_baseu_xml-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_adv-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_adv-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_aui-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_aui-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_core-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_core-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_gl-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_gl-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_html-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_html-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_media-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_media-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_propgrid-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_propgrid-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_qa-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_qa-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_ribbon-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_ribbon-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_richtext-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_richtext-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_stc-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_stc-3_0-0-%{wx_variant}
/sbin/ldconfig

%if %{suse_version} > 1110
%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_webview-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_webview-3_0-0-%{wx_variant}
/sbin/ldconfig
%endif

%triggerin compat-lib-config -- libwx_gtk%{gtk_version}u_xrc-3_0-0-%{wx_variant}
/sbin/ldconfig

%triggerpostun compat-lib-config -- libwx_gtk%{gtk_version}u_xrc-3_0-0-%{wx_variant}
/sbin/ldconfig

%if "%{_libdir}" == "%{wxlibdir}"

%post -n libwx_baseu-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_baseu-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_baseu_net-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_baseu_net-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_baseu_xml-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_baseu_xml-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_adv-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_adv-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_aui-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_aui-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_core-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_core-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_gl-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_gl-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_html-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_html-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_media-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_media-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_propgrid-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_propgrid-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_qa-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_qa-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_ribbon-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_ribbon-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_richtext-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_richtext-3_0-0-%{wx_variant} -p /sbin/ldconfig

%post -n libwx_gtk%{gtk_version}u_stc-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_stc-3_0-0-%{wx_variant} -p /sbin/ldconfig

%if %{suse_version} > 1110
%post -n libwx_gtk%{gtk_version}u_webview-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_webview-3_0-0-%{wx_variant} -p /sbin/ldconfig
%endif

%post -n libwx_gtk%{gtk_version}u_xrc-3_0-0-%{wx_variant} -p /sbin/ldconfig

%postun -n libwx_gtk%{gtk_version}u_xrc-3_0-0-%{wx_variant} -p /sbin/ldconfig
%endif

%if %BUILD_LANG

%files lang -f wxstd.lang
%endif

%files -n libwx_baseu-3_0-0-%{wx_variant}
%defattr (-,root,root)
%{wxlibdir}/libwx_baseu-3.0.so.0*
%if "%{_libdir}" != "%{wxlibdir}"
%dir %{wxlibdir}
%endif

%files -n libwx_baseu_net-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_baseu_net-3.0.so.0*

%files -n libwx_baseu_xml-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_baseu_xml-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_adv-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_adv-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_aui-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_aui-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_core-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_core-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_gl-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_gl-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_html-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_html-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_media-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_media-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_propgrid-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_propgrid-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_qa-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_qa-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_ribbon-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_ribbon-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_richtext-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_richtext-3.0.so.0*

%files -n libwx_gtk%{gtk_version}u_stc-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_stc-3.0.so.0*

%if %{suse_version} > 1110
%files -n libwx_gtk%{gtk_version}u_webview-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_webview-3.0.so.0*
%endif

%files -n libwx_gtk%{gtk_version}u_xrc-3_0-0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/libwx_gtk%{gtk_version}u_xrc-3.0.so.0*

%files plugin-sound_sdlu-3_0-%{wx_variant}
%defattr (-,root,root)
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%dir %wxlibdir/wx
%dir %wxlibdir/wx/%wx_minor
%{wxlibdir}/wx/%{wx_minor}/sound_sdlu-%{wx_minor}.so

%files compat-lib-config
%defattr (-,root,root)
/etc/ld.so.conf.d/%{base_name}.conf

%files -n libwx_baseu_net-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_baseu_xml-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_adv-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_aui-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_core-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_gl-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_html-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_media-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_propgrid-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_qa-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_ribbon-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_richtext-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files -n libwx_gtk%{gtk_version}u_stc-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%if %{suse_version} > 1110
%files -n libwx_gtk%{gtk_version}u_webview-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README
%endif

%files -n libwx_gtk%{gtk_version}u_xrc-3_0-0-compat-lib-%{wx_variant}
%defattr (-,root,root)
%doc virtual-package.README

%files devel
%defattr (-,root,root)
# Complete documentation is available in the docs packages.
%doc docs/*.txt README.SUSE
%{_bindir}/wxrc
%{_bindir}/wxrc-%{wx_minor}
%{_bindir}/*-config*
%{_datadir}/aclocal
%{_datadir}/bakefile
%{_includedir}/wx-%{wx_minor}
%if "%wxlibdir" != "%_libdir"
%dir %wxlibdir
%endif
%{wxlibdir}/*.so
%{wxlibdir}/*.la
%dir %wxlibdir/wx
%{wxlibdir}/wx/config
%{wxlibdir}/wx/include
%{wxlibdir}/wx/rpm
/etc/rpm/macros.wxWidgets

%changelog
openSUSE Build Service is sponsored by