# # spec file for package perl-Task-Weaken # # Copyright (c) 2019 SUSE LINUX 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 https://bugs.opensuse.org/ # %define cpan_name Task-Weaken Name: perl-Task-Weaken Version: 1.06 Release: 0 Summary: Ensure that a platform has weaken support License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl URL: https://metacpan.org/release/Task-Weaken Source0: https://cpan.metacpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Config) BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(File::Spec) BuildRequires: perl(File::Spec::Functions) BuildRequires: perl(Scalar::Util) >= 1.14 BuildRequires: perl(Test::More) BuildRequires: perl(Test::Warn) Requires: perl(Scalar::Util) >= 1.14 Requires: perl(strict) Recommends: perl(CPAN::Meta) >= 2.120900 BuildArch: noarch %{perl_requires} %description One recurring problem in modules that use Scalar::Util's 'weaken' function is that it is not present in the pure-perl variant. While this isn't necessarily always a problem in a straight CPAN-based Perl environment, some operating system distributions only include the pure-Perl versions, don't include the XS version, and so weaken is then "missing" from the platform, *despite* passing a dependency on Scalar::Util successfully. Most notably this is RedHat Linux at time of writing, but other come and go and do the same thing, hence "recurring problem". The normal solution is to manually write tests in each distribution to ensure that 'weaken' is available. This restores the functionality testing to a dependency you do once in your _Makefile.PL_, rather than something you have to write extra tests for each time you write a module. It should also help make the package auto-generators for the various operating systems play more nicely, because it introduces a dependency that they *have* to have a proper weaken in order to work. %prep %setup -q -n %{cpan_name}-%{version} # MANUAL BEGIN sed -i -e 's/use inc::Module::Install/use lib q[.];\nuse inc::Module::Install/' Makefile.PL # MANUAL END %build perl Makefile.PL INSTALLDIRS=vendor make %{?_smp_mflags} %check make %{?_smp_mflags} test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %defattr(-,root,root,755) %doc Changes CONTRIBUTING Makefile.footer Makefile.header README %license LICENSE %changelog