3 %bcond_without tests # do not perform "make test"
5 Summary: Get, unpack, build and install CPAN modules
9 License: GPL+ or Artistic
10 Group: Development/Libraries
11 Source0: http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-%{name}-%{version}.tar.gz
12 # Source0-md5: 8f8e43433f42e78d8c4374e1f0f55d31
13 Source1: http://pkgs.fedoraproject.org/cgit/perl-App-cpanminus.git/plain/fatunpack
14 # Source1-md5: c69ce04e198446d28e2aaa8ba3291542
15 URL: http://search.cpan.org/dist/App-cpanminus/
16 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.30
17 BuildRequires: perl-String-ShellQuote
18 BuildRequires: perl-tools-pod
19 BuildRequires: rpm-perlprov >= 4.1-13
20 Requires: perl(ExtUtils::Install) >= 1.46
21 Requires: perl(ExtUtils::MakeMaker) >= 6.58
22 Requires: perl-CPAN-DistnameInfo
23 Requires: perl-CPAN-Meta-Check
24 Requires: perl-File-pushd
25 Requires: perl-Module-CPANfile
26 Requires: perl-Parse-PMFile
28 Requires: perl-local-lib
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 Why? It's dependency free, requires zero configuration, and stands
34 alone but it's maintainable and extensible with plug-ins and friendly
35 to shell scripting. When running, it requires only 10 MB of RAM.
38 %setup -q -n App-%{name}-%{version}
41 # Unbundle fat-packed modules
42 podselect lib/App/cpanminus.pm > lib/App/cpanminus.pod
44 for F in bin/cpanm lib/App/cpanminus/fatscript.pm; do
45 %{__perl} %{SOURCE1} --libdir lib --filter '^App/cpanminus' "$F" > "${F}.stripped"
46 perl -c -Ilib "${F}.stripped"
47 mv "${F}.stripped" "$F"
50 # strip remains of fatpack
51 %{__sed} -i -e '/DO NOT EDIT/,/END OF FATPACK CODE/d' bin/cpanm
53 %{__perl} Makefile.PL INSTALLDIRS=vendor
56 %{?with_tests:%{__make} test}
59 rm -rf $RPM_BUILD_ROOT
60 %{__make} pure_install \
61 DESTDIR=$RPM_BUILD_ROOT
63 # strip pod, already in manual
64 %{__sed} -i -e '/__END__/,$d' $RPM_BUILD_ROOT%{_bindir}/cpanm
66 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/App/cpanminus/.packlist
67 %{__rm} $RPM_BUILD_ROOT%{perl_vendorlib}/App/cpanminus.pod
68 # same as bindir/cpanm
69 %{__rm} $RPM_BUILD_ROOT%{perl_vendorlib}/App/cpanminus/fatscript.pm
72 rm -rf $RPM_BUILD_ROOT
75 %defattr(644,root,root,755)
76 %doc Changes README LICENSE
77 %attr(755,root,root) %{_bindir}/cpanm
78 %{perl_vendorlib}/App/cpanminus.pm
79 %{perl_vendorlib}/App/cpanminus
80 %{_mandir}/man1/cpanm.1*
81 %{_mandir}/man3/App::cpanminus*