Modernize spec file

This commit is contained in:
Petr Písař 2019-08-12 12:40:10 +02:00
parent 1a64d3f031
commit 9d99ef6877
7 changed files with 155 additions and 50 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
TECkit_2_5_1.tar.gz
/teckit-2.5.7.tar.gz
/teckit-2.5.9.tar.gz
/teckit-2.5.9.tar.gz.asc

View File

@ -1,11 +0,0 @@
diff -ru TECkit_2_5_1.orig/source/Compiler.cpp TECkit_2_5_1/source/Compiler.cpp
--- TECkit_2_5_1.orig/source/Compiler.cpp 2009-03-05 10:29:22.000000000 +0000
+++ TECkit_2_5_1/source/Compiler.cpp 2009-03-05 10:29:50.000000000 +0000
@@ -33,6 +33,7 @@
#include <iomanip>
#include <algorithm>
#include <cstring>
+#include <stdio.h>
#include "zlib.h"

Binary file not shown.

View File

@ -1 +1,2 @@
SHA512 (teckit-2.5.9.tar.gz) = 3c6f1709a553992cf233b87ddcd341b405c29b5f8839de712a4cdd02fda6de9d6f8763feb09a35e50a12a3d408e8a6ac363bb13ba315ba46e080477cdec7165a
SHA512 (teckit-2.5.9.tar.gz.asc) = 1ad136742f9ca5ddcd70ff2964b0b5ed15c4c4e473ffa151fcbd42c53b3aea58e6709b1baa818a771109379d3e8c2d528031e573ce0ef48ce5002ce8aaa3b225

View File

@ -0,0 +1,49 @@
From f62b558e1a7403b4a17ed0141c0a799990f27932 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Mon, 12 Aug 2019 13:30:43 +0200
Subject: [PATCH] Correct indentation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC 9.1.1 complains:
../SFconv/SFconv.cpp:104:5: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
104 | while (in != end && !(in.error() || out.error()))
| ^~~~~
../SFconv/SFconv.cpp:107:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
107 | if (in.error() || out.error()) {
| ^~
This patch fixes it.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
SFconv/SFconv.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/SFconv/SFconv.cpp b/SFconv/SFconv.cpp
index eeb4490..df6f8a4 100644
--- a/SFconv/SFconv.cpp
+++ b/SFconv/SFconv.cpp
@@ -101,7 +101,7 @@ Utf8ToString(const char* s)
utf16::iterator out = buf;
utf8::const_iterator in = s,
end = s + len;
- while (in != end && !(in.error() || out.error()))
+ while (in != end && !(in.error() || out.error()))
*out++ = *in++;
if (in.error() || out.error()) {
@@ -109,7 +109,7 @@ Utf8ToString(const char* s)
exit(1);
}
- ustring ustr(buf, out - buf);
+ ustring ustr(buf, out - buf);
delete[] buf;
return ustr;
}
--
2.21.0

2
teckit.rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
from Config import *
addFilter("unversioned-explicit-provides bundels\(graphite2\)");

View File

@ -1,68 +1,126 @@
Name: teckit
Version: 2.5.9
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Conversion library and mapping compiler
License: LGPLv2+ or CPL
URL: http://scripts.sil.org/teckit
# COPYING: links to license/LICENSING.txt
# license/License_CPLv05.txt: CPLv0.5 text
# license/License_LGPLv21.txt: LGPLv2 text
# license/LICENSING.txt: license declarations
# SFconv/UtfCodec.cpp: LGPLv2+ or GPLv2+ or MPL(?version) (bundled Graphite2)
# SFconv/UtfCodec.h: LGPLv2+ or GPLv2+ or MPL(?version) (bundled Graphite2)
# <https://github.com/silnrsi/graphite/issues/58>,
# graphite2 package uses "MPL"
# source/Engine.cpp: LGPLv2+ or CPL
# source/TECkit_Format.h: LGPLv2+ or CPL
## Not in any binary package
# aclocal.m4: FSFULLR
# compile: GPLv2+ with exceptions
# config.guess: GPLv3+ with exceptions
# config.sub: GPLv3+ with exceptions
# configure: FSFUL and GPLv2+ with exceptions
# depcomp: GPLv2+ with exceptions
# install-sh: MIT
# lib/Makefile.in: FSFULLR
# ltmain.sh: GPLv2+ with exceptions and GPLv3+ with exceptions and GPLv3+
# m4/libtool.m4: FSFULL and FSFULLR and GPLv2+ with exceptions
# m4/ltoptions.m4: FSFULLR
# m4/ltsugar.m4: FSFULLR
# m4/ltversion.m4: FSFULLR
# m4/lt~obsolete.m4: FSFULLR
# Makefile.in: FSFULLR
# missing: GPLv2+ with exceptions
# test-driver: GPLv2+ with exceptions
# test/Makefile.in: FSFULLR
## Unbundled
# SFconv/expat/xmlparse/hashtable.c: MPLv1.1 of GPL+ (bundled expat)
# SFconv/expat/xmlparse/xmlparse.c: MPLv1.1 of GPL+ (bundled expat)
# zlib-1.2.3: zlib (see nonexistent zlib.h, reported to
# <https://github.com/silnrsi/teckit/issues/22>)
License: (LGPLv2+ or CPL) and (LGPLv2+ or GPLv2+ or MPLv2.0 or MPLv1.1)
URL: https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=teckit
Source0: https://github.com/silnrsi/teckit/releases/download/v%{version}/teckit-%{version}.tar.gz
Source1: https://github.com/silnrsi/teckit/releases/download/v%{version}/teckit-%{version}.tar.gz.asc
# Exported from ppisar's keyring
Source2: gpgkey-15D41BC02EB807D405EFFAF6C9183BEA0288CDEE.gpg
# Fix a compiler warning about a misindentation,
# <https://github.com/silnrsi/teckit/pull/23>
Patch0: teckit-2.5.9-Correct-indentation.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: coreutils
BuildRequires: expat-devel
# gcc is not needed, the only source/NormalizationData.c is included into
# a C++ source/Engine.cpp compilation unit.
BuildRequires: gcc-c++
BuildRequires: expat-devel zlib-devel libtool
Patch0: TECkit_2_5_1-includes.patch
BuildRequires: gnupg2
BuildRequires: libtool
BuildRequires: make
BuildRequires: zlib-devel
# Tests:
BuildRequires: perl-interpreter
BuildRequires: perl(strict)
BuildRequires: perl(warnings)
Provides: bundels(graphite2)
%description
TECkit is a low-level toolkit intended to be used by other
applications that need to perform encoding conversions (e.g., when
importing legacy data into a Unicode-based application). The
primary component of the TECkit package is therefore a library that
performs conversions; this is the "TECkit engine". The engine
relies on mapping tables in a specific binary format (for which
documentation is available); there is a compiler that creates such
tables from a human-readable mapping description (a simple text file).
TECkit is a low-level toolkit intended to be used by other applications that
need to perform encoding conversions (e.g., when importing legacy data into
a Unicode-based application). The primary component of the TECkit package is
therefore a library that performs conversions; this is the "TECkit engine".
The engine relies on mapping tables in a specific binary format (for which
documentation is available); there is a compiler that creates such tables from
a human-readable mapping description (a simple text file).
%package devel
Summary: Conversion library and mapping compiler
Summary: Developmental files for TECkit library
License: LGPLv2+ or CPL
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
TECkit is a low-level toolkit intended to be used by other
applications that need to perform encoding conversions (e.g., when
importing legacy data into a Unicode-based application). The
primary component of the TECkit package is therefore a library that
performs conversions; this is the "TECkit engine". The engine
relies on mapping tables in a specific binary format (for which
documentation is available); there is a compiler that creates such
tables from a human-readable mapping description (a simple text file).
Header files, pkg-config module, and documentation for developing application
that use TECkit, a character encoding and mapping, library.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%setup -q
%patch0 -p1 -b .includes
%{__rm} -r zlib*
%patch0 -p1
# Remove bundled libraries
rm -r zlib-*/*.c SFconv/expat
# Regenerate build script
autoreconf -fi
%build
%configure --disable-static
make %{_smp_mflags} V=1
%configure \
--disable-debug \
--disable-final \
--without-old-lib-names \
--disable-profile \
--disable-profilefn \
--enable-shared \
--disable-static \
--with-system-zlib \
--disable-tetex-build
%{make_build}
%install
make install DESTDIR=%{buildroot}
%{__rm} -f %{buildroot}%{_libdir}/*.la
%{make_install}
rm -f %{buildroot}%{_libdir}/*.la
%check
make check
%ldconfig_scriptlets
%ldconfig_scriptlets devel
%{make_build} check
%files
%license COPYING
%doc AUTHORS INSTALL NEWS README
%license license/{LICENSING.txt,License_CPLv05.txt,License_LGPLv21.txt}
# COPYING is unhelpful
%license license/*
# ChangeLog is unhelpful
%doc AUTHORS NEWS README
%{_bindir}/sfconv
%{_bindir}/teckit_compile
%{_bindir}/txtconv
%{_libdir}/libTECkit.so.*
%{_libdir}/libTECkit_Compiler.so.*
%{_libdir}/libTECkit.so.0
%{_libdir}/libTECkit.so.0.*
%{_libdir}/libTECkit_Compiler.so.0
%{_libdir}/libTECkit_Compiler.so.0.*
%{_mandir}/man1/*
%files devel
@ -73,6 +131,11 @@ make check
%{_libdir}/pkgconfig/teckit.pc
%changelog
* Mon Aug 12 2019 Petr Pisar <ppisar@redhat.com> - 2.5.9-2
- Modernize spec file
- License corrected to
((LGPLv2+ or CPL) and (LGPLv2+ or GPLv2+ or MPLv2.0 or MPLv1.1))
* Sat Aug 10 2019 Tom Callaway <spot@fedoraproject.org> - 2.5.9-1
- update to 2.5.9