File mingw32-xmlcharent.spec of Package mingw32-xmlcharent

#
# spec file for package mingw32-xmlcharent
#
# Copyright (c) 2015 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/
#


%define _name   xmlcharent
Name:           mingw32-%{_name}
%define regcat /usr/bin/sgml-register-catalog
PreReq:         %{regcat} /usr/bin/xmlcatalog /usr/bin/edit-xml-catalog
PreReq:         sed grep awk
Version:        0.3
Release:        0
Summary:        XML Character Entities
License:        BSD-3-Clause
Group:          Productivity/Publishing/XML
Source0:        %{_name}-%{version}.tar.gz
Source1:        catalog.xml
Source2:        CATALOG.xmlcharent
Url:            http://www.oasis-open.org/committees/docbook/xmlcharent/
BuildRequires:  mingw32-filesystem
BuildRequires:  mingw32-sgml-skel
BuildRequires:  sgml-skel
Requires:       mingw32-sgml-skel
#!BuildIgnore:  permissions-config
BuildArch:      noarch

%description
XML encodings for the 19 standard character entity sets defined in
non-normative Annex D of [ISO 8879:1986].



%define INSTALL install -m755 -s
%define INSTALL_DIR install -d -m755
%define INSTALL_DATA install -m644
%define INSTALL_SCRIPT install -m755 -o root -g root
%define sgml_dir %{_mingw32_datadir}/sgml
%define sgml_var_dir %{_mingw32_localstatedir}/lib/sgml
%define sgml_mod_dir %{sgml_dir}/xmlcharent
%define sgml_config_dir %{_mingw32_localstatedir}/lib/sgml
%define sgml_sysconf_dir %{_mingw32_sysconfdir}/sgml
%define xml_dir %{_mingw32_datadir}/xml
%define xml_mod_dir %{xml_dir}/entities/%{_name}/%{version}
%define xml_config_dir %{_mingw32_localstatedir}/lib/xml
%define xml_sysconf_dir %{_mingw32_sysconfdir}/xml

%prep
%autosetup -p1 -n %{_name}-%{version}
sed 's|@VERSION@|%{version}|
s|@DIR@|%{xml_mod_dir}|' %{S:1} >catalog.xml
sed 's|@VERSION@|%{version}|
s|@DIR@|%{xml_mod_dir}|' %{S:2} >CATALOG.%{_name}

%build
# Prep XML catalog fragment
%define FOR_ROOT_CAT for-catalog-%{_name}-%{version}.xml
xmlcatbin=/usr/bin/xmlcatalog
# build root catalog fragment
rm -f %{FOR_ROOT_CAT}.tmp
$xmlcatbin --noout --create %{FOR_ROOT_CAT}.tmp
CATALOG=%{xml_mod_dir}/catalog.xml
rel_CATALOG=$(echo $CATALOG | sed 's,%{_mingw32_datadir},../../share,g')
$xmlcatbin --noout --add "delegatePublic" "ISO 8879:1986//ENTITIES" \
    "$rel_CATALOG" %{FOR_ROOT_CAT}.tmp
# Create tag
sed '/<catalog/a\
  <group id="%{_name}-%{version}">
/<\/catalog/i\
  </group>' \
  %{FOR_ROOT_CAT}.tmp > %{FOR_ROOT_CAT}

%install
%{INSTALL_DIR} %{buildroot}{%{xml_mod_dir},%{sgml_dir},%{sgml_config_dir}}
%{INSTALL_DATA} catalog.xml *.ent %{buildroot}%{xml_mod_dir}
%{INSTALL_DATA} CATALOG.xmlcharent %{buildroot}%{sgml_config_dir}
pushd %{buildroot}%{sgml_dir}
ln -sf ../../var/lib/sgml/CATALOG.xmlcharent .
popd
pushd %{buildroot}%{xml_mod_dir}
for f in *.ent; do
  ln -sf "$f" "${f/-}"
done
popd
# parse-sgml-catalog.sh CATALOG.xmlcharent > CATALOG.norm
# sgml2xmlcat.sh -i CATALOG.norm \
#   -l -s '%{buildroot}/usr/share/sgml' -p xmlcharent
#
mkdir -p ${RPM_BUILD_ROOT}%{xml_sysconf_dir}
install -m644 %{FOR_ROOT_CAT} ${RPM_BUILD_ROOT}%{xml_sysconf_dir}
#
%define all_cat xmlcharent

%post
if [ -x %{regcat} ]; then
  for c in  %{all_cat}; do
    grep -q -e "%{sgml_dir}/CATALOG.$c\\>" %{sgml_sysconf_dir}/catalog \
      || %{regcat} -a %{sgml_dir}/CATALOG.$c >/dev/null 2>&1 || :
  done
fi
xmlcatbin=usr/bin/xmlcatalog
%if %suse_version < 810
  # autobuild on 8.0 does not install it early enough
  [ -x $xmlcatbin ] || {
    echo "warning: $xmlcatbin does not exist"
    echo "create etc/xml/catalog etc. manually"
    exit 0
  }
%endif
if [ -x /usr/bin/edit-xml-catalog ]; then
/usr/bin/edit-xml-catalog --group --catalog %{xml_sysconf_dir}/suse-catalog.xml \
  --add %{xml_sysconf_dir}/%{FOR_ROOT_CAT}
fi

%postun
if [  "$1" = "0" -a -x %{regcat} ]; then
  for c in  %{all_cat}; do
    %{regcat} -r %{sgml_dir}/CATALOG.$c >/dev/null 2>&1 || :
  done
fi
xmlcatbin=/usr/bin/xmlcatalog
# remove entries only on removal of file
if [ ! -f %{xml_sysconf_dir}/%{FOR_ROOT_CAT} -a -x /usr/bin/edit-xml-catalog ] ; then
  /usr/bin/edit-xml-catalog --group --catalog %{xml_sysconf_dir}/suse-catalog.xml \
    --del %{_name}-%{version}
fi

%clean
rm -fr $RPM_BUILD_ROOT

%files
%defattr(-, root, root)
# %doc entities-*.html
%{xml_mod_dir}
%config %{xml_sysconf_dir}/%{FOR_ROOT_CAT}
%config %{sgml_config_dir}/CATALOG.*
# %{sgml_dir}/ISO*
%{sgml_dir}/CATALOG.*
%dir %{sgml_dir}
%dir %{xml_dir}
%dir %{xml_dir}/entities
%dir %{xml_dir}/entities/xmlcharent

%changelog
openSUSE Build Service is sponsored by