8
0
Files
perl-Convert-UUlib/perl-Convert-UUlib.spec

84 lines
2.9 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package perl-Convert-UUlib
#
# Copyright (c) 2025 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%define cpan_name Convert-UUlib
Name: perl-Convert-UUlib
Version: 1.800.0
Release: 0
# 1.8 -> normalize -> 1.800.0
%define cpan_version 1.8
#Upstream: CHECK(Artistic-1.0 or GPL-1.0-or-later)
License: GPL-1.0-or-later
Summary: Decode uu/xx/b64/mime/yenc/etc-encoded data from a massive number of files
Accepting request 856638 from devel:languages:perl:autoupdate - updated to 1.8 see /usr/share/doc/packages/perl-Convert-UUlib/Changes TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search 1.8 - no bugfixes in this release due to lack of known bugs, but the major changes in this release might have introduced new bugs, so watch out. - update large decoder example to disable OPT_AUTOCHK and use Smerge -1. - some micro-optimisations. - avoid costly string comparisons by comparing hashes when isnerting items, which speeds up insertion by a constant factor. - improve uulist (and other) structure layout and size. - reverse the order of file list items, which heuristically improves match speed with large usenet file lists. - use getc instead of fgetc, which makes no difference on gnu/linux. - clean up _FP symbol names toi not start with an underscore. - use feof_unlocked and ferror_unlocked. - implement a faster ascii-only strnicmp. - misc very minor code improvements. - remove quite a bit of pre-posix/dos/etc. cruft. - use flockfile, if available, for a potential but small speed gain. - speed up inner yenc decoder loop. - kentnl said that this module should no longer claim to be a simple interface to uulib, as the bunndled copy is now better maintained than the original upstream library. OBS-URL: https://build.opensuse.org/request/show/856638 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Convert-UUlib?expand=0&rev=38
2020-12-21 12:21:23 +00:00
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
2025-08-12 18:12:43 +02:00
Source100: README.md
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Canary::Stability)
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.52
BuildRequires: perl(common::sense) >= 3.740
Requires: perl(common::sense) >= 3.740
Provides: perl(Convert::UUlib) = %{version}
%undefine __perllib_provides
%{perl_requires}
# MANUAL BEGIN
Provides: p_conulb
Obsoletes: p_conulb
# MANUAL END
%description
Accepting request 856638 from devel:languages:perl:autoupdate - updated to 1.8 see /usr/share/doc/packages/perl-Convert-UUlib/Changes TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search 1.8 - no bugfixes in this release due to lack of known bugs, but the major changes in this release might have introduced new bugs, so watch out. - update large decoder example to disable OPT_AUTOCHK and use Smerge -1. - some micro-optimisations. - avoid costly string comparisons by comparing hashes when isnerting items, which speeds up insertion by a constant factor. - improve uulist (and other) structure layout and size. - reverse the order of file list items, which heuristically improves match speed with large usenet file lists. - use getc instead of fgetc, which makes no difference on gnu/linux. - clean up _FP symbol names toi not start with an underscore. - use feof_unlocked and ferror_unlocked. - implement a faster ascii-only strnicmp. - misc very minor code improvements. - remove quite a bit of pre-posix/dos/etc. cruft. - use flockfile, if available, for a potential but small speed gain. - speed up inner yenc decoder loop. - kentnl said that this module should no longer claim to be a simple interface to uulib, as the bunndled copy is now better maintained than the original upstream library. OBS-URL: https://build.opensuse.org/request/show/856638 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Convert-UUlib?expand=0&rev=38
2020-12-21 12:21:23 +00:00
This module started as an interface to the uulib/uudeview library by Frank
Pilhofer that can be used to decode all kinds of usenet (and other) binary
messages.
After upstream abondoned the project, th library was continuously bugfixed
and improved in this module, with major focuses on security fixes,
correctness and speed (that does not mean that this library is considered
safe with untrusted data, but it surely is safer than the poriginal
uudeview).
Read the file doc/library.pdf from the distribution for in-depth
information about the C-library used in this interface, and the rest of
this document and especially the non-trivial decoder program at the end.
%prep
%autosetup -n %{cpan_name}-%{cpan_version} -p1
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644
%build
# https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2341023
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags} -std=gnu11"
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes doc example-decoder README
%license COPYING COPYING.Artistic COPYING.GNU
%changelog